Database system for marking codes for liquid food packages

The database system addresses scalability and response time issues by geographically distributing code databases and using resource locators to efficiently manage marking codes for liquid food packages, ensuring fast and cost-effective data retrieval.

JP7723660B2Active Publication Date: 2025-08-14TETRA LAVAL HOLDINGS & FINANCE SA
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2022527918
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-11-14
Filing Date
2020-11-12
Publication Date
2025-08-14
Estimated Expiration
2040-11-12

AI Technical Summary

Technical Problem

Existing database systems face challenges in handling large volumes of marking codes for liquid food packages, requiring scalability, flexibility, and fast response times while managing petabytes of data efficiently.

Method used

A database system with geographically distributed code databases and resource locators that redirect requests to relevant databases based on package production data, using a set of lookup databases for efficient data storage and retrieval.

Benefits of technology

Enables flexible and scalable data management with reduced response times and cost-effective storage of marking codes, supporting global distribution and authentication of liquid food packages.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007723660000001
    Figure 0007723660000001
  • Figure 0007723660000002
    Figure 0007723660000002
  • Figure 0007723660000003
    Figure 0007723660000003
Patent Text Reader

Abstract

The database system (30) includes a plurality of code databases (31) storing marking codes, the marking codes uniquely identifying packages of liquid food products and including package production data uniquely identifying the manufacture of each package. Each code database (31) stores a respective subset of the marking codes. An input subsystem (40) of the database system (30) is configured to receive a current marking code (MC). The database system (30) includes a set of resource locators (42). Each resource locator (42) is configured to receive the current marking code (MC) from the input subsystem (40), extract package production data from the current marking code (MC), identify a current code database among the plurality of code databases (31) based on the package production data, and redirect the current marking code (MC) to the current code database.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] FIELD OF THE DISCLOSURE This disclosure relates generally to the manufacture of packages for liquid food products, and specifically to a database system for storing marking codes for such packages. [Background technology]

[0002] Billions of liters of water, milk, juice, and other liquid foods are consumed every day around the world. The majority of 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 food inside. The underlying technology greatly facilitates the packaging and distribution of liquid food products around the world.

[0003] Applicant has identified a need to mark each package with a unique code. Providing a unique code on each package enables a variety of functions, 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 retail employees, and associating the code with promotional campaigns and prize draws.

[0004] Packaging for liquid foods is produced on an industrial scale for the global market. A huge number of packages are produced every year. For example, within the Tetra Pak® ecosystem, 188 billion (10 9 ) packages were manufactured in 2016. Considering that packaged products can have a shelf life of six months to one year or even longer, e.g., five years, a huge number of unique codes would need to be manufactured and stored in a database system. The deployment of codes in such an environment could result in over 1 PB of data.

[0005] EP 3540664 discloses a robust technique for applying marking codes to packages containing liquid food products, each marking code uniquely identifying an individual package. The marking codes are based on payload data that uniquely describes the production of each package and may indicate the time and / or location of production. The payload data is encrypted to make it difficult to guess valid codes and generate fraudulent codes. The marking code is formed by combining the encrypted payload data with an unencrypted header portion. The marking code is applied to the package and is further entered into a database, optionally in association with additional data. To speed up searches and reduce the amount of data storage per database, EP 3540664 proposes establishing databases in different production regions, e.g., a first database in Europe and a second database in North America, and storing marking codes for packages produced by plants in Europe and North America in the first and second databases, respectively.

[0006] If the marking codes are stored in a database system, it is desirable to configure the database system to provide fast response times to queries involving the marking codes of the packages. It is also desirable for the database system to be flexible and scalable. Summary of the Invention [Problem to be solved by the invention]

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

[0008] A further object is to provide a flexible and scalable database system for storing and retrieving marking codes on packages for liquid food products.

[0009] Another object is to enable fast and efficient searching of marking codes within a database system capable of storing approximately 1 PB or more of data. [Means for solving the problem]

[0010] One or more of these objects, as well as further objects that may become apparent from the following description, are at least partly achieved by a database system, a system, a control method, and a computer-readable medium according to the independent claims, embodiments of which are defined by the dependent claims.

[0011] A first aspect of the present disclosure is a database system including: an input subsystem for accepting marking codes corresponding to data carriers on packages for liquid food products, each marking code including package production data that uniquely identifies the production of an individual package; a plurality of code databases that store the marking codes, each code database in the plurality of code databases storing a respective subset of the marking codes; and a set of resource locators, each resource locator in the set of resource locators configured to accept a current marking code from the input subsystem, extract the package production data from the current marking code, identify a current code database in the plurality of code databases based on the package production data, and redirect the current marking code to the current code database.

