To generate and store a unique marking code for liquid food packaging.

The use of encrypted marking codes with a distributed database partitioned by marking codes and a hash function addresses the challenge of storing and managing large volumes of unique package data, enhancing storage efficiency and performance.

JP7839729B2Active Publication Date: 2026-04-02TETRA LAVAL HOLDINGS & FINANCE SA
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2020-11-12
Publication Date
2026-04-02

AI Technical Summary

Technical Problem

Existing systems face challenges in efficiently storing and managing vast amounts of unique marking codes for liquid food packages, which can exceed 1 PB of data, due to resource constraints and non-uniform data distribution in databases.

Method used

A method and system that generate encrypted marking codes using a cryptographic algorithm, distribute them across a distributed database using a marking code as a partition key, and apply a hash function to ensure uniform data distribution, enabling scalable storage and retrieval.

Benefits of technology

This approach achieves efficient and scalable storage and retrieval of package-related data, reducing resource consumption and improving database performance by eliminating skew, thus supporting large-scale liquid food packaging operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007839729000001
    Figure 0007839729000001
  • Figure 0007839729000002
    Figure 0007839729000002
  • Figure 0007839729000003
    Figure 0007839729000003
Patent Text Reader

Abstract

A method for generating a marking code for uniquely identifying a package of a liquid food product is carried out in a system including a code generator (22) operable to generate a marking code (MC) by encrypting package production data (EPD) uniquely representing the production of an individual package and to provide the marking code (MC) for marking the individual package. The system further includes a code conversion device (24B) operable to generate a partition key (PK) in response to the marking code (MC) and a storage interface (24C) coupled to a database (30) including a plurality of partitions (P1-Pj). The storage interface (24C) is operable to determine a partition selected from the plurality of partitions (P1-Pj) based on the partition key (PK) and to store package description data (PID) including (a subset of) the marking code and (a subset of) the package production data within the selected partition.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure generally relates to the manufacture of packages for liquid foods, in particular to generating and storing unique marking codes for such packages.

Background Art

[0002] Billions of liters of water, milk, juice, and other liquid foods are consumed every day worldwide. Most liquid foods are distributed in paper-based packages, also known as carton packages. These packages are manufactured to protect both the nutritional value and taste of the liquid foods inside. The underlying technology significantly facilitates the packaging and distribution of liquid food products across the world.

[0003] The present applicant has identified the need to mark each package with a unique code. The provision of a unique code on each package enables various functionalities such as: tracking and tracing the package throughout the manufacturing and distribution chain, verifying the authenticity of the package, linking to web content related to the package for access by consumers or retailers, associating the unique code with sales promotion campaigns and lotteries, causing an automated action on a manufacturing machine upon detection of the unique code, and so on.

[0004] European Patent Application Publication No. 3540664 discloses a robust technique for providing marking codes for packages containing liquid foods, where each marking code uniquely identifies an individual package. The marking codes are based on payload data that uniquely represents the manufacture of the individual package and can indicate the time and / or place of manufacture. The payload data is encrypted to make it difficult to guess valid codes and generate invalid codes. The marking codes are formed by combining the encrypted payload data with an unencrypted header portion. The marking codes are provided on the package and entered into a database (optionally associated with additional data). To enable efficient and fast searching within the database, European Patent Application Publication No. 3540664 proposes segmenting the database based on the time and / or place indicated by the payload portion and storing each marking code in a database segment that corresponds to the time and / or place in the marking code.

[0005] Liquid food packaging is manufactured on an industrial scale for the global market. A vast number of packages are produced every year. For example, within the Tetra Pak® ecosystem, 188 billion (10) packages are produced annually. 9 The package was manufactured in 2016. Considering that the packaged product may have a shelf life of 6 months to 1 year or more (e.g., up to 5 years), a huge number of unique marking codes need to be generated and stored in a database. Deploying marking codes in such an environment is likely to generate more than 1 PB of data. This amount of data is difficult to store and manage within a single database.

[0006] Therefore, storing these and other types of marking codes on the packaging of liquid food products, which are supplied in large quantities, in a database without excessive resource consumption, while enabling fast and efficient storage and retrieval within the database, is a challenge. [Overview of the Initiative] [Problems that the invention aims to solve]

[0007] The object of the present invention is to overcome at least partially one or more limitations of the prior art.

