The present invention generally relates to item tracking systems, and more particularly relates to devices and techniques for aggregating items for improved item tracking. Various embodiments may be implemented in a radio frequency identification (RFID) environment.
Radio frequency identification (RFID) transponders are increasingly being used to identify and track individual items such as goods in a warehouse or retail establishment. RFID transponders (more commonly called “tags”) are small, low-cost computer chips that are capable of storing data (e.g. a serial number, product number or other identifying information) and of providing the stored data to a reader, typically via a wireless connection. Manufacturers and packagers are increasingly including RFID tags on their products to aid in product identification, inventory management, and other tasks.
Within the retail chain, goods are often bundled in various packaging containers such as boxes, cartons, crates, cases, pallets or the like. In a conventional RFID system such as the system shown in
While the technique of reading all of the tags can effectively identify changes in makeup of a pallet or other container in many situations, it does exhibit a number of marked disadvantages. Most notably, transmitting the data for every tag on the pallet to the backend server can consume a large amount of bandwidth, which is particularly problematic if the link between the reader and the server is a low-bandwidth wireless connection or a no bandwidth (e.g. a “batch mode”) connection. Further, the amount of traffic created by the multiple tag reads can increase the amount of interference, cross-talk or other noise present within an RFID environment. Moreover, the latency created by the lengthy process of reading all the tags and transporting all of the tag identifiers to the server for processing can be significant. Since a conventional RFID reader can read approximately 200 tags per second, the pallet may need to be delayed as it passes near the reader to ensure adequate reads of all of the tags. Alternatively, the pallet may have already passed through the portal or otherwise moved further down the retail chain before tampering or changes in the pallet are identified. Moreover, the process of reading many tags can be susceptible to inaccuracy resulting from crosstalk between readers, timing issues in sorting simultaneous responses from multiple tags, and other factors.
Accordingly, it is desirable to create devices and techniques that are able to quickly and accurately identify changes or discrepancies from shipment in items stored within containers. In addition, it is desirable to create systems and techniques that conserve bandwidth and system loads while increasing response times and reducing cross-talk, interference and other noise. Furthermore, other desirable features and characteristics of the present invention will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and the foregoing technical field and background.
A hierarchical system of tag associations reduces latency and bandwidth consumption in an RFID or other environment. In various embodiments, a method of electronically tracking items (such as retail goods) stored in a container includes the broad steps of obtaining the electronic identifier for each of the items, computing a checksum or other representation of the electronic identifiers, and transmitting the checksum or other representation to an electronic tag or other identifier associated with the container itself for storage. The stored checksum or other representation can be compared against a subsequently-calculated checksum/hash to identify any changes to the items stored in the container. The stored checksum/representation can be accompanied with additional data such as tag counts, filters and/or the like.
In another aspect, a reader device for electronically tracking items suitably includes a transceiver and a processor. The transceiver is configured to communicate with RFID or similar tags associated with the various items. The processor is configured to obtain identifiers from each of the tags associated with items, to compute a representation of the identifiers as a function of each of the identifiers, and to transmit the representation to the tag associated with the container via the transceiver for storage at the container. The device may also be configured to retrieve the stored representation and to compare it against a second representation calculated at a later time to verify that the contents of the container have not changed.
Other aspects include data processing systems for tracking items as well as data structures, wireless signals modulated on a carrier wave, RFID tags, and the like.
The present invention will hereinafter be described in conjunction with the following drawing figures, wherein like numerals denote like elements, and
The following detailed description is merely exemplary in nature and is not intended to limit the invention or the application and uses of the invention. Furthermore, there is no intention to be bound by any expressed or implied theory presented in the preceding technical field, background, brief summary or the following detailed description.
According to various exemplary embodiments, a hierarchical structure of tag associations provides the ability to aggregate data about multiple items and/or containers at the reader, thereby reducing the amount of data transported to the back-end server. Instead of transporting data from every tag back to the central server over a data channel, the reader appropriately computes a checksum or other representation of the various identifiers received and stores the representation in a tag associated with the container. To detect subsequent changes to the contents of the container, the reader simply reads in the identifiers for the various items stored in the container, computes a second representation, and then compares the more recently computed representation to the representation previously stored in the container's tag. If the two representations match, the reader can be relatively confident that the contents of the container have not changed since the previous representation was computed. The representation need only be relatively small in size (e.g. on the order of 32 bits) for effective detection of missing items, making it conducive to the limited storage of the container tag. Furthermore, the representation may be augmented with a simple tag count and/or filter to prevent failed detections caused by reading nearby tags outside of the container. This general principal may be applied in a number of contexts and settings, and may be enhanced or modified in many ways, as set forth in detail below.
As used herein, the term “container” is intended to broadly encompass any packaging or transporting mechanism that is capable of aggregating items and/or other containers into a common unit. Examples of containers include packages, packets, boxes, cases, crates, cartons, envelopes, shrinkwrapped or cellophane packaging and/or the like.
Similarly, the term “checksum” is intended to broadly encompass any checksum, CRC, digest, data structure or other compressed representation of other data. Generally speaking, a checksum is representative of a stream or set of data, but itself has fewer data bits than the represented data. In this setting, a “checksum” could include any compressed data representation of the contents of a data structure or set that is computed according to any algorithm or that exhibits any form or structure. Typically checksums have a relatively high-entropy with respect to the represented data, although the term “high entropy” is a relative term that is dependent upon context.
With reference now to
Each tag 210, 212, 214 and 216 is any chip, processor, circuit or other device capable of storing identifying information and of providing the identifying information as requested by a reader device. In various embodiments, tags 210, 212, 214 and 216 are implemented as radio frequency identification (RFID) transceivers, which are widely available from a variety of commercial sources. Tags are available in active or passive format, and either may be used with the concepts set forth herein. Some or all of the tags used within hierarchy 200 may optionally be tamper resistant and/or environmentally sensitive, as appropriate for the particular embodiment and operating environment.
Many products are conventionally packaged in a hierarchical manner, with items packed within containers, and the various containers being packed within larger containers. Cigarettes, for example, are generally transported and sold in packs 202, with the packs 202 being packaged in cartons 204, and cartons 204 packaged in cases 206. Multiple cases 206 may be stacked or otherwise placed upon a pallet 208 or other structure for storage and/or transport as appropriate. The various tags 210, 212, 214 and 216 similarly have a hierarchical association with each other based upon this packaging hierarchy. Each item 202A-B, for example, has an associated tag 210A-B as appropriate. Similarly, each carton 204A-C has an associated tag 212A-C, and each case 206A-B has an associated tag 214A-B.
Each tag 210, 212, 214 and 216 typically includes an associated identifier 211, 213, 215 and 217 (respectively), which may be any numerical or other digital code such as an electronic product code (EPC), serial number and/or the like. In various embodiments, each tag has a unique bit sequence or other identifier that can be associated with a particular product, item or container as appropriate. EPC codes, for example, are typically ninety-six bits in length, including a forty bit serial number, and are used to identify various products and items in the stream of commerce according to standards promulgated by the Uniform Code Council (UCC).
Generally speaking, tags 210 associated with items 202 or other lower levels of the hierarchy will be more numerous than tags associated with higher levels, thereby providing an incentive to select low level tags to be relatively low in cost in many embodiments. Successively higher-level tags may be fewer in quantity, and can therefore bear additional cost and sophistication, as appropriate and as described below. In particular, pallet tags 216, case tags 214 and/or carton tags 212 (collectively “container tags”) may be designed to support an additional data field containing an identifier corresponding to the aggregate of the contents of the container. This data field will typically be a write-able field that is capable of receiving a checksum or other code from an external device and maintaining the code in memory until the code is retrieved. Alternatively, some or all of the container tags may be “write once/read many” tags capable of receiving a code from an external device in a manner that is not modifiable after the code is stored in the tag.
An exemplary data structure for a container tag (e.g. tags 213, 215 and/or 217 in
In operation, then, hierarchy 200 suitably provides a structure whereby items 202 and containers 204, 206, 208 have a hierarchical association with each other. Each tag is configured with a unique identifier, and some or all of the containers further maintain a Content_Association field with data about the container's contents, as appropriate.
The hierarchy 200 described in
With reference now to
Process 300 may be executed at any reader device 320, including any handheld reader, portal reader, wearable reader, or other reader located on a ceiling, shipping dock, floor, wall or any other location. Conventional readers 320 in the RFID environment, for example, typically include a transceiver and antenna for transmitting and receiving radio frequency (RF) signals to and from the various tags in the operating environment. Reader 320 also includes a conventional microprocessor and memory for processing data and controlling communications with the various tags. The various processing steps of process 300, for example, may be stored in any electronic form (e.g. RAM, ROM, Flash memory, EEPROM, etc.) and executed by the processor within reader 320. In further embodiments, reader 320 also interfaces with a back-end server 330 via a data channel 325 as appropriate for data storage, security and other features. In various embodiments, data channel 325 is any optical, electrical or wireless connection such as an IEEE 802.3 network connection or IEEE 802.11 wireless connection, although any other type of data channel could be used in a wide array of alternate embodiments.
Process 300 may be executed at any time during the supply chain, such as at pallet formation, crate/carton/case packing, initiation of transport, or at any other time. Reader 320 obtains the data from the item tags 210 using any suitable technique (step 302), such as a conventional RFID tag read process as defined by various RFID standards and practices. Reading the tag obtains the identifier information 211A-C stored on each tag 210, as appropriate.
After the tag identifiers 211A-C are read, reader 320 processes the received tags (step 304) to compute an appropriate checksum 307 or other representation to be stored in the Content_Association field of the container tag 214. Checksum 307 can be created in any manner, but in most embodiments the checksum is computed as a function of each of the tag identifiers 211A-C received from the next-lower level of tags in hierarchy 200 (e.g. cases to a pallet, cartons to a case, items to a carton). Suitable functions include various hash functions, cyclic redundancy codes (CRCs), message digest algorithms (e.g. the MD4 and MD5 algorithms described in Internet RFCs 1320 and 1321, respectively) or the like. In various embodiments, the representation may include a description of a hash function along with hashed values describing each of the tags in a smaller bit representation. Numerous other data processing functions, routines and structures could be used to implement the checksum function. Similarly, checksum 307 may be implemented with any compressed and/or high-entropy data function or structure. A string of ninety-six bit EPC codes, for example, could be represented by a single thirty-two bit (or smaller) checksum.
In various embodiments, the checksum function is a simple polynomial divider algorithm such as those commonly used for error detection in digital communications systems (e.g. CRC-CCITT32 or CRC-CCITT16), although any other algorithm could be used in a wide array of alternate embodiments. Polynomial divider functions may be readily implemented with simple shift registers and combinatorial logic, or in any other manner. Alternatively, checksum 307 may be computed with a “one-way” or non-invertible function such that items may be easily added to the container but not removed without recalculating the entire checksum 307. This feature may be particularly useful as pallets or other containers are being built, for example.
After the checksum is calculated, it is transmitted to the container tag 214 for storage until subsequent retrieval (step 306). Transmission may take place using conventional RFID or other techniques. Typically, reader 320 formulates a data structure 309 similar to the container structure shown above that includes the identifier (ID) for the container tag 214, as well as checksum 307 and an optional item count. Alternatively, reader 320 may simply transmit checksum 307 and any item count to tag 214, and container tag 214 formats the data structure with its own ID and stores the resultant structure in memory as appropriate.
Reader 320 may also transmit checksum 307 to server 330 via data channel 325 as appropriate (step 308). In various embodiments, enhanced security is provided by computing checksum 307 using a nonce (i.e. a randomly created value). The nonce can then be stored on server 330 (or in another secure location) to prevent other devices from recalculating and storing a new checksum 307 on container tag 214. That is, by restricting nonce access to those devices able to authenticate to server 330, unauthorized tampering or recalculation of checksum 307 based upon the nonce value can be prevented.
In embodiments wherein still more security is desired, reader 320 digitally signs checksum 307 (or another associated bit stream) in step 304 prior to transmittal to container tag 214. This signature is made with a private key maintained by reader 320 using any appropriate asymmetric cryptographic technique. Upon subsequent retrieval (see
With reference now to
Because the checksums stored within the various containers in hierarchy 200 (
Moreover, the concepts described above may be used to reconcile the effects of cross-talk even further by allowing for received data to be exchanged between portals or other readers 320 without affecting traffic to server 330. With reference now to
Although the invention is frequently described herein as applying to RFID tags used in a warehousing or retail environment, the concepts and structures described herein may be readily adapted to a wide array of equivalent environments. The hierarchical structure of checksums, for example, could be applied in a governmental, defense or industrial setting, as well as in any banking, commercial or personal setting. The concepts of tagging and aggregation may be used to track any collection of goods or items, and are not limited to the exemplary goods contained herein. Further, the concepts contained herein are not limited to the conventional RFID environments, but may be readily adapted to any other item identification technologies presently known or subsequently developed, including any active or passive technologies based upon electromagnetic, optical or other data storage and/or transmission techniques.
While at least one exemplary embodiment has been presented in the foregoing detailed description, it should be appreciated that a vast number of variations exist. Similarly, the various structures and techniques described herein are provided for purposes of illustration only, and may vary widely in various practical embodiments. Accordingly, the various embodiments described herein are only examples, and are not intended to limit the scope, applicability, or configuration of the invention in any way. Rather, the foregoing detailed description will provide those skilled in the art with a convenient road map for implementing the exemplary embodiment or exemplary embodiments. It should be understood that numerous changes can be made in the selection, function and arrangement of the various elements without departing from the scope of the invention as set forth in the appended claims and the legal equivalents thereof.