[0012] In some embodiments, the database system further includes a set of lookup databases, wherein each resource locator is configured for connection to a respective lookup database in said set of lookup databases, and wherein each lookup database is configured to associate different values of at least one data element in the package manufacturing data with different code databases in said plurality of code databases.

[0013] In some embodiments, resource locators in said set of resource locators are connected in pairs with lookup databases in said set of lookup databases, with each lookup database collocated with a respective resource locator in each said pair.

[0014] In some embodiments, the set of lookup databases includes a primary lookup database and one or more replications of the primary lookup database.

[0015] In some embodiments, the n individual resource locators are further configured to search the package manufacturing data for the at least one data element, extract a current value of the at least one data element, and identify a current code database in a lookup database in the set of lookup databases based on the at least one data element.

[0016] In some embodiments, each code database has an address in the database system, said address including at least one predefined data element in the package manufacturing data.

[0017] In some embodiments, each resource locator is configured to search the package manufacturing data for said at least one predefined data element, extract a current value of said at least one predefined data element, include the current value in an address template to generate an address for a current code database in the database system, and redirect the current marking code to the address.

[0018] In some embodiments, the at least one predetermined data element includes an identifier of a provider of one or more plants for manufacturing the package.

[0019] In some embodiments, the set of resource locators includes two or more resource locators located in different geographic regions.

[0020] In some embodiments, each code database is located within a respective distribution area of the plurality of distribution areas, and each respective subset of marking codes in each code database corresponds to packages that are at least partially distributed within the respective distribution area.

[0021] In some embodiments, the multiple code databases include at least one primary code database and one or more replications of the primary code database.

[0022] In some embodiments, the packaging manufacturing data is encrypted within the marking code, and each resource locator is further configured to decode the marking code to extract the packaging manufacturing data.

[0023] A second aspect of the present disclosure is a system comprising: a package for a liquid food product, the package having a data carrier comprising a marking code, the marking code comprising package production data that uniquely identifies the production of the package; and a database system according to the first aspect or any embodiment thereof.

[0024] A third aspect of the present disclosure is a control method for a database system, the control method including the steps of: receiving, by an input subsystem of a database system, a current marking code corresponding to a package of a liquid food product and including package production data that uniquely identifies the production of the package, providing, by the input subsystem, the current marking code to a resource locator in the database system, extracting the package production data from the current marking code, identifying a current code database among a plurality of code databases that store a respective subset of a plurality of marking codes based on the package production data, and operating the resource locator to redirect the current marking code to the current code database.

[0025] A fourth aspect of the present disclosure is a computer-readable medium comprising computer instructions that, when executed by a processing system, cause the processing system to perform the method of the third aspect or any embodiment thereof.

[0026] Further objects, embodiments, features, aspects, and advantages will become apparent from the following detailed description and drawings.

[0027] Embodiments will now be described, by way of example, with reference to the accompanying schematic drawings, in which: FIG. [Brief explanation of the drawings]

[0028] [Figure 1A] 1 is an overview of the manufacturing and distribution chain for packaging for liquid food products. [Figure 1B] 1 is a schematic diagram of the interaction with a marking code on such a package. [Figures 2A-2C] 1 is a schematic plot of a given geographic region and associated resources of a database system, according to an example. [Figure 3] 1 is a schematic diagram of resources contained within a database system, according to an example. [Figure 4A] FIG. 1 is a block diagram of a database system that accepts and processes current marking codes. [Figure 4B] FIG. 4B is a block diagram of a resource locator within the database system of FIG. 4A. [Figure 5] 1 is a plot of data communication associated with a resource locator in a database system. [Figures 6A-6B] 1 is a flow diagram of a control method for operating a database system, according to one embodiment. [Figure 7] 1 is a block diagram of computer resources on which at least a portion of the database system and control method thereof may be implemented. DETAILED DESCRIPTION OF THE INVENTION

[0029] Embodiments now are described more fully hereinafter with reference to the accompanying drawings, in which some, but not all, embodiments are shown. Indeed, the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein, but rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements.

[0030] Furthermore, it will be understood that, where possible, any advantage, feature, function, device, and / or operational aspect of any of the embodiments described and / or discussed herein may be included in any other embodiment described and / or discussed herein, and / or vice versa. Additionally, where possible, any term described in the singular herein is intended to include the plural, and / or vice versa, unless otherwise specified. As used herein, "at least one" shall mean "one or more," and these phrases are intended to be interchangeable. Thus, the words "a" and / or "an" shall mean "at least one" or "one or more," even though the phrases "one or more" or "at least one" are also used herein. Unless the context otherwise requires as a result of the language or necessary meaning, when used herein the term "comprise" or variants such as "comprises" or "comprising" are used in an inclusive sense, i.e., to specify the presence of stated features but not to exclude the presence or addition of further features in various embodiments.

