The present invention relates to inventorying transponders particularly, but not exclusively, radio frequency identification (RFID) transponders.
Portable transponders (hereafter referred to simply as “transponders” or “tags”) such as radio frequency identification (RFID) transponders, usually comprise one or more semiconductor chips having logic and/or data handling capabilities, attached to one or more interface devices, such as an antenna. A transponder can communicate with the external devices such as interrogators and, via such interrogators, with supporting infrastructure, for example software applications.
Transponders communicate with interrogators (also known as “readers” or “base stations”) typically via radio waves. In some systems, the transponders and interrogators can communicate through electromagnetic waves, for example at radio frequencies, low frequencies or optical frequencies, and/or through non-electromagnetic waves, for example, through acoustic waves. The interrogation range varies from few millimetres to several meters depending on the type of transponder and reader, frequency, media, antenna, interference and other factors. Interrogators can, in turn, be connected to a network of other interrogators and computers running appropriate supporting or application software. A transponder system includes at least one interrogator and one transponder.
Transponders may be passive, which means that they are energised by the interrogation signal of the interrogator, for example through electric or electromagnetic induction, or active, which means that they are energised by an internal power source, for example a battery. Normally, passive transponders can only operate within the interrogation field of an interrogator. Arrival of a transponder in an interrogation field is usually referred to as “energising” the transponder. Passive transponders are described in U.S. Pat. No. 3,713,148 A.
Commonly, transponders are used to identify or locate the objects to which they are physically attached (hereinafter referred to as “tagged objects”). Typically, a tagged object, through its transponder, identifies itself by broadcasting or responding to one or more identities from a global numbering scheme upon request from an interrogator. The approximate location of a tagged object is the field or “range” of the interrogator successfully detecting its transponder. A transponder may include memory for storing fixed or updatable data associated with its object and/or sensors for detecting or measuring its environmental conditions, for example temperature, pressure etc. Advanced transponders or tagged objects may include actuators enabling robotic functionality or other devices, for example, a display providing a user interface.
The use of transponders is becoming widespread. For example, low-cost transponders are used to identify pallets, cases and units of fast moving consumer goods (FMCGs). Transponder systems are also employed to track assets in a variety of fields such as manufacturing, logistics and distribution, amusement, rental and leasing, and are used in factories to manage conveyor belts, in airports to track baggage, and in retail to track products. Leading manufacturers, distributors and retailers are promoting the use of RFID transponders to replace barcode-based product identification procedures and so improve stock visibility and automation.
Transponder systems, in particular RFID systems, are commonly used in applications that are friendly to the environment. In the home, RFID tags can be used by ambient intelligence applications to make energy savings, for example by selecting the most efficient program for a washing machine load depending on electronically-tagged garments in the load. In industry, apart from bringing significant energy-saving improvements from more controlled operations, RFID transponders can help to improve the management of supply chains of perishable goods and so reduce the amount thrown away as waste. RFID can support applications for the recycling and re-use of packaging, for example in the automatic separation of empty containers. Other environment-friendly applications include the electronic tagging of protected species or trees to prevent illegal hunting or logging respectively.
Communication between transponders and interrogators takes place using standard frequencies, protocols and numbering schemas. The purpose of such standards is to specify: (a) a set of valid commands and parameters to be broadcast by an interrogator and (b) a set of possible responses and actions to those commands by transponders. Over recent years, a variety of standard-defining groups have emerged, including International Organization for Standardization (ISO), International Electrotechnical Commission (IEC), ASTM International, DASH7 Alliance, and EPCglobal. Examples of standard wireless protocols for transponder systems are ISO 14443, ISO 15693, ISO/IEC 18000 Parts 2, 3, 4, 6, 6C and 7, ISO 18185 and EPC (TM) Gen2.
An important purpose of these standards is to coordinate communications between interrogators and transponders, particularly when there is more than one transponder in range of an interrogator. Normally, all in-range transponders simultaneously listen to an interrogator, which can issue commands (hereinafter referred to as “collective commands”) aimed at multiple transponders, or commands (hereinafter referred to as “individual commands” or “access commands”) aimed at individual transponders. In most transponder systems, only the interrogator can hear transponder responses. Usually, the interrogator cannot individually address transponders that have not been identified, for example, freshly-energised transponders. Such a lack of segregation and coordination results in an undesired behaviour known as “transponder collision” (hereinafter referred to as “collision”), whereby two or more transponders reply simultaneously to an interrogator command. Collision reduces communication speed and reliability.
Protocols can include advanced anti-collision mechanisms involving the use of purposely delayed responses, for example, skipping a number of further interrogator commands according to a randomly-generated counter.
Reference is made to, for example, CN 101359361 A, US 2008 180220 A, CN 101256617 A, US 2004 140884 A, WO 02 41650A, TW 399190 B and KR 2010 0011711A. Mainstream RFID standards such as the ISO/IEC 18000-6C or EPC
Gen2 also incorporate advanced anti-collision mechanisms. A number of standards define commands for the segregation of transponder sub-populations, and reference is made to ISO/IEC 18000-6C.
In summary, interrogator commands and their respective transponder responses allow interrogators:
In most transponder systems, inventorying simply involves transmitting transponder identities upon singulation. Advances in transponder design mean that some new models (hereinafter referred to as “secure transponders”) include security mechanisms. Such security is mainly achieved through access passwords, where the identity and/or memory of a transponder cannot be read unless a password is provided.
Advanced transponder designs may also involve the use of multiple passwords:
In other designs, security can be implemented through specialised mechanisms, for example a challenge-response exchange. In its basic form, challenge-response involves applying previously-agreed functions to common values and comparing results.
Usually, communications between transponders and interrogators take place unencrypted. Advanced systems incorporate basic encryption mechanisms, for example by applying a Boolean “xor” of a random token to sensitive data. Cryptography requires transponders and interrogators to share previous knowledge of either the random token, the private keys (symmetric-key cryptography) or the private-public key sets (public-key cryptography).
To identify a secure transponder after singulation, an interrogator usually needs to supply it with the required password or passwords, apply the necessary encryption, and/or engage in the applicable challenge-response exchanges. This process is herein referred to as “interrogator authentication”. By undergoing authentication, an interrogator proves its trustworthiness to a secure transponder and so enables its identification and, optionally, other functionality.
Authentication can also operate in the reverse direction. Upon singulation of a secure transponder, an interrogator may challenge it by:
This process is herein referred to as “transponder authentication”. By undergoing authentication, a transponder proves its trustworthiness to the interrogator and so confirms its real identity or type.
The combination of interrogator authentication and transponder authentication, where a transponder and an interrogator authenticate each other after singulation is herein referred to as “mutual authentication”.
The data needed for these types of authentication can include:
These types of data are herein referred to as “security-related data”.
There are many challenges facing the inventorying of tagged objects, particularly in applications or environments that:
In such applications or environments, the underlying challenges are:
The present invention is based, in part, on the insight that the inventorying of a large population of transponders (i.e. a set of two or more transponders) is done more efficiently if transponders that can be inventoried individually or in small groups (i.e. a subset of one or more transponders) are addressed prior to the inventorying of the rest of the population. Because they have already been inventoried, transponders selected early in the inventory round do not participate when inventorying of the rest of the population, therefore reducing collisions and allowing a faster inventorying of the entire population (i.e. the set of transponders). That is, the system would take care of the “easy” transponders before dealing with the “difficult” ones. Similarly, the authentication of secure transponders would be more efficient if the security-related data of transponders likely within range and/or the security-related data that are more common to such transponders are tried earlier in the process, so probabilistically reducing the number of tries necessary to authenticate each tag (i.e. the number of passwords to try per transponder).
In transponder systems where collision is possible, for example those based on ISO/IEC 18000-6C, there are no efficient methods for the establishment of proper selection data per interrogator.
In transponder systems where collision is possible, an additional challenge relates to the sequencing of security-related data per individual transponder. Most anti-collision mechanisms randomise the singulation order (or “shuffle” transponders), making it very difficult to know which security data to send to which transponders. The situation is radically worse in systems designed such that the provision of the wrong set of security data to transponders causes them to drop from singulation (i.e. ISO 18000-6C), notably because the sequencing history (i.e. a record of which security data have been tried on which transponder) is lost with every failed authentication attempt.
Because of the above limitations, most secure systems are designed to use a common set of security-related data applicable to all transponders and authenticate transponders each time they are inventoried. However, this approach has some significant limitations, namely:
Thus, current transponder systems are ill-suited for inventorying tagged objects in high-volume, high-mobility, high-sensitivity or open-loop applications, or when using secure transponders.
The present invention seeks to address one or more of these challenges.
According to a first aspect of the present invention there is provided a method comprising retrieving ancillary data for a set of one or more transponders, said ancillary data comprising characteristic data other than a permanent identifier, and generating one or more commands addressed to a set of one or more transponders in dependence upon said ancillary data.
This can help to reduce collisions and/or speed up authentication.
Retrieving the ancillary data may comprise retrieving ancillary data relating to a set of two or more transponders or objects to which such transponders are attached. The method may further comprise generating optimisation data in dependence on said ancillary data said optimisation data chosen to address transponders in the set of two or more transponders in subsets of one or more transponders, wherein the optimisation data chosen is chosen such that the combined expected inventorying time of the subsets of one or more transponders is less than the expected inventorying time of the set of two or more transponders. Generating the one or more commands may comprise generating one or more commands for inventorying of the subsets of one or more transponders in dependence upon said optimisation data.
According to another aspect of the present invention there is provided a method comprising retrieving ancillary data relating to a set of two or more transponders or objects to which such transponders are attached, said ancillary data comprising characteristic data other than a permanent identifier, generating optimisation data in dependence upon said ancillary data, said optimisation data chosen to address transponders in the set of two or more transponders by subsets of one or more transponders, wherein the optimisation data chosen is chosen such that the combined expected inventorying time of the subsets of one or more transponders is less than the expected inventorying time of the set of two or more transponders and generating one or more commands for inventorying of the subsets of one or more transponders in dependence upon said optimisation data.
The optimisation data may comprise one or more sets of selection data, wherein each set of selection data corresponds to a respective set of one or more transponders and wherein each set of selection data comprises at least one characteristic data element. If a set of selection data comprises at least two characteristic data elements, said characteristic data elements may be Boolean algebraically combined.
Generating said optimisation data may comprise choosing characteristic data elements for a set of selection data according to predefined rule(s), such rules determining the content and order of the selection and/or authentication data. Choosing the characteristic data elements for a set of selection data may comprise choosing the characteristic data elements which address a minimum, non-zero number of transponders per each of the subsets of one or more transponders. Choosing the characteristic data elements for a set of authentication data may comprise choosing the characteristic data elements for authenticating transponders which address a maximum number of transponders.
Choosing the characteristic data elements for a set of selection data may comprises choosing the characteristic data elements for selecting transponders which minimises the transmission size of the generated one or more commands. The method may comprise choosing the characteristic data elements according to the probability of the transponders to be within range of an interrogator. The method may comprise choosing the characteristic data elements in dependence upon sensed data.
The characteristic data may include data which relate to one or more physical characteristics of an object tagged by the transponder. The characteristic data may include data which relate to one or more artificial characteristics of an object tagged by the transponder. The characteristic data may include data which relate to a behavioural characteristic of an object tagged by the transponder. The characteristic data may include a temporary identifier generated by an earlier singulation of a transponder. The characteristic data may include data contained in an earlier reply from a transponder. The characteristic data may include data identifying an interrogator that received an earlier reply from a transponder. The characteristic data may include noting a reply or lack of reply from a transponder. The characteristic data may include a time and/or date of receipt of a reply from a transponder or a time and/or date of lack of receipt of an expected reply from a transponder. Optimisation data may comprises or further comprises one or more sets of authentication data, each of the one or more sets of authentication data corresponding to each of the subsets of one or more transponders, and each of the one or more sets of authentication data containing security-related data addressing transponders in its corresponding subset of one or more transponders. The security-related data may include one or more passwords. The security-related data may include the coefficients, formulae and algorithms necessary to implement a challenge-response function. The security-related data may include one or more keys for encryption and/or decryption. Generating the optimisation data may comprise choosing security-related data for the one or more sets of authentication data according to predefined rule(s). Choosing security-related data may comprise choosing security-related data in dependence upon sensed data. Choosing security-related data may comprise choosing security-related data which address a maximum number of transponders. Choosing security-related data may comprise choosing security-related data according to the probability of transponders in the corresponding subset of one or more transponders to be within range of an interrogator. The method may comprise ordering commands for transmission according to the number of transponders authenticated by each command. A first command which authenticates a first number of transponders may be arranged to be transmitted before a second command which authenticates a second, lower number of transponders.
The method may comprise ordering commands addressed to a set of one or more transponders for transmission according to the number of transponders addressed by each command. This minimises collisions, specifically by prioritising the inventorying of easily-selectable, likely-in-range transponders over the rest of transponders so the former do not interfere with the inventorying of the latter. It also speeds-up authentication, specifically by prioritising security-related data that address the highest number of transponders, so maximising the chances of early authentication. A first command which addresses a first number of transponders may be arranged to be transmitted before a second command which address a second, higher number of transponders. The method may comprise ordering commands for transmission according to the probability of transponders addressed by each command to be within range of an interrogator. A first command which addresses a first number of transponders likely to be in range of an interrogator may be arranged to be transmitted before a second command which addresses a second set of transponders less likely to be in range of such interrogator. According to a second aspect of the present invention there is provided a method comprising receiving inventorying data resulting from inventorying one or more transponders (in an interrogator-transponder system), each transponder having at least one permanent identifier, extracting ancillary data from the inventorying data and/or generating ancillary data in dependence on said inventorying data, the ancillary data comprising characteristic data other than the at least one permanent identifier, and storing the ancillary data with the permanent identifier.
The ancillary data can be used to help to reduce collisions and/or speed up authentication.
The ancillary data may allow transponders in the interrogator-transponder system to be addressed in subsets of one or more transponders, wherein the combined expected inventorying time of the subsets of one or more transponders is less than the expected inventorying time of all transponders in the subsets of one or more transponders.
The security-related data may include a set of one or more passwords. The security-related data may include a set of one or more challenge-response functions. The security-related data may include a set of one or more key for encryption and/or decryption.
Extracting ancillary data may comprise extracting a temporary identifier (sometimes referred to as a “handle”) from the inventorying data. Extracting ancillary data may include extracting data from a reply from a transponder.
Generating ancillary data may comprise noting a reply and/or a lack of reply from a transponder in response to one or more commands directed to at least one transponder including said transponder. Generating ancillary data may comprise identifying an interrogator receiving a reply from a transponder. Generating ancillary data may comprise noting a time and/or date of receipt of a reply from a transponder and/or a time and/or date of lack of receipt of an expected reply from a transponder.
Generating ancillary data may comprise processing said inventorying data and/or stored ancillary data to infer one or more characteristics of a transponder or an object to which the transponder is attached. One of the characteristics may be membership of a group. One of the characteristics may be preference or avoidance of movement with other given transponders and/or objects. One of the characteristics may be statistics regarding presence inside and/or outside interrogator range. One of the characteristics may be one or more preferred routes along interrogators.
The method may further comprise inventorying said one or more transponders.
The method may further comprise receiving ancillary data from one or more external sources. At least one of the external sources may be a sensor. At least one of the external sources may be an application. At least one of the external sources may be a user.
According to a third aspect of the present invention there is provided a method comprising receiving inventorying data resulting from inventorying one or more transponders, each transponder having at least one permanent identifier, extracting ancillary data from the inventorying data and/or generating ancillary data in dependence on said inventorying data, the ancillary data comprising characteristic data other than the at least one permanent identifier, storing the ancillary data with the permanent identifier, retrieving ancillary data for a set of one or more transponders, and generating one or more commands addressed to a set of one or more transponders in dependence upon said ancillary data.
The transponder may be a radio frequency identification (RFID) tag.
According to a fourth aspect of the present invention there is provided a computer program comprising instructions for performing the method.
According to a fifth aspect of the present invention there is provided a computer program product storing the computer program.
According to a sixth aspect of the present invention there is provided apparatus configured to perform the method.
According to a seventh aspect of the present invention there is provided apparatus comprising means for receiving inventorying data resulting from inventorying one or more transponders, each transponder having at least one permanent identifier, means for extracting ancillary data from said inventorying data and/or generating ancillary data in dependence on said inventorying data, said ancillary data comprising characteristic data other than a permanent identifier, and means for storing said ancillary data with the permanent identifier.
The ancillary data may allow transponders to be addressed in subsets of one or more transponders, wherein the combined expected inventorying time of the subsets of one or more transponders is less than the expected inventorying time of all transponders in the subsets of one or more transponders.
The apparatus may further comprise means for retrieving ancillary data for a set of one or more transponders, said ancillary data comprising characteristic data other than a permanent identifier, and means for generating one or more commands addressed to a set of one or more transponders in dependence upon said ancillary data.
According to an eighth aspect of the present invention there is provided apparatus comprising means for retrieving ancillary data for a set of one or more transponders, said ancillary data comprising characteristic data other than a permanent identifier, and means for generating one or more commands addressed to a set of one or more transponders in dependence upon said ancillary data.
The ancillary data retrieving means may be configured to retrieve ancillary data relating to a set of two or more transponders or objects to which such transponders are attached. The apparatus may further comprise means for generating optimisation data in dependence upon said ancillary data, said optimisation data chosen to address transponders in the set of two or more transponders by subsets of one or more transponders, wherein the optimisation data chosen is chosen such that the combined expected inventorying time of the subsets of one or more transponders is less than the expected inventorying time of the set of two or more transponders. The command generating means may be configured to generate one or more commands for the inventorying of the subsets of one or more transponders in dependence upon said optimisation data
The apparatus may further comprise a wireless interface means for exchanging signals with a transponder. The apparatus may further comprise at least one sensor for providing ambient data.
According to a ninth aspect of the present invention there is provided apparatus configured to receive inventorying data resulting from inventorying one or more transponders, each transponder having at least one permanent identifier, to extract ancillary data from said inventorying data and/or generating ancillary data in dependence on said inventorying data, said ancillary data comprising characteristic data other than a permanent identifier, and store said ancillary data with the permanent identifier.
The ancillary data may allow transponders to be addressed in subsets of one or more transponders, wherein the combined expected inventorying time of the subsets of one or more transponders is less than the expected inventorying time of all transponders in the subsets of one or more transponders.
The apparatus may be further configured to retrieve ancillary data for a set of one or more transponders, said ancillary data comprising characteristic data other than a permanent identifier or security-related data, and to generate one or more commands addressed to a set of one or more transponders in dependence upon said ancillary data.
According to a tenth aspect of the present invention there is provided apparatus configured to retrieve ancillary data for a set of one or more transponders, said ancillary data comprising characteristic data other than a permanent identifier, and to generate one or more commands addressed to a set of one or more transponders in dependence upon said ancillary data.
The apparatus may be configured to retrieve ancillary data relating to a set of two or more transponders or objects to which such transponders are attached, to generate optimisation data in dependence upon said ancillary data, said optimisation data chosen to address transponders in the set of two or more transponders by subsets of one or more transponders, wherein the optimisation data chosen is chosen such that the combined expected inventorying time of the subsets of one or more transponders is less than the expected inventorying time of the set of two or more transponders and to generate one or more commands for the inventorying of the subsets of one or more transponders in dependence upon said optimisation data.
The apparatus may comprise at least one processor and memory operatively connected to the at least one processor. The apparatus may comprise an inventory manager. The apparatus may further comprise a wireless interface for exchanging signals with a transponder.
The apparatus may be an interrogator. The apparatus may be an RFID interrogator. The transponder may be a radio frequency identification (RFID) tag.
According to an eleventh aspect of the present invention there is provided a system comprising at least one apparatus. The system may further comprise a database for storing the ancillary data operatively connected to the apparatus. The system may include at least one sensor for providing ambient data. The system may further comprise an application, for example, to provide ancillary data.
Certain embodiments of the present invention will now be described, by way of example, with reference to the accompanying drawings, in which:
a is a first table comprising sample optimisation data;
b is a second table comprising sample optimisation data;
c is a third table comprising sample optimisation data; and
In certain embodiments of the present invention, a method is used which allows inventorying of transponders in a flexible, efficient and reliable way, and which can support various types of authentication, such as interrogator authentication, transponder authentication or mutual authentication. This method of inventorying can be exploited by applications, for example, to quickly verify the location of tagged objects or detect departing ones. It can also be used to reduce the effort and time needed to identify and/or authenticate tagged objects arriving in range of interrogators.
This method takes advantage of ancillary data associated with and/or generated by transponders, the objects which they tag, and their context, for example the physical characteristics of a tagged object, its previous location and its behaviour. Ancillary data can be provided by applications, operators or enterprise systems, but can also be automatically gathered by the network of interrogators, transponders and sensors. Ancillary data are usually stored in a database, but can be kept in tables or files in storage or memory of one or more interrogators. When the system is operating, the database or storage memory can be queried to retrieve ancillary data and is used to generate appropriate selection and authentication data (hereinafter referred to as “optimisation data”) for optimising inventorying of transponders and, thus, of tagged objects in the system. Selection data are data used to orderly segment the population of transponders and therefore reduce the number of collisions. Authentication data are a set of transponder security-related data chosen and prepared to support the authentication process (transponder, interrogator or mutual authentication) during inventorying.
Optimisation data can be further tailored and optimised through its combination with ambient (sensed) data, for example removing data of tagged objects the characteristics of which are not being sensed. Data produced by the inventorying and sensing activities can be analysed to gather and generate additional ancillary data which may potentially help optimise future inventories. The additional ancillary data can also be added to the database.
Ancillary data includes:
Some examples of the use of such ancillary data in the optimisation of inventories are:
The method involves:
The system and method will now be described in more detail by means of examples.
If a tagged object 3 is located within an interrogation range 2 of an interrogator 1, then the interrogator 1 can communicate with the tagged object 3. As shown in
The network 5 operatively connects interrogators 1, computer systems 6, database(s) 8 and sensors 9. This enables the interrogators 1 to access the application 7, the database 8 and the sensors 9. This also allows the application 7 to access the database 8 and sensors 9. Some components, for example interrogators 1, database 8 and sensors 9, are uniquely identified in the system and can be individually accessed by other components through the network 5. Sensors 9 usually cover the interrogation field(s) 2 of one or more interrogators 1 and can be directly connected to the network 5, to an interrogator 1, or to a tagged object 3. The user interface is connected to the application 7 thereby allowing users (which can be human or other systems) to access components of the system, in particular the database 8.
Referring to
Referring to
The integrated circuit 43 usually implements a selection mechanism whereby the transponder 4 only replies to an interrogator 1 when certain conditions are met; such conditions specified by commands transmitted by the interrogator 1 in one or more commands. These conditions can be expressed in terms of Boolean algebraically combined functions and/or equations. For example, a test for a certain condition may involve comparing of all or part of a stored value (or values), such as the UID 45, handle 46, security-related data 47 and other data 48, such as UID=5 and MEM[10]=Y.
The integrated circuit 43 usually implements mechanisms whereby commands transmitted by an interrogator 1 establish the boundaries of an inventory round, such mechanisms preventing the transponder 4 from replying more than once to the same inventory round; and/or mechanisms for simultaneously participating in more than one inventory round. Usually, this is achieved by means of inventory sessions, session “flags”, and interrogator commands marking the beginning and/or end of each inventory round. The integrated circuit 43 may also implement anti-collision and authentication mechanisms.
The transponder 4 shown in
Referring to
For example, as shown in
Operation of an interrogator 1, in this case, a first interrogator 11, will be described by means of an example using first, second, third, fourth, fifth, sixth, seventh and eighth objects 31, 32, 33, 34, 35, 36, 37, 38, tagged with first, second, third, fourth, fifth, sixth, seventh and eighth tags 41, 42, 43, 44, 45, 46, 47, 48, respectively.
First and third tagged objects 31, 33 are within the range 21 of the interrogator 11. The third tagged object 33 recently moved into range 21. The first and second tagged objects 31, 32 were last identified by the interrogator 11 since they were last energised within the interrogation range 21. Tagged object 32 recently moved out of range 21. A fourth tagged object 34, currently not in interrogation range 2 of any of the interrogators 1, was last identified by a second interrogator 12 (not shown). A fifth tagged object 35, currently in the interrogation range 22 of a second interrogator 12 (not shown) was last identified by the second interrogator 12. A sixth tagged object 36 was last identified by a ninth interrogator 19 (not shown). Thus, third, seventh and eight tagged objects 33, 37, 38 have not been identified by any interrogator 1.
Referring also to
Entries in table 61 may be initially created by an application 7 (
The table 61 is divided into a plurality of fields 63, 64, 65, 66, 67, 68, 69 in a second direction (shown in
A first field 63 is used to store an identifier, such as UIDs 25 (
A second field (or set of fields) 64 is (are) used to store a first type of ancillary data, namely handles 46 assigned in previous singulations. As shown in
A third field 65 can be used to store security-related data 47 for secure transponders. As shown in
A fourth set of one or more fields 66 are used to hold another type of ancillary data, for example some contents of the memory 48 (
A fifth field 67 can be used to hold yet another type of ancillary data, in this case relating to the colour of the object 3 (
Ancillary data for one or more particular tagged objects may be unknown, for example in fields 66, 67, in which case the value of such fields remains unpopulated (empty, blank, null, zero, dash or whatever is more appropriate).
A sixth field 68 can be used to hold an identifier of the interrogator which last identified an object 3. As shown in
A seventh field 69 can be used to hold a timestamp when an object 3 is detected. As shown in
Operation of the inventory manager 50 and use of the table 61 which holds ancillary data will now be described in more detail.
Referring to
Tagged objects 3 which were last detected by an interrogator 1 within a fixed period or a period given by application 7 through parameter 58 will be hereinafter referred to as “recently detected”. Distinctly, recently detected tagged objects 3 have their handle 64 and/or interrogator ID 68 fields populated.
Referring also to
Each element in the first list 52 is constructed to contain a Boolean algebraic expression relating one or more value comparisons applicable to the data contents of selected tagged objects 3, namely UID 63, handle 64, security-related data 65, or memory values 66. For example, the function may take the form [Handle=H_3 AND first data item=A]. Each element in the list of authentication data 53 contains a list of security-related data 65, for example [SEC_1, SEC_3, SEC_5], for the target tagged objects 3 the selection data of which have been included in the corresponding position in the list of selection data 52.
To achieve maximum efficiency in the inventorying process, optimisation data are constructed according to specific rules dependent on the selectivity and/or size of each element of the lists of selection and authentication data 52 and 53.
The selectivity of an element of the list of selection data 52 is the number of tagged objects 3 that are addressed by the Boolean algebraic expression of such element in proportion to the number of tagged objects 3 potentially in range 2 of the interrogator 1. An element with good selectivity addresses proportionally few tagged objects 3 (for example when using a unique identifier). An element with poor selectivity addresses proportionally many tagged objects 3. To illustrate using the sample data in
Similarly, the selectivity of an element of an element (this is not a typo: remember that the authentication data is a list of lists) of the list of authentication data 53 is inversely related to the number of tagged objects 3 to which the security-related data of such element applies, in proportion to the number of tagged objects 3 potentially in range 2 of the interrogator 1 that are selected by the expression in the corresponding element in the list of selection data 52. An element with good selectivity addresses proportionally few tagged objects 3 (for example a unique password). An element with poor selectivity addresses proportionally many tagged objects 3 (for example a common password).
The size of an element of the list of selection data 52 depends on the amount of data necessary to evaluate the algebraic expression. For example, the expression “data item 1=‘this is a very long string of data’” has a size clearly larger than the expression “data item 2=‘A’”. Since during the selection process the elements of the algebraic expression need to be wirelessly transmitted to tagged objects 3 by the interrogator 1, the size of the selection expression has an impact on the performance of the selection process, and therefore on that of the inventory process.
On this basis, the basic rules for the construction of optimisation data, hereinafter referred to as “optimisation rules”, are:
The application of the optimisation rules above to the sample data in
Consequently, table 81 in
Referring still to
Referring still to
Referring still
Referring to
Throughout the inventory process the inventory manager 50 may detect tagged objects 3 the entries of which are not in table 61. In this case the inventory manager will create entries 62 for such tagged objects 3. The minimum data for such new entries are UIDs 45, included in field 63.
The entire process may be repeated, either immediately or after a delay.
The system and process may be modified in one or more of the following ways:
In other embodiments of the invention, the inventory manager 50 collects ambient data about tagged objects 3. The ambient data can be used to support the creation of optimisation data from the ancillary data in database 8. Ambient data may include, for example temperature, colour or transparency and may be selected to match one or more data items in the ancillary data in table 61 of database 8.
Referring to
Referring again to
Referring again to
Referring again to
In this example, the best selectivity is offered by handle 64 (selectivity of ¼) and the second data item 662 (selectivity of ¼ for the values “A” and “B”, and selectivity of 2/4 for value “C”). Additionally considering the first data item 661 improves selectivity for the fourth and the seventh tagged objects 34 and 37, particularly because of the early selection and inventorying of tagged objects 31 and 32, which despite having similar values for the first data item will not participate in any subsequent selections.
The application of the optimisation rules as explained above produces an example of suitable optimisation data 52, 53, illustrated in table 81′ in
Referring to
Examples of suitable sensors 9 include optical sensors, cameras (including infra-red and ultra-violet), microphones, barcode scanners, scales, thermometers, Geiger counters, ultrasound scanners, radars, sonars, artificial noses, spectrometers, mechanical sensors (e.g. an artificial arm with tactile capabilities), humidity and pressure sensors (for example to estimate the volume of a tagged object 3 when it enters an enclosed space).
Ambient data can be gathered by users. For example, an operator can place tagged objects 3 on a scale or use a barcode scanner to scan a barcode on a tagged object 3 in range of an interrogator 1. The barcode scanner is acting as a sensor 9 and producing sensed values (the barcode number) that can be used to optimise the selection and authentication data necessary to inventory such tagged object 3, particularly by excluding ancillary data of tagged objects 3 the barcode numbers of which do not match the sensed value.
Data items can be read from the memory 48 of secure transponders 4 (
Ambient data can be combined upon sensing or during the creation or updating of optimisation data. For example, the weight, temperature or colours of more than one tagged object 3 can be respectively added, averaged or blended. Referring to
The inventory manager 50 may also use ancillary data in the form of behavioural characteristics about tagged objects 3 to streamline the optimisation data, such behavioural characteristics gathered during previous executions and analysed at steps S702 and/or S718 and stored in database 8 at step S719. Behavioural characteristics (and/or blended sensed data as explained above) are used by the inventory manager 50 to determine the individual likelihood of tagged objects 3 to be within range 21 of interrogator 11. Such likelihood can in turn be used to:
Such likelihood may also be quantified as a probability p and used to calculate a “probabilistic selectivity” that can be used to further optimise the order of each element in such lists, specifically by using such probabilistic selectivity instead of the selectivity when applying the optimisation rules. Let us define p as the probability of a tagged object 3 of being within range 2 of an interrogator 1 according to its behavioural characteristics and/or blended sensed data.
For a given interrogator 1, the probabilistic selectivity PS of each element e of the list of selection data 52 is calculated as the sum of the probabilities p of each tagged object 3 addressed (selected) by such element e divided by the sum of the probabilities p of all tagged objects 3, being n the number of transponders 4 in the system (note that the value of p for tagged objects 3 recently detected in other interrogators 1 can be considered as zero):
Similarly, the probabilistic selectivity PS of each element a of an element of the list of authentication data 53 is calculated as the sum of the probabilities p of each tagged object 3 addressed (authenticated) by such element a divided by the sum of the probabilities p of each tagged object 3 addressed by the corresponding element e of the list of selection data 52:
In such embodiments, the inventory manager 50 sorts the lists of selection data 52 and/or authentication data 53 by probabilistic selectivity, hence combining the selectivity of the selection and authentication elements with the likelihood of every tagged object 3 to be within range 2 of interrogator 1. This strategy minimises the chances of collision and maximises the chances of an early authentication.
Examples based on four patterns of behaviour are described in more detail, namely:
Referring to
A first field 93 is used to store an identifier, such as UIDs 25 (
Alternatively, instead of purely recording the direction of travel of a tagged object 3 in field 94, the table 91 of historical data may contain timestamps for every detection or number of detections of tagged objects 3 (not shown).
Referring also to
For example, a first type of pattern concerns tagged objects 3 that move together in ad-hoc groups. The main characteristic of such groups is that tagged objects 3 visit similar sets of interrogator ranges 2 and arrive and depart from them in similar order and approximately at the same time. Such relationship can be spotted in many ways. One of them is to sort tagged objects 3 by interrogator identifier field 98, direction 94 and detection timestamp 69 and take tagged objects 3 that appear next or near to each other with a maximum difference between their timestamps that is less than a specified period of time, which can be fixed or given by application 7 through parameter 58 (
The security-related data 65 of tagged objects 3 should be placed in the list of authentication data 53 in the position corresponding to that of their selection data (i.e. tagged objects 3 are in the same order as explained for
The overall purpose of this mechanism is the prioritisation of the detection of tagged objects 3 participating in an ad-hoc group when at least one other tagged object 3 in such group has already been detected.
Apart from ad-hoc groups where the relationship between tagged objects 3 is purely behavioural, relationships between tagged objects 3 can be established explicitly through data items 66 listed in table 61 (
A second type of pattern refers to tagged objects 3 that usually move together according to a relationship specified by one or more values of their data items. In this example, a second tagged object 32 has the values A and B for the first and the second data items 661 and 662 respectively, and sixth, seventh and eighth tagged objects 36, 37, 38 have the values D and C for the first and second data items 661 and 662 respectively (
A third type of pattern refers to tagged objects 3 that usually move separately according to a relationship specified by one or more values of their data items. In the illustrated example, second and third tagged objects 32, 33 share the same value for the second data item 662, namely B. If such difference means “usually moving separately” according to pre-specified logic in the inventory manager 50 or as indicated by application 7 through parameter 58 (
A fourth type of pattern refers to tagged objects 3 that usually follow similar routes (for example, a given sequence of interrogators 1) according to a relationship specified by one or more values of their data items. Some or all of the interrogators 1 may have known positions and which may be fixed, so it may be possible to determine a route followed by a tagged object 3 as it passes from one interrogator 1 to another. Alternatively, such routes may be specified as specific characteristics of tagged objects 3, for example in a “master” table relating characteristics with possible routes (not shown), together with an associated likelihood. In the example, second and fourth tagged objects 32, 34 have the same values for the first data item 66, and colour 67, namely A and Blue respectively. If according to a pre-specified rule or as indicated by application 7 through parameters 58 this relationship means “usually following the same route”, the inventory manager 50 can infer that the fourth tagged object 34 may also be arriving within range 21 of interrogator 11 and calculate and use a priority indicator for the fourth tagged object 34 in a way similar to that explained for ad-hoc groups, thereby prioritising the order of the optimisation data for the fourth tagged object 34. Parameter 58 may also indicate the likelihood of two or more tagged objects 3 following the same route and/or a quantification formula for such likelihood so the creation of optimisation data can make use of the probabilistic selectivity as in the first type of behaviour.
An example of optimisation data that results from the application of the optimisation rules to the behavioural cases above is shown in table 81″ in
Groups, either ad-hoc or explicit ones, can also be used by the inventory manager 50 to further optimise the selection data by (a) choosing one or more tagged objects 3 from each group as representatives, (b) putting such representatives closer to the beginning of the list of selection data 52, and (c) removing the other tagged objects 3 in each group from the list of selection data 52 and putting their security-related data 65, if any, at the end of the list of authentication data 53, specifically in the entry corresponding to the generic interrogation (usually the last element of the list). Advanced embodiments of the inventory manager 50 may re-start the inventory process from step S701 (
Referring again to
As explained earlier, optimisation data is used to divide the population of transponders into small groups (i.e. subsets) such that the combined expected inventorying time of the subsets of transponders is less than the expected inventorying time of the set. Table 1 below illustrates the benefits of the dividing the population for inventorying. Table 1 below lists the average number of collision in a system which complies with ISO 18000-6C when segmented into subsets. The average number of collisions is calculated based on formulae presented in Yail Maguire and Ravikanth Pappu: “An optimal Q-algorithm for the ISO 18000-6C protocol”, IEEE Transactions on science and Engineering, volume 6, page 16 (2009).
As can be seen from Table 1, that the average number of collisions exceeds 1 for four or more tags and exceeds 2 for eight or more tags when the population (i.e. set) is not segmented. As is also seen from Table 1 above, the average number of collisions is reduced by segmenting the population, particularly if the population is segmented to have T-2, T-1 or T subsets, where T is the number of tags in the population.
The data shown in Table 1 above is based on an optimal number of slots. However, the number of slots is not limited to powers of 2 as used in the ISO 18000-6C compliant Q-algorithm.
It will be appreciated that many modifications may be made to the embodiments hereinbefore described:
Fewer or more interrogators 1, transponders 4, databases 8, sensors 9, and applications 7 can be used.
Further behaviour patterns may be included, for example the average time a tagged object 3 stays in range 2 of an interrogator 1 or outside range 2 of all interrogators 1 may be estimated from its past behaviour or from the behaviour of other related tagged objects 3, and used to calculate the likelihood of a tagged object 3 to be in or out of range 2 of an interrogator 1, such a likelihood used to tailor the optimisation data as explained. Similarly, the time taken for a tagged object 3 to travel between certain interrogators 1 may be estimated from previous executions and used to calculate the likelihood of a tagged object 3 to be in range 2 of an interrogator 1 after leaving range 2 of another interrogator 1.
Auxiliary tables (not shown) in database 8 may be used to register previous analyses of behaviour, for example to register previously detected ad-hoc groups, such auxiliary tables used in the future to reduce calculation overheads.
For example, database 8 can be centralised or distributed and its components can be stored in a separate device, for example in a computer (not shown) also connected to the network 5, or in the storage area 25 or memory 22 of interrogators 1 shown in
The transponders 4 need not be passive, but can be active transponders.
The interrogators and transponders 4 need not communicate through RF portion of the spectrum, but can communicate at other frequencies, e.g. LF, optical etc.
Features of the embodiments hereinbefore described can be combined in further embodiments.
Number | Date | Country | Kind |
---|---|---|---|
1116320.1 | Sep 2011 | GB | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/GB2012/052314 | 9/20/2012 | WO | 00 | 3/21/2014 |