Radio frequency identification device (RFID) systems are widely used for tracking and other applications in many different types of industries. A typical RFID system includes RFID tags and an RFID reader that reads information from the RFID tags. For example, the RFID reader includes a transmitter that outputs radio frequency (RF) signals through an antenna to create an electromagnetic field that enables the tags to return an RF signal carrying the information stored in the tag, which is received by the reader. Some types of conventional tags are “passive” tags, such as tags without an internal power source that may be energized by the electromagnetic field generated by the reader, and “active tags”, such as tags with an internal power source.
Many RFID systems use tags to track various goods, products, and inventory. For example, a tag is attached to a palette of goods. The palette of goods is tracked using readers at various points in the supply chain. These type of RFID tracking systems are still evolving, and the potential of this technology is still yet to be explored.
The conventional RFID tracking systems only provide a static record indicating that a particular tag was read and possibly the time it was read. Conventional systems may also read additional information, other than identification information, stored on an RFID tag. However, these systems generally lack the ability to determine additional dynamic information about the tag and the associated products carrying the tag. In certain situations, products may be unintentionally left behind as the products are moving through the supply chain, because the products were temporarily moved from a designated location or the products were taken out of a truck temporarily and never put back in the truck. This can cause delays in getting products to consumers or may result in products being damaged or destroyed for perishable products. Also, typical RFID systems lack the ability to determine whether products were temporarily moved without being replaced. For example, first and second palettes are in a truck, and the truck docks at a warehouse to unload the second palette, which is destined for that warehouse. The first palette is unloaded from the truck into the warehouse in order to access and unload the second palette into the warehouse. A reader reads both palettes in the warehouse and a tracking system records both palettes as being unloaded in the warehouse. However, the first palette is not destined for that warehouse and is loaded back into the truck, but the tracking system is unable to determine that the first palette has been reloaded into the truck and is destined for a second warehouse. Thus, the tracking system incorrectly shows both palettes in the first warehouse. This creates inconsistencies that can result in accurate billing and misplaced inventory. Furthermore, resources are wasted to find and correct the inconsistencies in the tracking system.
Various features of the embodiments can be more fully appreciated, as the same become better understood with reference to the following detailed description of the embodiments when considered in connection with the accompanying figures.
For simplicity and illustrative purposes, the principles of the embodiments are described. Moreover, in the following detailed description, references are made to the accompanying figures, which illustrate specific embodiments. Changes may be made to the embodiments without departing from the spirit and scope of the embodiments.
The reading device 110 may read identification information contained in the RFID tag 112. For example, the identification information includes a unique identifier identifying the object 113. The reading device 110 may read the identification information, as well as other information contained in the tag 112. In one embodiment, the reading device 110 may read product information about the object 113 contained in the tag 112, including one or more of an electronic product code (EPC), history, quantity, and quality information, if such information is stored in the tag 112. For example, if the tag is on a palette of goods, the tag may identify the previous locations that the palette visited in a supply chain and the quantity of goods on the palette. If the goods have been through a testing process, the results of the tests may be stored on the RFID tags 112. Other types of information may also be stored in the tag 112 depending on the type of tag, the amount of memory in the tag 112 and other factors.
The sensing device 111 senses state information. The sensing device 111 may include, but is not limited to, a camera system, motion detectors, infra red (IR) systems, pressure sensing system, or other known types of sensing devices. State information may be obtained by the sensing device 111 and may include information captured, measured, or otherwise detected by the sensing device 111. Examples of state information may include video images, an indication of motion, an indication of whether an IR beam has been blocked, pressure measurements or detection of pressure, time-stamps, and other sensed information. For example, the sensing device 111 may include two sets of adjacent IR devices. These sensing devices may detect when IR beams are blocked by the object 113 and the times when the IR beams were blocked. This information is state information and may be used to determine the state of the object 113. For example, the order in which the IR beams are blocked or the times they are blocked may be used to determine the direction the object 113 is moving.
One example of the state of an object is the direction of movement of the object. Other examples of states determined from state information include determining the size of an object, determining whether an object is a good, or determining whether an object is a human. These are examples and it will be apparent to one of ordinary skill in the art that other states may be determined using the embodiments described herein.
The virtualization module 102 may be software or hardware, or a combination of software and hardware. The virtualization module 102 may receive the information obtained from the reading device 110 and may receive the state information obtained from the sensing device 111. The virtualization module 102 uses the state information obtained from the sensing device 111 to determine a state of the object 113. In the example above, the sensing device 111 includes two sets of IR devices that sense when IR beams are blocked. Instead of IR devices, pressure sensors, cameras, or a variety other devices may be used. IR devices may also be used in combination with pressure sensing devices, camera systems, or other devices. The virtualization module 102 may use the state information received from the sensing devices 111, such as the times when the beams were blocked, to determine the state of the object 113, which in this case, is the direction of movement. For example, if the state information indicates that one IR beam was blocked before the adjacent IR beam, the virtualization module 102 may determine the object 113 was moving in a first direction.
The virtualization module 102 may also assign the determined state to the object 113, the RFID tag 112, or the tagged object 114. For example, the sensing device 111 may sense state information associated with an object 113. This state information is received by the virtualization module 102, which determines the state of the object 113. The virtualization module 102 may then assign or correlate the state of the object with the RFID tag 112 attached to the object 113. Assigning the state may include assigning the state of the object 113 to the tag ID or serial number of the tag 112 read by the reading device 110. The virtualization module 102 may then convert the state to a predetermined value, which may be represented using a virtual model.
In some embodiments, the virtualization module 102 may passively wait for data from the reading device 110 and sensing device 111. However, in other embodiments, the virtualization module 102 may actively query one or both devices for data. In the embodiment illustrated in
The host 101 may be a computing system. The host 101 may run software 103 for processing various forms of information. For example, the software 103 may include one or more applications for monitoring and tracking inventory using data read from tagged objects, such as the tagged object 114. The host 101 may also contain hardware and software unrelated to the embodiments described herein. In one embodiment the host 101 may be a data center which processes a wide variety of information.
In one example, the host 101 may receive the state for the object 113, which has been determined by virtualization module 102. The software 103 contained in the host 101 may also receive the state from the virtualization module 102. For example, the software 103 includes inventory and tracking software, and the inventory and tracking software receives a state for the object 113 comprising the determined direction of movement of the tagged object 114. The virtualization module 102 may convert the state to a predetermined value understood by the inventory and tracking software, and the inventory and tracking software may use the predetermined value to track inventory, such as monitoring whether the tagged object 114 has entered or exited a warehouse.
The virtualization module 102 is operable to receive the information obtained from the reading device 110 and the sensing device 111, and determine a state of an object, such as the object 113, where the state may then be represented using a virtual model 220, shown in
The virtualization module 102 uses the data from the reading device 110 and the state information from the sensing device 111 in the physical environment, which is shown in
In one example, the state information from the sensing device 111 may be associated with determining a direction of movement, such as the times IR beams were broken. The virtualization module 102 determines the state of the tagged object 114, from this information. The state may be that the tagged object 114 is either entering or exiting the point 200, whereby entering and exiting are two opposite directions of movement. If the tagged object 114 is determined to be entering the point 200, then the state is converted to the predetermined value “Entry” for the tagged object 114 at the time the tagged object is read or sensed. The “Entry” state, for example, is the representation shown in
As described above, the virtualization module 102 may convert the state into a predetermined value. In the example above, the predetermined values are “Entry” and “Exit”. The predetermined values are values or representations that are understood by the software 103, which may be software for monitoring tagged objects. The predetermined values may also be values that can be processed more quickly and accurately by the software 103. “Entry” and “Exit” are examples of predetermined values, and it will be apparent to one of ordinary skill in the art that other predetermined values may be determined from the state as needed by the software 103 or the host 101, using the determined state for one or more applications, such as tracking and monitoring. For example, other predetermined values may include “Exit left,” “Exit right,” “Entry East,” or “Entry west.”
In certain instances, the system or software, such as the software 103 shown in
In other embodiments, the system receiving the information from the virtualization module 102 may have the capacity to understand and/or process the information directly from the reading device 110 and the sensing device 111. However, the system may not include the computing resources to process large amounts of raw information. The system receiving the information may understand and process the converted information from the virtualization module 102 much more quickly and accurately than it could process raw information. For example, in a large warehouse, trucks with huge volumes of inventory may pass through a door constantly. Each truck may be carrying hundreds or even thousands of RFID tagged objects. Many reading devices and sensing devices may be used to track the RFID tagged objects. However, the large volume of information may overwhelm the tracking software such that it fails to function properly. By pre-processing the raw information, such as determining the states of the RFID tagged objects, the software may be capable of tracking the large volume of RFID tagged objects.
For example the host 101 may contain application software 103 for monitoring and tracking inventory. This tracking software 103 may be unable to process information coming directly from reading device 110 and sensing device 111. Inventory tracking software may only take as input predetermined values representing the state for the tagged object 114, such as an “Entry” or “Exit.”
In this example, the tracking software receives the information only as entry into a dedicated entry point or exit from a dedicated exit point. The tracking software is unaware that the sensing device 111 and the reading device 110 are monitoring a single point where tagged objects 114 are passing in multiple directions. The tracking software receives data as if the system is monitoring a dedicated entry point and dedicated exit point, where tagged objects 114 are only entering or exiting. The predetermined values received by the software 103 is easier for it to process and increases the speed and accuracy of the system.
An example is described to further illustrate the embodiments. The system may be used to monitor and/or track inventory. For example, consumer products and goods may be physically associated with one or more RFID tags. The tag may contain information about the goods, including identification information. The inventory may contain a single tag, such as a tag for a palette of goods or may have a plurality of tags, such as a tag for each good.
The tagged goods may be loaded on a transportation means. The transportation means may include any system capable of transporting inventory from one location to another. Transportation means may be as small as a conveyor belt or a single person carrying a product or as large as freight ship. For example, transportation means may include, but are not limited to, a vehicle, such as a car or truck, an airplane, a ship, a train, or an assembly line.
In an embodiment the RFID monitoring system may be mounted at a specific point wherein the RFID tagged inventory passes within the vicinity of the reading and sensing devices. The system may automatically read the RFID tags when a tagged object passes by. For example, the monitoring system is mounted over a docking entrance into a warehouse where trucks load and unload goods from the warehouse. The system reads the tagged goods carried into the truck as the goods pass through the door and reads tagged goods carried out of the truck as the goods pass through the door. When tags are read, the virtualization module 102 may receive the tag information from the reading device 110. The virtualization module 102 also receives state information from the sensing device 111. In this example, the sensing device 111 provides the virtualization module 102 with directional information, such as which IR beams were broken and the order and/or times they were broken. With this directional information the virtualization module 102 determines the direction the goods are moving. The virtualization module 102 then converts the direction to a predetermined value such as entering or exiting a warehouse from the truck. The software 103, which may include an inventory and tracking software application, tracks goods using the predetermined values. For example, palette A is stored as “Exited” from the truck and palettes B and C are stored as “Entered” into the truck. Thus, a driver needing to carry palettes A-C on the truck may be notified by the software 103 which palettes have entered and exited the truck before leaving, and this information may be used by the driver to minimize inadvertently forgetting to load palettes on the truck.
As stated above, the virtualization module 102 may actively query the sensing device 111 for state information. However, information may also be received by the virtualization module 102 from the sensing device 111 automatically, when an object is sensed. Similarly, the reading device 110 may automatically send data to the virtualization module 102 when an RFID tagged object is detected and read. In other embodiments, the virtualization module 102 may actively query the reading device 110 to determine if a tagged object is within the vicinity of the reading device 110.
In on embodiment, the reading device 110, the sensing device 111, and the virtualization module 102 may be configured into a monitoring system, wherein the reading device 110, the sensing device 111, and the virtualization module 102 are all modular components. The reading device 110 and sensing devices 111 may be mounted in appropriate positions around a point 200. The system may be setup by simply plugging-in cables connected between the various components. In another embodiment, the components of the system may send and receive information completely wirelessly. In this embodiment the components may communicate with each other without the need to physically connect them with cable or wires. Of course, in other embodiments, some components may be connected while others in the same system communicate wirelessly.
In some embodiments, the components may be located in the same geographic location. In other embodiments, the virtualization module and/or host 101 may be located in a remote geographic location from the reading device 110 and sensing device 111. For example the reading device 110 and sensing device 111 may be located to monitor a point and then send information to a remote data center where it is processed by the virtualization module and/or host. In other embodiments, the virtualization module 102 may be located in closer proximity to the reading device 110 and sensing device 111. The virtualization module 102 may also be incorporated into either the reading device 110 or the sensing device 111.
In FIGS. 2A-B, the virtualization module 102, for example, generates data representative of a dedicated entry point and a dedicated exit point. The virtualization module 102 may be used to generate data for virtual models other than direction models. For example, the virtual module 102 may generate data from state information representative of virtual doorway or virtual point dedicated to objects of a particular size, such as a virtual doorway that only lets large objects pass through or small objects pass through. In another example, the virtual doorway or virtual point only lets human pass through and another virtual doorway only lets goods pass through. Thus, the virtualization module 102 may determine states from state information for virtual models other than dedicated exit and entry points and the states may be converted to predetermined values and assigned to objects as described above.
At step 301, the virtualization module 102 receives information read from the RFID tag 112 of the tagged object 114 shown in
The virtualization module 102 may also convert the state to a predetermined value, such as a predetermined value understood by the software 103. The virtualization module 102 may assign the state or the predetermined value to the tagged object 114.
The computer system 400 includes one or more processors, such as processor 402, providing an execution platform for executing software. Commands and data from the processor 402 are communicated over a communication bus 404. The computer system 400 also includes a main memory 406, such as a Random Access Memory (RAM), where software is resident during runtime, and a secondary memory 408. The secondary memory 408 includes, for example, a hard disk drive and/or a removable storage drive representing a floppy diskette drive, a magnetic tape drive, a compact disk drive, etc., or a nonvolatile memory where a copy of the software is stored. In one example, the secondary memory 408 also includes ROM (read only memory), EPROM (erasable, programmable ROM), EEPROM (electrically erasable, programmable ROM). The computer system 400 includes a display 614 and user interfaces comprising one or more input devices 412, such as a keyboard, a mouse, a stylus, and the like. However, the input devices 412 and the display 414 are optional as well as other shown components. A network interface 410 is provided for communicating with other computer systems.
One or more of the steps of the method 300 and other steps described herein are operable to be implemented as software stored on a computer readable medium, such as the memory 406 and/or 408, and executed on the computer system 400, for example, by the processor 402. In one embodiment, the modules shown in
The steps are operable to be embodied by a computer program, which can exist in a variety of forms both active and inactive. For example, they exist as software program(s) comprised of program instructions in source code, object code, executable code or other formats for performing some of the steps. Any of the above can be embodied on a computer readable medium, which include storage devices and signals, in compressed or uncompressed form. Examples of suitable computer readable storage devices include conventional computer system RAM (random access memory), ROM (read only memory), EPROM (erasable, programmable ROM), EEPROM (electrically erasable, programmable ROM), and magnetic or optical disks or tapes. Examples of computer readable signals, whether modulated using a carrier or not, are signals that a computer system hosting or running the computer program may be configured to access, including signals downloaded through the Internet or other networks. Concrete examples of the foregoing include distribution of the programs on a CD ROM or via Internet download. In a sense, the Internet itself, as an abstract entity, is a computer readable medium. The same is true of computer networks in general. It is therefore to be understood that those functions enumerated below may be performed by any electronic device capable of executing the above-described functions.
While the embodiments have been described with reference to examples, those skilled in the art will be able to make various modifications to the described embodiments without departing from the true spirit and scope. The terms and descriptions used herein are set forth by way of illustration only and are not meant as limitations. In particular, although the methods have been described by examples, steps of the methods may be performed in different orders than illustrated or simultaneously. Those skilled in the art will recognize that these and other variations are possible within the spirit and scope as defined in the following claims and their equivalents.