[0031] As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.

[0032] As used herein, a "set of" items is intended to imply the provision of one or more items.

[0033] As used herein, "liquid food" refers to beverages such as fruit juice, wine, beer, soda, and dairy products, sauces, oils, creams, custards, soups, pastes, and any food that is non-solid, semi-liquid, or pourable at room temperature, as well as solid foods in liquid form such as beans, fruit, tomatoes, stews, etc.

[0034] As used herein, "package" refers to any package or container suitable for hermetically enclosing a liquid food product, including, but not limited to, containers made of paperboard or packaging laminate, e.g., cellulose-based materials, and containers made of or containing plastic materials.

[0035] For the sake of brevity and / or clarity, well-known functions or structures may not be described in detail. Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs.

[0036] Like reference characters refer to like elements throughout.

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

[0038] In production stage 1, sheet material for the packaging is produced in a converting plant 10. The sheet material is typically paper-based and is provided to filling stage 2 in rolls 11. In the example shown, stage 1 further includes a dedicated plant 12 that produces caps 13, typically of a plastic material, for the packaging. If the packaging is to be formed without a cap, plant 12 is not present in stage 1. It is also conceivable that stage 1 may include additional plants that produce specific components for the packaging.

[0039] In filling stage 2, a filling plant 14 operates on the sheet material 11, caps 13, and liquid food to provide packages containing the liquid food. For example, a production line at filling plant 14 can form sheet material 11 into containers, fill the containers with the liquid food, and seal the containers to form packages. The production line can also attach caps 13 to the containers. Figure 1B shows an example of a package 16 produced by filling plant 14. Stage 2 may further include transferring 15 the packages to an external party, such as palletizing, before entering distribution stage 3.

[0040] It should be understood that the manufacturing chain may include many different converting plants 10, capping plants 12, and filling plants 14, which may be generally distributed around the world. Each of the plants 10, 12, 14 may include multiple manufacturing lines.

[0041] 1B, the 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 product. In one example, the data carrier 17 is printed on the package 16 as, for example, a series of human-readable symbols (e.g., characters) or machine-readable graphical symbols such as one or more barcodes or 2D codes (Data Matrix, QR Code, etc.). In another example, the data carrier is an electronic tag, in which the code is stored and provided for retrieval by wireless communication with the tag according to any conventional standard for wireless communication with tags, such as NFC, RFID, BLE, etc.

[0042] The marking code is generated to be unique to the package 16 for at least a predetermined lifetime within the entire ecosystem of plants 10, 12, and 14 in the manufacturing chain illustrated in FIG. 1A. The marking code can be applied to the package at any of the plants 10, 12, and 14 shown in FIG. 1A. For example, the marking code may be applied by the converting plant 10 to a predetermined location on the sheet material 11 so as to be located on each of the packages 16 produced by the filling plant 14. In another example, the marking code may be applied by the capping plant 12 to each cap 13. In a further example, the marking code is applied by the filling plant 14 to the sheet material 11, the cap 13, the intermediate container, or the package 16. It should be understood that the package 16 may include multiple such unique marking codes, for example, one on the cap 13 and one on the package 16. It is also contemplated that a unique marking code may be imparted to a package or group of packages during subsequent handling 15 (e.g., palletization).

[0043] Providing a unique code on each package 16 enables many different applications, including tracking and tracing the package throughout the manufacturing and distribution chain (FIG. 1A), verifying the authenticity of the package, linking to web content related to the package for access by consumers or retail employees, associating the code with promotional campaigns and sweepstakes, triggering automatic actions in machinery used in steps 1-5 (FIG. 1A), such as any equipment in the filling plant 14, refrigeration systems in transport vehicles, warehouse trucks, robots, refrigerators, etc.

