Abstract: The present disclosure provides a system and method for uniquely identifying objects (hereinafter interchangeably referred to as “product”, “article”, “item”, “piece”, “device”, “gadget”, “artifact”, or “entity”) so as to be able to distinguish genuine items from counterfeit versions. The system according to present disclosure includes a code generation module that generates a first set of codes of one or more code types having at least a main middle code using a randomization function, a complexity threshold based evaluation module that processes the first set of codes through a complexity threshold function to confirm whether the first set of codes meets defined complexity threshold, and a hashing-based n-dimensional code generation module that hashes the first set of codes to generate the n-dimensional code.
ANTI-COUNTERFEITING MULTI- DIMENSIONAL CODE AND MANUFACTURING METHOD THEREOF
TECHNICAL FIELD
[0001] The present disclosure relates to anti-counterfeiting systems and methods, and more particularly, to a system and method for uniquely identifying objects (hereinafter interchangeably referred to as “product”, “article”, “item”, “piece”, “device”, “gadget”, “artifact”, or “entity”) so as to be able to distinguish genuine items from counterfeit versions.
BACKGROUND
[0002] Background description includes information that may be useful in understanding the present invention. It is not an admission that any of the information provided herein is prior art or relevant to the presently claimed invention, or that any publication specifically or implicitly referenced is prior art.
[0003] Counterfeiting of items such as goods, materials, and documents defrauds consumers, tarnishes the brand names of legitimate manufacturers and providers of such items, and can endanger public health (for example, when adulterated foods and drugs are passed off as genuine). Counterfeiting is a hugely lucrative business, with criminals relying on the continued high demand for cheap goods coupled with low production and distribution costs. Nowadays counterfeit products, including counterfeit famous brand products and counterfeit fine art item are often manufactured with the intention to take advantage of the superior value of the imitated product. Some counterfeit products are almost indistinguishable from authentic items by human eyes and even by some testing equipment. At present, counterfeit products are creating a serious problem in many countries in the world resulting in huge economic losses and negatively impacting both consumers and producers of the trustworthy items. For example, when a customer is buying a water bottle, the customer is unaware about the authenticity of the water bottle. The customer is unaware if the water bottle is from an authorized company and contains filtered/mineral water or it is from a local manufacturing company and holds just tap water. This is a generic problem which is faced not only by customers/consumers but also faced by producers of genuine products. Counterfeit products can also disrupt regular economic operations of many countries.
[0004] Advancements in modern technology have led to development of various new and advanced anti-counterfeiting measures that prevent imitation and copying of products
3
without an owner's allowance. Anti-counterfeiting measures have included serial numbers, machine readable identifiers (e.g., scannable barcodes and two-dimensional codes), “tamper-proof/ copy-proof” security labels (e.g., holograms and labels that change state or partly or completely self-destruct on removal), laser stickers, entity particles attached to a product, and remotely detectable tags (e.g., radio-frequency identification tags) applied to items directly or to tags, labels, and/or packaging for such items.
[0005] Apart from the above, one of the most commonly available and used anti-counterfeiting measure/technology which is most commonly used in bills, receipts, and few articles in the existing art, is that a certain pattern is embedded in the electronics bills, receipts, and few articles. However, this method of embedding the certain pattern in the bills, receipts, and few articles has a problem: the content of the embedded pattern is not related to the content of the protected picture, and the embedding pattern is easy to be forged. Another most commonly available and used anti-counterfeiting measure/technology is that an anti-counterfeiting digital watermarking is embedded in the bills, receipts, and few articles. However, this method of embedding the anti-counterfeiting digital watermarking in the bills, receipts, and few articles may be limited by the format and the content of the picture, and the embedding capacity of the digital watermarking is not high.
[0006] Thus, in spite of various developments of anti-counterfeiting measures/ technology using barcode, watermarking, laser stickers, entity particles attached to the products and the like are already well adapted to provide an anti-counterfeit preliminary mechanism, they are not complete. For instance, barcodes on current electronic devices do not have a complete anti-counterfeit mechanism and such measures have themselves been counterfeited. The main reason is that according the conventional anti-counterfeit method, it is difficult to determine whether barcodes, watermarking, laser stickers, entity particles attached to the products and the like are forged due to remaking, recording or replicating them. In light of such counterfeiting, consumers generally have been unable to rely upon such measures in order to verify the authenticity of marked or tagged items. Consequently, developing an anti-counterfeit mechanism for items/products is getting more crucial in order to solve the problem of remaking, recording or replicating the barcodes and/or tags provided for the items/products.
[0007] Accordingly, there is a need for a secure, improved and technically advanced system and method for solving above recited technical problems by way of generating n-dimensional codes i.e., multi-dimensional codes to be associated with the items/products that enables to uniquely identify and distinguish genuine items/products from counterfeit
4
versions. Further, there is also a need for a system and method which provides a mechanism for consumers to verify the authenticity of marked or tagged items. Furthermore, the system and method should be very easily available to all constituents/ entities of a supply chain including the customer and be very easy to deploy/implement.
[0008] All publications herein are incorporated by reference to the same extent as if each individual publication or patent application were specifically and individually indicated to be incorporated by reference. Where a definition or use of a term in an incorporated reference is inconsistent or contrary to the definition of that term provided herein, the definition of that term provided herein applies and the definition of that term in the reference does not apply.
[0009] In some embodiments, the numbers expressing quantities or dimensions of items, and so forth, used to describe and claim certain embodiments of the invention are to be understood as being modified in some instances by the term “about.” Accordingly, in some embodiments, the numerical parameters set forth in the written description and attached claims are approximations that can vary depending upon the desired properties sought to be obtained by a particular embodiment. In some embodiments, the numerical parameters should be construed in light of the number of reported significant digits and by applying ordinary rounding techniques. Notwithstanding that the numerical ranges and parameters setting forth the broad scope of some embodiments of the invention are approximations, the numerical values set forth in the specific examples are reported as precisely as practicable. The numerical values presented in some embodiments of the invention may contain certain errors necessarily resulting from the standard deviation found in their respective testing measurements.
[0010] As used in the description herein and throughout the claims that follow, the meaning of “a,” “an,” and “the” includes plural reference unless the context clearly dictates otherwise. Also, as used in the description herein, the meaning of “in” includes “in” and “on” unless the context clearly dictates otherwise.
[0011] The recitation of ranges of values herein is merely intended to serve as a shorthand method of referring individually to each separate value falling within the range. Unless otherwise indicated herein, each individual value is incorporated into the specification as if it were individually recited herein. All methods described herein can be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. The use of any and all examples, or exemplary language (e.g. “such as”) provided with respect to certain embodiments herein is intended merely to better illuminate the
5
invention and does not pose a limitation on the scope of the invention otherwise claimed. No language in the specification should be construed as indicating any non-claimed element essential to the practice of the invention.
[0012] Groupings of alternative elements or embodiments of the invention disclosed herein are not to be construed as limitations. Each group member can be referred to and claimed individually or in any combination with other members of the group or other elements found herein. One or more members of a group can be included in, or deleted from, a group for reasons of convenience and/or patentability. When any such inclusion or deletion occurs, the specification is herein deemed to contain the group as modified thus fulfilling the written description of all groups used in the appended claims.
OBJECT OF THE INVENTION
[0013] Some of the objects of the present disclosure, which at least one embodiment herein satisfies are as listed herein below.
[0014] It is an object of the present disclosure to provide for a system and method to generates n-dimensional code (interchangeably referred to as multi-dimensional) for anti-counterfeiting system.
[0015] It is an object of the present disclosure to provide for a system and method to identify and authenticate unique products based on multi-dimensional code
[0016] It is another object of the present disclosure to provide for a system and method to inform a manufacturer when a counterfeit product is detected as well as possible locations where counterfeiting may have taken place utilizing multi-dimensional code.
[0017] It is another object of the present disclosure to provide for a system and method that is very easily and continuously available to all its users such as various constituents/entities of supply chain of a product and its end customers, and is very easy to deploy and implement.
SUMMARY
[0018] This summary is provided to introduce a selection of concepts in a simplified form to be further described below in the Detailed Description. This summary is not intended to identity key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
[0019] The present disclosure relates to anti-counterfeiting systems and methods. In particular it relates to a system and method for uniquely identifying objects
6
(hereinafter interchangeably referred to as “product”, “article”, “item”, “piece”, “device”, “gadget”, “artifact”, or “entity”) so as to be able to distinguish genuine items from counterfeit versions.
[0020] An aspect of the present disclosure relates to a system that includes a non-transitory storage device having embodied therein one or more routines operable to generate an n-dimensional code to be associated with a product, and one or more processors coupled to the non-transitory storage device and operable to execute the one or more routines. The one or more routines include a code generation module that generates a first set of codes of one or more code types having at least a main middle code using a randomization function, a complexity threshold based evaluation module that processes the first set of codes through a complexity threshold function to confirm whether the first set of codes meets defined complexity threshold, and a hashing-based n-dimensional code generation module that hashes the first set of codes to generate the n-dimensional code.
[0021] In an aspect, the first set of codes can be selected, using the randomization function, from a plurality of codes stored in a code database. In another aspect, said first set of codes can include a tracker code that can be configured to determine codes that are present in the n-dimensional code along with their respective sequence in the n-dimensional code. In another aspect, said first set of codes can include one or more split bar based code that enables multiple codes to be present on one side of the n-dimensional code. In yet another aspect, said first set of codes comprises one or more pivot squares that enable reader of the n-dimensional code to lock on location of other codes that form part of the n-dimensional code. In still another aspect, the first set of codes can include 'n' codes, wherein each of the 'n' codes can be of a different code type, and wherein said n codes are hashed to generate the n-dimensional code.
[0022] In an aspect, the tracker code can be generated at the time of generation of the first set of codes, and can be dependent on other codes that form part of the first set of codes.
[0023] In an aspect, the at least a main middle code can be any or a combination of a simple code that has a single code image, or a composite code that is a composite image of multiple codes.
[0024] In an aspect, the n-dimensional code can be printed on the product. In another aspect, the n-dimensional code can be associated with an intangible object. In yet another aspect, the n-dimensional code can be a 2D code or a 3D code configured in any geometrical shape. In still another aspect, the n-dimensional code can be represented in any of a 2D form, in 3D form, and holographic form.
7
[0025] In an aspect, the defined complexity threshold varies based on one or more attributes of the product.
[0026] In an aspect, the n-dimensional code is represented as or forms part of a QR code.
[0027] An aspect of the present disclosure relates to an n-dimensional code having a hashed first set of codes of one or more code types, said first set of codes being selected randomly from a code database that includes a plurality of codes.
[0028] In an aspect, the first set of codes comprises 'n' codes, wherein each of the first set of codes is of a different code type. In another aspect, said first set of codes comprises any or a combination of a tracker code that is configured to determine codes that are present in the n-dimensional code along with their respective sequence in the n-dimensional code, one or more split bar based code that enables multiple codes to be present on one side of the n-dimensional code, and one or more pivot squares that enable reader of the n-dimensional code to lock on location of other codes that form part of the n-dimensional code.
[0029] An aspect of the present disclosure relates to a method for generating an n-dimensional code to be associated with a product. The method includes the steps of using a randomization function, generating a first set of codes of one or more code types, said first set of codes comprising at least a main middle code, processing the first set of codes through a complexity threshold function to confirm whether the first set of codes meets defined complexity threshold, and hashing the first set of codes to generate the n-dimensional code.
[0030] In an embodiment, unique identification codes, preferably n-dimensional codes (multidimensional) are generated from data associated and/or non-associated with products or other items, by applying a randomization function, a complexity threshold function and a suitable hashing functions. The n-dimensional codes are provided to a manufacturer as machine readable labels, tags, devices, or the like, or provided as a data set for local conversion by the manufacturer into machine readable form. Alternatively, a service provider may ship machine readable (and preferably tamper-proof/ copy-proof) labels, tags, or the like bearing such identification codes to the manufacturer. The manufacturer affixes the machine readable n-dimensional codes to units of an item, and scans the affixed identification codes before distribution of the units in order to flag each affixed identification code as “active”. Tampering/copying such labels, tags and the like can result in loss of information contained in the identification codes thus making them useless and helping identify a counterfeit product on which such tampered/copied labels, tags and the like may have been put.
8
[0031] Thereafter, when a consumer or other user scans a machine readable form of an affixed n-dimensional code from a unit of some item, the n-dimensional code value is transmitted along with any desired auxiliary information (e.g., user identity, location, telephone number, etc.) to the manufacturer or to a service provider, which performs selected verification and validation tests to determine the authenticity of the identification code, and thus of the associated unit. The consumer or user is provided with feedback as to the genuineness of the unit, or is contacted by or directed to contact a representative of the manufacturer if doubt exists.
[0032] Various objects, features, aspects and advantages of the present disclosure will become more apparent from the following detailed description of preferred embodiments, along with the accompanying drawing figures in which like numerals represent like features.
BRIEF DESCRIPTION OF THE DRAWINGS
[0033] The accompanying drawings are included to provide a further understanding of the present disclosure, and are incorporated in and constitute a part of this specification. The drawings illustrate exemplary embodiments of the present disclosure and, together with the description, serve to explain the principles of the present disclosure.
[0034] In the figures, similar components and/or features may have the same reference label. Further, various components of the same type may be distinguished by following the reference label with a second label that distinguishes among the similar components. If only the first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label irrespective of the second reference label.
[0035] FIG. 1 illustrates a product distribution architecture as usually exists presently (Prior Art).
[0036] FIG. 2 illustrates functional modules of system proposed in accordance with an exemplary embodiment of the present disclosure.
[0037] FIG. 3 illustrates a distribution architecture that is enabled by the proposed system in accordance with an exemplary embodiment of the present disclosure.
[0038] FIG. 4A illustrates a normal QR code with encoded product information and authenticity information, as usually exists presently (Prior Art).
[0039] FIG. 4B illustrates the QR code with a graphics mask which needs a special algorithm for reading, as usually exists presently (Prior Art).
9
[0040] FIG. 4C illustrates QR code with graphics mask 402 and 1D bar code 404, as usually exists presently (Prior Art).
[0041] FIG. 4D illustrates an n -dimensional QR code with multiple ways to encode authenticity information, in accordance with an exemplary embodiment of the present disclosure.
[0042] FIGs. 4E-4F illustrates examples of n -dimensional QR codes to encode information in different geometrical shapes, in accordance with exemplary embodiments of the present disclosure.
[0043] FIG. 5 illustrates an exemplary flow chart of method for generating an n-dimensional code to be associated with a product in accordance with an exemplary embodiment of the present disclosure.
[0044] FIG. 6 illustrates an exemplary computer system in which or with which embodiments of the present invention may be utilized in accordance with an exemplary embodiment of the present disclosure.
DETAILED DESCRIPTION
[0045] The following is a detailed description of embodiments of the disclosure depicted in the accompanying drawings. The embodiments are in such detail as to clearly communicate the disclosure. However, the amount of detail offered is not intended to limit the anticipated variations of embodiments; on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present disclosure as defined by the appended claims.
[0046] The following is a detailed description of embodiments of the disclosure depicted in the accompanying drawings. The embodiments are in such detail as to clearly communicate the disclosure. However, the amount of detail offered is not intended to limit the anticipated variations of embodiments; on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present disclosure as defined by the appended claims.
[0047] In the following description, numerous specific details are set forth in order to provide a thorough understanding of embodiments of the present invention. It will be apparent to one skilled in the art that embodiments of the present invention may be practiced without some of these specific details.
[0048] Embodiments of the present invention may be provided as a computer program product, which may include a machine-readable storage medium tangibly
10
embodying thereon instructions, which may be used to program a computer (or other electronic devices) to perform a process. The machine-readable medium may include, but is not limited to, fixed (hard) drives, magnetic tape, floppy diskettes, optical disks, compact disc read-only memories (CD-ROMs), and magneto-optical disks, semiconductor memories, such as ROMs, PROMs, random access memories (RAMs), programmable read-only memories (PROMs), erasable PROMs (EPROMs), electrically erasable PROMs (EEPROMs), flash memory, magnetic or optical cards, or other type of media/machine-readable medium suitable for storing electronic instructions (e.g., computer programming code, such as software or firmware).
[0049] If the specification states a component or feature “may”, “can”, “could”, or “might” be included or have a characteristic, that particular component or feature is not required to be included or have the characteristic.
[0050] As used in the description herein and throughout the claims that follow, the meaning of “a,” “an,” and “the” includes plural reference unless the context clearly dictates otherwise. Also, as used in the description herein, the meaning of “in” includes “in” and “on” unless the context clearly dictates otherwise.
[0051] Exemplary embodiments will now be described more fully hereinafter with reference to the accompanying drawings, in which exemplary embodiments are shown. These exemplary embodiments are provided only for illustrative purposes and so that this disclosure will be thorough and complete and will fully convey the scope of the invention to those of ordinary skill in the art. The invention disclosed may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Various modifications will be readily apparent to persons skilled in the art. The general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the invention. Moreover, all statements herein reciting embodiments of the invention, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future (i.e., any elements developed that perform the same function, regardless of structure). Also, the terminology and phraseology used is for the purpose of describing exemplary embodiments and should not be considered limiting. Thus, the present invention is to be accorded the widest scope encompassing numerous alternatives, modifications and equivalents consistent with the principles and features disclosed. For purpose of clarity, details relating to technical material that is known in the technical fields related to the
11
invention have not been described in detail so as not to unnecessarily obscure the present invention.
[0052] Thus, for example, it will be appreciated by those of ordinary skill in the art that the diagrams, schematics, illustrations, and the like represent conceptual views or processes illustrating systems and methods embodying this invention. The functions of the various elements shown in the figures may be provided through the use of dedicated hardware as well as hardware capable of executing associated software. Similarly, any switches shown in the figures are conceptual only. Their function may be carried out through the operation of program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the entity implementing this invention. Those of ordinary skill in the art further understand that the exemplary hardware, software, processes, methods, and/or operating systems described herein are for illustrative purposes and, thus, are not intended to be limited to any particular named element.
[0053] The ensuing description provides exemplary embodiments only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the ensuing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing an exemplary embodiment. It should be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the disclosure as set forth in the appended claims.
[0054] Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.
[0055] The term “machine-readable storage medium” or “computer-readable storage medium” includes, but is not limited to, portable or non-portable storage devices, optical storage devices, and various other mediums capable of storing, containing, or carrying instruction(s) and/or data. A machine-readable medium may include a non-transitory medium in which data can be stored and that does not include carrier waves and/or transitory electronic signals propagating wirelessly or over wired connections. Examples of a non-transitory medium may include, but are not limited to, a magnetic disk or tape, optical storage
12
media such as compact disk (CD) or digital versatile disk (DVD), flash memory, memory or memory devices. A computer-program product may include code and/or machine-executable instructions that may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc.
[0056] Furthermore, embodiments may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks (e.g., a computer-program product) may be stored in a machine-readable medium. A processor(s) may perform the necessary tasks.
[0057] Systems depicted in some of the figures may be provided in various configurations. In some embodiments, the systems may be configured as a distributed system where one or more components of the system are distributed across one or more networks in a cloud computing system.
[0058] In an implementation, the computing devices described herein may be any of a variety of types of computing device, including without limitation, a desktop computer system, a data entry terminal, a laptop computer, a notebook computer, a tablet computer, a handheld personal data assistant, a smartphone, a body-worn computing device incorporated into clothing, a computing device integrated into a vehicle (e.g., a car, a bicycle, etc.), a server, a cluster of servers, a server farm, etc.
[0059] In various embodiments, one or more of the computing devices may link to the proposed system for transfer/exchange of data using wireless or wired link. The link may be based on any of a variety (or combination) of communications technologies by which signals may be exchanged, including without limitation, wired technologies employing electrically and/or optically conductive cabling, and wireless technologies employing infrared, radio frequency or other forms of wireless transmission. It is envisioned that one or more of these links may be implemented as channels of communication (e.g., virtual private network (VPN) channels or other forms of virtual channels) formed between computing devices through portions of the Internet.
13
[0060] Generally, and in various embodiments, the link will use signaling and/or protocols conforming to any of a variety of industry standards, including without limitation, RS-232C, RS-422, USB, Ethernet (IEEE-802.3) or IEEE-1394. Alternatively or additionally, where one or more portions of the link employ wireless signal transmission, one or more of the interfaces may employ signalling and/or protocols conforming to any of a variety of industry standards, including without limitation, IEEE 802.11a, 802.11b, 802.11g, 802.16, 802.20 (commonly referred to as “Mobile Broadband Wireless Access”); Bluetooth; ZigBee; or a cellular radiotelephone service such as GSM with General Packet Radio Service (GSM/GPRS), CDMA/1xRTT, Enhanced Data Rates for Global Evolution (EDGE), Evolution Data Only/Optimized (EV-DO), Evolution For Data and Voice (EV-DV), High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), 4G LTE, etc.
[0061] The computing devices may store instructions to be executed by processor in storage, such as control routine. The storage may include various types of computer-readable storage media in the form of one or more higher speed memory units, such as read-only memory (ROM), random-access memory (RAM), dynamic RAM (DRAM), Double-Data-Rate DRAM (DDRAM), synchronous DRAM (SDRAM), static RAM (SRAM), programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, polymer memory such as ferroelectric polymer memory, ovonic memory, phase change or ferroelectric memory, silicon-oxide-nitride-oxide-silicon (SONOS) memory, magnetic or optical cards, an array of devices such as Redundant Array of Independent Disks (RAID) drives, solid state memory devices (e.g., USB memory, solid state drives (SSD) and any other type of storage media suitable for storing information. As such, and in various embodiments, storage may provide volatile and/or non-volatile storage of data, data structures, computer-executable instructions, and so forth. For example, a number of program modules can be stored in memory units, including an operating system, and control routine.
[0062] The computing devices may execute processing operations or logic using a processing circuit in communication with control routine(s). The processing circuit may comprise various hardware elements, software elements, or a combination of both. Examples of hardware elements may include devices, logic devices, components, processors, microprocessors, circuits, processor circuits, circuit elements (e.g., transistors, resistors, capacitors, inductors, and so forth), integrated circuits, application specific integrated circuits (ASIC), programmable logic devices (PLD), digital signal processors (DSP), field
14
programmable gate array (FPGA), memory units, logic gates, registers, semiconductor device, chips, microchips, chip sets, and so forth. Examples of software elements may include software components, programs, applications, computer programs, application programs, system programs, software development programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, software interfaces, application program interfaces (API), instruction sets, computing code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof. Determining whether an embodiment is implemented using hardware elements and/or software elements may vary in accordance with any number of factors, such as desired computational rate, power levels, heat tolerances, processing cycle budget, input data rates, output data rates, memory resources, data bus speeds and other design or performance constraints, as desired for a given implementation.
[0063] In various embodiments, one or more of the control routines used in the proposed system may comprise a combination of an operating system, device drivers and/or application-level routines (e.g., so-called “software suites” provided on disc media, “applets” obtained from a remote server, etc.). Where an operating system is included, the operating system may be any of a variety of available operating systems appropriate for whatever corresponding ones of the processor circuits and, including without limitation, Windows™, OS X™, Linux®, iOS® (formerly iPhone OS), or Android OS™. Where one or more device drivers are included, those device drivers may provide support for any of a variety of other components, whether hardware or software components, that comprise one or more of the computing devices.
[0064] As used herein, and unless the context dictates otherwise, the term “communication network” or “network” is intended to include internet, LAN, WAN, intranet or cloud networks or any communication medium possible for interaction among the various devices elaborated herein.
[0065] In an aspect, the proposed system (interchangeably termed as system herein) can be operatively configured as a website accessible by any Internet enabled computing device, and can as well be configured to be accessed using a mobile application that can be downloaded on a mobile device that can connect to Internet. In such manner, the proposed system can be available 24*7 to its users. Any other manner of implementation of the proposed system or a part thereof is well within the scope of the present disclosure/invention. The computing device can be a PC, a tablet, a smart phone and other like devices.
15
[0066] Each of the appended claims defines a separate invention, which for infringement purposes is recognized as including equivalents to the various elements or limitations specified in the claims. Depending on the context, all references below to the "invention" may in some cases refer to certain specific embodiments only. In other cases it will be recognized that references to the "invention" will refer to subject matter recited in one or more, but not necessarily all, of the claims.
[0067] Various terms as used herein are shown below. To the extent a term used in a claim is not defined below, it should be given the broadest definition persons in the pertinent art have given that term as reflected in printed publications and issued patents at the time of filing.
[0068] The present disclosure relates to anti-counterfeiting systems and methods. In particular it relates to a system and method for uniquely identifying objects (hereinafter interchangeably referred to as “product”, “article”, “item”, “piece”, “device”, “gadget”, “artifact”, or “entity”) so as to be able to distinguish genuine items from counterfeit versions.
[0069] An aspect of the present disclosure relates to a system that includes a non-transitory storage device having embodied therein one or more routines operable to generate an n-dimensional code to be associated with a product, and one or more processors coupled to the non-transitory storage device and operable to execute the one or more routines. The one or more routines include a code generation module that generates a first set of codes of one or more code types having at least a main middle code using a randomization function, a complexity threshold based evaluation module that processes the first set of codes through a complexity threshold function to confirm whether the first set of codes meets defined complexity threshold, and a hashing-based n-dimensional code generation module that hashes the first set of codes to generate the n-dimensional code.
[0070] In an aspect, the first set of codes can be selected, using the randomization function, from a plurality of codes stored in a code database. In another aspect, said first set of codes can include a tracker code that can be configured to determine codes that are present in the n-dimensional code along with their respective sequence in the n-dimensional code. In another aspect, said first set of codes can include one or more split bar based code that enables multiple codes to be present on one side of the n-dimensional code. In yet another aspect, said first set of codes comprises one or more pivot squares that enable reader of the n-dimensional code to lock on location of other codes that form part of the n-dimensional code. In still another aspect, the first set of codes can include 'n' codes, wherein each of the 'n' codes
16
can be of a different code type, and wherein said n codes are hashed to generate the n-dimensional code.
[0071] In an aspect, the tracker code can be generated at the time of generation of the first set of codes, and can be dependent on other codes that form part of the first set of codes.
[0072] In an aspect, the at least a main middle code can be any or a combination of a simple code that has a single code image, or a composite code that is a composite image of multiple codes.
[0073] In an aspect, the n-dimensional code can be printed on the product. In another aspect, the n-dimensional code can be associated with an intangible object. In yet another aspect, the n-dimensional code can be a 2D code or a 3D code configured in any geometrical shape. In still another aspect, the n-dimensional code can be represented in any of a 2D form, in 3D form, and holographic form.
[0074] In an aspect, the defined complexity threshold varies based on one or more attributes of the product.
[0075] In an aspect, the n-dimensional code is represented as or forms part of a QR code.
[0076] An aspect of the present disclosure relates to an n-dimensional code having a hashed first set of codes of one or more code types, said first set of codes being selected randomly from a code database that includes a plurality of codes.
[0077] In an aspect, the first set of codes comprises 'n' codes, wherein each of the first set of codes is of a different code type. In another aspect, said first set of codes comprises any or a combination of a tracker code that is configured to determine codes that are present in the n-dimensional code along with their respective sequence in the n-dimensional code, one or more split bar based code that enables multiple codes to be present on one side of the n-dimensional code, and one or more pivot squares that enable reader of the n-dimensional code to lock on location of other codes that form part of the n-dimensional code.
[0078] An aspect of the present disclosure relates to a method for generating an n-dimensional code to be associated with a product. The method includes the steps of using a randomization function, generating a first set of codes of one or more code types, said first set of codes comprising at least a main middle code, processing the first set of codes through a complexity threshold function to confirm whether the first set of codes meets defined complexity threshold, and hashing the first set of codes to generate the n-dimensional code.
[0079] FIG. 1 illustrates a product distribution architecture as usually exists presently (Prior Art). As illustrated in FIG. 1, a supply chain of a product to its customer may have
17
different intermediaries (interchangeably termed as entities herein) while the customer can also be termed as an entity. As illustrated, in an exemplary embodiment, a product 118 produced at a factory 102 may first be stored at a dispatch station 104 that may be within the factory premises itself. Thereafter, it can proceed to a state warehouse 106, a city warehouse 108, and a local warehouse 110 and finally to a retail shop 112 from where customer 114 can purchase it.
[0080] As can be appreciated, at all such points (as well as between them, while the product 118 is on transit trucks, for example), product 118 can be pilfered and replaced with a counterfeit one to avoid detection of the pilferage. While it may have serial numbers, machine readable identifiers (e.g., scannable barcodes and two-dimensional codes), “tamper-proof/copy-proof ” security labels (e.g., holograms and labels that change state or partly or completely self-destruct on removal), laser stickers, entity particles attached to a product, and remotely detectable tags (e.g., radio-frequency identification tags) applied to items directly or to tags, labels, and/or packaging for such items, those normal codes can easily be copied, remade or replicated and stuck on the counterfeit product and so it is very difficult to detect that a counterfeit product has been introduced in the supply chain or the point/stage/entity where such counterfeiting has taken place. In light of such counterfeiting, consumers generally have been unable to rely upon such measures in order to verify the authenticity of marked or tagged items. Consequently, developing an anti-counterfeit mechanism for items/products is getting more crucial in order to solve the problem of copying, remaking or replicating the barcodes and/or tags provided for the items/products.
[0081] In a similar manner, even when a product 120 is delivered directly from dispatch station 104 to customer 114 using an online order system 116 there is a possibility that it can be replaced with a counterfeit one since such attempts maybe made at the dispatch station 114 itself, as well in the supply chain system of the online order system 116.
[0082] The pilfered product (118 or 120) can be diverted to another supply chain with different entities. It may be adulterated and so, thus may pose a danger to a customer although it is seemingly genuine. The manufacturer is interested in identifying such alternate distribution channels as well and the customer should also be warned appropriately. Such a diverted product can, hence, as well be considered as a counterfeit product since it is not following its intended/authorized distribution path.
[0083] Accordingly, there is a need for a secure, improved and technically advanced system and method for solving above recited technical problems by way of generating n-dimensional codes i.e., multi-dimensional codes to be associated with the items/products that
18
enables to uniquely identify and distinguish genuine items/products from counterfeit versions. Further, there is also a need for a system and method which provides a mechanism for consumers to verify the authenticity of marked or tagged items. Furthermore, the system and method should be very easily available to all constituents/ entities of a supply chain including the customer and be very easy to deploy/implement.
[0084] For solving above recited technical problems, the present disclosure provides a secure, improved and technically advanced system and method that enables to generate n-dimensional codes i.e., multi-dimensional codes to be associated with the items/products in order to uniquely identify and distinguish genuine items/products from counterfeit versions. Further, the system and method also provides a mechanism for customers to verify the authenticity of marked or tagged items. Furthermore, the system and method is very easily available to all constituents/ entities of a supply chain including the customer and are very easy to deploy/implement.
[0085] In an embodiment, the present disclosure provides a system and method for creation n-dimensional code for anti-counterfeiting systems. In an exemplary embodiment, dimension of said n-dimensional code may not be necessarily visualized by spatial dimensional placements. They can be various facets of the multi-part codes which can be used to create a composite multi-part code which is secure and reverse-engineering proof.
[0086] In an embodiment, unique identification codes, preferably n-dimensional codes (multidimensional) are generated from data associated and/or non-associated with products or other items, by applying a randomization function, a complexity threshold function and a suitable hashing functions. The n-dimensional codes are provided to a manufacturer as machine readable labels, tags, devices, or the like, or provided as a data set for local conversion by the manufacturer into machine readable form. Alternatively, a service provider may ship machine readable (and preferably tamper-proof/ copy-proof) labels, tags, or the like bearing such identification codes to the manufacturer. The manufacturer affixes the machine readable n-dimensional codes to units of an item, and scans the affixed identification codes before distribution of the units in order to flag each affixed identification code as “active”. Tampering/copying such labels, tags and the like can result in loss of information contained in the identification codes thus making them useless and helping identify a counterfeit product on which such tampered/copied labels, tags and the like may have been put.
[0087] Thereafter, when a consumer or other user scans a machine readable form of an affixed n-dimensional code from a unit of some item, the n-dimensional code value is
19
transmitted along with any desired auxiliary information (e.g., user identity, location, telephone number, etc.) to the manufacturer or to a service provider, which performs selected verification and validation tests to determine the authenticity of the identification code, and thus of the associated unit. The consumer or user is provided with feedback as to the genuineness of the unit, or is contacted by or directed to contact a representative of the manufacturer if doubt exists.
[0088] FIG. 2 illustrates functional modules of system proposed in accordance with an exemplary embodiment of the present disclosure. In an embodiment, FIG. 2 illustrates functional modules of system proposed to generate an n-dimensional code to be associated with a product.
[0089] In an exemplary embodiment, the proposed system (interchangeably termed as system herein) can be operatively configured as a website, or be operatively connected to a website that is accessible by any Internet enabled computing device such as a mobile device. In such manner, the proposed system can be available 24*7 to its users. In an exemplary embodiment, the system can be configured in a central computing device that can be any or a combination of a server or a cloud. The Internet enabled central computing device can be a PC, a tablet, a smart phone and other like devices. Any other manner of implementation of the proposed system or a part thereof is completely within the scope of the present disclosure/invention.
[0090] In an embodiment, n-dimensional codes are obtained by generating, using a randomization function, a first set of codes of one or more code types, said first set of codes comprising at least a main middle code, processing the first set of codes through a complexity threshold function to confirm whether the first set of codes meets defined complexity threshold, and hashing the first set of codes to obtain the n-dimensional code.
[0091] In an exemplary embodiment, the n-dimensional code comprises a hashed first set of codes of one or more code types, said first set of codes being selected randomly from a code database comprising a plurality of codes. In an implementation, the first set of codes comprises 'n' codes, wherein each of the first set of codes is of a different code type. In an exemplary implementation said first set of codes comprises any or a combination of a tracker code that is configured to determine codes that are present in the n-dimensional code along with their respective sequence in the n-dimensional code, one or more split bar based code that enables multiple codes to be present on one side of the n-dimensional code, and one or more pivot squares that enable reader of the n-dimensional code to lock on location of other codes that form part of the n-dimensional code.
20
[0092] In an exemplary embodiment, the n-dimensional code can be printed on the product. In another exemplary embodiment, the n-dimensional code can be associated with an intangible object. In yet another exemplary embodiment, the n-dimensional code can be a 2D code or a 3D code configured in any geometrical shape. In still another exemplary embodiment, the n-dimensional code can be represented in any of a 2D form, in 3D form, and holographic form.
[0093] In an embodiment, the system according to the present disclosure can include a code generation module 202, a complexity threshold based evaluation module 204, and a hashing-based n-dimensional code generation module 206.
[0094] In an aspect, the code generation module 202 may be configured to generate a first set of codes of one or more code types having at least a main middle code using a randomization function. In an exemplary embodiment, for each item to be marked, the first set of codes of one or more code types is generated by a computer program. In another exemplary embodiment, the first set of codes can be selected, using a randomization function, from a plurality of codes stored in a code database.
[0095] In an embodiment, this first set of codes can include a tracker code that can be configured to determine codes that are present in the n-dimensional code along with their respective sequence in the n-dimensional code. In another embodiment, said first set of codes can include one or more split bar based code that enables multiple codes to be present on one side of the n-dimensional code. In yet another embodiment, said first set of codes includes one or more pivot squares that enable reader of the n-dimensional code to lock on location of other codes that form part of the n-dimensional code.
[0096] In an exemplary implementation, the code generation module 202 can generate as a function of item data and spectral signature data, which may be an encrypted representation of the associated spectral signature.
[0097] In an aspect, the complexity threshold based evaluation module 204 may be configured to process the first set of codes through a complexity threshold function to confirm whether the first set of codes meets defined complexity threshold. In an embodiment, the defined complexity threshold varies based on one or more attributes of the product.
[0098] In an exemplary implementation, the complexity threshold based evaluation module 204 determines if the complexity of the multi-dimensional code to be generated would be good enough for a context. This threshold can be defined based on various criteria‟s such as but not limited to size, color, weight, volume, smell, taste, touch, quantity, or material
21
composition of the product. For example, there can be difference between complexity thresholds for a mineral water bottle vs. collectible artifacts.
[0099] In another exemplary implementation, said one or more attributes of the product can include tangible attributes and/or intangible attributes. In an example, the tangible attributes can include such product characteristics as size, color, weight, volume, smell, taste, touch, quantity, or material composition. For example, when one wants to buy a new mobile phone, one might consider tangible attributes such as its size, color, and material composition. If one is looking for a 7‟‟ or 5.5‟‟ mobile phone, he/she is searching for a product based on its tangible attributes. In an example, the intangible attributes can include such characteristics as price, quality, reliability, beauty or aesthetics, and je ne sais quoi (an indefinable, elusive pleasing quality).
[00100] In an aspect, the hashing-based n-dimensional code generation module 206 may be configured to hash the first set of codes to generate the n-dimensional code. In an embodiment, the first set of codes generated by the code generation module 202 can include 'n' codes, wherein each of the 'n' codes can be of a different code type, and wherein said n codes are hashed to generate the n-dimensional code.
[00101] FIG. 3 illustrates a distribution architecture that is enabled by the proposed system that can provide for complete working of anti-counterfeiting system in accordance with an exemplary embodiment of the present disclosure. As illustrated, proposed system 334 can use n-dimensional code system 322 that can generate n-dimensional code 326 with unique product identifier and attributes (as elaborated hereunder) wherein the product attributes can be provided by manufacturer /factory 302. The n-dimensional code 326 can be used to generate a label/tag that can be put on the product so as to create a labelled product 328 (or another labelled product 336). Alternatively, the n-dimensional code 326 can be used to print on the on the product so as to create a labelled product 328 (or another labelled product 336). Each product during a production process can thus be uniquely labelled using the n-dimensional code 326 associated with various product attributes.
[00102] As can be appreciated, some product attributes (for example, batch code, date of production, date of expiry etc.) may remain same for many products (i.e. different units of same product category, for example toothpaste units and the like) while other product attributes such as intended distribution path may vary. The labels carrying such information can be generated in form of set of codes/barcodes while corresponding product attributes information of each product associated with its unique product identifier can be stored in the cloud in a database table that can be operatively connected to system 334. In an exemplary
22
embodiment, the database table, as illustrated by database 338, can be configured in the system 334.
[00103] In an exemplary embodiment, set of codes/barcodes based on different n-dimensional codes 326 need not be printed on labels but instead can be printed directly on the products. Variable data printing can be deployed for printing such labels or for printing such n-dimensional codes 326 directly on to the products. As can be understood, each barcode/QR code will be different from another as at least its unique product identifier will differ. In this manner, a product unit differs from another one.
[00104] In an exemplary embodiment, proposed system 334 can use the set of codes/barcodes that can be printed on various products being manufactured, or stuck on them as labels and further used as elaborated hereunder. The codes can carry product attributes to enable identification of genuine products as well as detection of counterfeit products.
[00105] In an aspect, proposed system 334 can use a unique product identifier (n-dimensional code 326) for each product being manufactured (such product termed as „original product‟ herein and connoting as well each item/unit of various products. For example, two toothpaste tubes of exactly same attributes can be considered as two different products, each with a unique product identifier). The unique product identifier can be generated for original products across different production lines, manufacturing sites etc. so that no original product carries the same unique product identifier.
[00106] In another aspect, the unique product identifier (n-dimensional code 326) can be associated with corresponding original product attributes such as manufacturing date of the original product, expiry date of the original product, batch number of the original product, date of manufacturing of the original product, manufacturing-related attribute of the original product, threshold of number of times a set of scanned product attributes pertaining to the original product should be received (as elaborated further ), location tolerance for the original product, manufacturer details of the original product, details of entities that form part of the intended distribution path, and identifiers of the entities that form part of the intended distribution path of the original product.
[00107] In yet another aspect, all above data can be stored in a database table (illustrated as database table 338 in FIG. 3) for each original product being manufactured in such a manner that, using the proposed system 334 and the unique product identifier, all other original product attributes as elaborated above can be retrieved by suitably configured computing devices (mobile devices, for example) that can have access to the database table at any time.
23
[00108] In an aspect, all above data can further be configured as n-dimensional code 326 using appropriate code/bar code printers. Such code/barcode can be printed on the original products themselves, or printed on labels (using n-dimensional code generation system 322 as elaborated hereunder) that can in turn be affixed on to the original products.
[00109] In an aspect, for generating the n-dimensional code 326, the n-dimensional code generation system 322 fetches „n‟ codes out of the list of codes (a first set of codes of one or more code types) from the database table 338 based on randomization function. This „n‟ is the number of codes to be presented on the n-dimensional code 326. In an example, said first set of codes can comprise at least a main middle code. The n-dimensional code generation system 322 then processes the first set of codes through a complexity threshold function to confirm whether the first set of codes meets defined complexity threshold, and then hashes the first set of codes to generate the n-dimensional code 326.
[00110] It may be appreciated that the dimensions from the n-dimensional code 326 may not be necessarily visualized by spatial dimensional placements. They can be various facets of the multi-part codes which can be used to create a composite multi-part code which is secure and reverse-engineering proof. Further, it may be appreciated that all the n-dimensional codes 326 are generated on the server side by the n-dimensional code generation system 322 and then visualized in the form of image so that they can be stuck as labels on the products. However, it is just one way to visualize the code. The code can be used to secure not only physical products but also intangible objects, e.g., digital communication, messages, digital currencies and so on. In the example, the code generated by the n-dimensional code generation system 322 may be a 2-D square code. However, the code can be of any geometrical shape, including but not limited to rectangular, circular, triangular, polygonal, etc. The code can be visualized in many forms including printing on the 2-D form (e.g. paper, fabric), in 3-D form (e.g., stuck to physical artifacts), holographic forms (e.g., projection in a 3-D space), etc.
[00111] In an exemplary embodiment, while starting a batch manufacturing process, n-dimensional code generation system 322 can get unique product identifiers in bulk ( their quantity depending upon number of expected original products to be produced) and associate with /assign to each a batch code and a product code. The product code can be a composite code including a 1D code, body code and a cap code and can be automatically generated by the system using one or more starting „seeds‟ that can be automatically generated or can be provided by a system operator. In a similar manner, a batch code to be affixed on all original products of a batch can be generated. The n-dimensional code generation system 322 can
24
accordingly commit unique product identifiers along with associated original product attributes information in the database table 338 so that such unique product identifiers cannot be allocated to any other production process/labels and then print the labels, each carrying a unique product identifier and its associated original product attributes as elaborated. The labels can be in form of QR Codes /barcodes and can be affixed on each original product as it is being manufactured/bottled/packed at such locations thereupon that they can readily be scanned by appropriately configured scanners. Scanning of labels/QR codes/barcodes affixed on products can be interchangeably termed as scanning of products themselves and attributes extracted by such scanning can be termed as scanned product attributes. Such scanners can be, for example, configured in dispatch systems, point of sale systems and a mobile application, all of which can be operatively connected to the proposed system.
[00112] In another aspect, any unique product identifiers along with original product attributes information left unused ( for example, if some original products are produced defective and fail quality checks, or the batch process leads to lesser production than anticipated) can be released from the database table so that they can be used for future original products if required.
[00113] In this manner, as can be appreciated, each label can carry a unique product identifier along with corresponding original product attributes. The unique product identifier along with corresponding original product attributes can also be stored in database table 138 and such information can be retrievable anytime by suitably configured computing devices.
[00114] As illustrated in FIG. 3, a labelled product 328 (termed only as product 328 herein) carrying a label as elaborated above (or carrying barcode/QR code directly on the product itself) can be scanned at any point in the supply chain of the product 128 such as state warehouse 306 and retail shop 312 and even by customer 314 using suitably configured computing devices 330-1, 330-2 etc., collectively termed as computing device 330. Computing device 330 can be mobile devices upon which a mobile application can be downloaded to enable the mobile device operate the proposed system.
[00115] As already elaborated, at any point in the supply chain product 328 can be exchanged with a potential counterfeit product. As the product is scanned, product attributes information therein containing at least the unique product identifier and other attributes as elaborated herein can be sent to the system 334 by a computing device 330 located at or being operated by an associated entity ( such as a retail shop owner or a customer) the computing device 330 to the proposed product traceability system 334 and compared with the corresponding information therein, based upon the unique product identifier, as illustrated by
25
cloud based verification 332. In case of a counterfeit product, information on its label may not be matched / found in the database table 338 thereby leading to easy detection of the counterfeit product. Alarms can accordingly be raised and the manufacturer/ customer suitably informed. One product attribute can be its intended distribution path in a supply chain and a deviation therein above a certain tolerance level may also trigger the alarm. In this manner, a product not following its intended distribution path may also be considered as a counterfeit product and lead to triggering of alarms/ notifications as appropriate. Proposed system 334 and the database table 338 can be configured in a central computing device that can be in the cloud. Determination of counterfeit products can proceed on basis of a plurality of other factors that can also be weighted, as elaborated further.
[00116] In a similar manner, even if a product is being provided to a customer via an online order system (for example product 336 as illustrated in FIG. 3) it can be fully traced in corresponding supply chain and any pilfering /counterfeiting detected.
[00117] In this manner, proposed system can enable a cloud based verification process for product traceability in a supply chain wherein a product can be traced at all points/entities of the supply chain, including the customer.
[00118] FIG. 4A illustrates a normal QR code with encoded product information and authenticity information. FIG. 4B illustrates the QR code with a graphics mask which needs special algorithm for reading. The graphics has extra information about authenticity which can be read by mobile application.
[00119] FIG. 4C illustrates QR code with graphics mask 402 and 1D bar code 404. In an exemplary embodiment, the graphics can be a dummy one with no information. The technical aspect available in the QR code with graphics mask 402 is that the graphics mask 402 does not serve any purpose other than adding a mask thereby mandating a higher level QR code reading algorithm to read the code. Further, the placement of this graphics can be in the middle or in one or more corners so far the error introduced can be corrected. Also, the shape can be a regular or irregular shape. QR codes error correction algorithms can support error rates up to 30% and can still be read.
[00120] In an exemplary embodiment, the 1D bar code 404 can provide additional information about authenticity. The technical aspect available in the 1D bar code 404 is that the value in the QR code and this bar code has to match in pair and the actual value in the server can be stored at separate location. Further, the bar code is printed separately, and the bar code can be printed beside the QR code or at a different place, e.g., bottle cap.
26
[00121] FIG. 4D illustrates an n-dimensional QR code with multiple ways to encode authenticity information, in accordance with an exemplary embodiment of the present disclosure. In an embodiment, the n-dimensional QR code can include 1D bar code 404 with authenticity information, a plurality of pivot squares 406, a tracker bar 408, another non-copyable code 410, and a provision of split bars 412 for greater flexibility.
[00122] In an exemplary embodiment, the 1D bar code 404 with authenticity information must be matched with the value in the QR code in group governed by the tracker.
[00123] In another exemplary embodiment, the plurality of pivot squares 406 may provide a way for the reader to lock on the location of other elements. In an implementation, the pivot squares are used to give a way for the reader to lock on the location of other elements and makes reading the codes easier.
[00124] In another exemplary embodiment, the tracker bar 408 can give the information about order of split bars in clockwise direction, which bars are present, and code type of the overall code which will change if there are split bars. In an exemplary implementation, this bar is used to determine in clockwise direction which codes are present and in what sequence they are present. This also determines if there are split bar based codes present. In an implementation, the tracker code is generated at the time of generation of all the other codes and is dependent on other codes and the sequence of their appearance.
[00125] In another exemplary embodiment, the another non-copyable code 410 can also be embedded as a part of this QR code and the position can be randomized for various codes making reverse engineering the QR code very tough. In an exemplary implementation, non-copyable code 410 can be simple or composite code. In case of simple code, the final printed code is a single code image. In case of composite code, the final printed code is a composite image of multiple codes.
[00126] In another exemplary embodiment, the provision of split bars 412 can be provided for greater flexibility in terms of dealing with specific data and such bars are optional. In an implementation, each of the other codes can be printed on the remaining sides of the code. In another implementation, split bar based codes can result into multiple codes being printed on one side.
[00127] It may be appreciated that all the codes need not be mandatorily present in the n-dimensional code 326 generated according to the present disclosure. Further, the code bars can be added as per the requirements and during the manufacturing of the same.
[00128] In an embodiment, at least 2 bars can be mandatorily present one being the tracker bar, and one of the other bars.
27
[00129] In an aspect, for generating the n-dimensional code 326, the n-dimensional code generation system 322 fetches „n‟ codes out of the list of codes (a first set of codes of one or more code types) from the database table 338 based on randomization function. In an example, said first set of codes comprises at least a main middle code. The n-dimensional code generation system 322 then processes the first set of codes through a complexity threshold function to confirm whether the first set of codes meets defined complexity threshold, and then hashes the first set of codes to generate the n-dimensional code 326.
[00130] It may be appreciated that the dimensions from the n-dimensional code 326 may not be necessarily visualized by spatial dimensional placements. They can be various facets of the multi-part codes which can be used to create a composite multi-part code which is secure and reverse-engineering proof.
[00131] It may be appreciated that all the n-dimensional codes 326 are generated on the server side by the n-dimensional code generation system 322 and then visualized in the form of image so that they can be stuck as labels on the products. However, it is just one way to visualize the code. The code can be used to secure not only physical products but also intangible objects, e.g., digital communication, messages, digital currencies and so on.
[00132] In the example, the code generated by the n-dimensional code generation system 322 is shown in FIG. 4D as a 2-D square code. However, the code can be of any geometrical shape, including but not limited to rectangular, circular, triangular, polygonal, etc. It may be appreciated that a 2-D code is shown in the example. However, the code can be of any 3-D geometrical shape too, including but not limited to cuboids, conical, 3-D polygonal, etc. The code can be visualized in many forms including printing on the 2-D form (e.g. paper, fabric), in 3-D form (e.g., stuck to physical artifacts), holographic forms (e.g., projection in a 3-D space), etc.
[00133] FIGs. 4E-4F illustrates n-dimensional QR codes to encode information in different geometrical shapes, in accordance with exemplary embodiments of the present disclosure. In an exemplary embodiment, FIG. 4E shows an n-dimensional code 326 having a plurality of pivot squares, a tracker bar, and a non-copyable code 410 in a triangular geometrical shape. In another exemplary embodiment, FIG. 4F shows another n-dimensional code 326 having a plurality of pivot squares, a tracker bar, and a non-copyable code 410 in multiple 3D planes of a 3D cube shape. As can be readily appreciated, n-dimensional codes as elaborated herein can be created in different geometrical shapes and hence shapes as described above are to be considered only as exemplary and not as limitations. Further, different zones/dimensions/planes of an n-dimensional code can carry different information
28
encoded in it, for example, different attributes of an edible product such as its weight and expiry date can be put in two different planes of a 3-dimensional code illustrated in FIG. 4F. In other example, n-dimensional code, may be in its different zones/dimensions/planes, can carry information associated with a particular product number/ID, price, serial number, data of manufacturing/production, tracking number, quantity, person, location, etc. The 3D images can carry multiple composite codes and two/more of such codes can also be cascaded wherein their arranging in a pre-determined manner can lead to another code, for example. Tampering/copying labels, tags and the like carrying such n-dimensional codes can result in loss of information contained therein thus making them useless and helping identify a counterfeit product on which such tampered/copied labels, tags and the like may have been put.
[00134] FIG. 5 illustrates an exemplary flow chart of method for generating an n-dimensional code to be associated with a product in accordance with an exemplary embodiment of the present disclosure.
[00135] In an embodiment, FIG. 5 illustrates method for generating an n-dimensional code to be associated with a product. At step 504, a first set of codes of one or more code types 502 are generated using a randomization function 506. In an exemplary embodiment, at step 504, randomization functions are applied to generate n types of code out of all the possibilities. At step 508, the first set of codes are processed through a complexity threshold function 510 to confirm whether the first set of codes meets defined complexity threshold. At step 512, if a complexity threshold is not met, the step 504 is repeated. At step 514, if the complexity threshold is met, the first sets of codes are passed to the hashing function. At step 516, the hashed first sets of codes are used to generate n-dimensional codes.
[00136] FIG. 6 illustrates an exemplary computer system in which or with which embodiments of the present invention may be utilized in accordance with an exemplary embodiment of the present disclosure. Embodiments of the present disclosure include various steps, which have been described above. A variety of these steps may be performed by hardware components or may be tangibly embodied on a computer-readable storage medium in the form of machine-executable instructions, which may be used to cause a general-purpose or special-purpose processor programmed with instructions to perform these steps. Alternatively, the steps may be performed by a combination of hardware, software, and/or firmware. As shown in the figure, computer system 600 includes an external storage device 610, a bus 620, a main memory 630, a read only memory 640, a mass storage device 650, communication port 660, and a processor 670. A person skilled in the art will appreciate that
29
computer system 600 may include more than one processor and communication ports. Examples of processor 670 include, but are not limited to, an Intel® Itanium® or Itanium 2 processor(s), or AMD® Opteron® or Athlon MP® processor(s), Motorola® lines of processors, FortiSOC™ system on a chip processors or other future processors. Processor 670 may include various modules associated with embodiments of the present invention. Communication port 660 can be any of an RS-232 port for use with a modem based dialup connection, a 10/100 Ethernet port, a Gigabit or 10 Gigabit port using copper or fiber, a serial port, a parallel port, or other existing or future ports. Communication port 660 may be chosen depending on a network, such a Local Area Network (LAN), Wide Area Network (WAN), Storage Area Network (SAN), Virtual Storage Area Network (VSAN), or any network to which computer system 600 connects. Memory 630 can be Random Access Memory (RAM), or any other dynamic storage device commonly known in the art. Read only memory 640 can be any static storage device(s) e.g., but not limited to, a Programmable Read Only Memory (PROM) chips for storing static information e.g., start-up or BIOS instructions for processor 670. Mass storage 650 may be any current or future mass storage solution, which can be used to store information and/or instructions. Exemplary mass storage solutions include, but are not limited to, Parallel Advanced Technology Attachment (PATA) or Serial Advanced Technology Attachment (SATA) hard disk drives or solid-state drives (internal or external, e.g., having Universal Serial Bus (USB) and/or Firewire interfaces), e.g. those available from Seagate (e.g., the Seagate Barracuda 7200 family) or Hitachi (e.g., the Hitachi Deskstar 7K1000), one or more optical discs, Redundant Array of Independent Disks (RAID) storage, e.g. an array of disks (e.g., SATA arrays), available from various vendors including Dot Hill Systems Corp., LaCie, Nexsan Technologies, Inc. and Enhance Technology, Inc. Bus 620 communicatively couples processor(s) 670 with the other memory, storage and communication blocks. Bus 620 can be, e.g. a Peripheral Component Interconnect (PCI) / PCI Extended (PCI-X) bus, Small Computer System Interface (SCSI), USB or the like, for connecting expansion cards, drives and other subsystems as well as other buses, such a front side bus (FSB), which connects processor 670 to software system. Optionally, operator and administrative interfaces, e.g. a display, keyboard, and a cursor control device, may also be coupled to bus 620 to support direct operator interaction with computer system 600. Other operator and administrative interfaces can be provided through network connections connected through communication port 460. External storage device 610 can be any kind of external hard-drives, floppy drives, IOMEGA® Zip Drives, Compact Disc - Read Only Memory (CD-ROM), Compact Disc - Re-Writable (CD-RW), Digital Video Disk - Read
30
Only Memory (DVD-ROM). Components described above are meant only to exemplify various possibilities. In no way should the aforementioned exemplary computer system limit the scope of the present disclosure.
[00137] Although the proposed system has been elaborated as above to include all the main modules, it is completely possible that actual implementations may include only a part of the proposed modules or a combination of those or a division of those into sub-modules in various combinations across multiple devices that can be operatively coupled with each other, including in the cloud. Further the modules can be configured in any sequence to achieve objectives elaborated. Also, it can be appreciated that proposed system can be configured in a computing device or across a plurality of computing devices operatively connected with each other, wherein the computing devices can be any of a computer, a laptop, a smart phone, an Internet enabled mobile device and the like. All such modifications and embodiments are completely within the scope of the present disclosure.
[00138] As used herein, and unless the context dictates otherwise, the term “coupled to” is intended to include both direct coupling (in which two elements that are coupled to each other or in contact each other) and indirect coupling (in which at least one additional element is located between the two elements). Therefore, the terms “coupled to” and “coupled with” are used synonymously. Within the context of this document terms “coupled to” and “coupled with” are also used euphemistically to mean “communicatively coupled with” over a network, where two or more devices are able to exchange data with each other over the network, possibly via one or more intermediary device.
[00139] Moreover, in interpreting both the specification and the claims, all terms should be interpreted in the broadest possible manner consistent with the context. In particular, the terms “comprises” and “comprising” should be interpreted as referring to elements, components, or steps in a non-exclusive manner, indicating that the referenced elements, components, or steps may be present, or utilized, or combined with other elements, components, or steps that are not expressly referenced. Where the specification claims refers to at least one of something selected from the group consisting of A, B, C ….and N, the text should be interpreted as requiring only one element from the group, not A plus N, or B plus N, etc.
[00140] While some embodiments of the present disclosure have been illustrated and described, those are completely exemplary in nature. The disclosure is not limited to the embodiments as elaborated herein only and it would be apparent to those skilled in the art that numerous modifications besides those already described are possible without departing
31
from the inventive concepts herein. All such modifications, changes, variations, substitutions, and equivalents are completely within the scope of the present disclosure. The inventive subject matter, therefore, is not to be restricted except in the spirit of the appended claims.
ADVANTAGES OF THE INVENTION
[00141] The present disclosure provides system and method to create an n-dimensional code.
[00142] The present disclosure provides system and method for creation n-dimensional code for anti-counterfeiting systems.
[00143] The present disclosures provides system and method that uses n-dimensional code i.e., multi-dimensional code printed on goods to enable identification of fake products.
[00144] The present disclosure provides system and method to use a tracker to find out the codes which are present in a product.
[00145] The present disclosure provides system and method to create the code in such a way that the composite code is always unique.
[00146] The present disclosure provides system and method to randomly assign different codes for a product so that the complexity is always above a certain threshold.
[00147] The present disclosure provides system and method for creating split bars for the n-dimensional code.
[00148] The present disclosure provides system and method to use capabilities of codes than QR code.
[00149] The present disclosure provides system and method to utilize QR code‟s error correction capabilities to randomize the generation and superimposition of other codes
[00150] The present disclosure provides system and method for extending the code out of QR code boundaries so that it becomes a composite code.
[00151] The present disclosure provides system and method for identifying and reading all the extended codes using pivot points.
We Claim:
1. A system comprising: a non-transitory storage device having embodied therein one or more routines operable to generate an n-dimensional code to be associated with a product; and one or more processors coupled to the non-transitory storage device and operable to execute the one or more routines, wherein the one or more routines include: a code generation module, which when executed by the one or more processors, using a randomization function, generates a first set of codes of one or more code types, said first set of codes comprising at least a main middle code; a complexity threshold based evaluation module, which when executed by the one or more processors, processes the first set of codes through a complexity threshold function to confirm whether the first set of codes meets defined complexity threshold; and a hashing-based n-dimensional code generation module, which when executed by the one or more processors, hashes the first set of codes to generate the n- dimensional code. 2. The system of claim 1, wherein the first set of codes is selected, using the randomization function, from a plurality of codes stored in a code database. 3. The system of claim 1, wherein said first set of codes comprises a tracker code that is configured to determine codes that are present in the n-dimensional code along with their respective sequence in the n-dimensional code. 4. The system of claim 3, wherein the tracker code is generated at the time of generation of the first set of codes, and is dependent on other codes that form part of the first set of codes. 5. The system of claim 1, wherein said first set of codes comprises one or more split bar based code that enables multiple codes to be present on one side of the n-dimensional code. 6. The system of claim 1, wherein said first set of codes comprises one or more pivot squares that enable reader of the n-dimensional code to lock on location of other codes that form part of the n-dimensional code.
33
7. The system of claim 1, wherein the at least a main middle code is any or a combination of a simple code that has a single code image, or a composite code that is a composite image of multiple codes. 8. The system of claim 1, wherein the n-dimensional code is printed on the product. 9. The system of claim 1, wherein the n-dimensional code is associated with an intangible object. 10. The system of claim 1, wherein the n-dimensional code is a 2D code or a 3D code configured in any geometrical shape. 11. The system of claim 1, wherein the n-dimensional code is represented in any of a 2D form, in 3D form, and holographic form. 12. The system of claim 1, wherein the first set of codes comprises 'n' codes, wherein each of the 'n' codes is of a different code type, and wherein said n codes are hashed to generate the n-dimensional code. 13. The system of claim 1, wherein the defined complexity threshold varies based on one or more attributes of the product. 14. The system of claim 1, wherein the n-dimensional code is represented as or forms part of a QR code. 15. An n-dimensional code comprising a hashed first set of codes of one or more code types, said first set of codes being selected randomly from a code database comprising a plurality of codes. 16. The code of claim 15 wherein the first set of codes comprises 'n' codes, wherein each of the first set of codes is of a different code type. 17. The code of claim 15, wherein said first set of codes comprises any or a combination of a tracker code that is configured to determine codes that are present in the n-dimensional code along with their respective sequence in the n-dimensional code, one or more split bar based code that enables multiple codes to be present on one side of the n-dimensional code, and one or more pivot squares that enable reader of the n-dimensional code to lock on location of other codes that form part of the n-dimensional code. 18. A method for generating an n-dimensional code to be associated with a product, said method comprising the steps of: using a randomization function, generating a first set of codes of one or more code types, said first set of codes comprising at least a main middle code; processing the first set of codes through a complexity threshold function to confirm whether the first set of codes meets defined complexity threshold; and
34
hashing the first set of codes to generate the n-dimensional code. 19. The method of claim 18, wherein the first set of codes is selected, using the randomization function, from a plurality of codes stored in a code database. 20. The method of claim 18, wherein said first set of codes comprises a tracker code that is configured to determine codes that are present in the n-dimensional code along with their respective sequence in the n-dimensional code. 21. The method of claim 18, wherein the tracker code is generated at the time of generation of the first set of codes, and is dependent on other codes that form part of the first set of codes. 22. The method of claim 18, wherein said first set of codes comprises one or more split bar based code that enables multiple codes to be present on one side of the n-dimensional code. 23. The method of claim 18, wherein said first set of codes comprises one or more pivot squares that enable reader of the n-dimensional code to lock on location of other codes that form part of the n-dimensional code. 24. The method of claim 18, wherein the at least a main middle code is any or a combination of a simple code that has a single code image, or a composite code that is a composite image of multiple codes. 25. The method of claim 18, wherein the n-dimensional code is printed on the product or associated with an intangible object. 26. The method of claim 18, wherein the n-dimensional code is a 2D code or a 3D code configured in any geometrical shape. 27. The method of claim 18, wherein the first set of codes comprises 'n' codes, wherein each of the 'n' codes is of a different code type, and wherein said n codes are hashed to generate the n-dimensional code. 28. The method of claim 18, wherein the defined complexity threshold varies based on one or more attributes of the product. 29. The method of claim 18, wherein the n-dimensional code is represented as or forms part of a QR code.
| # | Name | Date |
|---|---|---|
| 1 | 201711028342-STATEMENT OF UNDERTAKING (FORM 3) [09-08-2017(online)].pdf | 2017-08-09 |
| 2 | 201711028342-FORM FOR SMALL ENTITY(FORM-28) [09-08-2017(online)].pdf | 2017-08-09 |
| 3 | 201711028342-FORM FOR SMALL ENTITY [09-08-2017(online)].pdf | 2017-08-09 |
| 4 | 201711028342-EVIDENCE FOR REGISTRATION UNDER SSI(FORM-28) [09-08-2017(online)].pdf | 2017-08-09 |
| 5 | 201711028342-EVIDENCE FOR REGISTRATION UNDER SSI [09-08-2017(online)].pdf | 2017-08-09 |
| 6 | 201711028342-DRAWINGS [09-08-2017(online)].pdf | 2017-08-09 |
| 7 | 201711028342-DECLARATION OF INVENTORSHIP (FORM 5) [09-08-2017(online)].pdf | 2017-08-09 |
| 8 | 201711028342-COMPLETE SPECIFICATION [09-08-2017(online)].pdf | 2017-08-09 |
| 9 | abstract.jpg | 2017-08-14 |
| 10 | 201711028342-FORM-26 [18-08-2017(online)].pdf | 2017-08-18 |
| 11 | 201711028342-Power of Attorney-280817.pdf | 2017-08-31 |
| 12 | 201711028342-Correspondence-280817.pdf | 2017-08-31 |
| 13 | 201711028342-Proof of Right (MANDATORY) [02-02-2018(online)].pdf | 2018-02-02 |
| 14 | 201711028342-OTHERS-050218.pdf | 2018-02-09 |
| 15 | 201711028342-Correspondence-050218.pdf | 2018-02-09 |
| 16 | 201711028342-STARTUP [10-12-2020(online)].pdf | 2020-12-10 |
| 17 | 201711028342-FORM28 [10-12-2020(online)].pdf | 2020-12-10 |
| 18 | 201711028342-FORM 18A [10-12-2020(online)].pdf | 2020-12-10 |
| 19 | 201711028342-FER_SER_REPLY [16-06-2021(online)].pdf | 2021-06-16 |
| 20 | 201711028342-CORRESPONDENCE [16-06-2021(online)].pdf | 2021-06-16 |
| 21 | 201711028342-COMPLETE SPECIFICATION [16-06-2021(online)].pdf | 2021-06-16 |
| 22 | 201711028342-CLAIMS [16-06-2021(online)].pdf | 2021-06-16 |
| 23 | 201711028342-FER.pdf | 2021-10-17 |
| 24 | 201711028342-US(14)-HearingNotice-(HearingDate-11-01-2022).pdf | 2021-12-16 |
| 25 | 201711028342-Correspondence to notify the Controller [08-01-2022(online)].pdf | 2022-01-08 |
| 26 | 201711028342-Written submissions and relevant documents [24-01-2022(online)].pdf | 2022-01-24 |
| 27 | 201711028342-Annexure [24-01-2022(online)].pdf | 2022-01-24 |
| 28 | 201711028342-PatentCertificate28-02-2022.pdf | 2022-02-28 |
| 29 | 201711028342-IntimationOfGrant28-02-2022.pdf | 2022-02-28 |
| 30 | 201711028342-RELEVANT DOCUMENTS [30-09-2023(online)].pdf | 2023-09-30 |
| 31 | 201711028342-FORM FOR STARTUP [09-08-2025(online)].pdf | 2025-08-09 |
| 32 | 201711028342-EVIDENCE FOR REGISTRATION UNDER SSI [09-08-2025(online)].pdf | 2025-08-09 |
| 1 | searchE_09-01-2021.pdf |