[0008] Another objective is to enable fast and efficient storage and retrieval of package-related data for individual liquid food packages within a database.

[0009] Another objective is to enable a scalable database that allows for storage capacity of package-related data exceeding 1 PB. [Means for solving the problem]

[0010] One or more of these objectives, and other objectives that may become apparent from the following description, are at least partially achieved by the marking code generation method, computer-readable medium, and system for generating marking codes according to the independent claim (the embodiment thereof is defined by the dependent claim).

[0011] A first aspect of this disclosure is a method for generating a marking code to uniquely identify a package for a liquid food product. The method includes: obtaining package manufacturing data that is unique for each individual package; applying a predetermined cryptographic algorithm to the package manufacturing data to generate encrypted package manufacturing data; generating a marking code that includes the encrypted package manufacturing data; providing a marking code for marking individual packages; and storing package detail data in a database that includes multiple categories, including at least one subset of the marking code and at least one subset of the package manufacturing data for individual packages. The storage includes generating a category key according to the marking code, determining which category to select from among multiple categories based on the category key, and operating a controller linked to the database to store the package detail data in the selected category.

[0012] In some embodiments, operating the controller involves applying a predetermined mapping function to a partition key, the mapping function being configured to map the partition key to a set of partition identifiers, each containing the respective partition identifier of one of a plurality of partitions, and the selected partition is determined based on the current partition identifier generated by the mapping function of the partition key.

[0013] In some embodiments, the predetermined mapping function includes a hash function.

[0014] In some embodiments, the given cryptographic algorithm is a block cipher.

[0015] In some embodiments, package manufacturing data is acquired to represent at least one of the locations and times in which individual packages are manufactured.

[0016] In some embodiments, at least one subset of the marking code includes encrypted package manufacturing data.

[0017] In some embodiments, the database is a distributed database.

[0018] A second aspect of this disclosure is a computer-readable medium containing computer instructions that, when executed by a processor, cause the processor to perform the method of the first aspect or any embodiment thereof.

[0019] A third aspect of the present disclosure is a system for generating marking codes to uniquely identify packages of liquid food products. The system includes a code generator configured to apply a predetermined cryptographic algorithm to package manufacturing data (unique to each individual package) to generate encrypted manufacturing data. The code generator is further configured to generate marking codes including encrypted manufacturing data and to provide marking codes for marking individual packages. The system further includes a storage interface coupled to a database including a plurality of divisions. The storage interface is arranged to receive package detail data including at least one subset of marking codes and at least one subset of package manufacturing data for individual packages. The system further includes a code conversion device configured to generate a division key in accordance with the marking code and to provide the division key to the storage interface. Upon receiving the division key, the storage interface is configured to determine a selected division from a plurality of divisions based on the division key and to store the package detail data within the selected division.

[0020] Any embodiment of the first aspect may be adapted and implemented as an embodiment of the third aspect.

[0021] Further objectives, as well as features, aspects, and advantages of embodiments, will become apparent not only from the accompanying drawings but also from the following detailed description.

[0022] Next, some embodiments will be described with reference to schematic drawings as non-limiting examples.

Brief Description of the Drawings

[0023] [Figure 1A] An overview of the manufacturing and distribution chain of packages for liquid foods [Figure 1B] A schematic diagram of such a package [Figure 2] A block diagram of an exemplary system for marking packages with unique codes [Figure 3A-3B] Plots of data segments in a distributed database generated for 5,000 and 30,000 logical segments respectively, based on a division key representing the place of production [Figure 4] A block diagram of a system for marking packages with unique codes according to some embodiments [Figures 5A-5D] Plots of data segments in a distributed database generated for 1,000 and 30,000 logical segments respectively, based on a division key representing the unique code [Figure 6] A flowchart of a marking method according to some embodiments [Figure 7] A block diagram of a machine capable of implementing the marking method of FIG. 6

Modes for Carrying Out the Invention

[0024] Next, some embodiments will be further described in more detail below with reference to the accompanying drawings, which show some but not all embodiments. In fact, the present invention may be embodied in various forms and should not be limited to the embodiments described herein. Rather, these embodiments are provided so that this disclosure can meet the applicable legal requirements