[0044] FIG. 1B illustrates the use of a coded package. The current marking code MC is read from a data carrier 17 on the package 16 and entered into the input device 20, for example, manually or by using a scanner in or connected to the input device 20. The input device 20 may be a mobile phone, as shown, or any other network-connected device. The input device 20 transmits a request R1 including the current marking code MC to the database system 30 over a communications network 40, such as a wide area network (WAN), a local area network (LAN), a personal area network (PAN), or any combination thereof. If the database system 30 is provided as a cloud-based service, the network 40 typically includes a wide area network (WAN), such as the Internet. In response to the request R1, the database system 30 is configured to search the database system for a data record corresponding to the current marking code, for example, create an entry in the data record to indicate that the current marking code has been scanned, and / or return a response message R2 to the input device 2. The response message R2 may include, for example, confirmation of receipt, verification of the authenticity of the package, information related to the package and / or its production, for example, by linking to web content, etc.

[0045] Embodiments of the present invention relate to the structure and functionality of database system 30 .

[0046] The database system 30 can be a proprietary system or can be based on a commercially available database platform, such as a virtual machine instance or a cloud computing platform that provides database-as-a-service (DBaaS). In one particular implementation, the database system 30 is implemented on Microsoft Azure Cosmos DB, a globally distributed, multi-model database service.

[0047] In various embodiments disclosed herein, the database system 30 is configured to overcome one or more challenges. As discussed above, the database system 30 must handle data on a scale of petabytes (PB) or greater. At this scale, storing data in a single database becomes expensive in terms of the resources required for storage and retrieval. Furthermore, from a usability perspective, fast response times, e.g., three seconds or less, are desirable. Achieving such response times is difficult with the global distribution of a single database and package. Many commercially available databases offer turnkey functionality for geo-replicating entire databases to other geographic locations. While this may solve the response speed problem, each replication of a massive database can also double the cost of the database system.

[0048] Since the marking codes originate from different plants, it is conceivable to distribute the marking codes over databases located in different manufacturing areas. Such separation of the marking codes into different databases may improve response times without doubling the number of databases. However, although it is possible to pre-configure the input device 20 for use in a particular manufacturing area so that request R1 is sent by default to a particular database in the database system 30, such a solution lacks flexibility and scalability.

[0049] To overcome one or more of the problems identified above, applicants have identified several inventive concepts that can be applied to database system 30 separately or in combination.

[0050] One inventive concept is to selectively store marking codes in databases located in different geographic regions, with each database storing a respective subset of the marking codes. These code storage databases ("code databases") are hereinafter referred to as subset databases and are referred to as "SDBs." Each SDB may store additional data related to a respective subset of the marking codes or parameters linking the respective marking codes to such additional data in the additional databases, which may or may not be collocated with the respective SDB. The respective subsets within an SDB may be mutually exclusive or may partially overlap. Providing SDBs may increase the geographic coverage of the database system 30 without significantly increasing the total amount of data stored in the database system 30.

[0051] Another inventive concept is to provide a so-called resource locator, a "redirection device" configured to receive requests R1 from input devices 20 and use the marking code in each request R1 to direct the request R1 to a relevant database among multiple databases in database system 30, the relevant database containing data records having that marking code. The resource locator thus acts as a code-based router within the database system. The resource locator enables a flexible and scalable database system in which requests R1 containing any marking code from any kind of input device 20 are directed to a relevant database.

[0052] Another inventive concept is to define distribution regions rather than manufacturing regions and search for the above-mentioned SDB within those distribution regions. Distribution regions can be defined with any granularity and may or may not overlap. A distribution region represents a geographic area through which packages are distributed to consumers, typically at the locations of retail stage 4 and / or consumer stage 5 in FIG. 1A. The underlying rationale is that this places the SDB closer to the user using input device 20 to submit request R1. FIG. 2A shows non-limiting examples of such distribution regions, roughly indicated by dashed lines. In the illustrated example, the distribution regions include mainland Europe (G1), Nordic countries (G2), Russia (G3), India and Indochina (G4), East Asia (G5), Australasia (G6), Africa (G7), South America (G8), Central America (G9), the United States (G10), and Canada (G11). 2A also shows manufacturing location (plant) PL1 located within G3, which produces packages for distribution within G1, G2, and G7. It will be appreciated that searching for an SDB within G1, for example, can be beneficial in terms of response time.

[0053] Another inventive concept is to geographically distribute resource locators, for example, within various distribution regions, to reduce response times. Because resource locators are generally small and efficient modules, distributing or replicating them in this manner does not have a significant impact on the resources required by the database system. FIG. 2B shows a non-limiting example of such resource locators RL1, RL2, and RL3 distributed around the world, with RL1 in G2, RL2 in G4, and RL3 in G10. Each of RL1-RL3 can be configured to route a request R1 containing a marking code on a package manufactured in PL1 (FIG. 2A) to database SDB1 in G1. It will be appreciated that a request R1 generated by an input device within any one of the associated distribution regions G1, G2, and G7 can be quickly and efficiently redirected by RL1 to SDB1.

