Detailed description of illustrative embodiments
An RFID performance monitoring system may include a system, method, or computer program product for collecting information related to the performance of an RFID system. In general, RFID system performance involves the determination of how reliable a reader in the system identifies a tag. To evaluate parameters that may affect the performance of an RFID system, information may be collected for analysis from a variety of sources. Statistical methods or other tools may be used to analyze the collected information to identify patterns of related error sources indicative of RFID system performance. Thus, information about the results of the operation, the system components, and the environment in which the RFID system is operating can be collected. The performance-related information may be associated with other information, such as product information, RFID tag or reader information. Each tag may be uniquely associated with an identification label that may associate the collected information with a single tag. The monitoring system may also process the information for the purpose of taking some corrective action. As such, the system may be used as an analysis tool for identifying opportunities to improve RFID system performance.
There are many factors that can degrade the performance of an RFID system. For example, a tag failure may occur. RFID hardware and software, atmospheric conditions, design and variability of the tag and reader, trajectory of relative movement between the reader and the tag, and physical characteristics of the area surrounding the reader are also examples of factors that can affect the reliability of reading tags in an RFID system.
In some embodiments, the tag may be attached to a single article or may be attached to a container of articles for tracking by the RFID system. The tag may be attached to an article having a fixed location, such as a shelf of a distribution center (i.e., or other warehouse), or it may be attached to a moving article. One example of a moving article is a forklift. Another example of a mobile article is a consumer (or other) product that will be transported through a supply chain by a conveyor, forklift, truck, hand-held, or similar mode of transport. The supply chain may include any stage of the product flow from an Original Equipment Manufacturer (OEM), through to various distribution centers, to retail locations, and then to end customers. Along the supply chain, one or more RFID systems may be used to track the movement of tagged articles in the supply chain for various business purposes, such as minimizing losses, improving inventory management, or reducing costs associated with inventory.
These commercial objectives are best achieved by using a high performance RFID system that reliably reads all tags that pass through the reader. In a practical system, however, there are a number of potential reasons why a reader cannot perform its task, i.e., cannot read 100% of the tags that pass by. One approach to enhancing the commercial goals of RFID systems involves identifying factors that hinder performance. If parameters that negatively impact performance can be identified, mitigation strategies can be developed and corrective action can be taken to improve RFID system performance.
The configurable RFID performance monitoring system identifies parameters associated with RFID system performance. The configurable RFID performance monitoring system collects, analyzes, and shares information related to the performance of the RFID system. RFID systems at various points along the supply chain may share information with other RFID systems. The performance information may be analyzed to identify conditions that may improve or reduce the performance of the RFID system, as well as how reliably the RFID system reads the tags.
One measure of the degree of reliability of reading a tag is referred to herein as a performance range. The greater the range of performance, the less likely the tag will not be read correctly. For example, if a reader is able to properly read all tags at a certain power level, the performance range corresponds to how much the reader power level will decrease before the reader performance falls below a predetermined and allowable threshold.
After identifying the source of the error or the cause of the reduction in performance range, system designers, administrators, engineers, and technicians may design and implement mitigation strategies to take corrective action to improve performance. In some embodiments, the mitigation strategy may include a closed-loop feedback control system configured to automatically take corrective action without human intervention. In other embodiments, human intervention may be required to accomplish something in the analysis work or take corrective action.
For ease of understanding, several aspects of an RFID performance monitoring system will be introduced after discussing conventional aspects of an RFID system capable of tracking the movement of an article. Next, details of various aspects of operating the RFID performance monitoring system are presented. Additional features that may provide enhanced functionality to the performance monitoring system will then be explained.
RFID system for tracking movement of articles
Beginning with FIG. 1, an exemplary RFID system 10 is configured to track the movement of RFID tags ("tags") attached to articles to be tracked. The RFID system 10 is connected to one or more RFID readers 12, similar to conventional RFID systems. Each reader 12 may include an antenna and controller configured to detect tags within a read field using Radio Frequency (RF) signals. The RFID system 10 also includes an RFID operations server 14 that may perform functions related to tracking the movement of articles. In this example, the operating server 14 communicates with the reader 12 through a reader interface 16 and is connected to several information repositories that store information relating to tracking the movement of articles. In this example, the information repository includes a product database 20, a tag database 22, and a tag list database 24.
To prepare for tracking the movement of the article, the operations server 14 in this example is also connected to an intermediate server 30 that can exchange information with external systems, such as the Internet 32 and/or an intranet 34. Through the Internet 32, the RFID system may use a unique object name source, such as an Object Name Service (ONS) 36. The object name service 36 may provide a unique code so that each tag used in the RFID system may be encoded with information that uniquely identifies the RFID tag. This tag identification information, which may take the form of a unique code (e.g., 64 or 96 bits), may be stored in the tag. One example of such a code is, for example, an Electronic Product Code (EPC). An electronic product code may be applied to the tags to provide each tag with a universally unique serial number. The label may also be programmed with other information such as the part number, lot number, manufacturer or Stock Keeping Unit (SKU) of the article to which the label is to be attached.
Through the intranet 34, the RFID system 10 may exchange information, such as business, accounting, and inventory location information, with a Warehouse Management System (WMS)38 a. At the warehouse management system 38a level, the computing system may monitor and control one or more independent RFID systems, including the RFID system 10. In this way, the large amount of data collected by each reader in each RFID system may be summarized, for example, for reporting purposes. Multiple warehouse management systems, such as 38a and 38b, may be connected to a company's Information Technology (IT) system so that RFID data tracking may be integrated with other company and higher level management functions. Some of the RFID information may be made available to other companies in the supply chain. For example, a business partner (e.g., vendor, seller, carrier, retailer), such as a company 40b capable of using some aspect of the shared RFID database 50, may send RFID data for storage and retrieval, such as over a Virtual Private Network (VPN). Although an exemplary architecture is described, other network architectures and tools may be used.
The foregoing description presents various aspects of an exemplary system configured to routinely track the movement of articles using an exemplary RFID system with an array of RFID readers. In that context, such RFID system performance may be monitored by a performance monitoring system as will be described later.
RFID performance monitoring system
The illustrated RFID system 10 of FIG. 1 also includes an RFID performance monitoring system 100 (hereinafter "system 100") that may collect information from the RFID system and other sources. The collected information may be analyzed by the system 100 or by a human operator. One purpose of analyzing the collected information is to identify opportunities to improve the performance of the RFID system 10.
System 100 includes a processor 110 coupled via a bus to a memory 120 for information storage and retrieval. Memory 120 may include program storage memory 122, compiled database memory 124, statistical analysis memory 126, and secondary memory 128. Through the bus, the processor 110 may retrieve program instructions stored in the program storage memory 122. Processor 110 may execute the retrieved program instructions to perform functions associated with collecting, processing, compiling, analyzing, or storing performance related information. In some embodiments, the program instructions may also cause the processor to take corrective action to improve RFID system performance and/or report processed analysis results to an external system or human operator.
The processor 110 may be connected to various devices that receive, transmit, store, display, or process data and control signals. The connection between the processor 110 and these devices may be: for example, direct (IC to IC); an inner core (i.e., integrated in a single IC or ASIC); through a parallel bus comprising address, data and control lines; over a serial bus (e.g., USB, ethernet, or controller area network); or a combination of these methods. For operation of a processor-based performance monitoring system, signals to and from the processor 110 may include interrupt, control, and acknowledgement signals. Various architectures can be used to implement the functions of receiving, storing, processing, and transmitting information. The processor 110 may be implemented in a single microprocessor or microcontroller, or it may incorporate multiple processors operating in concert that are programmed to provide the functionality described herein. In one implementation, some operations may be handled by a host microprocessor that delegates the processing of certain analysis functions to, for example, a math co-processor.
In this example, the processor 110 is also connected to a sensor interface 140 and a feedback control interface 150. Sensor interface 140 may be connected to a number of parameter sensors 142 from which system 100 may collect information about parameters that may affect the performance of RFID system 10. For example, the parameter sensors 142 may be used to monitor temperature, relative humidity, vibration, power line quality, operating conditions of various equipment such as dock doors being open or closed, or whether a device (e.g., a motor) is running or stopped. Other parameters such as environmental or other phenomena that could potentially interfere with the reading of the tag may also be monitored. One example of such a sensor may include an RF receiver for detecting and monitoring RF energy in the ambient environment that may interfere with RFID tag reading.
Feedback control interface 150 may be configured to send a number of control signals 152 to effect corrective actions to improve RFID system performance and/or to report processed analysis results to an external system or to a human operator. For example, one control signal 152 may be connected to one of the readers 12 to allow the system 100 to adjust the power level of the RF signal transmitted by the reader 12. On the one hand, reader power levels can be reduced to, for example, reduce unintentional interference with other readers and avoid reading tags that are not intended to be within the reader's read zone. On the other hand, the reader power level may be increased to increase the likelihood of reading all tags in the reader's read zone. Whether the power level should be increased or decreased to improve RFID system performance may be determined by analyzing the data collected by system 100.
The processor 110 is also connected to a performance database 160 and a parameter database 162. In this example, databases 160-162 may provide a repository to store data collected by system 100. For example, the processor 110 may receive performance-related data from the RFID operations server 14, process the data using methods described below, and store the results of the processing in the performance database 160 or the compiled database 124. When processing data associated with a particular tag or product or performance (stored in databases 20 to 22), the processor may store the processed information by uniquely associating the processed information with a stored tag identifier, such as an electronic product code.
Processor 110 may store information received from sensors 142 in parameter database 162. In some embodiments, the information collected from the parameter sensors 142 may be associated with a particular reader in the array of readers 12, such as when other information may be associated with location information or other reference information, such as a particular dock gate or a particular piece of equipment at a distribution center. Such associated information may be analyzed along with other collected information to, for example, locate the source of an RFID system performance problem.
The collected information may be compiled into a database 124. The compiled information may be processed or filtered according to program instructions executed by the processor 110. Compiled data may be stored directly into memory 124 as it is collected, or it may be stored or derived from information initially stored in another database, such as databases 20-24, 160-162 or other (external) databases accessible by processor 110 through internet 32 or intranet 34. Other information may be received from information stored on an information carrier, such as a floppy disk, CD, flash memory card, or magnetic tape, or other data storage medium or device. In some embodiments, the information may be compiled "online" and effectively added to the compiled database 124 as it is received by the RFID system 10 in real time. In some examples, processor 110 may perform "offline" processing of compiled data in database 124.
In some embodiments, the processor 110 may execute program instructions stored in the program storage memory 122 to process the information as it is compiled into the compilation database 124. Some processing methods may associate the information being received with other information, such as an electronic product code number, time information, location information, or other information, so that analysis may reveal meaningful relationships between the parameters. Some processing methods may filter incoming data to, for example, reduce redundancy or exclude non-useful (e.g., invalid) information. Other processing methods may include developing indexes or other metadata for certain parameters or fields in the database, whereby database searches may be improved. Other pre-processing methods may be implemented to format or build a compiled database for analysis. In some embodiments, time information (e.g., a timestamp) may be associated with some information as it is added to the database. When compiling information into the database 124, the processor 110 may request that the information be supplemented from other sources, such as the warehouse management systems 38 a-38 b or the IT company 40.
After processing the data in compiled database 124, processor 110 may store some of the results in a storage unit, such as statistical analysis report memory 126. The information stored therein may be formatted and structured for convenient review and access by various applications, such as a graphical display program for generating a graphical display on a display device viewable by an operator. The graphical output may be continuously updated in real time, at periodic intervals, or at the request of an operator. The longer term or historical result information may be reviewed by an operator using, for example, a computer terminal or other input/output device for accessing the report information. Such displays may introduce graphical output capable of illustrating trends and status information in various graphical, tabular, or other reporting formats. An alarm condition may be displayed to indicate that a parameter or performance-related information or process result exceeds a predetermined allowable limit.
In addition to visually displaying information, advanced reporting capabilities may also be included in the system 100. For example, the configurable system 100 sends various levels of compiled or processed information and results to the middleware server 30, the warehouse management systems 38 a-38 b, and the IT company 40 a. The information may be sent routinely or on request. The information may also be sent when the processor 110 detects certain predetermined conditions. For example, if IT is determined that the performance of the tags associated with a particular manufacturer lot code is less than satisfactory, a message may be generated and sent to the warehouse management systems 38 a-38 b and the IT companies 40 a-40 b to notify the personnel of, for example, a rejection to reuse tags from unsatisfactory lot codes. In a related example, system 10 may send control signal 152 to increase the power level and/or increase the number of read attempts by reader 12 to attempt to read tags of an unsatisfactory lot code. As illustrated by these examples, when a performance-related problem is identified, several different corrective actions may be taken.
As an example of locating the source of the performance problem, the sensor 142 may be configured to measure temperature at various locations in the environment of the RFID system 10. In one embodiment, at least some of the temperature sensors 142 are in close proximity to some of the readers 12. The effect of temperature on the performance of an individual reader, for example, can be determined by collecting the temperature around the reader 12 at various locations of the distribution center. Having identified a particular reader having a temperature-related performance problem, the source of the performance problem can be located. The location information may provide additional basis for selecting a corrective action. In this example, the potential corrective action may include: resetting the path of the article flow to a reader that is less sensitive to temperature-related performance degradation; replacing the affected reader or tag with a reader or tag that is less sensitive to temperature; repositioning the reader to reduce temperature fluctuations (e.g., away from dock gates); providing local temperature regulation for the reader (e.g., cooling fans, heating lamps, or other heating, ventilation, and air conditioning equipment); adjusting the reader power level to compensate for temperature variations; adding read attempts; altering the configuration of the physical product/label on the pallet; or change the type of label used. These examples represent some potential mitigation strategies that may be used to reduce the impact of temperature changes on a particular reader whose performance has been identified as being sensitive to temperature changes. As such, this example illustrates how corrective actions may be based on an analysis of the effects of various parameters collected by the system 100.
In various embodiments, the RFID system 10 and the RFID performance monitoring system 100 may be configured differently than the illustrative embodiment of fig. 1. For example, the various elements may be implemented on a single computing platform, such as a single server, desktop, or laptop computer. Alternatively, some of the various elements in RFID system 10 and RFID performance monitoring system 100 may be implemented in a distributed computing platform and may use other hardware and software, including servers, PCs, laptops, mainframes, Programmable Logic Controllers (PLCs), handheld computing devices, interfaces, and so forth. In this regard, the elements may exchange information using wired and/or wireless communication protocols such as USB, Bluetooth, RS-232, Ethernet, or other communication methods including, for example, infrared, radio frequency, or fiber optic. Similarly, databases 20-24 and 160-162 may be implemented in a single data storage device with memory elements 120-126 or in any combination of separate storage devices. The storage device may comprise any suitable memory device such as a disk drive, flash memory device, EEPROM, RAM, or ROM.
RFID performance monitoring in an exemplary supply chain
The RFID performance monitoring system 100 may be used to monitor RFID system performance in a variety of applications. For purposes of illustration, FIG. 2 represents a series of stations in an exemplary embodiment of a portion of a supply chain in which an RFID system may track the movement of articles and a performance monitoring system 100 may collect performance-related information. This example may represent, for example, an RFID system used to track the movement of articles at a distribution center where various goods may be received, stored, and placed on pallets for transport to, for example, retail customers.
In this example, the sequence of stations begins with receiving a product, item, or article that is intended to be tracked 205 into the RFID system. In one embodiment, the sensitivity of the label may be determined at station 210. The sensitivity may be determined at station 210 (or other stations) using various methods that will be described in detail with reference to FIG. 9. In some embodiments, the station 220 may be a programming station that programs each label with an identifying serial number, such as an electronic product code. The enabling station 220 has a reader 215 that can be configured to "program" the tag with, for example, an assigned electronic product code. At the activation station 220, the tag may also be uniquely associated with information about the product to which it is attached (or otherwise connected). In this way, an operator may use a computer terminal connected to the RFID system 10 to enter product information and electronic product code information for storage in a database, such as databases 20, 22.
Some or all of these functions at the stations 210, 220 may be accomplished "upstream" of the distribution center. For example, a manufacturer may apply a label to a product, program the label with an electronic product code, and determine the sensitivity of the label. By storing the information in the shared RFID database 50 or otherwise distributing the information at the distribution center, for example by virtual private network or email, the manufacturer can cause this information to be obtained by downstream RFID systems.
Thus, information intended to be programmed into the tag may be transmitted from the RFID system 10 to the station 220, and optionally may include other tag or product information. In one embodiment, the RFID system 10 or RFID performance monitoring system may send configuration information, such as configuration information that instructs an operator how to apply the tag to a particular product. Such information may reflect corrective actions resulting from analysis of the performance-related information that have determined that a label on a particular product may be better read by, for example, changing the position or orientation at which the label is applied to the product.
In addition, information about the tags and their associated products may be transmitted from various stations to RFID system 10 and/or system 100. Once received, this information may be stored, for example, in the databases 20, 22. Other information may also be received from various workstations, such as a list of labels. The tag list may include a list of all serial numbers in a single set of tags that are read by the reader. RFID system 10 may compare the received list of tags to an expected list of tags to determine if a product is missing. The RFID performance monitoring system 100 may also cross-reference the tag list with other information to determine if the tag has not been detected due to performance related issues.
Other stations of the distribution center may send and receive information using the system 100. In this example, the label is then read at station 225, where the product is stacked into a pallet (or similar shipping container) and wrapped in plastic for transport. The pallets may be mixed (including various different products) or uniform (all of the same product type). In a hybrid pallet, the combination, orientation, materials, and configuration of the products within the pallet may be uncontrolled. In this way, the location of the RFID tag on an individual product may vary, and the readability of the tag depends on the material on the pallet and the location of the tag within the pallet. Thus, in some embodiments, the performance monitoring system 100 may exchange configuration-related information with the workstation 225.
While the product is being wrapped, for example on a rotating platform (i.e., a turntable), one or more readers may be attempting to read the labels on the pallet. In this way, a tag list of read tags may be provided to RFID performance monitoring system 100. The validity of pallet readings on the turntable may vary with several parameters such as spin speed, number of revolutions, pallet configuration, and then multiplexing of multiple readers arrayed around the turntable at station 225. As described above with reference to fig. 1, the system 100 may include a control output signal 152 connected to the turntable controller and reader to run the stations 225 to improve RFID reading performance without unnecessarily slowing the operation of the pallet into the next station.
In this example, the next station may function to stack the pallet on the pallet 230 for subsequent shipment. When ready for shipment, the pallet may be removed from the pallet 240 with a forklift. In some embodiments, the pallet is read by a reader associated with the pallet or loaded on a forklift as the forklift removes or moves the pallet. The on-board communication and computer system may collect and transmit a list of the pallets' tags to the RFID system 10 for verification purposes and/or to the system 100 for data collection purposes. In this way, the forklift computer, operator, on-board reader, and RFID system 10 may exchange command, data, and control information, for example, using wireless communication.
In some embodiments, the product flow includes reading the product with the reader 215 in the verification channel 250, followed by placement of the product on a truck for shipment. Tracking the movement of articles as they are placed on trucks can be significant, for example, for business processes such as insurance and manifest. However, accurate verification of items being shipped can be complicated by a number of factors, including: varying reflections of moving objects such as forklifts and other metal objects; changes in temperature and relative humidity as the dock gate 260 opens or closes; mechanical vibration; radio frequency noise in the reader environment; interference originating from readers adjacent dock gates; as well as other sources of error. To detect these parameters at any of the reader stations, various sensors 142 may be configured to provide parameter information to the RFID performance monitoring system 100.
At any workstation that provides communication to the RFID performance monitoring system 100, the information received from that workstation may include timing or time stamping information. In some examples, temporal information is used to determine historical trends or to correlate performance changes with, for example, specific parameters. Such timing event information can be used to more accurately identify performance-related interference sources due to the large degree to which any performance parameter changes are time-dependent.
In an alternative product flow, referred to as a label at a shipment, products may be issued directly from an accumulation point at the workstation 225 into the dock gate 260 without being placed on the shelf 230.
Thus, FIG. 2 represents one of many possible passageways for goods through an exemplary distribution center, and it depicts only one configuration of RFID stations in a distribution center or other warehouse. In other examples, the performance monitoring system may collect performance-related information with other configurations of sequences, numbers, or operation of RFID workstations, as well as in applications or environments other than supply chains or non-distribution centers. For example, the sensitivity of an individual label may be determined after the label is activated and applied to the product at station 220. In this way, the sensitivity measurement reflects the sensitivity that the tag will have when attached to a product. This sensitivity measurement will also take into account the orientation and placement of the label after application, as well as any effect the product itself has on the label due to factors such as liquid content, shape or metal content. In another example, the label sensitivity may be determined both before and after the label is activated with the product at station 220.
In addition to sending tag list information to system 100, each of the stations in FIG. 2 that read tags may also send one or more performance related measurements, such as the following: the time it takes to read 90% of the tags in the tag list; the time taken to read 100% of the tags in the tag list; as well as the number of successful reads and the number of attempted reads for each tag. Other time percentages may also be used, such as the time taken to read 10%, 25%, 50%, 66%, 75%, and 80% or other values. A time limit may be set for some or all of the time measurements, such as the time taken to read 100%, because, for example, a particular tag may fail or fail to be read due to a malfunction, or the reader may not be able to effectively read. In some embodiments, a reader or group of readers may be configured to read a group (e.g., a pallet) of tags in a predetermined number of attempts and record the number of times each tag is successfully read. The timestamp information may be provided to the system 100 along with performance related information.
One exemplary method by which a single RFID reader generates such performance-related information when reading a tag is depicted in the flow chart of fig. 3.
In the embodiment of fig. 3, the reader receives a tag list of a set of tags intended to be read at 310. The set of labels may be part of a pallet of products, for example. At 315, the reader may make a predetermined number of attempts to read all tags in the group. The predetermined number of attempts may be, for example, 10 or 20. At 320, the reader reports the number of successful reads for each tag, also referred to as the "number of hits," to the RFID performance monitoring system 100. Referring to FIG. 1, this reported information may be stored, at least temporarily, in performance database 160.
Next, at 325, the tag list of tags that were successfully read can be compared to a list of tags expected to be in a pallet (or other container or grouping of tags). If less than a predetermined percentage of the expected tags are read, then further attempts may be made to read more tags at 330. If at least the predetermined percentage is read, the "time required to read the predetermined percentage" may be reported to the system 100 at 335 and may then be stored in the performance database 160. If less than all of the expected tags are read at 340, the check timing system looks to see if the predetermined time limit for the read attempt is reached at 345. If the time limit has not been reached, an additional attempt may be made to read all tags at 350. If there is no time remaining at 345, the read attempt ends at 370. However, if all tags have been read at 340, the reader reports "read 100% elapsed time" to the RFID performance monitoring system 100 at 360, and the read process ends at 370. This "100% elapsed time to read" may be stored in the performance database 160 along with other performance measurements.
In another embodiment, the reader may not receive a list of tags that are desired to be read as described above at 310. Instead, the reader may attempt to read the set of tags a predetermined number of times and then transmit a tag list containing the electronic product code (or other identifying information) of each detected tag to the RFID system 10 and/or performance monitoring system 100. In addition, the reader may send information to the system 100, and the system 100 may determine the performance of the read attempt based on the information. Such information may include, for example, the number of read attempts, time-stamped information about when the attempts were made, and which attempts were successful for each tag.
In the above examples, certain algorithms executed within the reader are described. In alternative embodiments, some of the calculations or decisions may be performed by or in cooperation with, for example, the RFID performance monitoring system 100. For example, the time required to read X% at 335 or whether the time limit has been reached at 345 may be determined by the system 100. The attempts to read all tags at 330, 350 may be modified to involve the system 100 sending a read command to the reader. The predetermined number of attempts at 315 may be determined by the system 100 based on, for example, an expected error rate, and appropriate commands may be generated for the reader. These and other variations are within the scope of the method.
In some embodiments, for example, RFID system 10 may send a serial read request to a "dumb" reader, which may send a tag list of tags that were hit in a single read cycle in response to each command. In other embodiments, the RFID performance monitoring system 100 may send a more complex command telling the "smart" reader how many attempts, and the smart reader responds to the command with a list of tags and a count of the number of hits per tag after completing the requested number of reads. Some smart readers may be configured to receive, decode and perform basic and ancillary functions (described herein) in response to commands from the RFID system 10 or the RFID performance monitoring system 100. The smart reader can, for example, perform certain functions that might otherwise be performed by the middleware server 30.
In various implementations, the reader may be activated by other sensors, such as optical sensors on the conveyor, motion detectors, proximity detectors, or by intervention of an operator to complete the reading operation. Tracking the entry and exit of tags or groups of tags (e.g., pallets) into and out of the reader's read field may involve filters and algorithms that estimate or determine the length of time that a tag may be read or should be ignored. For example, a forklift may have a permanently mounted tag (or other identification or identifier) that uniquely identifies the forklift. When confirming that the forklift is approaching a reader at the dock gate, the middleware running on the middleware server 30 may be configured to determine which tags are expected to appear on the pallet on the forklift (e.g., by invoking information stored in the warehouse management system 38 a). RFID system 10 may use this information to filter out stray tag reads while leaving valid tag reads.
Processing information in a performance monitoring system
As described above, performance monitoring system 100 may operate to receive input information and transmit output information as shown in FIG. 4. In this exemplary embodiment, the system 100 may collect information, analyze the information, and provide output based on the analysis.
The system 100 may receive a variety of information input from a range of sources. One source of information is auxiliary information 410, which may provide information from the internet 32 or from some service, such as the warehouse management system 38a and the middleware server 30. The auxiliary information 410 may include information that may be stored on a data storage device accessible, for example, over a network.
The auxiliary information collected may include information about hardware or software associated with IT, warehouse management systems, middleware, RFID operating servers, intranets, or other networked elements. In addition, the ancillary information may include vendor, version, batch code, or other information about the hardware or software used for the tags, readers, communication interfaces, and computing platforms used in the RFID system 10. The hardware or software used in these elements may have an impact on the RFID system performance. In this way, the system 100 may collect ancillary information about hardware or software vendors, lot codes, versions, maintenance data, upgrade history, and installation information. Such information may be associated with changes in the performance of the RFID system 10. For example, hardware changes may affect the amount or quality of data collected.
In one embodiment, the auxiliary information may include information about what time and where the forklift is. The location information may be wirelessly transmitted from a location tracking system loaded on the forklift. Such location information may be correlated with RFID system performance to determine whether the location of the forklift may have a detrimental effect on RFID system performance. If so, procedures may be developed to mitigate the negative effects.
The system 100 may also receive information from auxiliary sensors 415 and environmental parameter sensors 420. Examples of auxiliary sensors include proximity sensors that detect parameters that may affect reader performance. Such parameters may include, for example, the proximity of a forklift or other object to the reader, the position of a particular dock gate (i.e., open or closed), or the operating state of a large machine that may generate heat, vibration, or electromagnetic interference (EMI).
Examples of environmental parameter sensors 420 may include temperature, humidity, vibration, power line mass, or radio frequency devices. Such environmental parameter sensors may be arranged to collect information about the environment in which the RFID system is operating and the environment that is believed to have an effect on the performance of the RFID system.
System 100 may also receive information from each reader 12. The information provided by the readers may include a list of tags, performance measurements, information about the sensitivity of each reader itself, information about the ambient radio frequency energy (see discussion of fig. 7), information about the power levels of other readers (see discussion of fig. 8), and information about the sensitivity of individual tags (see discussion of fig. 9).
One method of monitoring reader power levels and sensitivity levels includes providing a "gold" target, i.e., a sensitivity-calibrated tag placed in the read zone of the reader. The reader may attempt to read the calibrated tag at various power levels to determine what power level is required to cause the reader to read the tag at an acceptable "hit rate". Other exemplary methods of determining the sensitivity level and power level of the reader are also described, for example, with reference to FIG. 8.
The performance measurements for an individual tag may include, for example, the number of successful reads of the tag over the number of attempts and the determined tag sensitivity (see, e.g., station 210 in FIG. 2, as well as FIG. 9). The performance measurements for an individual reader may include the time taken to read a predetermined percentage of the tags in the tag list, the measured reader sensitivity, and the measured reader power level.
RFID performance monitoring system 100 may initially collect all performance-related data and information received from sources such as those described above in data collector 430. In some implementations, the data collector may be implemented as a single database, or as a number of repositories for collecting raw information for post-processing, as described above with reference to fig. 1.
In some embodiments, the system 100 may be configured to process the compiled data 124 with various analysis tools. Such analysis tools may include statistical tools capable of generating an output indicating the degree of correlation between parameters. For example, the statistical tool may include software capable of calculating correlation factors and/or covariance factors for the collected parameter information as well as performance-related information. Other statistical tools that can be used for the analysis include, but are not limited to: minimum, maximum, mean, and regression analysis techniques.
In one embodiment, the statistical analysis engine 440 determines which parameters need to be analyzed, retrieves parameter data from the compiled data 124, completes the analysis, and interprets the results according to program instructions. In another embodiment, the statistical analysis engine 440 may be implemented by program instructions executing on the processor 110 (FIG. 1).
The mathematical calculations may be performed on the processor 110 or mathematical co-processor, for example, a Digital Signal Processor (DSP) or other computational element capable of analyzing the compiled data 124 for use as the correlation and covariance calculator 445 in this example. After the compiled data is analyzed, parameters showing factors that have one or more high correlations with performance measurements may be flagged for reporting, corrective action, or other further scrutiny.
Further scrutiny is an example of the results available in response to the output of system 100. As a further example, if the analysis results indicate that the performance is not related to any of the measured parameters, the system operator may determine, for example, that the sensor should monitor another parameter. This is another example of a response to the output of report generator 450.
Output from the report generator 450 may be sent to a display device 452, such as a printer or a display terminal that may include a Graphical User Interface (GUI). The graphical user interface may incorporate charts, graphs, or other data or values monitored by the system 100. Another output of the report generator may be data sent to the middleware server 30 and/or the warehouse management system 38 a. Reports may be periodically scheduled to be generated in response to requests from these elements, or in response to alarm conditions, such as when a certain monitored value reaches a predetermined threshold limit. Scheduler/prioritizer module 455 may allocate process tables and priorities for output. The module 455 may also assign priorities and arbitrate commands to the controller 460.
The controller 460, which may include the feedback control interface 150 (fig. 1), may include interfaces, drivers, and control elements that may be connected together to control the operation of one or more devices in the RFID system or in an environment that may affect the performance of the RFID system. The output of the controller 460 may control the operation of the auxiliary device 470 and may control the turntable 470. In addition, controller 460 may be adapted to control some of readers 12 by: control their power levels and control the timing of the operation of the readers 12 (i.e., multiplexing) where the readers may interfere with each other. The control signals may be transmitted to programmed devices such as PLCs, computers or other industrial control devices and equipment.
The auxiliary devices 470 controlled by the controller 460 may include, for example, dock gates, heating, cooling, or humidity controllers, or the operational status of various devices that may affect the performance of the RFID system. In one embodiment, the ancillary equipment may include an indicator or display device that notifies the distribution center operator of the exclusion zone surrounding the current individual reader. For example, if a particular reader is showing a low performance range, a display device (e.g., on a positioning system loaded on a forklift) may indicate to the forklift operator to remain outside certain exclusion zones that are inaccessible whenever the reader is running.
As another example, the dispenser may be operated to dispense a product onto the conveyor at controlled spaced distances such that a reader reading an article on the conveyor is less likely to inadvertently read a tag near the "read zone". Likewise, the controller 460 can control the conveyor speed to achieve maximum throughput with an acceptable level of RFID tracking performance.
Controller 460 may also be configured to direct the operation of turret 475 based on the results of the performance analysis. The control commands may determine the rotational angle, number of revolutions and rotational speed of the turntable.
In another example, the antenna may be mounted to a vertically oriented positioning system near the turntable. The motor drive may be configured to control the vertical position of the antenna in response to control commands from the RFID system 10. The control command for the vertical position of the antenna may be related to the rotation command. The vertical position of, for example, an antenna may be changed as the turntable rotates a pallet with several tags to maximize the effectiveness of reading the tags in the pallet.
The system 100 can monitor which vertical positions and rotational trajectories appear to have the best performance for different pallets. For example, some dry cargo pallets may read faster than pallets that contain significant fluid and/or metallic content. Based on the accumulated performance related information, an optimal control command may be applied to maximize RFID performance at the turntable. Further, for each pallet type, the system 100 may be operated to adjust turret operating parameters such as rotational angular velocity, vertical antenna travel trajectory, antenna power settings, and antenna multiplexing sequence. If multiple readers are provided to read the tags on turntable 475, controller 460 may configure, for example, the number of times the reads are attempted, the power levels, and the sequence in which the readers are multiplexed. These configuration parameters may be customized according to pallet type and may be stored in a library. These libraries may be invoked as needed to achieve maximum performance based on previous analysis and results for the specific pallet configuration, tag and reader configuration, and products in the pallet.
Information analysis and corrective action
The RFID performance monitoring system 100 may operate using an exemplary method illustrated in the flowchart of fig. 5. Additional details of an exemplary method of operating the statistical analysis engine 440 are described subsequently in the flow diagram of FIG. 6.
The flow chart in fig. 5 begins with collecting data at 515. In one embodiment, the data collector 430 may collect data received by the system 100. The data is compiled 520 into a dataset that can be associated with temporal information. In this example, the system creates a performance index at 525. Each performance indicator may include performance measurements for a predetermined number of previous readings and may include information for each reader such as 90% of the time spent reading and 100% of the time spent reading. During analysis, each performance indicator may be associated with various parameters to identify potential causes of sub-optimal performance.
As will be described in greater detail with reference to FIG. 6, the system 100 may perform an analysis at 530 to determine which parameters may have a significant impact on RFID system performance. In alternative embodiments, a human operator may perform some or all of the analysis. Based on the analysis, system 100 may select parameters for the corrective action and list the selected parameters in a mitigation list at 535. The system 100 may then use (in one embodiment) a scheduler/scheduler module 455 to schedule and schedule corrective actions at 540. System 100 may then apply the corrective action at 545. The corrective action may be implemented as a change to the RFID system 10 at 550, a change to the environment in which the RFID system 10 is operating at 555, or closed loop feedback at 560. In alternative embodiments, some or all of steps 530 through 555 may be performed by a human operator.
While the system 100 may identify some RFID performance issues after a relatively small number of samples are collected, some of the corresponding corrective actions 550, 555 may have relatively long-term time requirements. For example, changes 550 to the system may involve repairing or replacing readers or tags, or redesigning the system to add, remove, or alter the type or location of readers, or to change the path of product flow through a distribution center, for example. Some changes 550 to the system may involve hardware and/or software versions and/or installations. Some changes to the system may involve either the tag or reader's antenna design, operating frequency, software of the reader and/or middleware server 30, etc. Other changes may include changing the orientation or placement protocol that attaches the tag to the article. Product packaging, placement, content, and palletization may all be improved in response to analysis of RFID system performance.
Similarly, the change to the environment 555 can involve, for example, reducing a temperature change or humidity change around the reader. Such changes may involve changes to the physical industry so that the local environment around the reader may be controlled. In one example, cooling fans and/or heating lamps may be provided to control temperature and humidity variations around the reader. In another example, dock gates may be configured to better shield the RFID system from sources of electromagnetic interference from the external environment, such as police cars, communication systems, aircraft, and the like.
Closed loop feedback at 560 may be implemented using controller 460 to provide a corrective action that may be automatically implemented using a feedback control method or may be implemented in a relatively short time frame. Examples of some of the elements that may be controlled by the feedback method include: dock gate, fan, turntable (speed, number of revolutions), reader multiplexing, and reader power level.
The function of steps 525 to 535 of the method of fig. 5 will next be described in the exemplary method shown in fig. 6 with additional details.
The method involves testing devices on parameters stored in a compilation database to identify parameters that may have an impact on performance. Beginning with the compiled dataset created in step 520, the system 100 may select a set of one or more parameters for evaluation at 610. Next, the system 100 calculates 615 the covariance of the set of selected parameters and each performance measurement in the performance metric created by the system 100 at step 525. The system 100 then determines the variability of the selected parameter at 620. For example, the variability may determine the change in the peak-to-peak value of the selected parameter over a period of time. At 625, the system 100 calculates the impact of each parameter on each performance measurement by multiplying the covariance calculated at 615 with the variability of the selected parameter determined at 620.
In this example, system 100 compares the calculated impact on each performance measurement to a predetermined threshold at 630. If the impact is greater than the predetermined threshold, the system 100 adds the selected parameter to the list of suggested mitigations at 640. After 640, or if the impact is less than or equal to a predetermined threshold, the system 100 checks at 645 whether more parameters need to be evaluated.
If there are more parameters to evaluate, the system 100 selects a next set of parameters for evaluation at 650 and returns to start evaluating the set of parameters at 615. Otherwise the process ends at 655.
The proposed mitigation list may be sorted, for example, according to the impact calculated at 625. In one embodiment, scheduler/scheduler module 455 may rank the impact and assign the highest priority to those parameters that have the most impact on performance. Report generator 450 may display or otherwise report the highest priority parameter. Controller 460 may take corrective action to address those parameters that have the highest level of impact on performance.
However, some parameters, while highly observable, cannot be inexpensively controlled. For example, humidity can be measured inexpensively, but is costly to control directly. The humidity sensitivity is mainly caused by the change of the moisture content of the cardboard packaging changing its radio frequency characteristics. As an alternative to directly controlling the humidity to which the package is exposed, changes to the reader design can be made to reduce the sensitivity of the reader (or other device) to humidity.
As a further example, it may be determined that humidity is moving and the signal is reduced by changing a characteristic of the product to which the tag is attached. Thus, an operator may evaluate the feasibility of changing packaging or applying different labels to a product to improve RFID performance under high humidity conditions.
Potential corrective actions in response to high impact parameters may be further illustrated with another example. If the low temperature at the reader is associated with an effect (decrease) of 25% of the performance range of the reader, the controller 460 may increase the reader power level to compensate for the decreased performance range. In addition, if such an increase in the power level of the reader would cause interference with nearby readers, controller 460 may also force the readers to be multiplexed, i.e., to remain quiet while other readers are running. While this may reduce the throughput of goods at low temperatures, RFID performance levels may be maintained, with the benefit of RFID tracking.
Other mitigation rules may be programmed into scheduler/optimizer module 455. In some applications, throughput may be more of a concern than RFID system performance. In some examples, the cost function associated with available corrective actions may be rationalized only under certain conditions. For example, the energy costs associated with weather control may only be justified for certain products for which RFID tracking accuracy is deemed highly important. Thus, scheduler/optimizer module 455 may evaluate the weighted rules to determine which corrective actions to take in advance and also evaluate the weighted rules when assigning priorities to the corrective actions.
RFID reader as sensor
In addition to the RFID reader 12 in the RFID system 10 being used to track tags at a workstation (see fig. 2), the RFID reader may also function as an array of RF sensors. Readers may be configured to "listen" with their antennas as receivers of ambient radio frequency energy when the tag is not actively being read. Information regarding the received radio frequency energy of the surrounding environment may be collected by RFID performance monitoring system 100. The operation of the reader as an array of sensors is illustrated in figure 7.
In FIG. 7, the distribution center 705 includes an RFID system operated by a central computer station 710 with an RFID performance monitoring system. The RFID system includes readers 715, 720, 725, and 730. The reader 730 is configured to read labels on pallets placed on the turntable 735.
The readers 715-730 may be configured to provide the performance monitoring system with information about the ambient radio frequency energy during periods when each reader is not actively reading tags.
For example, a source of RF energy within the distribution center 705 is moved sequentially from point A to points B, C and D. The source of radio frequency energy may be a radio transmitter on board a forklift or held by security personnel.
At point a, the signal strength measured by the reader 715 will be relatively strong, and will decrease as the source moves towards B, C and point D. The signal strength measured by the readers 720 and 730 increases between points a and B, peaks between points B and C, and decreases between points C and D. The magnitude of the signal strength received by each reader can be recorded at several moments in time. The approximate location of the rf source can be determined by triangulation based on the known location of each reader and the relative strength of the signals received by each reader. From this information, the approximate path of the radio frequency source over time can be determined. This information may be compiled with other information into parameters that may be associated with performance measurements to confirm whether the radio frequency source will affect RFID system performance.
As a second example, there is a source of RF energy outside the distribution center 705 moving from point E to point F. The source of radio frequency energy in this case may be a radio transmitter on a vehicle such as a forklift, truck or police car. Typical stationary sources of radio frequency energy other than such moving sources may include, for example, radio frequency welders, electric and driven machines, lighting systems, and the like.
As described in the previous example, the performance monitoring system 100 may monitor the reader 725 to detect the presence of radio frequency energy within a frequency band of interest to the RFID system. By detecting the presence of rf energy that peaks in signal strength, for example, while some performance measurements are degraded, an operator can determine that the rf energy event may be causing interference, and proceed to investigate the rf energy source. If the source of electromagnetic interference can be identified, a solution can be developed to mitigate the effects of the interference. For example, if a radio frequency welder running five times per hour on the first shift would result in a tag that cannot be read, a potential corrective action could be to pause the reading for thirty seconds each time the jamming signal is detected. Alternatively, the power level may be increased and the multiplexing adjusted to avoid reader crashes.
In one exemplary method, a database may be created to include characterization information regarding relative signal strengths received by one or more readers as they monitor radio frequency sources at various locations around the RFID system. For example, at a distribution center, the relative reader sensitivity may be characterized in such a way that: the rf source is brought to various known locations and the relative signal strength received by the reader in the system is recorded. The characterization information may be used later to help locate an rf transmission source by comparing the signal strength of the relative received rf transmissions to a characterization map.
In another embodiment, the characterization information can be used in conjunction with other information to determine whether the sensitivity of an individual reader has drifted since the characterization map was established. Profiles created at different times can also be compared to confirm changes in reader sensitivity levels.
Reader characterization may also include using a radio frequency source whose power level and location it passes through are known to determine absolute sensitivity information about the reader. The analysis results from the performance monitoring system 100 may be enhanced by characterizing the sensitivity of one or more readers at various known locations of the distribution center, e.g., performance-related information regarding the sensitivity of each reader.
Monitoring a reader using a reader
Not only can the RFID readers operate as passive sensor arrays for collecting information about the ambient radio frequency energy, each RFID reader can also operate actively in such a way that: having performance monitoring system 100 collect information about other readers in RFID system 10. Such operation may enable the system 100 to identify reader-related performance issues or detect performance trends. One particular problem includes adjacent readers interfering with each other, which is known as "reader crash". One exemplary method for operating the readers to monitor each other is shown in the flow chart of FIG. 8.
As described below, an array of readers may be used to identify relative changes in the power level and sensitivity level of the readers in an RFID system. The method begins at 810 with the system 100 selecting a reader during periods of inactivity of other readers. The selected reader is operated 815 to emit an identifying radio frequency signal (i.e., chirp) that may include a serial number that uniquely identifies the reader. Then, at 820, the performance monitoring system 100 may receive information about a "chirp" received by each at the listening reader. Based on the expected and historical values, the system 100 determines 825 whether the transmitting reader is transmitting power within a valid range. Next, the sensitivity of the listening readers is checked at 830 to determine if any readers receive unexpectedly high or low signal strength values.
Continuing with this process, performance monitoring system 100 may then check for interference between readers at 835, where adjacent readers may be negatively affected by the interfering signal. In addition, the performance monitoring system may determine whether one reader inadvertently reads a tag that is in the read zone of an adjacent reader.
Based on the measured interference levels, the performance monitoring system may adjust the power levels of the multiplexing (i.e., timing) and/or individual readers at 840. RFID performance monitoring systems or operators may force readers that interfere with each other to operate in a multiplexed mode so that they do not attempt to read tags at the same time. In addition, the power level may be reduced to mitigate interference between readers or increased to improve performance.
If the reader is to be checked 845, return 810 is to select another inactive reader. If no reader is pending, the process ends at 850. Since the reader is subject to a sufficient interval of inactivity, the process can be repeated to check at least one of the readers.
This scheme can be used to generate a "reader crash map". For each reader, the reader crash map may include a list of reader identification numbers and the strengths of signals it receives from other readers. In this way, this may include a two-dimensional reader crash map that may be upgraded in real-time to adjust reader multiplexing. The reader crash pattern may also be used as an analysis tool to identify undesirable reflections caused by walls or other objects. For example, the two-dimensional reader crash map may be superimposed on a natural site map, such that barriers are designed and placed to reduce coupling between readers that interfere with each other. For another example, reader timing/multiplexing may be adjusted to control reader crashes.
Tag sensitivity information
Knowledge of the sensitivity and power level of each reader can provide additional information that can be correlated with RFID performance measurements to identify parameters that affect performance. As mentioned above with reference to station 210 of FIG. 2, the sensitivity of each individual label may be determined according to the method described in the flow chart of FIG. 9. Since a particular lot, version, and vendor RFID tag may have multiple sensitivities within a range of values from a distribution curve, information about the sensitivity of individual tags may allow the RFID system to more accurately evaluate performance-related information. For example, the sensitivity below the average of a single tag may help interpret performance-related data that shows the performance below the average associated with the tag, and thus may more accurately identify the associated error source.
In the flow chart of the exemplary method of fig. 9, the process of determining tag sensitivity begins with selecting a single tag to test at 910. The tag is configured to receive a predetermined signal strength from the reader at 920. The configuration is typically referred to as the radio frequency signal power at the tag, although tag orientation based on the reader's radiation direction, antenna design, and other objects that affect the radiation direction at the tag may affect the actual received signal strength. In general, however, the predetermined signal strength may correspond to, for example, radio frequency energy received by a particular tag that is in a particular position and orientation relative to a particular reader operating at a particular power level. In one embodiment, the predetermined signal strength is obtained by placing the tag at a known position and orientation relative to a reader operating at a known power level.
The reader attempts to read the tag at 930. If the tag is successfully read at 940, the received signal strength of the tag is reduced at 950 and the reader re-attempts to read the tag at the new power level at 930. For example, the distance between the tag and the reader may be increased; the orientation of the label can be changed; or may incrementally decrease the reader power level. The increments may be linear, logarithmic, or other relationship to achieve a desired level of accuracy.
In another embodiment, the signal strength may be determined using other methods. For example, at 950 the signal strength may be either increased or decreased to implement a search strategy to determine tag sensitivity within a certain range. The search strategy may relate to, for example, search modes such as those known to those skilled in the art of computer programming. For example, by using a variant golden section optimization, the reader power can be adjusted halfway between the end points between which the desired value is known to exist. For example, if the read is successful at half power level, the power is reduced to be intermediate the half power level and the low end point (which may be initially zeroed). If the read is unsuccessful, the power is increased to between half the power level and the upper end point (which may be initially adjusted to the maximum power of the reader). This process may be repeated until the sensitivity is framed between the endpoint values within the desired accuracy.
In addition to improving identification of performance-related error sources, tag sensitivity information may provide further benefits. For example, tag sensitivity can be used to more closely assess the performance range of a single reader. Based on statistical analysis of performance-related information adjusted for sensitivity of individual tags, the performance range of an individual reader can be monitored; weak functional elements in the system may be identified; and corrective action can be taken before the failure occurs.
The performance range concept may be expressed in various ways. In one aspect, the performance range in an RFID system can be considered as a measure of how much the radio frequency power can be reduced before the performance drops below an acceptable level. For example, if the allowable performance level is set to require that all RFID tags on a pallet must have at least 15 reads successful per 20 attempts, the performance range may be expressed as a change in reader power level when the threshold is reached. In this example, a tag with the least sensitivity determines the performance range if all other parameters are equal. Thus, information about individual tag sensitivities provides additional parameters that can be analyzed to identify sources of RFID performance errors.
For example, the performance monitoring system 100 may analyze tag sensitivity and other performance related data and determine that a certain reader has a performance range that degrades over time. The system 100 may trigger an alarm or report indicating that a maintenance procedure should be taken to determine if the reader needs repair or replacement. By taking such corrective action before the reader performance range drops below zero, downtime and tracking failures can be avoided, thus saving time and money while maintaining a high level of RFID system performance.
In addition to providing sensitivity information that may be associated with other performance related information, the sensitivity information may be combined with lot, manufacturer, version, and other tag information, such as tag information that may be stored in the database 22. This tag information may be monitored as a quality control measure, with or without performance related information. For example, analysis may reveal undesirable levels of sensitivity associated with a particular lot code, version, antenna design, or other tag-related parameter. Once a tag sensitivity problem is determined, corrective action can be taken. For example, either the RFID system 10 or the system 100 may transmit a signal to the warehouse management system 38 and/or to the IT company 40 that may be received by a purchase group in company A. The purchasing group may take appropriate steps to alter the purchase of unsatisfactory tags. Other relevant departments of company a, such as the accounting department, may be identified to know: the ability to track certain orders has been reduced as a result of low tag sensitivity or failure corresponding to a particular product passing through the supply chain. The downstream customer may also be informed of the tag sensitivity issue. Further, an operator may be instructed to discontinue use of such tags or add redundant tags to keep product tracking from being compromised.
Thus, the determination of tag sensitivity and monitoring of tag sensitivity in relation to other parameters that may affect the performance of the RFID system may provide early detection and allow for corrective action that may not be available without tag sensitivity information. In this way, the sensitivity information can be used directly to enhance the performance of the RFID system and to enhance the accuracy of the analysis of the performance-related information.
In addition to the examples described above, RFID system performance monitoring may also be implemented using the systems, methods, or computer program products of the embodiments other than the examples described above.
For example, by tracking the performance of a particular product configuration within a pallet, the system can provide useful information about the product arrangement that is preferred for RFID system performance. Various product configurations that can be boxed or palletized can also have an impact on performance. The pallets may be homogeneous (single product) or mixed (more than one product). The combination of placement, orientation, materials, etc. may affect the transmission of reader radio frequency signals to the tag and affect the response signals from the tag to the reader. In this regard, certain product configurations may perform better than other product configurations. Thus, the system may gather the necessary information to make such a determination.
The RFID performance monitoring system 100 may be implemented as a computer system that may be used with embodiments of the present invention. The processor 110 is capable of processing instructions for execution within the system 100. In one implementation, the processor 110 is a single-threaded processor. In another implementation, the processor 110 is a multi-threaded processor. The processor 110 is capable of processing instructions stored in the memory 120 or on some storage device.
Memory 120 stores information within system 100. In various implementations, the memory 120 may be embodied in a computer readable medium, volatile memory, or nonvolatile memory. The system may also include a storage device capable of providing mass storage for the system 100. In various implementations, the storage device may be a computer-readable medium, a floppy disk device, a hard disk device, an optical disk device, or a tape device.
The display device 452 may be an input/output device that provides input/output operations for the system 100. In an embodiment, the input/output device may comprise a keyboard and/or a pointing device or a display unit for displaying a graphical user interface.
The invention may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. The apparatus of the present invention may be implemented in a computer program product tangibly embodied in an information carrier, e.g., in a machine-readable storage device or in a propagated signal for execution by a programmable processor; and method steps of the invention can be performed by a programmable processor executing a program of instructions to perform functions by operating on input data and generating output. The invention may advantageously be implemented in one or more computer programs that are executable on a programmable system comprising: at least one programmable processor connected to receive data and instructions from, and to transmit data and instructions to, a data storage system; at least one input device; and at least one output device. A computer program is a set of instructions that can be used, directly or indirectly, in a computer to perform a certain activity or bring about a certain result. A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be developed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
Suitable processors for the execution of a program of instructions include, by way of example, both general and special purpose microprocessors, and the sole processor or one of multiple processors of any kind of computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memories for storing instructions and data. Typically, a computer also includes, or is operatively coupled to communicate with, one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard or removable disks, magneto-optical disks, and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include various forms of non-volatile memory, including by way of example: semiconductor memory devices such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD and DVD disks. The processor and memory may be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).
To enable interaction with a user, the invention can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) display, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer.
The present invention may be implemented in the following computer systems: including a back-end component, such as a data server; or include middleware components such as an application server or an internet server; or include a front-end component, such as a client computer having a graphical user interface or an Internet browser; or any combination thereof. The components of the system can be connected by any form or medium of digital data communication, such as a communication network. Examples of communication networks include, for example, local area networks, wide area networks, and computers and networks forming the internet.
The computer system may include clients and servers. A client and server are generally remote from each other and typically interact through a network such as the one described. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
While many embodiments of the invention have been described, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. For example, advantageous results may be achieved if the steps of the disclosed techniques were performed in a different sequence, if components in the disclosed systems were combined in a different manner, or if the components were replaced or supplemented by other components. The functions and processes (including algorithms) may be performed in hardware, software, or a combination thereof. Accordingly, other embodiments are within the scope of the following claims.