[0025] Furthermore, where possible, it is understood that any advantages, features, functions, devices, and / or modes of operation of any embodiment described and / or intended herein may be included in any other embodiment described and / or intended herein, and vice versa. In addition, where possible, any term expressed in the singular form herein is to include the plural form (and / or vice versa) unless otherwise specified. As used herein, “at least one” means “one or more,” and these phrases are intended to be interchangeable. Thus, the indefinite article means “at least one” or “one or more,” even if the definite article phrase “one or more” or “at least one” is used herein. As used herein, unless the context otherwise requires language or necessary implications, the term “includes” or its variations is used in an inclusive sense, i.e., to specify the presence of a stated feature rather than to exclude the presence or addition of other features in various embodiments. As used herein, the term "and / or" includes any combination of one or more items from the related enumeration.

[0026] As used herein, “liquid food” means any food that is non-solid, semi-liquid, or pourable at room temperature (including beverages such as fruit juices, wines, beers, and sodas, as well as dairy products, sauces, oils, creams, custards, soups, pastes, etc., and solid foods in liquid form (such as beans, fruits, tomatoes, and stews)).

[0027] As used herein, “package” means any package or container suitable for the airtight storage of liquid foods, including, but not limited to, containers formed from cardboard or packaging laminate (e.g., containers made of or containing cellulose-based materials and plastic materials).

[0028] Well-known functions or structures may not be described in detail for the sake of brevity and / or clarity. Unless otherwise defined, all terms used herein (including technical and scientific terms) have the same meaning as those generally understood by those skilled in the art to which the present invention pertains.

[0029] Similar reference numerals refer to similar elements throughout this specification.

[0030] Figure 1A is a schematic diagram of the manufacturing and distribution chain for liquid food packaging. The illustrated chain includes manufacturing stage 1 for producing the packaging materials, filling stage 2 for producing packaging containing liquid food, distribution stage 3 for distributing packaging containing liquid food, retail stage 4 for providing packaging to consumers, and stage 5 where packaging is handled by consumers and liquid food is consumed by consumers.

[0031] In manufacturing stage 1, the sheet material for the package is manufactured in conversion plant 10. The sheet material is typically paper-based and is supplied to filling stage 2 in rolls 11. In the illustrated example, stage 1 also involves a dedicated plant 12 that manufactures the lid 13 for the package (usually made of plastic). If the package is formed without a lid, plant 12 is not present in stage 1. It is also possible that stage 1 includes additional plants that manufacture specific components of the package.

[0032] In filling stage 2, the filling plant 14 acts on the sheet material 11, lid 13, and liquid food to provide a package containing the liquid food. For example, the production line in the filling plant 14 may form the sheet material 11 into a container, fill the container with the liquid food, and seal the container to form a package. The production line may also attach the lid 13 to the container. Figure 1B shows an example of a package 16 produced by the filling plant 14. Stage 2 may further include external processing 15 of the package (e.g., palletizing) before entering distribution stage 3.

[0033] It should be understood that "the manufacturing chain can typically involve many different conversion plants 10, lid plants 12, and filling plants 14, which may be distributed globally." Each of plants 10, 12, and 14 may contain multiple production lines.

[0034] As shown in Figure 1B, package 16 includes a data carrier 17 representing a marking code. The data carrier 17 may be implemented by any known technique for providing a code to a manufactured product. In one example, the data carrier 17 is printed on package 16, for example, as a series of human-readable symbols (e.g., features) or as one or more barcodes or 2D codes (e.g., DataMatrix, QR code) or as machine-readable graphical symbols. In another example, the data carrier is an electronic tag, where the code is stored and made available for wireless retrieval with tags (e.g., NFC, RFID, BLE) that conform to any conventional standard for this purpose.

[0035] The marking code is generated to be unique for at least a predetermined lifespan for each package 16 within the entire ecosystem of plants 10, 12, and 14 in the manufacturing chain, as illustrated in Figure 1A. The marking code may be applied to the package in any of the plants 10, 12, and 14 shown in Figure 1A. For example, the marking code may be applied by the conversion plant 10 at a predetermined location on the sheet material 11 so that it is located on each package of the package 16 manufactured by the filling plant 14. In another example, the marking code may be applied to each lid 13 by the lid plant 12. In yet another example, the marking code may be applied by the filling plant 14 to the sheet material 11, lid 13, intermediate container, or package 16. It should be understood that a package 16 may contain two or more such unique marking codes (e.g., one on the lid 13 and one on the package 16). It is also conceivable that the unique marking code is provided to the package or group of packages in a subsequent process 15 (e.g., palletizing).