[0054] Another inventive concept involves replicating or duplicating an SDB in a first distribution area into one or more second distribution areas, where the SDB includes marking codes for packages distributed in the second distribution area in addition to the first distribution area. This configuration can be seen to result in a master SDB in the first distribution area and one or more slave SDBs in the second distribution area. FIG. 2C shows a non-limiting example of a master SDB1 (blacked out) located in G1 and two slave SDBs (unblacked out) located in G2 and G7, respectively. It will be appreciated that including slave SDBs can further reduce response time. Because the master SDB contains only a subset of all marking codes, replication results in a small increase in the total data stored in database system 30. Furthermore, even if a database system includes multiple master SDBs and some master SDBs are replicated, the drawback of increasing the total amount of data in the database system can be offset by the reduced response time.

[0055] As noted above, one or more of the inventive concepts may be combined depending on the required performance of database system 30. Figure 3 is a block diagram of a database system implementing all of the inventive concepts and constructed according to distribution domains G1-G11, including resource locators RL1-RL3, master subset databases SDB1-SDB4, and slave subset database SDB2. In the illustrated example, resource locators RL1-RL3 are collocated with respective lookup databases LDB1-LDB3, which are described further below.

[0056] FIG. 4A is an overview of database system 30 according to one embodiment. Database system 30 includes input subsystem 40, three resource locators RL1-RL3, primary subset databases SDB1-SDBi, and two slave subset databases SDB1 and SDB2. The resource locators are generally designated 42, and the subset databases are generally designated 31. In the example of FIG. 4A, database system 30 accepts a request having a current marking code MC from input device 20. The request is accepted by input subsystem 40, which is configured to apply any appropriate traffic routing protocol to select one of resource locators 42 and direct the request thereto. Thus, input subsystem 40 can act as a "traffic manager." In FIG. 4A, traffic manager 40 redirects the request to RL1, as indicated by the solid arrow. For example, a resource locator can be selected to provide the lowest latency, to provide a predetermined load balancing, or to be within a particular geographic region relative to the location of input device 20. In one embodiment, the traffic manager operates to accept a DNS query from the input device 20, select a network address of one of the resource locators, and return it to the input device 20, thereby enabling the input device 20 to transmit the request to the selected resource locator. In the example of Microsoft Azure Cosmos DB, the traffic manager 40 may be implemented based on the Azure traffic manager. Each of the resource locators 42 is operable to redirect an incoming request to one or more subset databases 31. In the example of FIG. 4A , each resource locator 42 is operable to redirect an incoming request to one of the subset databases 31. However, it is also conceivable that the resource locator 42 may specify different subset databases to which the resource locator 42 can redirect an incoming request. In FIG. 4A , as indicated by the solid arrow, RL1 redirects a request having a current marking code MC to the primary subset database SDB2 that contains that particular marking code MC.The SDB2 is then queried for this particular marking code, after which the SDB2 can be updated with information related to the request, and / or data stored in the SDB2 relating to the marking code may be retrieved and returned to the input device 20 or another device (not shown).

[0057] Further embodiments are exemplified below with respect to marking codes containing payload data that is unique to the production of an individual package and encrypted by a predefined encryption algorithm. Encryption serves to protect the PPD to make it difficult to guess a valid marking code based on another marking code and to minimize the risk of fraudulently generating a marking code. Generally, a marking code is composed of a series of values, e.g., binary values. The payload data, referred to below as the package production data (PPD), may include data elements identifying the location and / or time of production. In a first example (the "inline format example"), data elements in the PPD include an identifier for the manufacturer operating the plant (Manufacturer ID), an identifier for the plant (Plant ID), an identifier for the production line within the plant (Line ID), and an identifier for the equipment on which the marking code is added to the package (Equipment ID), and the PPD further identifies the current production time, e.g., by means of a counter with sub-second resolution (Package Counter), which may or may not be randomized, for example, for the year, day, hour, minute, second, and so on. In a second example ("offline format example"), data elements in the PPD include a plant identifier (production unit ID), a production batch identifier, and a package identifier within the production batch, where the production batch may be identified by a time period, e.g., the current year and month, a package identifier within the production batch, and a batch number (request number) within the time period, where the package may be identified by a package number within the production batch (package counter). The package number may or may not be randomized. The marking code may further include an unencrypted header portion, which may or may not be obfuscated, and may include data that allows for decryption and verification of the encrypted PPD. Implementation examples and further description of the marking code can be found in the aforementioned European Patent No. 3540664, which is incorporated herein by reference in its entirety.

