U.S. patent application number 13/083872 was filed with the patent office on 2011-08-11 for rfid communication systems and methods, and rfid readers and systems.
This patent application is currently assigned to ROUND ROCK RESEARCH, LLC. Invention is credited to John R. Tuttle.
Application Number | 20110193685 13/083872 |
Document ID | / |
Family ID | 39427524 |
Filed Date | 2011-08-11 |
United States Patent
Application |
20110193685 |
Kind Code |
A1 |
Tuttle; John R. |
August 11, 2011 |
RFID COMMUNICATION SYSTEMS AND METHODS, AND RFID READERS AND
SYSTEMS
Abstract
A method of coordinating a plurality of RFID readers includes
controlling the RFID readers such that only one of the readers
performs an inventory of RFID tags at a time. A system for
coordinating a plurality of RFID readers is also provided.
Inventors: |
Tuttle; John R.; (Boulder,
CO) |
Assignee: |
ROUND ROCK RESEARCH, LLC
Mount Kisco
NY
|
Family ID: |
39427524 |
Appl. No.: |
13/083872 |
Filed: |
April 11, 2011 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11607263 |
Dec 1, 2006 |
7924141 |
|
|
13083872 |
|
|
|
|
Current U.S.
Class: |
340/10.2 |
Current CPC
Class: |
G06K 7/10356 20130101;
G06K 7/0008 20130101; G06K 7/10029 20130101; G06K 7/10128
20130101 |
Class at
Publication: |
340/10.2 |
International
Class: |
H04Q 5/22 20060101
H04Q005/22 |
Claims
1. A method of coordinating a plurality of radio frequency
identification device (RFID) readers, the method comprising:
controlling the RFID readers such that only one of the RFID readers
performs an inventory of RFID tags, in communications range, at a
time.
2. A method in accordance with claim 1 wherein controlling the RFID
readers includes controlling handheld RFID readers.
3. A method in accordance with claim 1 wherein the controlling
comprises selecting RFID readers, and wherein, if a selected RFID
reader is deselected, another RFID reader is selected only if there
is no reader energy above a predetermined threshold, detected at
the second RFID reader.
4. A method of coordinating a plurality of RFID readers capable of
using different sessions, the RFID readers being configured to be
used with RFID tags that maintain flags for respective sessions
that indicate whether or not the tag has been inventoried for a
session, the method comprising: controlling the RFID readers such
that only one of the RFID readers performs an inventory of RFID
tags at a time.
5. A method in accordance with claim 4 wherein at least some of the
RFID readers include wireless networking hardware and wherein the
controlling comprises controlling using the wireless networking
hardware.
6. A method in accordance with claim 4 wherein at least some of the
RFID readers have Wi-Fi communications capability, and wherein the
controlling comprises controlling using the Wi-Fi communications
capability.
7. A method in accordance with claim 4 wherein at least some of the
RFID readers have Wi-Fi communications capability, and communicate
with the tags other than using Wi-Fi communications, and wherein
the controlling comprises controlling using the Wi-Fi
communications capability.
8. A method in accordance with claim 4 wherein the controlling
comprises selecting RFID readers, and wherein, if a selected RFID
reader is deselected by the controller, another RFID reader is
selected by the controller such that there is no RFID reader energy
above a predetermined threshold, at the new selected RFID
reader.
9. A method comprising: determining if multiple RFID readers have
inventoried a common RFID tag and, if so, for those RFID readers,
inventorying tags one RFID reader at a time.
10. A method in accordance with claim 9 wherein the inventorying
tags one RFID reader at a time comprises restarting inventorying
that may have already taken place.
11. A method in accordance with claim 9 wherein the inventorying
one RFID reader at a time comprises selecting RFID readers using a
controller, and wherein, if a selected RFID reader is deselected by
the controller, another RFID reader is selected by the controller
such that there is no RFID reader energy above a predetermined
threshold, at the new selected RFID reader.
12. A method of coordinating a plurality of RFID readers capable of
using different sessions, the RFID readers being configured to be
used with RFID tags that maintain flags for respective sessions
that indicate whether or not the tag has been inventoried for a
session, the method comprising: controlling the RFID readers such
that only one of the RFID readers performs an inventory of RFID
tags at a time, wherein the inventorying tags one RFID reader at a
time comprises restarting inventorying that may have already taken
place.
13. A method in accordance with claim 12 wherein at least some of
the RFID readers include wireless networking hardware and wherein
the controlling comprises controlling using the wireless networking
hardware.
14. A method in accordance with claim 13 wherein at least some of
the RFID readers have Wi-Fi communications capability, and wherein
the controlling comprises controlling using the Wi-Fi
communications capability.
15. A method in accordance with claim 12 wherein at least some of
the RFID readers have Wi-Fi communications capability, and
communicate with the tags other than using Wi-Fi communications,
and wherein the controlling comprises controlling using the Wi-Fi
communications capability.
16. A method in accordance with claim 12 wherein the controlling
comprises selecting from the RFID readers, and wherein, if a
selected RFID reader is deselected by the controller for any
reason, another RFID reader is selected by the controller such that
there is no RFID reader energy above a predetermined threshold, at
the new selected RFID reader.
17. A method of observing changes in RFID tag populations, the
method comprising: controlling multiple RFID readers so that only
one of the RFID readers conducts an inventory of RFID tags in
communications range; storing a first list of tags inventoried by
the RFID reader; repeating the inventory; storing a second list of
tags inventoried in the repetition of the inventory; and comparing
the first list to the second list to determine if tags are entering
or leaving communications range of at least one of the RFID
readers.
18. A method in accordance with claim 17 wherein additional of the
multiple RFID readers also conduct an inventory of the RFID tags,
but only one of the RFID readers conducts an inventory at a
time.
19. A method in accordance with claim 17 wherein repeating the
inventory comprises using the one RFID reader that conducted the
first mentioned conducting of an inventory.
20. A system for coordinating a plurality of RFID readers, the
system comprising: a reader controller configured to control the
RFID readers such that only one of the RFID readers performs an
inventory of RFID tags, in communications range, at a time.
21. A system in accordance with claim 20 and further comprising a
plurality of RFID readers coupled to the reader controller, wherein
the RFID readers include handheld RFID readers.
22. A system in accordance with claim 20 wherein the controller is
configured to selecting from the RFID readers, and wherein, if a
selected RFID reader is deselected by the controller, another RFID
reader is selected by the controller where RFID reader energy above
a predetermined threshold is not detected at the new selected RFID
reader.
23. An RFID communications system, comprising: a plurality of RFID
readers capable of using different sessions, the RFID readers being
configured to be used with RFID tags that maintain flags for
respective sessions that indicate whether or not the tag has been
inventoried for a session; and a controller configured to control
the RFID readers such that only one of the RFID readers performs an
inventory of RFID tags at a time.
24. A system in accordance with claim 23 wherein at least some of
the RFID readers include wireless networking hardware and wherein
the RFID controller is configured to control the RFID readers using
the wireless networking hardware.
25. A system in accordance with claim 23 wherein at least some of
the RFID readers include Wi-Fi hardware, and wherein the RFID
controller is configured to control the RFID readers using the
Wi-Fi hardware.
26. A system in accordance with claim 25 wherein at least some of
the RFID readers have Wi-Fi communications hardware, and are
configured to communicate with the tags other than using Wi-Fi
communications, and wherein the RFID controller is configured to
control the RFID readers using the Wi-Fi hardware.
27. A system in accordance with claim 25 wherein one of the RFID
readers comprises the RFID controller.
28. A system in accordance with claim 23 wherein the controller is
configured to selecting from the RFID readers, and wherein, if a
selected RFID reader is deselected by the controller, another RFID
reader is selected by the controller where RFID reader energy above
a predetermined threshold is not read at the new selected RFID
reader
29. A system comprising: an RFID controller configured to determine
if multiple RFID readers have inventoried a common RFID tag, by
communicating with the multiple RFID readers and comparing lists of
RFID tags inventories by RFID readers, and, if so, for those RFID
readers, causing the RFID readers to inventory tags one RFID reader
at a time.
30. A system in accordance with claim 29 wherein the controller is
configured to cause a RFID reader that has inventoried the same
RFID tag as another RFID reader to restart inventorying.
31. A system in accordance with claim 29 wherein the controller is
configured to select from the RFID readers, and wherein, if a
selected RFID reader is deselected by the controller, another RFID
reader is selected by the controller which does not read RFID
reader energy above a predetermined threshold, which RFID reader
energy indicates that another reader is nearby and active.
32. An RFID communications system, comprising: a plurality of RFID
readers capable of using different sessions, the RFID readers being
configured to be used with RFID tags that maintain flags for
respective sessions that indicate whether or not the tag has been
inventoried for a session; and a controller coupled to the RFID
readers and configured to control the RFID readers such that only
one of the RFID readers performs an inventory of RFID tags at a
time, even though the RFID readers are capable of using different
sessions, wherein the controller is configured to selectively cause
a RFID reader to restart its inventory.
33. A system in accordance with claim 32 wherein at least some of
the RFID readers include wireless networking hardware and wherein
the controller is configured to communicate with those RFID readers
using the wireless networking hardware.
34. A system in accordance with claim 32 wherein at least some of
the RFID readers have Wi-Fi communications hardware and wherein the
controller is configured to communicate with those RFID readers
using the Wi-Fi communications hardware.
35. A system in accordance with claim 32 wherein at least some of
the RFID readers have Wi-Fi communications hardware, and are
configured to communicate with RFID tags other than using Wi-Fi
communications, and wherein the controller is configured to
communicate with those RFID readers using the Wi-Fi communications
hardware.
36. A system in accordance with claim 32 wherein the controller is
configured to select from the RFID readers, and wherein, if a
selected RFID reader is deselected by the controller, another RFID
reader is selected by the controller which does not read RFID
reader energy above a predetermined threshold, which RFID reader
energy indicates that another reader is nearby and active.
37. A system for observing changes in RFID tag populations, the
system comprising: a first RFID reader; a reader controller
configured to control multiple RFID readers so that only the first
RFID reader conducts an inventory of RFID tags in communications
range at a time, the reader controller causing the first RFID
reader to conduct a first inventory session and the reader
controller causing the first RFID reader to conduct a second
inventory session after the first inventory session; a database for
storing a first list of tags inventoried by the RFID reader in the
first inventory session; and a second database for storing a second
list of tags inventoried by the first RFID reader in the second
inventory session, the reader controller being configured to
compare the first list to the second list to determine if tags are
entering or leaving communications range of the RFID reader.
38. A system in accordance with claim 37 and further comprising a
second RFID reader controlled by the reader controller.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation of U.S. application Ser.
No. 11/607,263, filed on Dec. 1, 2006, granted and due to issue on
Apr. 12, 2011 as U.S. Pat. No. 7,924,141, the disclosure of which
is hereby incorporated herein by reference.
TECHNICAL FIELD
[0002] The technical field relates to radio frequency
identification. More particularly, various embodiments of the
invention relate to methods and apparatus for avoiding collisions
between readers of radio frequency identification devices.
BACKGROUND
[0003] Radio frequency identification devices (RFIDs) are known in
the art. Such devices are typically used for inventory tracking. As
large numbers of objects are moved in inventory, product
manufacturing, and merchandising operations, there is a continuous
challenge to accurately monitor the location and flow of objects.
Additionally, there is a continuing goal to determine the location
of objects in an inexpensive and streamlined manner. One way to
track objects is by affixing RFID tags to objects or groups of
objects, and interrogating the RFID tags with an interrogator or
reader to determine which objects are present in any particular
location. RFID tags may be provided with unique identification
numbers or codes in order to allow a reader to distinguish between
multiple different tags.
[0004] Some RFID tags use the electromagnetic field from an
interrogator for power. Typically, these devices are passive (have
no power supply), which results in a small and portable
package.
[0005] Another type of RFID tag is an active RFID tag, which
includes its own source of power, such as a battery.
[0006] If an interrogator or reader has prior knowledge of the
identification number of a device, the reader can specify that a
response is requested only from the device with that identification
number. Sometimes, such information is not available. For example,
there are occasions where a reader is attempting to determine which
of multiple devices are within communication range. When the reader
sends a message to a transponder device requesting a reply, there
is a possibility that multiple transponder devices will attempt to
respond simultaneously, causing a collision, and thus an erroneous
message to be received by the reader. For example, if the
interrogator sends out a command requesting that all devices within
a communications range identify themselves, and receives a large
number of simultaneous replies, the interrogator may not able to
interpret any of these replies. Therefore, arbitration or
singulation schemes are employed to permit communications that are
free of collisions. The term singulation refers to identifying a
specific individual tag in a multiple tag environment.
[0007] In some arbitration or singulation schemes, described in
commonly assigned U.S. Pat. Nos. 5,627,544; 5,583,850; 5,500,650;
and 5,365,551, all to Snodgrass et al. and the disclosures of all
of which are incorporated herein by reference, a reader sends a
command causing each device of a potentially large number of
responding devices to select a random number from a known range and
use it as that device's arbitration number. By transmitting
requests for identification to various subsets of the full range of
arbitration numbers, and checking for an error-free response, the
interrogator quickly determines the arbitration number of every
responder station capable of communicating at the same time.
Thereafter, the interrogator is able to conduct subsequent
uninterrupted communication with devices, one at a time, by
addressing only one device. Various arbitration or singulation
schemes are discussed in commonly assigned U.S. Pat. No. 6,275,476
to Wood, Jr.; U.S. Pat. No. 6,118,789 to Wood, Jr.; U.S. Pat. No.
6,072,801 to Wood, Jr. et al.; and U.S. Pat. No. 6,061,344 to Wood,
Jr., the disclosures of all of which are incorporated herein by
reference.
[0008] It is possible to have multiple readers operating in the
same location. Problems can arise when multiple readers try to read
the same tag at the same time. To speed up the identification
process for a large number of tags, each tag has some internal
method of removing itself from the inventory, after it has been
identified by a reader. If a second reader wants to inventory the
same population (or even read a single tag) during a first reader's
inventory session, then the possibility exists that the second
reader will not read some of the tags. This is because the tags
that have been identified by the first reader have discontinued
responding to any reader during the inventory as it has been
flagged to remove itself from inventory.
[0009] Just as two (or more) tags responding to one reader can
create an unreadable-information collision at the reader, two (or
more) readers broadcasting to one tag can create an
unreadable-information collision at the tag, along with possible RF
interference.
[0010] EPCglobal is a standard setting organization that is
developing standards for electronic product codes to support the
use of RFID technology. One of their standards, called Class 1,
Generation 2 (also known as "Gen 2") applies to passive RFID
systems, and is described on their websites at www.epcglobalus.org
or www.epcglobalinc.org. These standards evolve over time, and for
a particular standard, such as Gen 2, there are minor variations
between versions. The present version of the Class 1, Generation 2
standard is version 1.0.9.
[0011] The EPCglobal Class 1, Generation 2 standard has implemented
a method called "Sessions" to attempt to solve the problem of two,
three or four readers reading the same population of tags in the
same time period; i.e., an inventory processes overlap.
[0012] According to the specification, a reader shall support and
tags shall provide four sessions, and tags shall participate in one
and only one session during an inventory round. Two or more
interrogators can use sessions to independently inventory a common
tag population. Tags associate a separate and independent
"inventoried" flag to each of several readers. After singulating a
tag, an interrogator may issue a command that causes the tag to
invert its inventoried flag for that session.
[0013] However, the inventory Sessions concept, as it is described
in the EPCglobal Class 1, Generation 2 specification, has at least
one important shortcoming. One tag receiving power from two or more
readers at the same moment will be prevented from recognizing the
command from either reader. Although, in some cases, the multiple
readers will each try again, there is no guarantee that they will
be successful, since they are both continuing to retry. Further,
either reader may decide that there is no tag present, and will
therefore miss a tag or tags.
[0014] Even though the EPCglobal Class 1, Generation 2
specification states that the inventory process is
"time-interleaved," that is not necessarily the case because of the
time independence of each interrogator. One reader's broadcast may
step on or interfere with another reader's broadcast, causing
indeterminate results. Tags faced with trying to read both readers
will not be able to interpret the mingled transmissions, and may
not respond at all, without regard to which session the readers
want. There is no required time coordination between the two
readers in the sessions concept of EPCglobal Class 1, Generation
2.
[0015] If two or more readers are performing an inventory, this can
and often will lead to indeterminacy in the inventory process,
either in reading all the tags if the inventory process is stopped
too soon, or in the length of time it takes to get a high
probability that all readers have read all the tags within their
ranges. Users expect not just a high probability, but a 100%
probability that all readers have read all the tags. The EPCglobal
inventory process has so many rapid queries that the probability
that another reader (in any of the other three sessions) can cause
reader interference at a tag is extremely high. The queries are
rapid in order to achieve a 1000 tags/second inventory rate stated
in the specification. Reader interference includes multiple
overlapping reader broadcasts. The interference can be at different
tags at different times.
[0016] Because the EPCglobal Sessions concept allows for four
sessions, the problem is magnified further if three and four
readers are broadcasting simultaneously. Also, the persistence
times add to the indeterminancy (and therefore, unreliability) of
the multiple inventory sessions process.
[0017] The reader collision problem is exacerbated by the fact that
each tag being inventoried must sometimes establish communications
not once, but twice or more with a given reader (and session). More
particularly, the EPCglobal specification recites that " . . .
After singulating a Tag an Interrogator may issue a [second]
command that causes the Tag to invert its inventoried flag for that
session . . . ". Notice that a tag must first be singulated, which
can be problematic.
BRIEF DESCRIPTION OF THE DRAWINGS
[0018] FIG. 1 is a block diagram of a system according to various
embodiments of the present disclosure.
[0019] FIG. 2 is a block diagram of the reader controller and of a
reader included in the system of FIG. 1 in one embodiment. Other
embodiments are also contemplated.
[0020] FIG. 3 is a flowchart illustrating a process executed by the
reader controller of FIG. 2, in one embodiment. Other embodiments
are also contemplated.
[0021] FIG. 4 is a flowchart illustrating a process executed by a
reader controller, in one embodiment. Other embodiments are also
contemplated.
[0022] FIG. 5 is a flowchart illustrating a process executed by
multiple readers where an inventory session is interrupted and
continued later, in some embodiments. Other embodiments are also
contemplated.
[0023] FIG. 6 is a flowchart illustrating a process executed by
multiple readers to determine if tags are appearing or
disappearing. Other embodiments are possible.
[0024] FIG. 7 is a portion of a table illustrating an example of
implementation of the embodiment of FIG. 5.
[0025] FIG. 8 is a portion of a table illustrating an example of
implementation of the embodiment of FIG. 6.
[0026] FIG. 9 is a portion of a table illustrating an example of
implementation of the embodiment of FIG. 6.
[0027] FIG. 10 is a block diagram illustrating a system described
in connection with the example of FIG. 7.
[0028] FIG. 11 is a block diagram illustrating a system described
in connection with the example of FIG. 8.
[0029] FIG. 12 is a block diagram illustrating a system described
in connection with the example of FIG. 9.
DETAILED DESCRIPTION OF THE ILLUSTRATED EMBODIMENTS
[0030] Various embodiments of the invention provide a method of
coordinating a plurality of RFID readers, including controlling the
RFID readers such that one and only one of the readers performs an
inventory of RFID tags at a time.
[0031] Various embodiments provide solutions to this problem with
the EPCglobal Class 1, Generation 2 specification. Various
embodiments provide a solution to the problem of collisions between
readers regardless of what specification or standard is used.
[0032] FIG. 1 shows a system 10 including a plurality of RFID
readers 12-17. The readers 12-17 include some handheld readers
12-14 and some fixed readers 15-17. The system 10 further includes
a population 19 of RFID tags 30-45. Any of the RFID readers 12-17
can communicate with any of the RFID tags 30-45. In the embodiment
of FIG. 1, only one reader broadcasts at a time or per period of
time. In some embodiments, the tags and readers otherwise follow
the Class 1, Generation 2 specification. In these embodiments, the
inventory sessions concept will work more reliably. This embodiment
allows any number N of readers to inventory a population 19 of
tags, instead of just two. The benefits of this embodiment are
increased reliability and/or increased speed.
[0033] The reader controller 18 coordinates multiple readers 12-17.
In some embodiments, the reader controller 18 only allows one
reader to broadcast at any given instant or period of time, whether
or not different readers are inventorying using different sessions.
This is referred to as reader multiplexing.
[0034] FIG. 2 is a block diagram illustrating additional
construction details of the reader controller 18 and of a reader
12. The reader controller 18 includes a processor 50, a power
supply 52, wireless networking hardware 54, and a wired output 56.
The wireless networking hardware 54 can comprise Wi-Fi (e.g., IEEE
802.11 or 802.20) circuitry, in some embodiments. At least one of
the readers, for example, reader 12, includes a processor 57, a
power supply 58, wireless networking hardware 60, a transmitter 62,
a receiver 64, and may include a wired input 66. The wireless
networking hardware can comprise Wi-Fi circuitry, in some
embodiments. The reader 12 is controlled by the controller 18 via
the wireless networking hardware 60 and 54. In some embodiments,
the reader 12 is also capable of being coupled to the controller 18
by a wire or cable 68, though it includes the wireless networking
hardware 60. In some embodiments, the reader 12 is controlled by
the controller 18 via the wire or cable 68, and the wireless
networking hardware is omitted. The reader 12 communicates with
tags 30-45 using the transmitter 62 and the receiver 64.
[0035] Both fixed and handheld (mobile) readers may be equipped
with the wireless network hardware. The multiplexing periods can be
constructed so as to be transparent to the user.
[0036] In some embodiments, any number of readers may be
coordinated at the system level of control, by the controller 18,
such that each reader must finish its inventory before the next
reader is allowed to broadcast commands to perform its inventory
function. This allows for more than four sessions. Any desired
number, N, of readers can be employed.
[0037] For example, FIG. 3 is a flowchart illustrating a process
executed by the processor 50 of reader controller 18, in some
embodiments. In step 70, a loop is started. The loop is repeated
for values of I equaling 1 to N, starting with I=1, and I is
incremented each time the loop repeats.
[0038] In step 72, the reader controller 18 enables only reader I
to inventory tags. In other words, one and only one reader is
caused to inventory tags.
[0039] In step 74, a determination is made as to whether or not
reader I has completed its inventorying of tags. If not, the
inventorying continues. If reader I has completed its inventorying
of tags, the processor 50 proceeds to step 76, the loop increments,
and the next reader is caused to inventory tags.
[0040] In other embodiments of the invention, the reader controller
18 is configured to determine whether or not to use the reader
multiplexing by first comparing tag unique identification numbers
or serial numbers read by each reader. In some embodiments, the
reader controller 18 may include a database 100 storing numbers of
tags read by each reader, and database manager software that looks
for situations where two readers are attempting to read the same
population of tags. If any tag serial numbers were read by multiple
readers, that means that the two readers are working on the same
tag population. Such readers are multiplexed (e.g., FIG. 3 is
followed for readers working on the same tag population). The
inventory(ies) may be restarted for these readers, but in a
multiplexed manner.
[0041] For example, FIG. 4 is a flowchart illustrating a process
executed by the processor 50 of reader controller 18, in some
embodiments. In step 80, tag numbers read by each reader are
compared and a determination is made whether any tag numbers were
read by multiple readers. If so, the processor 50 proceeds to step
82. If not, the processor 50 proceeds to step 90.
[0042] In step 82, a loop is started. The loop is repeated for each
of those readers identified in step 80 as having read tag numbers
read by another reader.
[0043] In step 84, the reader controller 18 enables only one of
those readers to inventory tags. In other words, one and only one
reader is caused to inventory tags. The inventorying is restarted
if the reader already performed an inventory.
[0044] In step 86, a determination is made as to whether or not
reader that is inventorying has completed its inventorying of tags.
If not, the inventorying continues. If the reader has completed its
inventorying of tags, the processor 50 proceeds to step 88, the
loop increments, and the next reader is caused to inventory
tags.
[0045] In step 90, normal operation continues without
multiplexing.
[0046] This embodiment handles, for example, the situation where a
handheld (mobile) reader comes into the same working volume or area
as a fixed reader or another handheld, where both readers need to
determine accurate tag inventories.
[0047] In some embodiments, when the multiple readers are not
reading any of the same tag serial numbers any more (e.g., if a
reader has moved out of the area), the multiplexing of readers can
be terminated. Thus, in some embodiments, after a delay 92 or 94,
the comparison 80 is performed again.
[0048] In other embodiments, all the multiple readers 12-17 in the
system may be multiplexed all the time.
[0049] In some embodiments, a database is used to keep track of tag
serial numbers (or any form of tag IDs) that are locked out for
each reader while it performs inventory. This allows an inventory
by any reader to be interrupted and later resumed where it left
off.
[0050] FIG. 5 is a flowchart illustrating a process executed by
multiple readers 12-17, in some embodiments, to perform any number
N of sessions by any number M of readers wherein one or more
sessions are interrupted during a reader's inventory. The process
of FIG. 5 allows the session to be resumed later without the reader
missing inventorying any tags.
[0051] In step 96, under the control of the controller 18, one
reader 12-17 (referred to in FIG. 5 as Reader 1) begins an
inventory session (referred to in FIG. 5 as Session 1). An
inventory session of step 96 can include, for example, an
inventorying session as described in the EPCglobal Class 1,
Generation 2 specification. In some embodiments, the inventory
session of step 96 can include an arbitration process as described
in the above-mentioned Snodgrass patents. In the illustrated
embodiment, Reader 1 sets a flag (or stores data) on tags that are
identified or inventoried by Reader 1 (e.g., inventoried,
identified, or singulated without collision). The flag indicates
that the tag has been inventoried. In some embodiments, the flag is
a lockout bit as described in the above mentioned Snodgrass
patents. In other embodiments, the flag is a session bit as
described in the EPCglobal Class 1, Generation 2 specification.
[0052] In step 98, identification information (e.g., tag IDs,
portions of tag IDs, or other data identifying tags) for
inventoried tags is stored. In some embodiments, the identification
information for inventoried tags is stored in a database 114 for
Reader 1. This database 114 is stored, in some embodiments, in
Reader 1 itself (see FIG. 1).
[0053] If the reader controller 18 decides to let another of the
readers 12-17, referred to in FIG. 5 as Reader 2, begin an
inventory process, Reader 1's inventory session is interrupted in
step 100. Reader 1's inventory session is referred to as Session 1
in FIG. 5. The reader controller 18 may decide to interrupt Reader
1's inventory process for any of a variety of reasons. For example,
Reader 2 may be considered to be more important or higher priority
than Reader 1.
[0054] In step 102, Reader 1 resets flags or data. In some
embodiments, all the flags or data (e.g., lockout bits) are cleared
or reset for the entire tag population. In some embodiments, the
flags that were set in step 96 are cleared or reset.
[0055] In step 104, Reader 2 begins its inventory session freshly.
Reader 2 sets a flag (or stores data) on tags that are identified
or inventoried by Reader 2 (e.g., inventoried, identified, or
singulated without collision).
[0056] In step 106, identification information (e.g., tag IDs,
portions of tag IDs, or other data identifying tags) for
inventoried tags is stored. In some embodiments, the identification
information for inventoried tags is stored in a database 116 for
Reader 2. This database 116 is stored, in some embodiments, in
Reader 2 itself (see FIG. 1).
[0057] In step 108, the controller 18 decides that it is time for
Reader 1 (or any other reader M) to resume its inventory. This can
include interrupting Reader 2's Session 2. In some embodiments, the
Session 2 flagged tag data is stored in a database 118 in Reader 1,
or somewhere else. The database 118 includes data representing
Reader 2's inventory thus far.
[0058] In step 110, all the flags are reset. The resetting is
performed by Reader 2 in some embodiments, and by Reader 1 in other
embodiments.
[0059] In step 112, Reader 1 uses the tag identification
information in its Session 1 database 114 to re-flag the tags that
were previously identified as locked-out in Session 1, and Reader 1
continues its sort from where it left off.
[0060] Other readers can similarly be interrupted and later
continue their inventory sessions. Because the readers can
communicate with each other as well as with the reader controller,
the various databases can be stored wherever desired.
[0061] FIG. 6 is a flowchart illustrating a process for addressing
the problem of tag populations that change during an inventory
session.
[0062] In step 120, the readers 12-17 are controlled so that all
tags in range are read or inventoried by a first reader. Reader
multiplexing, as described above, is performed so that collisions
and interference do not perturb the inventory results. This
increases the likelihood that all tags in range are read by a first
reader. More particularly, in some embodiments, the readers are
controlled so that one and only one reader at a time performs an
inventory. A list of identification information (e.g., tag IDs,
portions of tag IDs, or other data identifying tags) for
inventoried tags is stored; e.g., in the first reader.
[0063] In step 122, the inventorying of step 120 is repeated (e.g.,
by the first reader).
[0064] In step 124, the list of inventoried tags (e.g., tag IDs,
portions of tag IDs, or other data identifying tags) from the
inventorying of step 120 by the first reader is compared with the
list of inventoried tags from the inventorying of step 122.
[0065] In step 126, the comparison of step 124 is used to determine
if original tags are disappearing or if new tags are appearing.
[0066] In step 128, appropriate action is taken depending on
whether original tags are disappearing or new tags are appearing. A
variety of different actions can be taken. This method reveals
whether the inventory is changing and how it is changing. It may be
used in conjunction with the multiplexing methods described in the
preceding Figures. In the illustrated embodiment, the steps of FIG.
6 are repeated, and a list of tags for each inventory session is
kept.
[0067] Particular examples will now be provided to better enable
one of ordinary skill in the art to understand the embodiments of
FIGS. 5 and 6. These are examples only; other situations are, of
course, possible.
[0068] FIG. 7 illustrates an example of implementation of the
embodiment of FIG. 5. As a simplification, only three tags and two
readers are illustrated. In an actual implementation, there would
likely be a much larger population of tags and more readers. In
this example, all tags are in view of all readers, as shown in FIG.
10.
[0069] At time 210, an inventory sequence is started. All tags have
lockout bits equal to zero, and both readers illustrated in the
example are off.
[0070] At time 211, the controller 18 turns on Reader 1 only.
[0071] At time 212, Reader 1 finds and locks out Tag 1.
[0072] At time 213, Reader 1 finds and locks out Tag 2
[0073] At time 214, it is time for whatever reason to switch to
Reader 2.
[0074] At time 215, the controller 18 tells Reader 1 to reset all
its locked out tags in Database 1 (corresponding to database 114 in
FIG. 1). Note that all tags have lockout bits equal to zero.
[0075] At time 216, Reader 1 is turned off.
[0076] At time 217, only Reader 2 is turned on.
[0077] At time 218, Reader 2 finds and locks out Tag 3.
[0078] At time 219, it is time, for whatever reason, to switch back
to Reader 1.
[0079] At time 220, Reader 2 resets all its locked out tags in
Database 2. Note that now all tags have lockout bits equal to
zero.
[0080] At time 221, Reader 2 is turned off.
[0081] At time 222, Reader 1 is turned on.
[0082] At time 223, from Database 1, Reader 1 sets lockout bits on
Tag 1 and Tag 2.
[0083] At time 224, Reader 1 finds and locks out Tag 3.
[0084] At time 225, Reader 1 cannot find any more tags.
[0085] At time 226, the controller 18 tells Reader 1 to reset all
tag lockout bits to zero.
[0086] At time 227, the inventory session for Reader 1 is
finished.
[0087] At time 228, the controller 18 turns off Reader 1.
[0088] At time 229, the controller 18 decides to resume the
inventory for Reader 2.
[0089] At time 230, the controller 18 turns on Reader 2.
[0090] At time 231, Reader 2 sets tag lockouts per its database;
i.e., Tag 3.
[0091] At time 232, Reader 2 finds Tag 2 and sets Tag 2's lockout
bit.
[0092] At time 233, Reader 2 finds Tag 1 and sets its lockout
bit.
[0093] At time 234, Reader 2 cannot find any more tags. Inventories
are complete.
[0094] At time 235, the controller turns off both readers.
[0095] FIG. 8 is a portion of a table illustrating an example of
implementation of the embodiment of FIG. 6. In this example, Tag 3
leaves the field of Reader 1 as shown in FIG. 11. Repeating the
inventory process shown in FIG. 7 produces the inventories shown in
FIG. 8. The controller 18 compares the first and second inventory
and finds that Tag 3 is no longer in the field of Reader 1 but is
still in the field of Reader 2.
[0096] FIG. 9 is a portion of a table illustrating an example of
implementation of the embodiment of FIG. 6. In this example, Tag 4
enters the field of only Reader 1 as shown in FIG. 12. Repeating
the inventory process shown in FIG. 7 produces the inventories
shown in FIG. 9. The controller 18 compares the first and second
inventory and finds that Tag 4 has entered the field of Reader 2
but is not in the field of Reader 1.
[0097] In some embodiments, if, for any reason, a first reader
12-17 (see FIG. 1) is deselected or turned off, a second reader
12-17 may be activated only if no significant reader energy is
detected in the vicinity of the second reader. For example, the
controller causes the second reader to determine if it is able to
detect RF from a reader and, if not, the controller activates the
second reader. If there is RF present, a different reader can be
selected where reader RF is not present. Detecting RF from a reader
may comprise determining if an RF above a certain predetermined
threshold, of the type expected from a reader, is present. Thus, in
some embodiments, controlling the readers 12-17 comprises selecting
readers, and if a selected reader is deselected by the controller,
another reader is selected by the controller such that there is no
reader energy, above a predetermined threshold, at the new selected
reader.
[0098] In compliance with the statute, the subject matter disclosed
herein has been described in language more or less specific as to
structural and methodical features. It is to be understood,
however, that the claims are not limited to the specific features
shown and described, since the means herein disclosed comprise
example embodiments. The claims are thus to be afforded full scope
as literally worded, and to be appropriately interpreted in
accordance with the doctrine of equivalents.
* * * * *
References