[0036] Several embodiments relate to storing marking codes and associated data in a database and are illustrated below with reference to the implementation of marking codes described in the aforementioned European Patent Application Publication No. 3540664, which is incorporated herein by reference in its entirety.

[0037] Specifically, the marking code includes payload data that is unique to the manufacturing of individual packages and is encrypted by a predetermined cryptographic algorithm. Generally, the marking code consists of a series of values ​​(e.g., binary values). The payload data (hereinafter referred to as package production data (PPD)) may include data elements that identify the place and / or time of manufacture. In the first example, the data elements in the PPD include an identifier for the manufacturer operating the plant (manufacturer ID), the plant (plant ID), the production line within the plant (line ID), and the equipment to which the marking code is added to the package (equipment ID). The PPD further identifies the current time of manufacture by, for example, year, day, hour, minute, second, and a subsecond resolution counter (package counter) which may or may not be randomly selected. In the second example, the data elements within the PPD include a plant identifier (manufacturing unit ID), a manufacturing batch identifier, a package identifier within the manufacturing batch which can be identified by a period (e.g., the current year and month), and a batch number (request number) within that period which can be identified by a package number within the manufacturing batch (package counter). The package number may or may not be randomly selected. The marking code may further include an unencrypted header section which may or may not be obfuscated and may contain data that enables the decryption and verification of the encrypted PPD.

[0038] Figure 2 schematically shows an exemplary embodiment of a system 20 configured for package code generation, code storage, and marking. The system 20 includes a PPD generator 21, a code generator 22, a marking device 23, and a storage controller 24 coupled to a database 30. The PPD generator 21 is configured to provide package manufacturing data PPD, which will be included in the marking code. In one implementation ("inline implementation"), the PPD generator 21 is synchronized with manufacturing for automatic real-time generation of the PPD, for example, as in the first example above. In another implementation ("offline implementation"), the PPD generator 21 is operated to provide the PPD before manufacturing (for example, structured according to the second example above). The code generator 22 is configured to generate a marking code MC based on the PPD from the PPD generator 21 and provide the marking code to a marking device 23, which is operated to apply the respective marking code to the manufactured product (such as a sheet material 11, a lid 13, or a package 16). As can be understood from the above, the marking device 23 may be a printer, an ablation device, or a device that embeds a code into an electronic tag (which may be attached to or pre-attached to the product by the marking device 23). In inline implementation, the code generator 22 is synchronized with manufacturing to generate the marking code in real time. In offline implementation, the code generator 22 may generate the marking code either before or in synchronization with manufacturing.

[0039] The storage controller 24 is configured to receive the Package Package Data (PPD), Marking Code (MC), and possibly additional data. Based on this, the storage controller 24 generates package itemization data (PID) and stores it in the database 30. Each PID corresponds to an individual package and forms a data item for storage in the database 30. In some implementations, the data item may be, for example, a row in a table (SQL database) or a document in a set (NoSQL database). As can be seen from the above, a large number of data items will ultimately be stored in the database 30, and therefore the database 30 should be scalable and preferably horizontally scalable for resource efficiency. In one embodiment, the database 30 is a distributed database containing multiple logical partitions, where each logical partition may have a predetermined maximum size and is assigned a unique partition identifier (partition ID). In a non-restrictive example, the predetermined maximum size is in the range of 0.1–100 GB. The database management system (DBMS) 30A of the database 30 is operated to transparently and automatically distribute data items from logical partitions (for example, based on a "partition key" (also known as a "distribution key") for each data item). The storage controller 24 may provide the DBMS 30A with an interface that allows the operator to set the partition key to be used and enables manual or automatic uploading of data items for storage in the database 30. The DBMS 30A may be proprietary to the host of the distributed database 30 and may be configured to map logical partitions to multiple nodes in any preferred relationship, and may include any one of a physical server, virtual server, or virtual LUN (logical unit number) that accesses one or more storage devices (such as hard disk drives (HDDs) and / or solid-state drives (SSDs)) to efficiently satisfy scalability and performance needs.As throughput and storage requirements increase, DBMS30A may move logical partitions to automatically distribute the load across a large number of servers. DBMS30A may be any commercially available system, and the distributed database 30 may be implemented as an SQL or NoSQL database. In one embodiment, DBMS30A is a cloud computing platform. In a particular implementation, DBMS30A is contained within Microsoft Azure Cosmos DB, a globally distributed multi-model database service. In a specific example, DBMS30A is configured to operate as a NoSQL document database.