[0058] 4B is a schematic block diagram of a resource locator 42 according to one embodiment. The resource locator 42 includes an input module 43 configured to accept an input request containing a marking code MC and provide the marking code to an extraction module 44. The extraction module 44 is configured to decrypt the marking code, particularly an encrypted PPD, to extract the PPD. The extraction module 44 can apply a predefined encryption algorithm or function to the marking code or a portion thereof, which may be selected or configured based on data in an unencrypted header portion, if included in the marking code. It is understood that the encryption algorithm used by module 44 matches the encryption algorithm used to generate the marking code. After decryption, the PPD is unencrypted and can be read. The PPD or a portion thereof is provided to a database selection module 45, which is configured to derive a database identifier (DBID) based on the PPD, optionally by lookup in an associated lookup database 32. The DBID is provided to the communications module 46, which redirects the incoming request to the selected database 31 given by the DBID. If the database system 30 is configured with one or more slave SDBs, which may have the same DBID as the master SDB, the communications module 46 may be configured, for example, by analogy with the traffic manager 40, to apply any suitable traffic routing protocol to select and direct the request to one of the SDBs, e.g., the SDB providing the lowest delay, the SDB providing a default load balancing, or an SDB that is within a particular geographic region relative to the location of the input device 20.

[0059] The lookup database 32 may be configured to associate any data element or combination of data elements in the PPD with one or more DBIDs. For example, different manufacturer IDs can be assigned different DBIDs, meaning that individual (primary) SDBs store marking codes generated for packages manufactured in any of the plants of a particular manufacturer. The lookup database 32 provides great flexibility and scalability for the database system, as it can be easily updated to accommodate new SDBs being added to the database system. Furthermore, the redirection function can be easily modified by updating the selection logic of module 45 and, optionally, the contents of the lookup database 32. For example, a DBID can be provided by a combination of manufacturer ID and plant ID, so that requests are redirected to different SDBs for different plants of the manufacturer. Furthermore, the embodiment of FIG. 4B allows production time data, such as year, to be determinative of the DBID. The above description assumes that the value of at least one data element or combination of data elements in the PPD is globally unique within the database system.

[0060] Resource locator 42 also allows for the use of various types of PPDs, including, for example, various data elements and / or various configurations of data elements. For example, the database system can be configured to accommodate both inline and offline PPD examples. For example, module 45 can assume that the manufacturer ID and call number for the PPD are globally unique in the inline example, and determine the DBID based on the call number for the PPD in the offline example. In a variant, the combination of the call number and the period is globally unique and is used to determine the DBID. The type of PPD format can be indicated, for example, in the unencrypted header portion of the marking code or in one or more predefined bit positions in the PPD. Thus, module 45 can use the header portion or the PPD to determine the PPD format and set its selection logic according to the PPD format.

[0061] In a variant, module 45 determines the DBID based also on the data in the unencrypted header part. It is therefore conceivable that extraction module 44 also extracts the header part from the marking code and provides the header part, or part of it, to module 45.

[0062] For speed of request reasons, it may be advantageous to collocate lookup databases 32 with resource locators 42 so that they are geographically close to one another, for example, by being located within the same distribution region. Lookup databases 32 are relatively small databases, at least compared to the total amount of data stored in the SDBs, so replication of lookup databases 32 does not have a significant impact on the performance of database system 30. Accordingly, in one embodiment, the lookup database 32 of a given resource locator 42 (the "primary lookup database") is replicated into at least one further lookup database (the "slave lookup database") that is collocated with each further resource locator 42. Such replication is illustrated diagrammatically by the arrows in Figure 3, where LDB2 of RL2 is replicated into LDB1 associated with RL1 and LDB3 associated with RL3. As will be appreciated from the above, such geo-replication is a turnkey feature in many commercially available databases.

[0063] It may be noted that in certain implementations, lookup database 32 may be omitted and module 45 may derive the DBID directly from one or more data elements and / or header portions in the PPD. For example, the DBID may be equal to a manufacturer ID, optionally combined with a plant ID.

[0064] It should also be noted that in order to combine an inventive concept providing a resource locator with an inventive concept using a distribution domain, each SDB should be placed in the relevant distribution domain with respect to the marking code stored in the SDB.

