Method of Marking and Apparatus
The current invention relates to a method of marking, apparatus for marking, goods that have been marked, and a verification method for verifying relationships between packaged articles in a packaging hierarchy.
It is desirable for manufacturers of products to be able to mark their products, and their packaging, with identification codes. These can help in product tracking and tracing and assist in the prevention and detection of, for example, "parallel importation" of products or counterfeit products.
To achieve these aims, products and their packaging may be marked with identification codes. These codes could be simply applied in the form of (for example) sequential numbers. The disadvantage of these methods is that they are easy for a counterfeiter to predict, and therefore easy for the counterfeiter to reproduce. Furthermore, for high- volume products, the number of codes that are generated is large. Each code must be stored in a management database, and this can amount to a considerable volume of data for a large-scale manufacturer to store and manage.
An additional drawback of this approach is that the code numbers stored in the database represent a security risk for the manufacturer. In the event that the security of the database was compromised, the counterfeiter would be able to apply valid codes to their products, or insert fake codes into the authentication database.
Processes have been identified to address these problems, notably the process described in WO 00/23954. This process generates a large number of codes that do not need to be stored in a database following application to the product or packaging.
Take an example where a factory is producing electric light bulbs on a production line. Each bulb is packed into a pack, and thirty packs are packed into an outer shipping case. Assume that twenty shipping cases are packed onto a pallet.
In this example, to uniquely identify each bulb and to record an identifier of the packaging pack that the bulb could be placed in and the pallet that the bulb was shipped on, would require numerous codes to be generated, applied and stored (assuming a unique random number is applied to each level of the packaging, and no coding is applied to the bulb itself). Additionally, the codes would typically be applied to the packaging at the start of the production line, using a human-readable and/or machine- readable code (for example a barcode). The barcode would be used at the next collection and coding point on the line, where the code applied to the first marked item would be scanned, and captured into the database. This captured code would then be associated in the database with the coding applied to the secondary packaging and so on until all the levels of product or packaging have been marked, and all the data recorded.
Table 1 shows the numbers of each type of code that would be required, in a typical example.
Table 1
In addition, records would be needed to maintain the relationship of which bulbs went into which cases, and which case belongs on which pallet. The additional data required is illustrated in Table 2.
Table 2 This requires a total storage capacity of (600+20+1+600+20) = 1241 records.
In addition to this, it would be necessary for the production line to apply the codes to the first item (the pack), and then to scan the codes back into the database at the point at
which the shipping cases are packed. It is not desirable to have scanning points to recover data from a production line, as they are expensive and (particularly at higher production speeds) unreliable. Figure 1 illustrates this labelling scheme diagrammatically, the process proceeding in a downward direction, and the quantities quoted being by way of example only.
An aim of this invention is to provide a method of marking products that is secure, which requires a lower storage capacity than known marking systems, and which does not require data to be scanned from a production line, and apparatus for enabling the method.
From a first aspect, this invention provides a method of marking packaging articles, in which the articles are packaged in a packaging hierarchy, the method comprising: (a.) generating a top-level code to be applied to a unit of packaging in the highest marked level of the packaging hierarchy; and (b.) generating a next-highest level code for each unit of packaging in the next-highest level of packaging to be marked, wherein the next- highest level codes are derived algorithmically from the top-level code.
The highest marked level of packaging is a level of marked packaging that contains all the lower levels of marked packaging.
Thus, it is not necessary to store data that identifies the relationship between codes in adjacent levels of the hierarchy. To determine whether a marked article is contained in a correctly marked higher-level packaging unit, it is simply necessary to check whether the marking on the article can be derived by application of the algorithm upon the marking on the higher-level packaging unit. A record is kept of which algorithm was used to generate the lower level codes. Preferably the top-level code is also stored in a storage means for use in a verification process.
The method is particularly applicable to controlled packaging processes. Controlled packaging processes are processes wherein the flow of goods is substantially predictable such that, for example, goods moving from a marking station arrive at a packaging station in substantially the same order as they left the marking station.
The method may further include, for each unit of packaging in the next level to be marked, generating a next level code to be applied to that unit of packaging, the codes being derived algorithmically from a higher level code applied to a higher level unit within which that unit will be packaged. This step may be repeated for all marked levels in the packaging hierarchy. This effectively extends the method to further levels in the packaging hierarchy.
The codes may be generated using a cryptographic algorithm. In preferred embodiments, the cryptographic algorithm is reversible. This allows the original code to be derived from the encrypted code marked on a unit of packaging.
Indicia representing one or more code (typically, each code in a level of the hierarchy) are typically applied to the packaging unit to which the code relates. These may be human-readable (e.g., letters and numbers) and/or machine-readable (e.g., a barcode). Alternatively, data representing the code may be stored in storage means associated with a product, for example, within a radio-frequency tag. Preferably the codes generated are stored in a temporary storage means for application to the product or packaging articles, for example via at least one printer.
Preferably each next-highest level code is applied to its packaging article before the top- level code is applied to its packaging article. For example, in a preferred embodiment the codes can be applied to the product or packaging articles in reverse order from that in which they were derived, starting with the lowest marked packaging level and ending with the highest marked packaging level.
To make the system more secure encrypted versions of the packaging codes can be applied to the packaging articles.
In a preferred embodiment the next-highest level codes are derived algorithmically from the top-level code and private identification data. For example, the private data may be times of manufacture, item numbers or other unique data. In this embodiment, a data set including the top-level code and the associated private data are stored in storage means. The private data may comprise at least one private data set (e.g. time of manufacture) and preferably comprises a plurality of private data sets (e.g. time of manufacture and item number). The next level codes are derived algorithmically from the higher level
code applied to the higher level unit within which that unit will be packaged and private identification data. Each higher level code and the associated private identification data are stored in the storage means.
Advantageously a different algorithm can be used to generate the next level of codes from the algorithm used to generate the previous level codes.
From a second aspect, the invention provides a plurality of hierarchically packaged articles, comprising a top level package and one or more lower levels, each lower level containing a plurality of packages, in which a code is associated with each package, wherein for each lower level, the code of each package is derived algorithmically from the code of the higher-level package within which it is contained.
From a third aspect, the invention provides a method of packaging marked articles, in which the articles are packaged in a packaging hierarchy, the method comprising: (a.) marking packaging in accordance with the method described above; and (b.) packing each unit of a lower level packaging that is algorithmically associated with a next- highest level packaging into that packaging.
Preferably packing each unit of lower level packaging into the next-highest level packaging includes controlling the movement of marked packaged articles from a marking station to a packaging station such that the order in which the articles arrive at the packaging station is the same as the order in which they left the marking station.
From a fourth aspect, the invention provides apparatus for marking packaging articles, in which the articles are packaged in a packaging hierarchy, the apparatus comprising: (a.) means for generating a top-level code to be applied to a unit of packaging in the highest marked level of the packaging hierarchy; and (b.) means for generating a next- highest level code for each unit of packaging hi the next-highest level of packaging to be marked, wherein the next-highest level codes are derived algorithmically from the top-level code.
For example, the means for generating a top-level code and the next-highest level code may comprise a computer system including a permanent data storage means such as a
database stored on a hard drive and temporary data storage means such as the Random Access Memory of the computer.
Advantageously the apparatus includes means for generating a next level code to be applied to a unit of packaging for each unit of packaging in the next level to be marked, the next level codes being derived algorithmically from a higher level code applied to a higher level unit within which that unit will be packaged. Preferably the apparatus is arranged to repeat this for all marked levels in the packaging hierarchy.
Advantageously the apparatus may include a printing system for applying the codes to the packaging articles, products or labels to be applied thereto. Preferably the codes are stored in the temporary storage means before being sent to the printing system for application to the packaging levels.
Preferably the printing system is arranged to apply the codes to the packaging articles in the reverse order in which they were derived, that is in reverse hierarchical order so that the lowest level codes are applied first and the highest level codes are applied last.
Advantageously the permanent storage means is arranged to store records wherein private data is associated with a particular code.
Advantageously the apparatus may include a verification module arranged for verifying relationships between packaged articles in the packaging hierarchy.
From a fifth aspect, the invention provides a verification method for verifying relationships between packaged articles in a packaging hierarchy, that includes packaged articles marked by a method according the method described above, and the verification method includes applying a cryptographic test to establish the relationship between codes applied at different levels of the packaging hierarchy to determine whether different levels of packaging are related.
For example, the method may include comparing a packaging code on a packaged article with the next-highest level or next-lowest level packaging code by inputting the packaging code into an algorithm that has previously been used to define a relationship
between successive packaging code levels and thereby obtain at least one verification code that can be compared with the next-highest or next-lowest packaging code.
In one embodiment the packaging code is initially used to locate a record in a storage means that contains private identification data, wherein the private identification data and the packaging code are entered into the algorithm to obtain the at least one verification code.
An embodiment of the invention will now be described in detail, by way of example, and with reference to the accompanying drawings, in which:
Figure 1 is a flow diagram illustrating a conventional marking process discussed above;
Figure 2 is a flow diagram illustrating a marking process according to a first embodiment of the invention;
Figure 3 is a schematic of a marking process according to the first embodiment of the invention;
Figures 4 - 6 show a product package (pack), a shipping case and a pallet respectively that form a packaging hierarchy suitable for use in the invention; and
Figure 7 is a schematic of a marking process according to a second embodiment of the invention.
Figures 2 and 3 illustrate the steps in a marking process according to a first embodiment of the invention. Code numbers are applied to hierarchically packaged goods, based on an understanding of the relationship between the product and its packaging hierarchy to mitigate the problems of known methods, as discussed above. In hierarchical packaging schemes, products are packaged into product packs 10 (see Figure 4). A plurality of product packs 10 may then be assembled into a collection, which is then packaged, for example, in a shipping case 12 (see Figure 5). A plurality of the shipping cases 12 are then assembled and further packaged, for example, in a load 14 on a pallet 16 (see Figure 6), up to some maximum level. The hierarchy may contain from two levels, up to an arbitrary maximum.
Using a view of the production process that starts from the demand - that is, the pallet — end of the process, it is possible to predict coding information for a production process.
Taking the packaging scheme example described above with reference to Figure 1 (each bulb is packed into a pack 10, thirty packs are packed into an outer shipping case 12 and twenty shipping cases 12 are packed onto a pallet 16), the current process starts with the pallet 16. Preferably one data record for a pallet code 20 is stored in a permanent store 18 such as a computerised database. The pallet code 20 is unique to the pallet 16 and can be, for example, a random number, a pseudo random number, a code or text that relates to the product in some way such as an order number, manufacturing number or time of manufacture.
The pallet code 20 is also stored in a temporary store 22 such as the memory of a computer so that it can be sent to a printer for application to the pallet 16 at the appropriate time.
Then for each of the twenty secondary packs (shipping cases 12), a further code 26 is generated by applying a reversible encryption algorithm 24 to the pallet code 20. For example, a Data Encryption Standard (DES) algorithm can be used. Any suitable type of reversible algorithm may be used, including those that require an encryption key and those that do not. The twenty shipping case codes 26 are stored in the temporary store 22. A record of the shipping case codes 26 is only required until they have been applied to the shipping cases 12. After this, no record of the shipping case codes 26 is needed since each of the shipping case codes can be derived from the pallet code 20 via the reversible algorithm.
Then for each of the thirty packs 10 within each shipping case 12, a further code 28 is generated by applying a reversible encryption algorithm 30 to the shipping case code 26 (600 in total). The algorithm can be the same algorithm as used to generate the shipping case codes although it is preferably applied differently. For example, if the reversible algorithm uses an encryption key then a different encryption key can be used. Alternatively, a different reversible encryption algorithm may be used. The pack codes 28 are stored in the temporary store 22 until they have been applied to the packs 10.
After this, no record of the pack codes 28 is needed since each of the pack codes can be derived from the pallet code 20 via the reversible algorithm(s) 24,30.
It should be noted that the process starts when the need to produce the largest packaged unit is identified. In this example, this is when the need to produce a pallet 16 is identified, but it may be before production actually starts. The codes are applied to the packaging units as they are assembled in an order that is suitable for the packaging process. For example, they may be printed on the pack 10 or included on a label 32 identifying a shipping case 12 or a pallet 16. Alternatively or additionally, the code may be encoded into a storage device, such as a radio-frequency tag 34, that is associated with the packaging unit. Preferably, the codes are applied to the packaging in the reverse direction from which the codes are generated, that is from the lowest level packaging (packs 10 in this example) to the highest level packaging (pallet 16 in the example).
The thirty packs 10 that have codes derived from a particular shipping case are collated and packed into that shipping case 12. This is repeated for each of the shipping cases 12. Then the twenty shipping cases 12 that have codes derived from the pallet code 20 are collated and are loaded onto the pallet 16. Preferably the marking process is controlled between a marking station and a packing station so that the marked packaging units arrive at the packing station in the same order as they left the marking station. This enables the lower level packaging articles to be easily collated and packed into the higher level packaging articles with which they are related. Preferably the flow of articles is controlled between the marking and packaging stations for each level of packaging.
After the codes have been applied to the packaging they are deleted from the temporary store 22.
The process works because the identification codes applied to each item are derived cryptographically from the code applied to the packaging within which that item is contained. It is therefore easy to determine if the item could have come from the packaging in which it was supplied, by applying a cryptographic test. In this model, it is not necessary to store those codes that relate the records in the different packaging
levels to each other, however it is necessary to keep a record of the algorithm(s) used to generate each level of code and the number of levels in the hierarchy. The cryptographic relationship is enough to produce evidence to prove if the two codes are related. It is preferable to store the pallet code 20 for use in subsequent verification processes. With knowledge of the pallet code 20 and the algorithm(s) used to generate lower level codes, all lower level codes can be generated.
There may be additional levels of packaging in the packaging hierarchy that are not marked. Provided that the packaging relationships are maintained between the marked levels, the invention will still work.
A second embodiment of the invention that includes the use of public and private data to generate packaging codes is shown in Figure 7. Taking the prior art packaging scheme example described above with reference to Figure 1, the current process starts with the a pallet identification code 120. The pallet code 120 is unique for a particular pallet 16. Then, for each of the twenty secondary packs (shipping cases 12), a further code 126 is generated by applying an encryption algorithm 124 to a first data set 121 that comprises the pallet code 120 (public data) and private identification data 123. Only the manufacturer knows the private identification data 123. The private identification data 123 is unique to the pallet, for example it may comprise date and time information, an order number, an item number, a random or pseudo random number. The encryption algorithm 124 can be a reversible or a non-reversible algorithm.
The first data set 121 is stored in a permanent store 118 such as a computerised database so that there is an association between the pallet code 120 and the private data 123 used to generate the case codes. The pallet code 120 is also stored in a temporary store 122 such that it can be sent to a printer for application to the pallet 16 at the appropriate time.
Then for each of the thirty collections (packs 10) within each shipping case 12, a further code 128 is generated by applying an algorithm 130 to a second data set 125 that comprises the shipping case code 126 and private identification data 127 that is known only to the manufacturer. The algorithm 130 can be the same algorithm 124 that was
used to generate the shipping case codes 126, whether or not a different encryption key is used. Alternatively a different algorithm may be used. The private identification data 127 is unique to the shipping case 12. The second data set 125 is stored in the permanent store 118 such that there is an association between the case codes 126 and the private identification data 127 used to generate the pack codes 128.
Each shipping case code 126 and each pack code 128 are stored in the temporary store for application to the packaging via printers.
The number of records stored in the permanent database 120 is twenty one in the example above: one record for the first data set 121 and twenty records for the second data set 125. It is also necessary to store the algorithm(s) used to generate each level of code and the number of levels in the hierarchy. The number of records kept in the prior art system for a similar packaging hierarchy is 1241. Thus the invention has the advantage that far fewer records are required to be stored for the marking system to work. This can be significant for high volume manufacturing processes.
The data generated in creating these codes is represented in Table 3.
Table 3
The codes are applied to the packaging and the packaging units collated in a similar way to the first embodiment of the invention. Likewise, after the codes have been applied to the packages they are deleted from the temporary store.
In the second embodiment verification is achieved by entering the packaging code into a verification interface. The packaging code is used to identify the data set associated with it in the permanent database 120. The packaging code, for example a pack code
128, and the associated private identification data are then entered into the algorithm that was used to generate the pack code 128 thereby generating a case code 126. By comparing the printed shipping case code with the generated case code it is possible to determine whether the pack 10 being verified is in the correct shipping case 12.
If a shipping case code 126 and its associated private data is entered into the encryption algorithm for verification purposes, thirty pack codes 128 will be generated. The pack code printed on the pack 10 can then be compared with the list of codes to establish if it is in the correct shipping case 12.
In summary:
1. The codes are derived based on the numerical relationship of the packaging or product items to be marked.
2. The product/packaging coding is driven from the requirement to mark the last entity in the marking hierarchy (in our example the pallet). This avoids having to scan or otherwise retrieve codes from the production line, for example, by scanning.
3. The numerical relationship can be used to define and build sets of codes prior to manufacturing, or on-the-fly, during production.
4. A cryptographic test can be used to test the relationship between codes applied at different levels of the packaging hierarchy to determine whether different levels of packaging are related.
Embodiments of the invention are particularly effective where the production process is controlled. It is also particularly effective where errors in the process (e.g. from reject product) are negligible, because high rejection rates can reduce the accuracy with which the location of an individual item can be predicted.
The codes may be applied to the packing articles using alphanumeric characters, bar codes or any other known technique. The codes may be used in conjunction with known reading / scanning devices, such as bar code readers, for convenience of verification purposes.
Optionally, to make the process more secure, an encrypted version of the codes can be applied to the packaging. A suitable encryption method is described in US 6,088,456. This makes the process more difficult for counterfeiters to copy.