[0040] The package detail data PID includes a marking code or a subset thereof, and at least one subset of data elements within the PPD. The PID may also include additional data elements associated with the generation of the marking code, the manufacturing of the package, or its storage in the database. In one non-limiting example conforming to the first and second examples of the PPD described above, the PID includes a marking code (or a subset thereof), a manufacturer ID, a plant ID, a line ID, an equipment ID, a year, a day, an hour, a minute, a second, a package counter, a manufacturing unit ID, and a request number.

[0041] When implementing the aforementioned storage of PIDs on Microsoft Azure Cosmos DB, the applicant experienced poor performance, for example, in terms of resource consumption and search and retrieve speed. Further analysis of data storage within database 30 revealed substantial non-uniformity (also known as "skew") in the distribution of data across partitions. Figures 3A and 3B illustrate this skew when using line IDs as partition keys. Figure 3A is a plot of the amount of data stored within each partition (vertical axis) when database 30 consists of 5,000 partitions, and Figure 3B is a corresponding plot when database 30 consists of 30,000 partitions. It was found that the skew caused at least partially the poor performance. The skew was present regardless of the partition key when selecting data elements within the PPD (e.g., data elements indicating the place and time of manufacture). Strategies to overcome skew include generating so-called synthetic partition keys (for example, by concatenating two or more data elements), attaching random suffixes to data elements, or attaching pre-calculated suffixes to data elements, where the pre-calculated suffix is ​​the hash value of another data element. However, these strategies tend to increase complexity and can impair database performance.

[0042] Surprisingly, the applicant discovered that using a marking code as a partitioning key resulted in a substantially more uniform distribution of data from logical partitions within a distributed database. It is now believed that "encrypted data within the marking code imparts randomness to the marking code (appearing as a substantially unskewed data distribution among the partitions in the distributed database)."

[0043] Figure 4 is a block diagram of the system 20 of Figure 2 according to one embodiment. Here, the database 30 is a distributed database containing partitions P1, P2, ..., Pj, where j is a number significantly greater than 1, and is typically at least 1,000, 5,000, or 10,000. The storage controller 24 is connected to the database 30 over a wired and / or wireless network 32 (e.g., a WAN (Wide Area Network), a LAN (Local Area Network), a PAN (Personal Area Network), or any combination thereof). If the database 30 is provided as a cloud-based service, the network 32 may include a WAN such as the Internet.

[0044] Similar to Figure 2, the PPD generator 21 provides package production data PPD received by the code generator 22. The code generator 22 includes an encryption module 22A configured to apply an encryption algorithm or function to the PPD to generate encrypted package production data (EPD). Any conceivable encryption algorithm may be used, including any symmetric encryption algorithm where a secret encryption key is used for both encryption and decryption, and any asymmetric algorithm that utilizes a public and secret encryption key pair. In one non-limiting embodiment, the encryption algorithm is a block cipher such as Blowfish, DES, IDEA, RC5, or AES. The encryption algorithm scrambles the PPD, completely destroying its structure. Generally, encryption works to minimize the risk of tampering with marking the code, making it difficult to guess a valid marking code based on another marking code, in order to protect the PPD. The code generator 22 further includes a code population module 22B configured to form a marking code (MC) by combining the EPD and associated unencrypted data (for example, into a header section as illustrated in European Patent Application Publication No. 3540664). The marking code is supplied from the code generator 22 to the marking device 23 and the storage controller 24. The storage controller 24 includes an aggregation module 24A, a key generation module 24B, and a storage interface module 24C. The aggregation module 24A is configured to receive the marking code MC from the code generator 22 and the PPD from either the PPD generator 21 (illustrated) or the code generator 22. The aggregation module 24A generates a data item which is the aforementioned package detail data PID for storage in the database 30. The key generation module 24B is configured to receive the PID and generate a partition key PK depending on the marking code or a subset thereof contained in the PID. In one example, module 24B sets a partition key equal to the marking code.In another example, module 24B sets a partition key equal to the EPD of the marking code. In yet another example, module 24B concatenates the marking code or EPD with one or more other data elements in the PID. Module 24B may also apply any suitable function to the marking code or EPD to generate the partition key. However, the latter example may require module 24B to add the partition key to the PID before the PID is stored in the database 30, which would increase the required data storage capacity of the database 30.