[0065] Figure 5 illustrates data paths within a database system according to one embodiment. The database system includes three resource locators 42, each in a distribution domain G1, G4, and G10. In this example, request R1 is transmitted from browser 22 on an input device (not shown) in a URL format that includes the marking code MC as a path component after the hostname (here, www.aaa.bbb). Request R1 is accepted by traffic manager 40, which selects one of the resource locators 42, for example, based on the DNS capabilities of each resource locator, and causes browser 22 to display landing page 50 for the selected resource locator. Assuming browser 22 is located in India, the browser may load landing page 50 for resource locator 42 in distribution domain G4 (see RL2 in Figure 3). If a resource locator is out of service, the traffic manager can resolve to a resource locator in distribution domain G1 or G10, depending on its capabilities. The selected resource locator 42 then extracts the marking code from request R1 and determines the selected SDB that stores the marking code, for example, by a lookup in lookup database 32 (see LDB2 in FIG. 3) associated with the selected resource locator 42. Request R1 is then forwarded or redirected by the selected resource locator 42 to the selected SDB. In the example of FIG. 3, if the browser is located in India, request R1 might be forwarded to SDB4 in G4. Finally, SDB4 may be retrieved, and the marking code and / or related information may be returned from the selected SDB to the browser 22 in response to request R1.

[0066] 6A is a flow diagram of a control method 600 according to one embodiment. The control method may be performed by executing software on one or more computer resources that implement a database system or a portion thereof. In step 601, input subsystem 40 is operated to accept a current marking code (FIG. 4A). In step 602, input subsystem 40 is operated to provide a resource locator 42 for the current marking code. In step 603, resource locator 42 is operated to redirect the current marking code to a selected ("current") SDB 31. In the illustrated embodiment, step 603 includes operating resource locator 42 to accept the marking code (step 603A), extract a PPD from the marking code (step 603B), identify a current SDB based on the PPD (step 603C), and redirect the current marking code to the current SDB (step 603D).

[0067] FIG. 6B is a flow diagram of one embodiment of step 603C of FIG. 6A. Step 603C may correspond to the above-mentioned selection logic of module 45 (FIG. 4B). The embodiment of FIG. 6B can handle marking codes having PPDs in various formats, such as the above-mentioned inline and offline format examples. Step 603C is performed by resource locator 42 and includes step 610 of searching the PPD for one or more first data elements. The first data elements may include, for example, the manufacturer ID described above. If the first data element is found (step 611), the method proceeds to step 612, where the current value of the first data element, for example, the current value of the manufacturer ID, is extracted. In step 613, the current value is input into a common address template for SDBs in the database system to form the address of the selected SDB in the database system. This embodiment assumes that the addresses of individual SDBs in the database system include the first data element and vary depending on the value of the first data element. For example, the addresses of SDBs can be listed corresponding to the manufacturer ID. The method then proceeds to step 603D, where the marking code is redirected to an address. If the first data element is not found in the PPD, step 611 directs the method to search the PPD for one or more second data elements in step 614, where at least one second data element is different from the first data element. If a second data element is found, step 615 directs the method to step 616, where the current value of the second data element, e.g., the current value of the request number, optionally in combination with a time period, is extracted. In step 617, the current value is used as a search key to access the lookup database (LDB) 32, and the corresponding DBID of the selected SDB is obtained from the LDB. In step 618, the address of the selected SDB is obtained based on the DBID. The method then proceeds to step 603D, where the marking code is redirected to an address. It will be understood that the DBID can define the address of the selected SDB, or at least a part thereof. In one example, step 618 is performed by analogy with step 613, where the DBID may include, for example, a manufacturer ID.If the second data element is not found in the PPD, the method is directed by step 615 to generate an error message that can be displayed on input device 20 (step 619).

[0068] The structures and methods disclosed herein may be implemented by hardware or a combination of software and hardware. In some embodiments, such hardware includes one or more software-controlled computational resources. FIG. 7 schematically illustrates such computational resources 70, including a processing system 71, computer memory 72, and a communication interface 73 for inputting and / or outputting data. The communication interface 73 may be configured for wired and / or wireless communication, including communication with input device 20. The processing system 71 may include, for example, one or more of 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 some other programmable logic device such as an FPGA (“Field Programmable Gate Array”). A control program 74, including computer instructions, is stored in memory 72 and executed by the processing system 71 to perform any of the methods, operations, functions, or steps illustrated above. As shown in FIG. 7, the memory 72 may also store control data 75 for use by the processing system 72. The control program 74 may be provided to the computational resource 70 on a computer-readable medium 76, which may be a tangible (non-transitory) product (e.g., magnetic medium, optical disk, read-only memory, flash memory, etc.) or a propagated signal.

Claims

