The present invention relates to the field of devices having an identifier, such as tags, and further relates to methods and apparatuses for identifying such tags.
It is desirable to interrogate multiple wireless tags by sending from an interrogating transmitter a code and having information transmitted by the tag in response. This is commonly accomplished by having the tag listen for an interrogation message and for it to respond with a unique serial number and/or other information.
Since only one tag can be read at a time, some prior art devices and apparatuses have improved this interrogation and response process by utilizing a ready-quiet protocol. In the case of a ready-quiet protocol, the tags, once placed in the quiet state, must either timeout or be touched by a talk command before they can participate in an inventory. Several talk commands can be issued before an inventory, but there is no guarantee that multipath will be favourable, the frequency right, or even that a specific tag is physically close enough to the reader at that point in time. Any tags that miss the command or commands to wake up at the beginning of the inventory process will be missed, which is undesirable.
The use of a time-out for a persistent quiet is a conceptually simple alternative, but the manufacture of a tag that has a tightly controlled persistence time is difficult. Also, for example, 10 seconds might be too short a time to inventory a large number of tags, and yet 10 seconds might be long enough to interfere with multiple readers tracking an item on a trajectory or catching a shoplifter in the act of destroying a tag or putting the item into a shielded bag and walking away with an item.
The present invention uses in one exemplary embodiment a protocol with two symmetric inventoried states, and provides advantages over a ready-quiet protocol. The symmetric version effectively has less state dependence by symmetrizing the quiet-ready states into two symmetrical halves, the State A and State B of the protocol.
The symmetry described herein will substantially increase the performance over ready-quiet protocols in cases where tags have been inventoried and put into the quiet state, and it is desired to inventory them again, either from a different reader station, or as part of a continuous inventory to monitor tags being removed, on a timely basis.
One implementation of the tag is to supply a persistent node that maintains its state for at least twenty seconds even in the absence of power. Assuming that the persistent node decays to the zero (0) state, [0] would encode State A, and [1] will encode State B. State B expires with time into the State A. There is no upper bound on the time that State B persists, and it is not permitted to be in states where it is randomly powering up into State A or State B. The suggested implementation is to write the persistent node with 0 upon reading a 0. An alternative preferred implementation is to have two separate persistent nodes for State A and State B, always clearing one when setting the other. In this case, when both nodes have expired, the tag should respond to all commands of either the A or B type.
The present invention is a method and apparatus for automatically identifying items that are tagged with an RFID tag that has two symmetrical states. The RFID tag may be a unique tag or a non-unique tag. In one exemplary embodiment, both states may be persistent states. In an alternative embodiment, one state may be a persistent state and the other state may be a transient state. Initially, in this one exemplary embodiment, all items are in an unknown state. The system of this exemplary embodiment consists of a reader, which transmits RF signals, and RFID tags which may be powered by the RF energy. The reader uses a series of coded interrogation signals to search a population of tags. The search may be a random search or a binary tree search that systematically classifies and separates groups and sub-groups that match more and more specific search criteria.
In one example of a tree approach, at each search level, tags that match the interrogation signal sort themselves into temporal bins corresponding to a subset of their binary coded ID's. The reader has the ability to detect if there is more than one tag in a temporal bin, indicating that additional sorting is required. Eventually, each bin contains either no members, or one member. The identity of the member of a populated bin can then be read. All items so identified are then placed in the other state where they will not respond to interrogation signals coded to evoke responses from items in the persistent state. Once this process has been run to completion, the roles of the states are reversed, and the inventory is run again. This technique allows the identification of items that might have been missed in the first identification round because they were in the wrong initial state, or missed one or more commands due to weak signals, multipath interference, or distance.
One aspect of the invention involves a command structure that has at least a two-state symmetry. This involves, in one embodiment, a QuietA command and a QuietB command. According to this aspect, an exemplary embodiment of a method for identifying tags includes: issuing from a reader a first set of commands of a first type (e.g., the PingIDA, ScrollIDA, and QuietA commands of the protocol, described below) to identify tags in a first group of tags which are in a first state (e.g. State A), wherein a first command (e.g. QuietA) in the first set of commands of the first type causes addressed tags to be placed in a second group of tags which are in a second state (e.g. State B) which are addressable by a second set of commands of a second type (e.g. PingIDB, ScrollIDB, and QuietB which are described below), wherein the first group of tags (in the first state) do not respond to the second set of commands of the second type (e.g. tags in State A do not respond to PingIDB, ScrollIDB, and QuietB); and wherein the method also includes issuing from a reader the second set of commands of the second type (e.g., the PingIDB, ScrollIDB, and QuietB commands of the protocol, described below) to identify tags in the second group of tags in the second state wherein a second command (e.g. Quiet B) in the second set of commands of the second type causes addressed tags to be placed in the first group of tags (in the first state) which respond to the first set of commands of the first type and wherein the second group of tags (in the second state) do not respond to the first set of commands of the first type.
The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings in which like references indicate similar elements.
The subject invention will be described with reference to numerous details set forth below, and the accompanying drawings will illustrate the invention. The following description and drawings are illustrative of the invention and are not to be construed as limiting the invention. Numerous specific details are described to provide a thorough understanding of the present invention. However, in certain instances, well-known or conventional details are not described in order to not unnecessarily obscure the present invention in detail.
There are at least 4 classes of tags which may be used with the present invention: (1) no power source on the tag except for power which is obtained from the tag's antenna, but the tag does include a read-only memory which has the tag's identification code; (2) a tag without internal power, but when powered from the reader, can write data to non-volatile memory in the tag; this type of tag also includes memory for storing the identification code: (3) a tag with a small battery to provide power to the circuitry in the tag. Such a tag may also include non-volatile memory as well as memory for storing the tag's identification code; (4) a tag which can communicate with other tags or other devices.
In one implementation, the microprocessor 23 is a programmable microcontroller, such as an 8051 microcontroller or other well-known microcontrollers or microprocessors (e.g. a powerPC microprocessor), and the memory 24 includes dynamic random access memory and a memory controller which controls the operation of the memory; memory 24 may also include a non-volatile read only memory for storing data and software programs. The memory 24 typically contains a program that controls the operation of the microprocessor 23 and also contains data used during the processing of tags as in the interrogation of tags. In one embodiment further described below, the memory 24 would typically include a computer program which causes the microprocessor 23 to send search commands through the I/O controller 21 to the transmitter and to receive responses from the tags through the receiver 14 and through the I/O controller 21.
The memory 24 would further include a data structure such as a binary tree, e.g. a binary tree shown in the above noted patent applications which were incorporated by reference, which tree is created as a result of the particular search algorithm which is further described below or in these applications. The reader 12 may also include a network interface 25, such as an Ethernet interface, which allows the reader to communicate to other processing systems through a network 26. The network interface would typically be coupled to the bus 22 so that it can receive data, such as the list of tags identified in an interrogation from either the microprocessor 23 or from the memory 24.
Readers communicate with a field of tags using one of at least two types of modulation: Data Modulation and Bin Modulation. Data Modulation is used to transmit data from the reader to the tags. Bin Modulation is used during the tag reply interval, following a PingID command, for example, as part of an anti-collision algorithm that sorts tag responses into time slots.
In one embodiment of reader-to-tag data modulation, as illustrated in
Tags reply to reader commands with backscatter modulation. In one embodiment of tag-to-reader modulation, as shown in
Alternatively, a command protocol may be embodied as a three-state protocol, as illustrated in
PingID, ScrollID and Quiet commands may be used to implement a binary search algorithm to sort, isolate and identify tags. PingId, ScrollID and Quiet commands may contain fields that specify matching criteria for all or some portion of a tag's identification code. In one embodiment, the command may contain a pointer field [PTR] to indicate the bit location in a tag's identification code where the matching operation is to begin. For example, the value of the pointer may specify a location relative to the least significant bit of the tag's identification code. The command may also contain a length parameter [LEN] to indicate the number of bits in the identification code to be matched, as well as a value parameter [VALUE] to specify the exact sequence of bits to be matched. In response, a tag addressed by the reader will attempt to match the value parameter with the ID data in its stored memory, starting at the pointer location, for the specified number of bits.
Tags matching data sent in a ScrollID command may reply by sending back their complete identification code, which may start from the least significant bit. Therefore, ScrollID commands may be used to look for specific tags or test for the presence of specific groups of tags in the field.
Tags matching data sent in a PingID command may reply with eight bits of the tag address, starting at a point immediately above the most significant bit of the matched data, and proceeding from there toward the most significant bit of the tag's address. Each tag response is placed in one of eight time bins delineated by clock ticks sent from the reader after a setup interval as previously described. The three bits of tag memory directly above the matched data may be used to determine the particular response interval for a tag reply. For example, tags having the next three bits above the matched data of ‘000’ respond in the first interval, tags with the next three bits higher of ‘001’ reply in the second interval and so on out to ‘111’ in the eighth interval. These intervals are referred to as bins numbered zero (0) through seven (7).
Tags matching data sent in a Quiet command will respond by either changing state or remaining in their present state, depending on which Quiet command is transmitted by the reader. For example, if a Quiet A command is sent, matching tags in State A will transition to State B while matching tags in State B will remain in State B. Conversely, if a Quiet B command is sent, matching tags in State B will transition to State A while matching tags in State A will remain in State A.
The PingID command in either the A or B version divides a population of tags, in one exemplary embodiment, into eight sub-populations based on their addresses by binning tag responses into eight separate time slices. This binning provides the basis of an anti-collision algorithm that probes the binary address tree three bits at a time. Individual tags can be isolated from large populations in the field of the reader by issuing multiple PingID commands to the field, analysing the responses and eventually issuing the appropriate ScrollID command to identify individual tags.
For the PingID command with [PTR]=0, [LEN]=1 and [VALUE]=0, tags with least significant bits (LSBs) of 0000 respond in bin 0, Tags with LSBs of 0010 respond in bin 1 and so on, out to bin 7 where tags with LSBs 1110 respond. Readers can look for backscatter modulation from the Tags in each of these bins and learn about the Tag population even if collisions make reading the eight bits of data sent by the tags difficult. Merely the presence of backscatter in a given bin is an indication that one or more tags match the query. The bin number tells the reader what the next three most significant bits (MSBs) of tag address are.
As an example, assume a population of tags in State A with multiple tags having addresses with LSBs of 0111 and 1011. A PingIDA command with [PTR]=0, [LEN]=1 and [VALUE]=1 will probe the left half of the tree, shown as Query 1 in
Using this information, the reader may issue a second PingIDA command to explore the population of tags in bin three, reserving the tags seen in bin five for later analysis. The population in bin three may be explored by issuing a PingIDA command with [PTR]=0, [LEN]=4 and [VALUE]=7 (binary 0111). The effect of this command is to explore three bits farther into the tree towards the MSB from the 0111 position, shown as Query 2 in
A preferred method to perform an analysis of a population of tags is to take advantage of the reader's ability to detect contention in the reply intervals. In the case The exemplary “divide by eight” anti-collision feature of the PingID command allows one to very quickly reduce the number of tags replying in each bin. For example, in a 100-tag population with random addresses, fewer than four PingID commands, on the average, are needed to isolate a tag, and in the process, other tags are singulated as well. If only a single tag replies in a given bin the reader can decode the eight (8) bits of information being sent from the tag and issue a ScrollID command to that Tag using the [PTR], [LEN] and [VALUE] data that successfully singulate the tag.
To utilize the two-state symmetry of the communication protocol, readers may start by performing an inventory as described above, using the PingIDA, ScrollIDA, and QuietA commands. After no further tags are responding, the reader may issue high level PingIDA commands again (e.g., commands at the root of the search tree) to explore any tags which were missed in the initial search. Note that a tag in state A would be counted even if it were only powered for a brief time, just long enough to see a command to synchronize its clock, a PingIDA command, a ScrollIDA command, and a QuietA command. At this point all tags that were inventoried in state A would be in state B. The reader can then begin an inventory of tags in state B using the PingIDB, ScrollIDB, and QuietB commands in a process completely analogous to the state A inventory. This second inventory would count all of the tags that were put into state B as a result of the state A inventory, as well as tags that were in state B initially and not counted in the state A inventory.
Any tag that is continuously in the field is counted in every A/B inventory cycle. Any tag that enters the field will be counted, in the worst case, in the second inventory after it enters the field. For tags at the edge of the detection range, as multipath interference changes, or as the tag or other objects are moved in the reader field, the power available to the tag fluctuates and may only be sufficient to power the tag for brief periods of time. Persistent quiet allows the majority of tags to be counted quickly and for high-level pings to be generated over and over again, seeking out tags that are only intermittently powered. The symmetrical commands extend this counting capability to tags that have just been inventoried and put into the quiet state, or as part of a continuous inventory process. One advantage of this approach is that it prevents the tags from ever entering a state where they are hard to count.
In one embodiment, tags within a population of tags may be assigned to different sessions to enable a reader, or multiple readers, to conduct inventories in orthogonal search spaces. For example, a tag memory may contain both a state bit and a session bit. The state bit may be set to 0 or 1, corresponding to states A and B, respectively, and the session bit may be set to 0 or 1, corresponding to session 1 or session 2, respectively.
One example of the use of two sessions is a portal reader, which is counting all tags coming through a portal, that wants to preferentially count pallets. The reader could run two simultaneous processes on the tag population. Session 1, for example, could be used by one process to sweep the entire population of tags between state A and state B to insure that all tags are counted, regardless of their initial state. Session 2 could selectively mask all pallet tags to state A for that session and all other tags to state B, and then count them preferentially in an interleaved process, without interfering with the ongoing inventory in the first process.
Another example of sessions would be a set of store inventory readers, set to synchronize their inventory types. The readers might use session 1 at the tags to inventory from state A to state B and back to state A. At the same time, a handheld reader might use session 2 to search for a specific product code by masking a sufficient portion of the product identification code to state A while masking all other tags to state B. It may then use session 2, state A commands to seek that specific tag or tag type. It will be appreciated that the number of sessions will only be limited by the number of bits in the tag memory that are devoted to session flags.
In some applications, it may be useful to exclude tags from an inventory that are not of interest, without running multiple sessions. Excluding tags that are not of interest is preferable to selecting tags that are of interest. A tag of interest that is missed by a selection command will be left out of the inventory. On the other hand, a tag that is not of interest, which is missed by an exclusion command, may be inventoried if its ID falls within the parameters of the search. However, once the tag is identified, it can be ignored.
Tags that are not to be counted may be excluded by using AB symmetry. During each phase of an inventory, A to B or B to A, commands may be issued to transfer tags that are not of interest to the other state without inventorying them. For example, if an inventory is being done from the A state to the B state, a command may be issued to place all tags which are not of interest into state B. These commands can be issued as often as desired during the inventory. The remaining tags are inventoried from state A to state B one at a time. If any tags are missed by the commands to exclude them, they are simply counted and the information is ignored. When it is determined that no more tags remain in state A, the same procedure may be run from the B state to the A state. Commands may be issued to place all tags that are not of interest into state A without inventorying them. Again, these commands may be issued as often as desired during this part of the inventory cycle. The remaining tags are inventoried from state B to state A, one at a time. If any tags are missed by the commands to exclude them, they are simply identified during the inventory and the information can be ignored.
This method of excluding unwanted tags from the inventory does not allow a complete Boolean expression to be issued that incorporate tag condition primitives as discussed in U.S. Pat. No. 5,828,318, incorporated herein by reference. However, the selection methods described therein do not avoid the problem that some tags in the population may miss any particular command. It is desirable, therefore, to combine the specification of complete Boolean expressions over the primitive set conditions available at the tags with the ability of AB symmetry to work in the presence of unreliable communication with the tags. The methods of Boolean selection set out in U.S. Pat. No. 5,828,318 may be combined with the AB symmetric inventory process by using a separate three state methodology as described in U.S. Pat. No. 5,828,318 to set up an unselected population of tags. This unselected population may be set up as often as desired, controlling their participation in the inventory process at a specific interval during the inventory, without affecting the population of the AB states.
In one embodiment of a combination of AB symmetry and Boolean selection, a three state method may be implemented. To avoid confusion, and without loss of generality, the three states of the three state machine described in U.S. Pat. No. 5,828,318 may be named state #1, state #2, and state #3. State #1 may be the unselected state, and tags that are in state #1 do not participate in the inventory.
During the initial phase of an inventory, A to B for example, commands may be issued to put tags that are not of interest into state #1. Both of the other two states of the three state machine described in U.S. Pat. No. 5,828,318 would be treated as selected states. These commands may be issued as often as desired during the inventory, to achieve the desired Boolean selection criteria. The remaining tags are inventoried from state A to state B, one at a time. If any tags are missed by the commands to exclude them, they are simply counted and the information is ignored. Once a sufficiently large amount of time has been expended making sure no tags remain in the A state, the same procedure can be run from the B state to the A state. Commands may again be issued, and as often as desired, using the method described in U.S. Pat. No. 5,828,318 to put tags that are not of interest into unselected state #1. The remaining tags are inventoried from state B to state A one at a time. If any tags are missed by the commands to exclude them, they are simply counted and the information is ignored. Thus, all of the tags of interest in the population are counted without having to count most of the tags that are not of interest. No tag is required to receive any particular command to achieve this objective. This allows a Boolean complete expression, using tag condition primitives, to be used to select the tags of interest out of the population.
In the foregoing method, every tag in the population is identified when it sends its product identification code to the reader. A product identification code may contain 48, or even 96 or more bits. If the tag also sends a CRC checksum for error checking, the transmission time may be quite long. One approach to reducing the overall time required to conduct an inventory is the use of pseudorandom number pre-acknowledgements. In this approach, a tag that matches the interrogation code will respond with a pseudorandom number, with a high probability of being unique in its response interval, which is much shorter than the full EPC™ code.
It will be apparent from the foregoing description that aspects of the present invention may be embodied, at least in part, in software. That is, the techniques may be carried out in a computer system or other data processing system in response to its processor, such as a microprocessor, executing sequences of instructions contained in a memory, such as reader memory 24 or tag memory 46. In various embodiments, hardwired circuitry may be used in combination with software instructions to implement the present invention. Thus, the techniques are not limited to any specific combination of hardware circuitry and software nor to any particular source for the instructions executed by the data processing system. In addition, throughout this description, various functions and operations are described as being performed by or caused by software code to simplify description. However, those skilled in the art will recognize what is meant by such expressions is that the functions result from execution of the code by a processor or controller, such as the microprocessor 23 or the controller 37.
A machine readable medium can be used to store software and data which when executed by a data processing system causes the system to perform various methods of the present invention. This executable software and data may be stored in various places including for example memory 24 or 46. Portions of this software and/or data may be stored in any one of these storage devices.
Thus, a machine readable medium includes any mechanism that provides (i.e., stores and/or transmits) information in a form accessible by a machine (e.g., a computer, network device, personal digital assistant, manufacturing tool, any device with a set of one or more processors, etc.). For example, a machine readable medium includes recordable/non-recordable media (e.g., read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; etc.), as well as electrical, optical, acoustical or other forms of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.); etc.
In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will be evident that various modifications may be made thereto without departing from the broader spirit and scope of the invention as set forth in the claims. The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense. Further detailed descriptions of certain exemplary embodiments of the present invention that may use aspects of a command structure that has at least a two-state symmetry or aspects of a three-state symmetry, as described herein, can be found in the following sections and in Appendix A.
This application is related to, and claims the benefit of, Provisional U.S. Patent Application Ser. No. 60/494,143, filed Aug. 9, 2003 and this application is related to, and claims the benefit of Provisional U.S. Patent Application Ser. No. 60/518,229, filed Nov. 7, 2003, and this application incorporates by reference the entire content of these two provisional applications. This application also claims the benefit of, and incorporates by reference, two prior U.S. Patent Applications: (1) U.S. patent application Ser. No. 10/160,458, filed May 30, 2002; and (2) U.S. patent application Ser. No. 10/267,924, filed Oct. 8, 2002.
Number | Name | Date | Kind |
---|---|---|---|
3866029 | Chevalier | Feb 1975 | A |
4071908 | Brophy et al. | Jan 1978 | A |
4107675 | Sellers et al. | Aug 1978 | A |
RE31375 | Sellers et al. | Sep 1983 | E |
4495496 | Miller, III | Jan 1985 | A |
4510495 | Sigrimis et al. | Apr 1985 | A |
4667193 | Cotie et al. | May 1987 | A |
4785291 | Hawthorne | Nov 1988 | A |
4822990 | Tamada et al. | Apr 1989 | A |
5053774 | Schuermann et al. | Oct 1991 | A |
5063386 | Bourdeau et al. | Nov 1991 | A |
5144314 | Malmberg et al. | Sep 1992 | A |
5245534 | Waterhouse et al. | Sep 1993 | A |
5266925 | Vercellotti et al. | Nov 1993 | A |
5305008 | Turner et al. | Apr 1994 | A |
5339073 | Dodd et al. | Aug 1994 | A |
5365551 | Snodgrass et al. | Nov 1994 | A |
5387915 | Moussa et al. | Feb 1995 | A |
5387993 | Heller et al. | Feb 1995 | A |
5397349 | Kolff et al. | Mar 1995 | A |
5398326 | Lee | Mar 1995 | A |
5410315 | Huber | Apr 1995 | A |
5434572 | Smith | Jul 1995 | A |
5438335 | Schuermann et al. | Aug 1995 | A |
5444448 | Schuermann et al. | Aug 1995 | A |
5491482 | Dingwall et al. | Feb 1996 | A |
5500650 | Snodgrass et al. | Mar 1996 | A |
5502445 | Dingwall et al. | Mar 1996 | A |
5519381 | Marsh et al. | May 1996 | A |
5537105 | Marsh et al. | Jul 1996 | A |
5545291 | Smith et al. | Aug 1996 | A |
5548291 | Meier et al. | Aug 1996 | A |
5550547 | Chan et al. | Aug 1996 | A |
5557280 | Marsh et al. | Sep 1996 | A |
5583850 | Snodgrass et al. | Dec 1996 | A |
5604486 | Lauro et al. | Feb 1997 | A |
5627544 | Snodgrass et al. | May 1997 | A |
5640002 | Ruppert et al. | Jun 1997 | A |
5641365 | Peterson et al. | Jun 1997 | A |
5673037 | Cesar et al. | Sep 1997 | A |
5680459 | Hook et al. | Oct 1997 | A |
5698837 | Furuta | Dec 1997 | A |
5699066 | Marsh et al. | Dec 1997 | A |
5726630 | Marsh et al. | Mar 1998 | A |
5742238 | Fox | Apr 1998 | A |
5774062 | Ikefuji | Jun 1998 | A |
5774876 | Woolley et al. | Jun 1998 | A |
5777561 | Chieu et al. | Jul 1998 | A |
5804810 | Woolley et al. | Sep 1998 | A |
5828318 | Cesar | Oct 1998 | A |
5832520 | Miller | Nov 1998 | A |
5841365 | Rimkus | Nov 1998 | A |
5850187 | Carrender et al. | Dec 1998 | A |
5856788 | Walter et al. | Jan 1999 | A |
5874724 | Cato | Feb 1999 | A |
5883582 | Bowers et al. | Mar 1999 | A |
5892441 | Woolley et al. | Apr 1999 | A |
5909559 | So | Jun 1999 | A |
5929779 | MacLellan et al. | Jul 1999 | A |
5940006 | MacLellan et al. | Aug 1999 | A |
5963134 | Bowers et al. | Oct 1999 | A |
5966083 | Marsh et al. | Oct 1999 | A |
5974078 | Tuttle et al. | Oct 1999 | A |
5995017 | Marsh et al. | Nov 1999 | A |
5995019 | Chieu et al. | Nov 1999 | A |
6002344 | Bandy et al. | Dec 1999 | A |
6021433 | Payne et al. | Feb 2000 | A |
6027027 | Smithgall | Feb 2000 | A |
6034603 | Steeves | Mar 2000 | A |
6036101 | Hass et al. | Mar 2000 | A |
6072801 | Wood, Jr. et al. | Jun 2000 | A |
6078258 | Auerbach et al. | Jun 2000 | A |
6084512 | Elberty et al. | Jul 2000 | A |
6089453 | Kayser et al. | Jul 2000 | A |
6102286 | Hammond | Aug 2000 | A |
6130630 | Grohs et al. | Oct 2000 | A |
6177858 | Raimbault et al. | Jan 2001 | B1 |
6198381 | Turner et al. | Mar 2001 | B1 |
6204765 | Brady et al. | Mar 2001 | B1 |
6236315 | Helms et al. | May 2001 | B1 |
6259367 | Klein | Jul 2001 | B1 |
6263332 | Nasr et al. | Jul 2001 | B1 |
6282186 | Wood, Jr. | Aug 2001 | B1 |
6307847 | Wood, Jr. | Oct 2001 | B1 |
6307848 | Wood, Jr. | Oct 2001 | B1 |
6321982 | Gaultier | Nov 2001 | B1 |
6377203 | Doany | Apr 2002 | B1 |
6379058 | Petteruti et al. | Apr 2002 | B1 |
6412086 | Friedman et al. | Jun 2002 | B1 |
6429776 | Alicot et al. | Aug 2002 | B1 |
6438540 | Nasr et al. | Aug 2002 | B2 |
6442496 | Pasadyn et al. | Aug 2002 | B1 |
6443891 | Grevious | Sep 2002 | B1 |
6456191 | Federman | Sep 2002 | B1 |
6476708 | Johnson | Nov 2002 | B1 |
6480143 | Kruger et al. | Nov 2002 | B1 |
6483427 | Werb | Nov 2002 | B1 |
6496833 | Goldberg et al. | Dec 2002 | B1 |
6512463 | Campbell et al. | Jan 2003 | B1 |
6538563 | Heng | Mar 2003 | B1 |
6538564 | Cole | Mar 2003 | B1 |
6550674 | Neumark | Apr 2003 | B1 |
6566997 | Bradin | May 2003 | B1 |
6570487 | Steeves | May 2003 | B1 |
6600443 | Landt | Jul 2003 | B2 |
6609656 | Elledge | Aug 2003 | B1 |
6641036 | Kalinowski | Nov 2003 | B1 |
6646543 | Mardinian et al. | Nov 2003 | B1 |
6661336 | Atkins | Dec 2003 | B1 |
6677852 | Landt | Jan 2004 | B1 |
6690263 | Grieu | Feb 2004 | B1 |
6725260 | Philyaw | Apr 2004 | B1 |
6763996 | Rakers et al. | Jul 2004 | B2 |
6784787 | Atkins et al. | Aug 2004 | B1 |
6837427 | Overhurtz et al. | Jan 2005 | B2 |
6868073 | Carrender | Mar 2005 | B1 |
6876294 | Regan | Apr 2005 | B1 |
6882995 | Nasr et al. | Apr 2005 | B2 |
6889234 | Li et al. | May 2005 | B1 |
6933677 | Karpen | Aug 2005 | B1 |
6988667 | Stewart et al. | Jan 2006 | B2 |
7009495 | Hughes et al. | Mar 2006 | B2 |
7009496 | Arneson et al. | Mar 2006 | B2 |
7018575 | Brewer et al. | Mar 2006 | B2 |
7028024 | Kommers et al. | Apr 2006 | B1 |
7043633 | Fink et al. | May 2006 | B1 |
7053755 | Atkins et al. | May 2006 | B2 |
7119664 | Roesner | Oct 2006 | B2 |
7193504 | Carrender et al. | Mar 2007 | B2 |
7195173 | Powell et al. | Mar 2007 | B2 |
7253717 | Armstrong et al. | Aug 2007 | B2 |
7262686 | Stewart et al. | Aug 2007 | B2 |
7272466 | Graushar et al. | Sep 2007 | B2 |
7284703 | Powell et al. | Oct 2007 | B2 |
7289015 | Moyer | Oct 2007 | B2 |
7315522 | Wood, Jr. | Jan 2008 | B2 |
7356749 | Dominique et al. | Apr 2008 | B2 |
7562083 | Smith et al. | Jul 2009 | B2 |
7716160 | Smith et al. | May 2010 | B2 |
7716208 | Smith et al. | May 2010 | B2 |
20010023482 | Wray | Sep 2001 | A1 |
20010024448 | Takase et al. | Sep 2001 | A1 |
20010038037 | Bridgelall et al. | Nov 2001 | A1 |
20020123325 | Cooper | Sep 2002 | A1 |
20020149481 | Shanks et al. | Oct 2002 | A1 |
20030099211 | Moulsley et al. | May 2003 | A1 |
20040179588 | Kuffner et al. | Sep 2004 | A1 |
20060279408 | Atkins et al. | Dec 2006 | A1 |
20080018431 | Turner et al. | Jan 2008 | A1 |
Number | Date | Country |
---|---|---|
2266337 | Sep 2000 | CA |
1255993 | Jun 2000 | CN |
0553905 | Aug 1993 | EP |
0 702 324 | Mar 1996 | EP |
2 340 692 | Feb 2000 | GB |
2001-516486 | Sep 2001 | JP |
2001-522485 | Nov 2001 | JP |
WO 9832092 | Jul 1998 | WO |
WO 9839725 | Sep 1998 | WO |
WO 0101326 | Jan 2001 | WO |
WO 0141043 | Jun 2001 | WO |
WO 0158252 | Aug 2001 | WO |
WO 02054365 | Jul 2002 | WO |
WO 02097708 | Dec 2002 | WO |
WO 03032240 | Apr 2003 | WO |
WO 2005015480 | Feb 2005 | WO |
Number | Date | Country | |
---|---|---|---|
20050263591 A1 | Dec 2005 | US |
Number | Date | Country | |
---|---|---|---|
60494143 | Aug 2003 | US | |
60518229 | Nov 2003 | US |