[0045] The storage interface module 24C is configured to receive the partition key PK from the key generation module 24B and the PID from the aggregation module 24C. The storage interface module 24C, which is coupled to the database 30, can further be operated to cause the DBMS 30A to select one of the partitions P1-Pj based on the partition key PK and to store the PID in the selected partition. In one embodiment, module 24C includes a predetermined mapping function configured to identify the selected partition by, for example, the partition ID described above. Thus, module 24C may apply the mapping function to the partition key to calculate the current partition ID and provide it to the DBMS 30A for identification of the selected partition. In another embodiment, the mapping function that causes module 24C to calculate the current partition ID when supplying the partition key to the DBMS 30A is part of the DBMS 30A. In one embodiment, the mapping function is configured to map all possible partition keys to a set of unique partition IDs (one for each partition P1-Pj). In one embodiment, the mapping function is further configured to scramble bits of the partition key to improve the uniformity of the data distribution in the database 30. In one embodiment, the mapping function is a hash function. Any hash function may be used, but is not limited to a cryptographic hash function, a non-cryptographic hash function, or one that includes a cyclic redundancy check (CRC) function. In one embodiment, the mapping function is involved in modulo arithmetic (e.g., modulo division by j or a prime number close to j). In another embodiment, the mapping function extracts a predetermined number of bits from the partition key and matches the extracted bits against the partition ID.

[0046] Figures 5A-5D show the data distribution in Microsoft Azure Cosmos DB when a partition key is set to a marking code and a hash function is applied to the partition key to map it to a predetermined number (j) partitions. Figure 5A is a plot of the amount of data (vertical axis) stored in each partition (horizontal axis) when database 30 consists of 1,000 partitions, and Figure 5B is a magnified view of Figure 5A, showing the variation between partitions in more detail. Figures 5C-5D correspond to Figures 5A-5B when database 30 consists of 30,000 partitions. Compared to the plots in Figures 3A-3B, the data is significantly more uniformly distributed across all partitions, and skew is essentially eliminated.

[0047] Figure 6 shows a method 600 for generating a marking code according to one embodiment. Method 60 may be performed in the system 20 of Figure 2 or Figure 4. In step 601, which may or may not be part of Method 600, package manufacturing data (PPD) is generated. Steps 602-606 are repeated for each individual package. Steps 602-605 may be performed by a code generator 22, and step 606 may be performed by a storage controller 24. Step 602 obtains the PPD of the package. Step 603 applies a predetermined cryptographic algorithm to the PPD to generate encrypted package manufacturing data (EPD). Step 604 generates a marking code (MC) that includes at least the EPD. Step 605 provides the marking code for marking the package (e.g., by a marking device 23). Step 606 stores the marking code (or a subset thereof) and the PPD (or a subset thereof) in the database 30. Next, Method 600 proceeds to repeat steps 602-606. In the illustrated embodiment, step 606 includes other steps 606A-606D. Step 606A generates package detail data (PID) according to the marking code and PPD (for example, by merging the marking code (or a subset thereof) and at least one subset of data elements in the PPD into a common data item). Step 606B generates a partition key PK according to the marking code. Step 606C selects a partition in the database 30 based on the partition key, and step 606D stores the PID on the selected partition.