1. an input subsystem (40) for receiving marking codes corresponding to data carriers (17) on packages (16) for liquid food products, each said marking code including package production data (PPD) that uniquely identifies the manufacture of an individual package (16); a plurality of code databases (31) for storing the marking codes, each code database (SDB1 to SDBi) among the plurality of code databases (31) storing a respective subset of the marking codes; a set of resource locators (42), each of which is configured to receive a current marking code from the input subsystem (40), extract the package manufacturing data (PPD) from the current marking code, select a current code database (SDB1-SDBi) from each of the code databases (SDB1-SDBi) in the plurality of code databases (31) based on the package manufacturing data (PPD), and redirect the current marking code to the current code database (SDB1-SDBi); A database system, including

2. 2. The database system of claim 1, further comprising a set of lookup databases (32), wherein each of the resource locators (RL1-RL3) is configured for connection to a respective lookup database (LDB1-LDB3) in the set of lookup databases (32), and wherein each of the lookup databases (LDB1-LDB3) is configured to associate different values of at least one data element in the packaging manufacturing data (PPD) with different code databases in the plurality of code databases (31).

3. 3. The database system of claim 2, wherein resource locators in said set of resource locators (42) are connected in pairs with lookup databases in said set of lookup databases (32), and in each said pair said individual lookup database (LDB1-LDB3) is co-located with said individual resource locator (RL1-RL3).

4. 4. The database system of claim 2, wherein the set of lookup databases (32) includes a primary lookup database and one or more replications of the primary lookup database.

5. 5. The database system of claim 2, wherein each of the resource locators (RL1-RL3) is further configured to search the packaging manufacturing data (PPD) for the at least one data element, extract a current value of the at least one data element, and identify the current code database in a lookup database (LDB1-LDB3) in the set of lookup databases (32) based on the at least one data element.

6. 6. The database system of claim 1, wherein each code database has an address in the database system, the address including at least one predefined data element in the packaging production data (PPD).

7. 7. The database system of claim 6, wherein each resource locator (RL1-RL3) is configured to search the packaging manufacturing data (PPD) for the at least one predefined data element, extract a current value of the at least one predefined data element, include the current value in an address template to generate the address for the current code database in the database system, and redirect the current marking code to the address.

8. 8. The database system of claim 6 or 7, wherein the at least one predetermined data element comprises an identifier of a provider of one or more plants for manufacturing the package (16).

9. 9. The database system of any one of claims 1 to 8, wherein the set of resource locators (42) comprises two or more resource locators (RL1-RL3) located in different geographic regions (G1-G11).

10. 10. The database system according to claim 1, wherein each code database (SDB1 to SDBi) is located within a respective distribution area of a plurality of distribution areas (G1 to G11), and wherein the respective subsets of the marking codes in each code database (SDB1 to SDBi) correspond to packages (16) that are at least partially distributed within the respective distribution area.

11. 11. The database system of claim 10, wherein the plurality of code databases (31) includes at least one primary code database and one or more replications of the primary code database.

12. 12. The database system of claim 1, wherein the packaging production data (PPD) is encrypted within the marking code, and wherein each of the resource locators (RL1-RL3) is further configured to decode the marking code to extract the packaging production data (PPD).

13. 13. A system comprising: a package (16) for a liquid food product, the package (16) having a data carrier (17) containing a marking code, the marking code containing package production data (PPD) that uniquely identifies the manufacture of the package (16); and a database system according to any one of claims 1 to 12.

14. A computer-implemented control method for a database system (30), comprising: receiving (601) by an input subsystem (40) of said database system (30) a current marking code corresponding to a package (16) of liquid food product and including package production data (PPD) that uniquely identifies the manufacture of said package (16); providing (602) said current marking code to a resource locator (42; RL1-RL3) in said database system (30) by said input subsystem (40); Extracting (603B) the package manufacturing data (PPD) from the current marking code; selecting (603C) a current code database (SDB1 to SDBi) from among each of a plurality of code databases (31) storing respective subsets of a plurality of marking codes based on the package manufacturing data (PPD); Redirect the current marking code to the current code database (SDB1 to SDBi) (603D). and operating said resource locators (42; RL1 to RL3) so that A control method comprising:

15. 15. A computer-readable medium comprising computer instructions that, when executed by a processing system, cause the processing system to perform the method of claim 14.

Citation Information

Patent Citations

  • Providing unique codes on packages for liquid food

    EP3540664A1

  • System and method for retrieving distributed directory, cacheless distributed directory retrieval device, cacheless category distributed directory retrieval device, their programs and recording media for their programs

    JP2004078456A

  • History management method and warehousing / delivery management method

    WO2004036472A1