[0048] Returning to the system 20 in Figures 2 and 4, each of the devices 21, 22, and 24 may be implemented by hardware or by a combination of software and hardware. In some embodiments, devices 21, 22, and 24 are implemented on one or more software-controlled computing devices. Figure 7 schematically depicts such a computing device 70, which includes a processor 71, computer memory 72, and a communication interface 73 for data input and output. The communication interface 73 may be configured for wired and / or wireless communication, including communication with a database 30. The processor 71 may include one or more of several other programmable logic devices, such as a CPU ("Central Processing Unit"), a DSP ("Digital Signal Processor"), a microprocessor, a microcontroller, an ASIC ("Application-Specific Integrated Circuit"), a combination of discrete analog and / or digital components, or an FPGA (Field-Programmable Gate Array). A control program 74, including computer instructions, is stored in the memory 72 and executed by the processor 71 to perform any of the operations, functions, or processes exemplified above. As shown in Figure 7, the memory 72 may also store control data 75 for use by the processor 72 (e.g., control data for generating a partition key in step 606B, control data for encryption in step 603, and control data for partition selection in step 606C). The control program 74 may be supplied to a computing device 70 on a computer-readable medium 76 which may be a tangible (non-temporary) product (e.g., a magnetic medium, optical disc, read-only memory, flash memory, etc.) or a propagated signal.

Claims

1. A method for generating a marking code to uniquely identify the packaging of liquid food products, To obtain unique package manufacturing data (PPD) for each individual package (16) (602); Applying a predetermined cryptographic algorithm to the package manufacturing data (PPD) in order to generate encrypted package manufacturing data (EPD) (603); (604) To generate a marking code that includes the encrypted package manufacturing data (EPD); (605) to provide the marking code (MC) for marking the individual package (16); and The database (30) containing multiple categories (P1-Pj) includes package detail data (PID) containing at least one subset of the marking code (MC) and at least one subset of the package manufacturing data (PPD) of the individual package (16) (606). Includes, The act of storing (606) includes generating a classification key (PK) according to the marking code (MC) (606B), operating a controller (24) connected to the database (30) to determine which classification to select from the plurality of classifications (P1-Pj) based on the classification key (PK) (606C), and storing the package detail data (PID) within the selected classification (606D). The classification key (PK) is equal to the marking code (MC), or The classification key (PK) is equal to the encrypted package manufacturing data (EPD) of the marking code (MC). method.

2. The method according to claim 1, wherein operating the controller (24) includes applying a predetermined mapping function to the classification key (PK), the predetermined mapping function is configured to map the classification key (PK) to a set of classification identifiers, each of which includes the respective classification identifier of one of the plurality of classifications (P1-Pj), and the selected classification is determined based on the current classification identifier generated by the predetermined mapping function of the classification key (PK).

3. The method according to claim 2, wherein the predetermined mapping function includes a hash function.

4. The method according to any one of claims 1 to 3, wherein the predetermined encryption algorithm is a block cipher.

5. The method according to any one of claims 1 to 4, wherein the package manufacturing data (PPD) is obtained to represent at least one place and time in which the individual package (16) is manufactured.

6. The method according to any one of claims 1 to 5, wherein the at least one subset of the marking code (MC) includes the encrypted package manufacturing data (EPD).

7. The method according to any one of claims 1 to 6, wherein the database (30) is a distributed database.

8. A non-temporary recording medium on which a computer command is recorded that, when executed by the processor (71), causes the processor (71) to perform the method according to any one of claims 1 to 7.

9. A system for generating a marking code to uniquely identify the packaging of liquid food products, A code generator (22) is configured to apply a predetermined cryptographic algorithm to package manufacturing data (PPD) which is unique for each individual package (16) in order to generate encrypted manufacturing data (EPD), wherein the code generator (22) is further configured to generate a marking code (MC) which includes the encrypted manufacturing data, and to provide the marking code (MC) for marking the individual packages (16), A storage interface (24C) connected to a database (30) containing multiple divisions (P1-Pj), wherein the storage interface (24C) is configured to receive package detail data (PID) which includes at least one subset of the marking code (MC) and at least one subset of the package manufacturing data (PPD) of the individual package (16), A system including a code conversion device (24B) configured to generate a partition key (PK) according to the marking code (MC) and provide the partition key (PK) to the storage interface (24C), The storage interface (24C) is configured to, upon receiving the partition key (PK), determine which of the plurality of partitions (P1-Pj) to select based on the partition key (PK), and to store the package detail data (PID) within the selected partition. The classification key (PK) is equal to the marking code (MC), or The aforementioned classification key (PK) is equal to the encrypted package manufacturing data (EPD) of the marking code (MC). system.

Citation Information

Patent Citations

  • Providing unique codes on packages for liquid food

    EP3540664A1

  • Storage system, storage control method, and storage control program

    JP2015088109A

  • Marking methods for combatting illicit trade

    US20160328675A1