BR112020017654A2 - Métodos de geração de códigos para identificar exclusivamente embalagens para alimentos líquidos e de processamento do código, meio legível por computador, código, e, sistema. - Google Patents

Métodos de geração de códigos para identificar exclusivamente embalagens para alimentos líquidos e de processamento do código, meio legível por computador, código, e, sistema. Download PDF

Info

Publication number
BR112020017654A2
BR112020017654A2 BR112020017654-0A BR112020017654A BR112020017654A2 BR 112020017654 A2 BR112020017654 A2 BR 112020017654A2 BR 112020017654 A BR112020017654 A BR 112020017654A BR 112020017654 A2 BR112020017654 A2 BR 112020017654A2
Authority
BR
Brazil
Prior art keywords
code
data
fact
payload
counter
Prior art date
Application number
BR112020017654-0A
Other languages
English (en)
Inventor
Paolo De Corte
Gustavo Barros
Matteo Gazzadi Poggioli
Paolo Scarabelli
Claudio Donati
Stefano Vicini
Mimi Axelsson
Gaetano Cutrona
Original Assignee
Tetra Laval Holdings & Finance S.A.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tetra Laval Holdings & Finance S.A. filed Critical Tetra Laval Holdings & Finance S.A.
Publication of BR112020017654A2 publication Critical patent/BR112020017654A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0833Tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/22Character recognition characterised by the type of writing
    • G06V30/224Character recognition characterised by the type of writing of printed characters having additional code marks or containing code marks
    • G06V30/2247Characters composed of bars, e.g. CMC-7
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • Human Resources & Organizations (AREA)
  • Quality & Reliability (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Factory Administration (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

códigos exclusivos para marcação de embalagens para alimentos líquidos são gerados com uma porção de cabeçalho (40) contendo dados de definição de código não criptografados ([e], [g]) que representam a estrutura do código e/ou a metodologia de geração de código e uma porção de carga útil (41) contendo dados de carga útil criptografada ([ep]). a criptografia garante que o código seja suficientemente codificado para dificultar a adivinhação e a geração de código fraudulento. os dados de carga útil, antes da criptografia, podem ser definidos para serem exclusivos em cada código, tornando assim o código exclusivo. os dados de carga útil, antes da criptografia, também podem ser estruturados de forma a permitir a busca eficiente do código em um banco de dados. quando lido de uma embalagem, o código pode ser processado pela extração dos dados de definição de código ([e], [g]), identificação da porção de carga útil (41), extração dos dados de carga útil criptografada ([ep]), recriação dos dados de carga útil por descriptografia e pesquisa no banco de dados para o código com base nos dados de carga útil ou um ou mais subconjuntos dos mesmos.

Description

1 / 32
MÉTODOS DE GERAÇÃO DE CÓDIGOS PARA IDENTIFICAR
EXCLUSIVAMENTE EMBALAGENS PARA ALIMENTOS LÍQUIDOS E DE PROCESSAMENTO DO CÓDIGO, MEIO LEGÍVEL POR COMPUTADOR, CÓDIGO, E, SISTEMA Campo Técnico
[001] A presente invenção refere-se, em geral, à fabricação de embalagens para alimentos líquidos e, em particular, ao fornecimento de códigos para essas embalagens. Fundamentos
[002] Todos os dias, em todo o mundo, são consumidos bilhões de litros de água, leite, suco e outros alimentos líquidos. Grande parte dos alimentos líquidos é distribuída em embalagens de papel, também conhecidas como embalagens cartonadas. Essas embalagens são produzidas para proteger o valor nutricional e o sabor dos alimentos líquidos em seu interior. A tecnologia subjacente facilita muito o acondicionamento e distribuição de produtos alimentícios líquidos em todo o mundo.
[003] É bem conhecido o fornecimento deste e de outros tipos de embalagens para alimentos líquidos com códigos, por exemplo, para indicar o prazo de validade ou a origem do alimento líquido da respectiva embalagem. Esses códigos são frequentemente aplicados em texto simples nas embalagens para que possam ser lidos e compreendidos pelos consumidores.
[004] Até o momento, não existe uma técnica amplamente adotada, ideal e robusta para fornecer códigos em embalagens para identificar com exclusividade cada embalagem individual contendo alimentos líquidos. Sumário
[005] É um objetivo da invenção superar pelo menos parcialmente uma ou mais das limitações da técnica anterior.
[006] Outro objetivo é fornecer uma técnica que permita que as embalagens sejam fornecidas com códigos exclusivos globalmente.
2 / 32
[007] Um outro objetivo é fornecer uma técnica que reduza o risco de geração fraudulenta de códigos válidos e/ou impeça esforços para adivinhar um código válido com base em outro código ou pelo uso de mecanismos aleatórios.
[008] Um ou mais desses objetivos, bem como outros objetivos que podem aparecer a partir da descrição abaixo, são pelo menos parcialmente alcançados por um método de geração de códigos, um meio legível por computador, um código, um sistema e um método de processamento de um código de acordo com as reivindicações independentes, suas modalidades sendo definidas pelas reivindicações dependentes.
[009] Um primeiro aspecto da invenção é um método de geração de códigos para identificar exclusivamente embalagens para alimentos líquidos. O método compreende: obter dados de definição de código representando pelo menos um de uma estrutura dos códigos e uma metodologia de geração dos códigos; obter dados de carga útil exclusivos para cada embalagem; operar um algoritmo de criptografia predefinido nos dados de carga útil para gerar os dados de carga útil criptografada; incluir os dados de definição de código em uma porção de cabeçalho predefinida para dados não criptografados do código para uma respectiva embalagem; e incluir os dados de carga útil criptografada em uma porção de carga útil predefinida do código para a respectiva embalagem.
[0010] Além disso, em algumas modalidades, a dita operação do algoritmo de criptografia predefinido compreende: selecionar uma chave de criptografia, e o método compreende adicionalmente incluir dados de identificação de chave que representam a chave de criptografia selecionada na porção de cabeçalho predefinida.
[0011] Além disso, em algumas modalidades, a dita seleção da chave de criptografia compreende: obter um número aleatório e selecionar, com base no número aleatório, a chave de criptografia dentre um conjunto
3 / 32 predefinido de chaves de criptografia, em que os dados de identificação de chave representam a chave de criptografia selecionada.
[0012] Além disso, em algumas modalidades, os dados de identificação de chave representam adicionalmente um número de versão do conjunto predefinido de chaves de criptografia.
[0013] Além disso, em algumas modalidades, a chave de criptografia selecionada é uma chave privada.
[0014] Além disso, em algumas modalidades, a metodologia representada pelos dados de definição de código compreende o algoritmo de criptografia predefinido.
[0015] Além disso, em algumas modalidades, o método compreende adicionalmente operar uma função hash nos dados de carga útil criptografada para gerar dados hash, e incluir os dados hash como uma subporção legível da porção de cabeçalho.
[0016] Além disso, em algumas modalidades, os dados hash são gerados como uma assinatura digital.
[0017] Além disso, em algumas modalidades, o método compreende adicionalmente obter dados de localização que representam uma localização geográfica e incluir os dados de localização nos dados de carga útil de modo a serem comuns a todas as embalagens provenientes de uma unidade de produção na localização geográfica.
[0018] Além disso, em algumas modalidades, os dados de localização são indicativos de pelo menos um de um produtor, uma fábrica, uma linha de produção e um equipamento de produção.
[0019] Além disso, em algumas modalidades, o método compreende adicionalmente obter dados de indexação que permitem o agrupamento de códigos gerados sequencialmente e incluir os dados de indexação nos dados de carga útil.
[0020] Além disso, em algumas modalidades, a dita obtenção dos
4 / 32 dados de indexação compreende: obter um valor atual de pelo menos um contador sequencial que é configurado para emitir valores sequenciais que são aumentados ou diminuídos ao longo do tempo.
[0021] Além disso, em algumas modalidades, os dados de indexação são obtidos para incluir uma combinação de valores atuais que são emitidos por uma pluralidade de contadores sequenciais.
[0022] Além disso, em algumas modalidades, pelo menos parte dos dados de indexação são obtidos para representar um tempo atual.
[0023] Além disso, em algumas modalidades, o método compreende adicionalmente obter dados aleatórios para cada embalagem, e incluir os dados aleatórios nos dados de carga útil.
[0024] Além disso, em algumas modalidades, a dita obtenção de dados aleatórios compreende obter um valor aleatório de um contador aleatório que é operado para arranjar intermitentemente valores pertencentes a uma faixa predefinida de valores mutuamente exclusivos em uma ordem aleatória, e, em seguida, produzir pelo menos um subconjunto dos valores um por um na ordem aleatória.
[0025] Além disso, em algumas modalidades, o método compreende adicionalmente obter valor aleatório para cada embalagem a partir de um contador aleatório que é configurado para gerar valores aleatórios que pertencem a uma faixa predefinida e são mutuamente exclusivos dentro de um período de tempo predefinido que é uma unidade de tempo mínima para o tempo atual, e incluir o valor aleatório nos dados de carga útil.
[0026] Além disso, em algumas modalidades, os códigos são gerados sujeitos a uma solicitação de geração de lote, e o pelo menos um contador sequencial compreende um contador de lote, em que o método compreende adicionalmente aumentar ou diminuir o contador de lote para cada solicitação de geração de lote, e em que a dita obtenção dos dados de indexação compreende adicionalmente obter um valor atual do contador de lote.
5 / 32
[0027] Além disso, em algumas modalidades, o pelo menos um contador sequencial compreende um contador de embalagem, em que o método compreende adicionalmente aumentar ou diminuir o contador de embalagem para cada embalagem, e em que a dita obtenção dos dados de indexação compreende adicionalmente obter um valor atual do contador de embalagem.
[0028] Além disso, em algumas modalidades, o método é realizado por um primeiro gerador de código incluído em um grupo de geradores de código idênticos, o dito método compreendendo adicionalmente obter dados de redundância que distinguem o primeiro gerador de código de outro(s) gerador(es) de código no grupo, e incluir os dados de redundância em pelo menos um da porção do cabeçalho e dos dados de carga útil.
[0029] Além disso, em algumas modalidades, os dados de carga útil criptografada e os dados de definição de código são incluídos no código como uma sequência respectiva de valores binários.
[0030] Além disso, em algumas modalidades, o método compreende adicionalmente marcar a embalagem com o código.
[0031] Além disso, em algumas modalidades, a dita marcação compreende: embutir o código em um suporte de dados em uma das embalagens para o alimento líquido, em um material de folha a ser formado em uma porção de recipiente da dita uma das embalagens, ou em um elemento a ser combinado com a porção do recipiente.
[0032] Além disso, em algumas modalidades, a dita marcação compreende adicionalmente: converter o código em um formato adaptado para embutir no suporte de dados.
[0033] Além disso, em algumas modalidades, a dita marcação compreende: controlar uma impressora ou um dispositivo de ablação para marcar uma porção de superfície, ou armazenar o código em uma etiqueta eletrônica para identificação sem fio.
6 / 32
[0034] Além disso, em algumas modalidades, o método compreende adicionalmente armazenar o código em um banco de dados, em que o banco de dados e/ou uma partição do banco de dados é selecionado para armazenamento com base nos dados de carga útil do código.
[0035] Um segundo aspecto da invenção é um meio legível por computador que compreende instruções de computador que, quando executadas por um processador, fazem com que o processador execute o método do primeiro aspecto ou qualquer uma de suas modalidades.
[0036] Um terceiro aspecto da invenção é um código gerado pelo método do primeiro aspecto ou qualquer uma de suas modalidades.
[0037] Um quarto aspecto da invenção é um sistema que compreende pelo menos um dispositivo configurado para executar o método do primeiro aspecto ou qualquer uma de suas modalidades.
[0038] Um quinto aspecto da invenção é um método de processamento do código gerado pelo método do primeiro aspecto ou qualquer uma de suas modalidades após a leitura do código de uma embalagem. O método compreende: extrair os dados de definição de código do código; identificar a porção de carga útil com base nos dados de definição de código; extrair os dados criptografados da carga útil do código; operar um algoritmo de descriptografia predefinido nos dados de carga útil criptografada para gerar os dados de carga útil; e pesquisar um banco de dados para o código com base nos dados de carga útil, ou um ou mais subconjuntos dos mesmos.
[0039] Um sexto aspecto da invenção, que é aplicável a todas as modalidades nas quais os dados hash mencionados acima são incluídos na porção do cabeçalho, é um método de processamento de um código após a leitura do código de uma embalagem. O método compreende: extrair os dados hash da porção do cabeçalho do código, extrair os dados da carga útil criptografados da porção da carga útil do código, operar a função hash nos
7 / 32 dados da carga útil criptografados para gerar dados hash atuais, e rejeitar o código se o os dados hash atuais diferem dos dados hash. Outros objetivos, bem como características, aspectos e vantagens das modalidades da presente invenção aparecerão a partir da seguinte descrição detalhada, das reivindicações anexas, bem como dos desenhos. Breve Descrição dos Desenhos
[0040] A FIG. 1A é uma visão geral de uma cadeia de fabricação e distribuição de embalagens para alimentos líquidos e a FIG. 1B é uma ilustração esquemática de tal embalagem.
[0041] A FIG. 2 é um diagrama de blocos de um sistema exemplificativo para marcação de embalagens com códigos exclusivos de acordo com modalidades da invenção.
[0042] A FIG. 3 é um diagrama de blocos da máquina que implementa um ou mais componentes do sistema na FIG. 2.
[0043] A FIG. 4A ilustra uma estrutura exemplificativa de um código gerado de acordo com as modalidades da invenção e a FIG. 4B ilustra uma estrutura exemplificativa de dados de carga útil e seu uso para gerar dados de carga útil criptografada para o código.
[0044] A FIG. 5 é um diagrama de blocos de uma estrutura para gerar dados de carga útil de acordo com modalidades da invenção.
[0045] A FIG. 6 ilustra instâncias exemplificativas de um código durante a geração de código.
[0046] As FIGS 7A-7B ilustram parâmetros exemplificativos incluídos nos dados de carga útil de acordo com modalidades da invenção.
[0047] A FIG. 8 é um fluxograma de um processo exemplificativo para gerar códigos exclusivos e marcar embalagens de acordo com modalidades da invenção.
[0048] A FIG. 9 é um fluxograma de um método exemplificativo de processamento de um código lido de uma embalagem.
8 / 32
[0049] As FIGS 10A-10B mostram estruturas exemplificativas de banco de dados para armazenar códigos gerados de acordo com modalidades da invenção.
[0050] A FIG. 11 é um diagrama de blocos de uma variação do sistema da FIG. 2. Descrição Detalhada de Modalidades Exemplificativas
[0051] Modalidades da presente invenção serão agora descritas mais completamente daqui em diante com referência aos desenhos anexos, nos quais algumas, mas não todas, modalidades da invenção são mostradas. Na verdade, a invenção pode ser realizada em muitas formas diferentes e não deve ser interpretada como limitada às modalidades aqui estabelecidas; em vez disso, essas modalidades são fornecidas para que esta descrição possa satisfazer os requisitos legais aplicáveis. Números semelhantes referem-se a elementos semelhantes.
[0052] Além disso, será entendido que, quando possível, qualquer uma das vantagens, características, funções, dispositivos e/ou aspectos operacionais de qualquer uma das modalidades da presente invenção descritas e/ou contempladas neste documento podem ser incluídas em qualquer uma das outras modalidades da presente invenção descritas e/ou contempladas neste documento e/ou vice-versa. Além disso, quando possível, quaisquer termos expressos no singular neste documento também incluem a forma plural e/ou vice-versa, a menos que explicitamente indicado de outra forma. Como usado aqui, “pelo menos um” deve significar “um ou mais” e essas expressões pretendem ser intercambiáveis. Consequentemente, os termos “um” e/ou “uma” devem significar “pelo menos um” ou “um ou mais”, embora a expressão “um ou mais” ou “pelo menos um” também seja usada neste documento. Como usado aqui, exceto onde o contexto exigir de outra forma devido a linguagem expressa ou implicação necessária, a palavra “compreender” ou variações como “compreende” ou “compreendendo” é
9 / 32 usada em um sentido inclusivo, isto é, para especificar a presença de características declaradas, mas não para impedir a presença ou adição de outras características em várias modalidades da invenção.
[0053] Funções ou construções bem conhecidas podem não ser descritas em detalhes por questões de brevidade e/ou clareza. A menos que definido de outra forma, todos os termos (incluindo termos técnicos e científicos) usados neste documento têm o mesmo significado como comumente entendido por alguém versado na técnica à qual esta invenção pertence.
[0054] A FIG. 1A é uma ilustração esquemática de uma cadeia de fabricação e distribuição de embalagens para alimentos líquidos. Alimento líquido é qualquer produto alimentício que não seja sólido ou que possa ser derramado à temperatura ambiente, incluindo bebidas, como sucos de frutas, vinhos, cervejas, refrigerantes, bem como laticínios, molhos, óleos, natas, cremes, sopas, etc, e também produtos alimentícios sólidos em um líquido, como feijão, frutas, tomates, ensopados, etc. A cadeia ilustrada compreende uma etapa de fabricação 1 para a fabricação de matéria-prima para as embalagens, uma etapa de enchimento 2 para a fabricação de embalagens contendo alimentos líquidos, uma etapa de distribuição 3 para distribuição das embalagens contendo alimentos líquidos, uma etapa de varejo 4 para fornecimento das embalagens aos consumidores, e uma etapa do consumidor 5, em que as embalagens são manuseadas por um consumidor e o alimento líquido é consumido.
[0055] Na etapa de fabricação 1, um material em folha para as embalagens é fabricado em uma fábrica de conversão (usina) 10. O material em folha é tipicamente à base de papel e fornecido para a etapa de enchimento 2 em rolos 11. No exemplo ilustrado, a etapa 1 envolve adicionalmente uma fábrica (usina) 12 dedicada que fabrica tampas 13 para as embalagens, tipicamente de material plástico. Se as embalagens são formadas sem tampa, a
10 / 32 fábrica 12 está ausente da etapa 1. Também é concebível que a etapa 1 inclua fábricas adicionais que fabricam componentes específicos para a embalagem.
[0056] Na etapa de enchimento 2, uma fábrica de enchimento (usina) 14 opera no material em folha 11, nas tampas 13 e no alimento líquido para fornecer embalagens contendo alimentos líquidos. Por exemplo, uma linha de produção na usina de enchimento 14 pode formar o material em folha 11 em um recipiente, encher o recipiente com o alimento líquido e vedar o recipiente para formar a embalagem. A linha de produção também pode afixar uma tampa 13 ao recipiente. A FIG. 1B mostra um exemplo de uma embalagem 16 produzida pela usina de enchimento 14. A etapa 2 pode compreender adicionalmente a entrega externa 15 de embalagens, por exemplo, paletização, antes de entrar na etapa de distribuição 3.
[0057] Deve ser entendido que a cadeia de fabricação geralmente pode envolver muitas usinas de conversão 10, usinas de cobertura 12 e usinas de enchimento 14 diferentes, que podem ser distribuídas globalmente. Cada uma das usinas 10, 12, 14 pode incluir uma pluralidade de linhas de produção.
[0058] O presente Requerente identificou a necessidade de marcar cada embalagem contendo alimentos líquidos com um código exclusivo. Cada código deve, portanto, ser exclusivo dentro de todo o ecossistema de usinas 10, 12, 14 dentro da cadeia de fabricação, como exemplificado na FIG. 1A, pelo menos por uma vida útil predefinida. O código pode ser aplicado à embalagem em qualquer uma das usinas 10, 12, 14 mostradas na FIG. 1A. Por exemplo, os códigos podem ser aplicados pela usina de conversão 10 em posições predefinidas no material em folha 11 de modo a serem localizados em cada uma das embalagens 16 produzidas pela usina de enchimento 14. Em outro exemplo, um código pode ser aplicado pela usina de cobertura 12 a cada tampa 13. Em um exemplo adicional, um código é aplicado ao material em folha 11, à tampa 13, ao recipiente intermediário ou à embalagem 16 pela usina de enchimento 14. Deve ser entendido que a embalagem 16 pode conter
11 / 32 mais de um desses códigos exclusivos, por exemplo, um na tampa 13 e um na embalagem 16. Também é concebível que um código exclusivo seja fornecido às embalagens, ou grupos de embalagens, no manuseio subsequente 15 (por exemplo, paletização).
[0059] O código é aplicado à embalagem 16 como incorporado em um suporte de dados 17, mostrado na FIG. 1B, que pode ser implementado por qualquer técnica conhecida para fornecer um código a um artigo de fabricação. Em um exemplo, o suporte de dados 17 é impresso na embalagem 16, por exemplo, como sequência de símbolos legíveis por humanos (por exemplo, caracteres), ou um símbolo gráfico legível por máquina, como um ou mais códigos de barras ou um código 2D (DataMatrix, código QR, etc). Em outro exemplo, o suporte de dados é uma etiqueta eletrônica, na qual o código é armazenado e disponibilizado para recuperação por comunicação sem fio com a etiqueta, por exemplo, de acordo com qualquer padrão convencional para esse fim, como NFC, RFID, BLE, etc.
[0060] O fornecimento de um código exclusivo em cada embalagem permite muitas aplicações diferentes, incluindo rastreamento e localização das embalagens em toda a cadeia de fabricação e distribuição (FIG. 1A), verificação da autenticidade da embalagem, vinculação ao conteúdo da web relacionado à embalagem para acesso de consumidores ou pessoal de varejo, associação dos códigos a campanhas promocionais e loterias, ocasionando ações automáticas em máquinas que são usadas nas etapas 1 a 5 (FIG. 1A), como qualquer equipamento em uma usina de enchimento 14, sistemas de resfriamento em veículos de transporte, caminhões de armazém, robôs, geladeiras, etc.
[0061] Comum a todas essas aplicações é que cada código gerado não é apenas marcado na embalagem, mas também armazenado em um banco de dados, opcionalmente em associação com dados adicionais. O banco de dados é acessado e pesquisado por um código específico durante a execução da
12 / 32 aplicação. Percebe-se que a velocidade de busca é um aspecto importante para a implementação da aplicação. Essa é uma tarefa desafiadora tendo em vista o grande número de códigos que serão gerados, dados os grandes volumes de embalagens contendo alimentos líquidos que são produzidos anualmente. Por exemplo, mais de 188 bilhões (109) de embalagens Tetra Pak® foram vendidas em 2016.
[0062] O presente Requerente identificou as seguintes características desejáveis dos códigos exclusivos para as embalagens: 1) Permitir um grande número de códigos exclusivos, normalmente mais de 1012 2) Permitir um suporte de dados compacto que se ajuste ao menor tamanho das embalagens produzidas dentro do ecossistema 3) Minimizar o risco de geração de código fraudulento 4) Minimizar o risco de adivinhar um código válido 5) Permitir a rejeição rápida de códigos falsos 6) Permitir a busca rápida e eficiente dos códigos em um banco de dados 7) Permitir estrutura de código escalonável e comprimento de código 8) Permitir características robustas e de manutenção necessárias para garantir uma operação industrial global contínua e eficiente em larga escala
[0063] Uma técnica concebível para gerar os códigos seria gerar cada código como um número em uma série de números sequenciais. No entanto, esse código não será capaz de atingir pelo menos as características 3) e 4).
[0064] Outra técnica concebível para gerar os códigos seria gerar cada código como um número aleatório ou pseudoaleatório, com um comprimento que permite que o número de códigos exclusivos exceda em muito o número de embalagens a serem marcados. Embora tal código possa atingir as
13 / 32 características 3) e 4), será difícil combiná-lo com as características 5) e 6).
[0065] As modalidades da presente invenção, a serem exemplificadas a seguir, são baseadas na percepção de que todas as características 1) a 8) são permitidas pela geração do código para compreender uma porção do cabeçalho e uma porção da carga útil, onde os dados na porção de carga útil são criptografado e os dados na porção do cabeçalho não. A criptografia garante que o código seja suficientemente codificado para dificultar a adivinhação e a geração de código fraudulento. Além disso, os dados na porção de carga útil podem ser definidos para serem exclusivos em cada código antes da criptografia, tornando assim o código exclusivo. Além disso, os dados na porção de carga útil podem ser estruturados antes da criptografia de modo a permitir a pesquisa eficiente do código em um banco de dados. Além disso, a porção do cabeçalho pode conter adicionalmente informações para permitir a escalabilidade na estrutura e comprimento do código, informações para permitir a rejeição rápida, informações para permitir a descriptografia da porção da carga útil, etc.
[0066] Além disso, a porção da carga útil pode ser gerada para representar, antes da criptografia, as propriedades da unidade de produção que adiciona o código à embalagem. Por exemplo, a porção de carga útil pode ser indicativa de pelo menos uma das localizações geográficas da unidade de produção (usina, linha de produção, equipamento de produção, etc.) e uma marca de tempo para cada embalagem. Essa é uma forma robusta e transparente de garantir que a porção da carga útil seja exclusiva dentro do ecossistema.
[0067] Uma modalidade exemplificativa de um sistema 20 que é configurado para geração de código e marcação de embalagens é mostrada esquematicamente na FIG. 2. O sistema 20 inclui uma unidade de controle 21, um gerador de código 22 e um dispositivo de marcação 23. A unidade de controle 21 é configurada para obter códigos (CÓDIGO) do gerador de
14 / 32 código 22 e gerar sinais de controle (CTRL) para fazer com que o dispositivo de marcação 23 forneça o código a um artigo de fabricação, como o material em folha 11, a tampa 13 ou a embalagem 16. Como entendido a partir do exposto, o dispositivo de marcação 23 pode ser uma impressora, um dispositivo de ablação ou um dispositivo que incorpora o código em uma etiqueta eletrônica, que pode ser afixada pelo dispositivo de marcação 23 no artigo de fabricação ou pode ser pré-afixada no mesmo. No exemplo ilustrado, a unidade de controle 21 tem ou está conectada a uma interface de entrada 24, que pode compreender uma IHM (interface homem-máquina) permitindo que um operador insira manualmente os dados de entrada e/ou controle a operação do sistema. Alternativamente, ou adicionalmente, a interface de entrada 24 pode compreender um receptor para receber dados de entrada ou dados de controle de um controlador externo através de uma conexão com ou sem fio.
[0068] A unidade de controle 21 é operável para gerar uma solicitação (SOL) para um ou mais códigos do gerador de código 22 que gera, em resposta ao pedido, um ou mais códigos e fornece o(s) código(s) para a unidade de controle 21. A unidade de controle 21 ou o gerador de código 22 (como mostrado na FIG. 2) pode ser adicionalmente configurado para inserir cada código em um banco de dados 26, opcionalmente em associação com dados adicionais. Também é concebível que tais dados adicionais sejam adicionados ao banco de dados 26 separadamente do sistema 20.
[0069] O sistema 20 na FIG. 2 pode ser implementado para geração em linha de códigos ou para geração off-line (por lote) de códigos. Em tal modalidade em linha, os códigos são gerados em tempo real durante a produção na usina 10, 12, 14 e o gerador de código 22 está tipicamente localizado na usina 10, 12, 14. O gerador de código 22 pode ser configurado para retornar um único código exclusivo para cada solicitação SOL de entrada da unidade de controle 21. Conforme usado aqui, uma “solicitação” denota
15 / 32 qualquer tipo de sinal que pode fazer com que o gerador de código gere um código. Em uma modalidade off-line, a unidade de controle 21 transmite uma solicitação SOL para o gerador de código para um lote de códigos antes da produção. Dependendo da implementação, a solicitação pode conter um identificador da unidade de produção (usina, linha de produção, equipamento de produção, etc.) e o número de códigos a serem gerados. Em resposta à solicitação, o gerador de código 22 gera e retorna um lote de códigos exclusivos. Na modalidade off-line, o gerador de código pode, mas não precisa, ser localizado remotamente da unidade de produção, por exemplo, em um sistema de servidor conectado à rede que pode ser configurado para gerar e transmitir códigos, através de uma rede de comunicação, para diferentes usinas no ecossistema.
[0070] O Requerente atualmente contempla a implementação da modalidade em linha nas usinas de enchimento 14 e a modalidade off-line nas usinas de conversão 10 e nas usinas de cobertura 12.
[0071] A FIG. 3 é uma representação esquemática de uma máquina 30 que pode representar o gerador de código 22. A máquina 30 compreende um módulo de comunicação 31 que define uma ou mais interfaces para comunicação de dados de acordo com qualquer protocolo ou protocolos adequados. A máquina 30 compreende adicionalmente um ou mais processadores 32, por exemplo, uma unidade de processamento central (CPU), uma unidade de processamento gráfico (GPU), um processador de sinal digital (DSP), um ou mais circuitos integrados específicos de aplicativo ( ASICs ) (ASICs), um arranjo de portas programável em campo (FPGA) ou qualquer combinação dos mesmos. A máquina 30 compreende adicionalmente memória de sistema 33, que pode incluir memória de computador na forma de memória volátil e/ou não volátil, como memória somente de leitura (ROM), memória de acesso aleatório (RAM) e memória flash. A memória 33 pode armazenar instruções de computador 34 (por
16 / 32 exemplo, software ou código de programa) para fazer com que a máquina 30 execute qualquer uma das metodologias aqui discutidas. As instruções 34 podem ser fornecidas à máquina 30 em um meio legível por computador 35, que pode ser um produto tangível (não transitório) (por exemplo, meio magnético, meio óptico, memória somente de leitura, memória flash, fita digital, etc) ou um sinal de propagação. As instruções 34 podem ser protegidas por acesso limitado e restrito usando métodos conhecidos. Quando executadas pelo processador 32, as instruções 34 podem fazer com que o(s) processador(es) 32 executem qualquer uma das metodologias aqui discutidas. Deve ser entendido que a unidade de controle 21 também pode ser implementada por uma máquina correspondente 30, embora com diferentes instruções de computador. Também é concebível que a unidade de controle 21 e o gerador de código 22 sejam implementados em conjunto na máquina 30.
[0072] É concebível implementar o gerador de código 22 por computação em nuvem, em que as funções do gerador de código 22 são realizadas por recursos em qualquer número de sistemas de computador ou servidores cooperantes. Em tal implementação, os sistemas de computador cooperantes correspondem conjuntamente à máquina 30 na FIG. 3.
[0073] A FIG. 4A mostra uma modalidade da estrutura de um código que é gerado de acordo com a presente invenção. O código compreende uma porção de cabeçalho 40 e uma porção de carga útil 41. A porção de carga útil 41 contém dados de carga útil criptografada [EP]. A porção do cabeçalho 40 não é criptografada e, portanto, legível no sentido de que seu conteúdo é acessível sem a necessidade de uma chave de criptografia. No entanto, é concebível que a porção de cabeçalho 40, ou parte dela, seja ofuscada. O termo “ofuscação”, às vezes denotado “obscurecimento”, refere-se a um processo que é aplicado a um conjunto de dados para dificultar intencionalmente o acesso ao conjunto de dados se o algoritmo aplicado pelo processo for desconhecido. Por outro lado, o termo “criptografia” se refere a
17 / 32 um processo que é aplicado a um conjunto de dados para exigir um segredo (por exemplo, uma chave) para permitir o acesso ao conjunto de dados em um período de tempo razoável, mesmo se o algoritmo aplicado pelo processo for conhecido.
[0074] No exemplo da FIG. 4A, a porção do cabeçalho 40 compreende cinco subporções que contêm, respectivamente, dados de codificação [E], dados do gerador [G], seletor de chave aleatória [R], versão de chave [K] e dados hash [H]. Os dados de codificação [E] são dados de definição de código e têm uma localização e extensão fixas e predefinidas em todos os códigos. O valor dos dados de codificação [E] indica, portanto, a estrutura e o comprimento do código, onde um valor diferente indica uma estrutura e/ou comprimento diferente. A estrutura pode incluir a extensão das porções de cabeçalho e de carga útil 40, 41, e o tipo, posição e extensão das subporções que estão incluídas na porção do cabeçalho 40. O fornecimento dos dados de codificação [E] torna o código escalonável em estrutura e comprimento. A escalabilidade é vantajosa na medida em que permite que a estrutura e o comprimento do código sejam adaptados para corresponder às capacidades de codificação de um suporte de dados específico ou sejam adaptados para eventuais usos e aplicações imprevistas futuras. Em uma modalidade atualmente preferida, os dados de codificação [E] também indicam a localização na cadeia de fabricação para a usina que marcou as embalagens com o código, por exemplo, para diferenciar entre uma usina de conversão 10, uma usina de cobertura 12 e uma usina de enchimento 14. Os dados do gerador [G] também são dados de definição de código e indicam como o código foi gerado, ou seja, os procedimentos e etapas que foram seguidos. Por exemplo, o valor dos dados do gerador [G] pode indicar se o código se origina de uma modalidade em linha ou off-line, o algoritmo de criptografia (cifra) que foi usado, etc. O fornecimento dos dados do gerador [G] aumenta a versatilidade do processo de geração de código. O seletor de
18 / 32 chave aleatória [R] designa a chave de criptografia que foi usada para criptografar os dados de carga útil. O fornecimento do seletor de chave aleatória [R] torna possível fazer uma seleção aleatória entre um conjunto predefinido de chaves de criptografia ao gerar o código. Isso melhora a segurança permitindo o uso de chaves de criptografia diferentes entre os códigos e também introduz variabilidade na porção do cabeçalho 40 para tornar ainda mais difícil quebrar o código e o processo de geração de código. A versão da chave [K] designa a versão do conjunto predefinido de chaves de criptografia usadas no processo de geração de código. O fornecimento da versão da chave [K] torna possível atualizar o conjunto predefinido de chaves de criptografia para aumentar a segurança com compatibilidade com versões anteriores e posteriores. Os dados hash [H] são ou compreendem um valor hash da carga útil criptografada na porção da carga útil 41. O fornecimento de dados hash [H] permite a rejeição rápida de códigos falsos e, portanto, reduz a necessidade de pesquisar códigos no banco de dados, mesmo que a rejeição rápida possa aprovar erroneamente uma certa quantidade de códigos falsos. Com o uso de dados hash [H], que podem ser lidos diretamente da porção do cabeçalho 40, a rejeição rápida é feita sem descriptografia da carga útil criptografada [EP]. Em uma modalidade, os dados hash [H] são ou compreendem uma assinatura digital. O fornecimento de uma assinatura digital permite a autenticação do código e, portanto, permite a rejeição rápida de códigos falsos com alta precisão.
[0075] Deve-se notar que tanto [R] quanto [K] precisam ser conhecidos para identificar a chave de criptografia que foi usada para gerar um determinado código. Assim, [R] e [K] formam em conjunto “dados de identificação de chave”. No entanto, deve-se notar que o código pode ser gerado alternativamente sem [R], se apenas uma única chave de criptografia for usada, e/ou sem [K], se apenas uma única versão da chave ou chaves for usada.
19 / 32
[0076] Embora não ilustrado na FIG. 4A, a porção de cabeçalho 40 pode incluir dados adicionais, por exemplo um hiperlink. Também deve ser notado que nem a porção de cabeçalho 40 nem a porção de carga útil 41 precisam ser porções contíguas no código, como mostrado. Em vez disso, a porção de cabeçalho 40 pode ser dividida em subconjuntos que são alternados com a porção de carga útil 41 ou seus subconjuntos. No entanto, acredita-se atualmente que a estrutura da FIG. 4A otimiza a geração de código e o processamento de um código que é lido de uma embalagem.
[0077] Nos exemplos a seguir, o código é gerado como uma sequência de valores binários (bits). Em uma modalidade presentemente preferida, que não é limitativa da invenção, o código consiste em 80 bits, onde a porção do cabeçalho 40 contém 16 bits e a porção da carga útil 41 contém 64 bits. Nesse exemplo não limitativo, [E] é 2 bits, [G] é 1 bit, [R] é 2 bits (ou seja, quatro chaves de criptografia diferentes no conjunto predefinido), [K] é 2 bits (ou seja, até quatro diferentes versões dos conjuntos predefinidos) e [H] é 8 bits.
[0078] A FIG. 4B ilustra esquematicamente uma etapa de operação de um algoritmo de criptografia F em dados de carga útil [P] para gerar dados de carga útil criptografada [EP] para inclusão na porção de carga útil 41 de um código. Qualquer algoritmo de criptografia concebível F pode ser usado, incluindo qualquer algoritmo de criptografia simétrico em que uma chave de criptografia privada é usada para criptografia e descriptografia, e qualquer algoritmo assimétrico que utiliza pares de chaves de criptografia públicas e privadas. Em uma modalidade não limitativa, o algoritmo de criptografia é uma cifra de bloco, como Blowfish, DES, IDEA, RC5 ou AES. A criptografia embaralha os dados de carga útil e oblitera sua estrutura. Geralmente, a criptografia serve para proteger os dados contidos na porção da carga útil 41, para dificultar a adivinhação de um código válido com base em outro código e para minimizar o risco de geração de código fraudulento.
20 / 32
[0079] A FIG. 4B também indica vários tipos de parâmetros que podem ser incluídos nos dados de carga útil [P]. No exemplo ilustrado, os dados de carga útil [P] compreendem dados de localização [A] que representam uma localização geográfica, normalmente a localização geográfica da unidade de produção que adiciona o código à embalagem. Deve-se notar que os dados de localização [A] podem representar a localização geográfica indiretamente, por exemplo, indicando um determinado produtor, usina, linha de produção ou equipamento de produção que tem uma localização geográfica conhecida. Na FIG. 4B, os dados de carga útil [P] incluem adicionalmente dados de indexação [B] que permitem o agrupamento de códigos gerados sequencialmente. Como será adicionalmente exemplificado abaixo, os dados de localização [A] e/ou os dados de indexação [B] podem servir para melhorar a velocidade de pesquisa do código em um banco de dados. Na FIG. 4B, os dados de carga útil [P] compreendem adicionalmente dados aleatórios [C], que introduzem uma variabilidade imprevisível nos dados de carga útil [P]. Essa variabilidade imprevisível torna ainda mais difícil fazer a engenharia reversa do código e, portanto, reduz o risco de geração de código fraudulento.
[0080] Em ambientes industriais em geral, e especialmente em produção de alto volume, paralisações levam a perdas caras de produção e devem ser evitadas. Pode, portanto, ser desejável duplicar o equipamento de produção e permitir a chamada troca a quente, ou seja, ser capaz de mudar de um equipamento principal para um equipamento de backup essencialmente sem qualquer paralisação na produção. Isso também se aplica ao gerador de código na FIG. 2. A FIG. 11 ilustra uma variante do sistema na FIG. 2 com dois geradores de código 22, 22A. Embora não ilustrado na FIG. 11, a unidade de controle 21 é conectada a um dispositivo de marcação 23 como na FIG. 2. Os geradores de código 22, 22A são estrutural e funcionalmente idênticos, o que significa que eles usam exatamente a mesma metodologia
21 / 32 para gerar códigos com a mesma estrutura e comprimento. O gerador de código 22 é usado como um gerador principal e o gerador de código 22A é um gerador de backup (conforme indicado pela seta tracejada). Um controlador 28 é conectado aos geradores de código 22, 22A para controlar a comutação de um para o outro por um sinal de controle de comutação (SWC). Pode ser difícil sincronizar os dois geradores de código 22, 22A com precisão suficiente ao comutar de um para o outro para evitar que os mesmos códigos sejam gerados por ambos os geradores de código 22, 22A em conexão com a comutação. Para superar esse problema, os dados de carga útil [P] compreendem adicionalmente dados de redundância [D], como mostrado na FIG. 4B. Os dados de redundância [D] representam o gerador de código específico que gerou o código. Assim, os geradores de código 22, 22A são configurados para inserir dados de redundância diferentes [D] no código. Desse modo, os códigos que são gerados pelos geradores de código 22, 22A serão inerentemente diferentes e a troca a quente é possível sem o risco de gerar códigos duplicados. A troca a quente pode, por exemplo, ser feita em caso de mau funcionamento do gerador de código principal 22 ou para manutenção programada do gerador de código principal 22. Além de permitir a troca a quente, o fornecimento de dados de redundância [D] também permite que dois ou mais geradores de código sejam operados em paralelo para fornecer códigos para a unidade de controle 21.
[0081] Em uma variante, os dados de redundância [D] são, alternativa ou adicionalmente, incluídos na porção do cabeçalho 40.
[0082] Como um comentário adicional à FIG. 4B, pode-se notar que os dados de carga útil [P] incluem uma caixa vazia para indicar que os dados de carga útil [P] podem conter dados adicionais.
[0083] A FIG. 5 mostra um exemplo de uma estrutura para gerar os dados de carga útil [P], por exemplo, dentro do gerador de código (22 na FIG. 2). No centro da estrutura está um gerador de carga útil 50, que recebe ou
22 / 32 adquire valores de dados atuais de um conjunto de provedores de dados 51-57 e combina os valores de dados nos dados de carga útil [P], por exemplo, estruturados como mostrado na FIG. 4B.
O provedor de dados 51 fornece os dados de localização mencionados acima [A]. Na modalidade em linha mencionada acima, os dados de localização [A] podem ser predefinidos e armazenados na memória.
O provedor de dados 51 pode, assim, ser uma memória (cf. 33 na FIG. 3). Na modalidade off-line mencionada acima, pelo menos parte dos dados de localização [A] podem ser incluídos na solicitação de lote SOL recebida pelo gerador de código 23 e o provedor de dados 51 pode ser configurado para recuperar os dados de localização [A] da solicitação de lote.
Na FIG. 5, os contadores sequenciais 52-55 fornecem as respectivas porções [B]1-[B]4 dos dados de indexação [B]. Conforme usado aqui, um “contador sequencial” denota um contador que emite valores em uma sequência previsível.
Especificamente, cada contador sequencial 52-55 na FIG. 5 é operável para gerar valores de saída que são aumentados ou diminuídos ao longo do tempo, de um valor inicial a um valor final.
Conforme usado aqui, “aumentado” implica um aumento (em qualquer etapa) e “diminuído” implica uma diminuição (em qualquer etapa). Em um exemplo não limitativo, os contadores sequenciais 52-55 emitem valores que são aumentados ou diminuídos em etapas de 1. Cada contador 52-55 também pode operar com um módulo predefinido, de modo que o valor de saída passe do valor final para o valor inicial.
Os dados de indexação [B] são formados para compreender uma combinação de valores de saída dos contadores sequenciais 52-55, por exemplo, [B]=[B]1[B]2[B]3[B]4. O fornecimento no código de um valor de saída de pelo menos um contador sequencial permite o agrupamento de códigos consecutivos e, assim, permitirá o armazenamento agrupado de códigos na base de dados 26 (FIG. 2) e, assim, facilitar a pesquisa no banco de dados.
Cada contador 52-55 pode representar uma quantidade física relacionada ao processo de fabricação na unidade de
23 / 32 produção que adiciona os códigos às embalagens. Em um exemplo, um ou mais dos contadores 52-55 podem representar um parâmetro de tempo para a fabricação, de modo que os dados de indexação [B] contenham uma marca de tempo para a respectiva embalagem. Grupos de tais contadores de tempo podem operar em conjunto para representar a hora atual em unidades de tempo diferentes, como um ou mais de ano, mês, semana, dia, hora, minuto, segundo.
[0084] Em outro exemplo, um dos contadores 52-55 pode ser um contador de embalagem que produz uma contagem das embalagens que estão marcadas na unidade de produção. O contador de embalagem normalmente aumenta ou diminui seu valor de saída a partir de um valor inicial sem aplicar um módulo predefinido. Na modalidade em linha, o valor de saída do contador de embalagem pode ser incrementado para cada embalagem que é marcada (por exemplo, para cada SOL de entrada para o gerador de código 22 na FIG. 2). Em uma variante específica, o contador de embalagem é coordenado com um contador de tempo, de modo a ser redefinido para seu valor inicial sempre que o valor do contador de tempo mudar. Preferivelmente, o contador de tempo representa a menor unidade de tempo entre os contadores de tempo disponíveis. Se a menor unidade de tempo for um segundo, os valores de saída do contador de embalagem fornecem uma resolução inferior a um segundo e são redefinidos a cada segundo. Na modalidade off-line, o valor de saída do contador de embalagem pode ser aumentado ou diminuído para cada código que é gerado em um lote de códigos. Outros exemplos de contadores são dados abaixo com referência às FIGS 7A-7B.
[0085] Como entendido a partir do anterior, os contadores sequenciais 52-55 podem ser aumentados/diminuídos em sincronização com o processo de geração de código, ou independente dele. Exemplos de operação sincronizada incluem a alteração mencionada acima do contador de
24 / 32 embalagem para cada embalagem que é marcada ou cada código que é gerado. Por outro lado, os contadores de tempo mencionados acima são acionados automaticamente para atualizar seus valores de saída para representar a hora atual.
[0086] No exemplo da FIG. 5, um contador aleatório 56 fornece os dados aleatórios [C]. O contador aleatório 56 é operável para emitir valores aleatórios dentro de uma faixa predefinida e é preferivelmente operado para alterar seu valor de saída em sincronização com o processo de geração de código. Em uma modalidade, o contador aleatório 56 é configurado para fornecer valores aleatórios sem duplicação dentro de um período de tempo predefinido, isto é, os valores aleatórios são mutuamente únicos dentro do período de tempo predefinido. Em uma implementação, o contador aleatório 56 pode arranjar todos os valores pertencentes a uma faixa predefinida de valores mutuamente exclusivos em ordem aleatória e emitir os valores, ou um subconjunto dos mesmos, um por um na ordem aleatória. Em uma variante específica, o contador aleatório 56 é coordenado com um contador de tempo, para ser redefinido (isto é, rearranjar os valores em ordem aleatória) sempre que o valor do contador de tempo muda. Preferivelmente, o contador de tempo representa a menor unidade de tempo entre os contadores de tempo disponíveis. Se a menor unidade de tempo for um segundo, os valores de saída do contador aleatório 56 fornecem assim uma resolução inferior a um segundo. Percebe-se que tal contador aleatório 56 pode substituir o contador de embalagem descrito acima com resolução inferior a um segundo na modalidade em linha.
[0087] O provedor de dados 57 na FIG. 5 fornece os dados de redundância mencionados acima [D], que podem ser predefinidos e armazenados na memória. O provedor de dados 57 pode, assim, ser uma memória (cf. 33 na FIG. 3).
[0088] Os contadores mencionados acima 52-56 podem ser
25 / 32 implementados por hardware dedicado, software dedicado ou uma combinação dos mesmos. Se o gerador de código for implementado em um computador, os contadores de tempo podem ser implementados por uma função de suporte existente no computador, por exemplo, uma função de suporte incluída no sistema operacional.
[0089] A FIG. 7A mostra um exemplo de parâmetros/campos de dados nos dados de carga útil [P] em uma modalidade em linha, por exemplo, quando os códigos são gerados na usina de enchimento 14 na FIG. 1. No exemplo ilustrado, os dados de localização [A] compreendem ID do produtor, ID da usina, ID da linha e ID do equipamento. O ID do produtor identifica o produtor que opera a usina de enchimento 14. A ID da usina identifica a usina de enchimento 14, a ID da linha identifica a linha de produção e a ID do equipamento identifica o equipamento onde o código é adicionado a uma embalagem, por exemplo, uma máquina de enchimento, um empacotador de papelão ou um paletizador. No exemplo ilustrado, o código é projetado para lidar com 4.095 produtores diferentes, 255 usinas diferentes para cada produtor, 63 linhas em cada usina e 8 equipamentos diferentes. No exemplo ilustrado, os dados de indexação [B] representam a hora atual e compreendem Ano, Dia, Hora, Minuto e Segundo, onde Ano é fornecido pelo módulo 8 do ano atual. Os valores no respectivo campo de dados são gerados por um respectivo contador de tempo, conforme descrito com referência à FIG. 5. Os dados de carga útil [P] também incluem um Contador de Embalagem que fornece resolução inferior a um segundo, conforme descrito com referência à FIG. 5. O valor do contador de embalagem pode ser incluído nos dados de indexação [B], se gerado por um contador sequencial (cf. contadores 52-55 na FIG. 5), ou ser incluído nos dados aleatórios [C], se gerado por um contador aleatório (cf. contador 56 na FIG. 5).
[0090] A FIG. 7B mostra um exemplo de parâmetros/campos de dados nos dados de carga útil [P] em uma modalidade off-line, por exemplo,
26 / 32 quando os códigos são gerados em lotes pela usina de conversão 10 ou pela usina de cobertura 12. No exemplo ilustrado, os dados de localização [A] compreendem o ID da Unidade de Produção, que identifica a usina.
No exemplo ilustrado, parte dos dados de indexação [B] representa a hora atual e compreende o ano e o mês.
Os valores desses parâmetros podem ser gerados por um respectivo contador de tempo, conforme descrito com referência à FIG. 5. Os dados de carga útil [P] também compreendem Número de Solicitação e Contador de Embalagem, que também podem ser dados de indexação [B] gerados por um respectivo contador sequencial.
Por exemplo, o número do pedido pode ser aumentado ou diminuído para cada solicitação de lote recebido de uma determinada usina (ou seja, um determinado valor de ID da unidade de produção), no ano atual e no mês atual.
Para fornecer o Número de Solicitação, a estrutura na FIG. 5 pode ser vista como compreendendo um contador de lote sequencial para cada usina, onde o contador de lote sequencial é redefinido para seu valor inicial (por exemplo, 0) sempre que o contador de Mês rola para começar a contar a partir de seu valor inicial.
De forma similar, o Contador de Embalagem pode ser aumentado ou diminuído para cada código gerado em relação a um respectivo valor do Número de Solicitação, ou seja, para um determinado lote.
Para fornecer o Contador de Embalagem, a estrutura na FIG. 5 pode ser vista como compreendendo um contador de lote sequencial para cada contador de lote, onde o contador de embalagem sequencial é redefinido para seu valor inicial (por exemplo, 0) sempre que o valor do contador de lote associado muda.
Alternativamente, como indicado na FIG. 7B, pelo menos um do Número de Solicitação e do Contador de Embalagem podem ser dados aleatórios [C]. A estrutura para geração de valores aleatórios do Número de Solicitação e/ou Contador de Embalagem pode ser idêntica à estrutura para geração de valores sequenciais do Número de Solicitação e/ou do Contador de Embalagem, conforme descrito acima, exceto que cada contador sequencial é substituído por um
27 / 32 contador aleatório. O contador aleatório para o número de solicitação pode ser configurado para ser redefinido a cada alteração do valor do mês, e o contador aleatório para o contador de embalagem pode ser configurado para ser redefinido a cada alteração do valor do número de solicitação.
[0091] No exemplo da FIG. 7B, o código é projetado para lidar com
1.000 usinas diferentes, mais de 500.000 solicitações de lote por mês e mais de 134 milhões de embalagens por solicitação. Na FIG. 7B, os dados de carga útil [P] também compreendem dados de redundância [D] na forma de Servidor Gerador Mestre, que pode ser definido como 0 ou 1.
[0092] A FIG. 8 é um fluxograma de um processo executado no sistema da FIG. 2. O processo envolve uma parte para gerar códigos, correspondendo às etapas preparatórias 801-803 e às etapas subsequentes 804-813 que são repetidas para cada código a ser gerado. As etapas 801-813 são realizadas pelo gerador de código 22 no sistema da FIG. 2. O processo também envolve outra parte para adicionar os códigos às embalagens, correspondendo às etapas 814-816, que são realizadas em conjunto pela unidade de controle 21 e o dispositivo de marcação 23, que é uma impressora neste exemplo. O processo também envolve uma etapa 817 de armazenamento do código em um banco de dados, onde a etapa 817 pode ser realizada pela unidade de controle 21 ou pelo gerador de código 22.
[0093] Olhando para as etapas preparatórias em mais detalhes, a etapa 801 obtém um valor para os dados de codificação [E] que corresponde à estrutura e comprimento do código a ser gerado, a etapa 802 obtém um valor para os dados do gerador [G] que corresponde aos procedimentos e às etapas a serem seguidos ao gerar o código, e a etapa 803 obtém um valor para a versão da chave [K] que corresponde à versão atual das chaves de criptografia a serem usadas para criptografar os dados de carga útil [P]. Esses valores de [E], [G] e [K] serão inseridos em todos os códigos que são gerados durante a execução atual do processo. Na etapa 804, os valores de [E], [G] e [K] estão
28 / 32 incluídos na porção de cabeçalho 40 do código. A FIG. 6 ilustra as instâncias 61-66 do código durante a execução do processo na FIG. 8, onde uma porção/subporção preenchida indica que contém um valor. É percebido que a etapa 804 corresponde às instâncias 61, 62 e 63 na FIG. 6.
[0094] As etapas subsequentes 805-807 são realizadas para selecionar uma chave de criptografia. A etapa 805 obtém um número aleatório de um gerador de número aleatório, que é preferivelmente configurado para gerar números aleatórios criptograficamente seguros. A etapa 806, em seguida, seleciona, com base no número aleatório, uma chave de criptografia entre um conjunto predefinido de chaves de criptografia, por exemplo, pelo uso de uma tabela de consulta ou função que fornece uma associação entre números aleatórios e chaves de criptografia. Na etapa 806, o conjunto predefinido de chaves de criptografia é fornecido pela versão de chave [K]. A etapa 807 define o seletor de chave aleatória [R] para representar a chave de criptografia selecionada e inclui [R] na porção de cabeçalho 40 (instância 64 na FIG. 6). Por exemplo, as chaves de criptografia em cada versão do conjunto predefinido de chaves de criptografia podem ser designadas por um número respectivo, e a etapa 807 pode definir o seletor de chave de criptografia [R] para esse número.
[0095] A etapa 808 obtém os dados de carga útil [P] e pode ser realizada pelo gerador de carga útil 50 na FIG. 5. No exemplo ilustrado, a etapa 808 inclui uma primeira subetapa 808A de obtenção dos dados de localização [A], uma segunda subetapa 808B de obtenção dos dados de indexação [B] e uma terceira subetapa 808C de obtenção dos dados aleatórios [C]. Como indicado, a subetapa 808B pode envolver a ação 808B1 de obter um valor atual de um ou mais contadores sequenciais (cf. 52-55 na FIG. 5), e a subetapa 808C pode envolver a ação 808C1 de obter um valor atual de um ou mais contadores aleatórios (cf. 56 na FIG. 5). Embora não ilustrado na FIG. 8, a etapa 808 também pode obter dados de redundância [D]. No entanto,
29 / 32 deve-se notar que pelo menos [C] e [D] são opcionais para o propósito de tornar o código exclusivo dentro do ecossistema. A etapa 808 também envolve a formação dos dados de carga útil [P] arranjando [A]-[D], na medida em que foram obtidos, de acordo com a estrutura de código atual. O processo então segue para a etapa 809, que opera a função de criptografia (F na FIG. 4B) nos dados de carga útil [P] para gerar dados de carga útil criptografada [EP]. A etapa 810 inclui [EP] na porção de carga útil 41 do código (instância 65 na FIG. 6). A etapa 811 opera uma função hash em [EP] para gerar os dados hash [H]. Qualquer função hash concebível pode ser usada, por exemplo, uma função de hashing não criptográfica, como hashing de Pearson. A etapa 812 inclui [H] na porção de cabeçalho 40 (instância 66 na FIG. 6). O código é concluído e a etapa 813 produz o código, após o que o processo retorna à etapa 804 para gerar outro código exclusivo.
[0096] A etapa 814 opera em cada código que é emitido pela etapa 813 para realizar uma transcodificação do mesmo. Conforme observado acima, o código consiste em uma sequência de valores de bits. A transcodificação envolve a conversão do código em um formato adaptado para codificação no suporte de dados. No exemplo de codificação de uma sequência de valores de bits em um código 2D, sabe-se que os valores de bits são transcodificados em caracteres alfanuméricos. Como um exemplo, a instância 67 na FIG. 6 indica esquematicamente uma sequência de caracteres alfanuméricos C0-C15 resultante da transcodificação. A transcodificação é bem conhecida na técnica de marcar objetos e não será descrita em mais detalhes. A etapa 815 gera um suporte de dados na forma de um código 2D que representa os caracteres C0-C15 e a etapa 816 imprime o suporte de dados no material em folha, tampa ou embalagem.
[0097] A FIG. 9 é um fluxograma de um método de processamento do código que foi lido de uma embalagem que foi marcada com um código, por exemplo, pelo processo na FIG. 8, de acordo com uma modalidade da
30 / 32 invenção. Dispositivos para ler diferentes tipos de suportes de dados são bem conhecidos na técnica e não serão descritos posteriormente. Dependendo da implementação, a leitura pode resultar no código gerado originalmente, por exemplo, como uma sequência de bits ou os dados transcodificados, por exemplo uma sequência de caracteres alfanuméricos, que é então subsequentemente transcodificada de volta para o código original subjacente.
[0098] No método da FIG. 9, a etapa 901 insere um código que foi lido de uma embalagem. A etapa 902 lê os dados de codificação [E] do código. Conforme observado acima, os dados de codificação [E] têm uma localização fixa e predefinida em todos os códigos. Com base no valor de [E], a localização de todas as porções e subporções relevantes no código são conhecidas pelo método. Subsequentemente, a etapa 903 pode então ler os dados do gerador [G] para determinar a sintaxe do código e quaisquer funções usadas ao gerar o código. O método então realiza uma verificação de rejeição rápida do código, pelas etapas 904-907, onde a etapa 904 lê os dados hash [H], a etapa 905 lê os dados de carga útil criptografada [EP], a etapa 906 calcula um hash de [EP] por uso de uma função hash predefinida, que pode ser fixada para todos os códigos ou identificada com base em [G], e a etapa 907 compara o hash calculado com [H]. Se a etapa 907 encontrar uma incompatibilidade, o método segue para a etapa 908, que termina o método. O código é então rejeitado. Caso contrário, o método segue para a etapa 909, que lê o seletor de chave aleatório [R] e a versão de chave [K] do código. Com base nisso, a etapa 910 obtém a chave de criptografia correspondente, após o que a etapa 911 descriptografa [EP] usando a chave de criptografia e um algoritmo de criptografia predefinido, que pode ser fixo para todos os códigos ou identificado com base em [G]. Desse modo, a etapa 911 recria os dados de carga útil [P] e a etapa 912 lê pelo menos um dos dados de localização [A] e os dados de indexação [B], ou um campo de dados específico em [A] e/ou [B] (cf. FIGS 7A-7B), a partir dos dados de carga útil
31 / 32 [P]. O valor ou valores resultantes permitem que a etapa 913 acesse e pesquise o código em um banco de dados. A etapa 914 produz o resultado da pesquisa, por exemplo uma confirmação de que o código foi encontrado, uma mensagem de que o código não foi encontrado, qualquer informação associada ao código no banco de dados, etc.
[0099] Alguns exemplos não limitativos de como o acesso a dados de localização [A] e/ou dados de indexação [B] podem melhorar o gerenciamento de banco de dados e a pesquisa de banco de dados serão dados agora com referência às FIGS 10A-10B. A FIG. 10A mostra um exemplo de um banco de dados 26 que foi particionado (indicado pela linha tracejada) em uma primeira partição para armazenar códigos gerados em uma modalidade off-line (parte superior) e uma segunda partição para armazenar códigos gerados em uma modalidade em linha (parte inferior). A primeira partição é subdividida (indicada por linhas tracejadas) por usina, conforme fornecido pelos dados de localização [A] (cf. ID da Unidade de Produção na FIG. 7B). Na FIG. 10A, cada uma dessas subpartições inclui uma pilha de cilindros, onde cada cilindro representa um lote de códigos gerados para uma respectiva solicitação de lote. Dentro da respectiva subpartição, os lotes são pesquisáveis pelos dados de indexação [B]. Por exemplo, considerando os dados de indexação [B] na FIG. 7B, os códigos em cada lote contêm a mesma combinação de ano, mês e número do pedido.
[00100] A segunda partição é subdividida (indicada por linhas tracejadas) por produtor e usina, conforme fornecido pelos dados de localização [A] (cf. ID do produtor e ID da usina na FIG. 7A). A FIG. 10A ilustra uma subpartição para a Usina1 do Produtor2, que é adicionalmente particionada pela linha de produção conforme fornecido pelos dados de localização [A] (cf. ID da Linha na FIG. 7A). Cada partição adicional inclui uma pilha de cilindros em que cada cilindro representa um grupo de códigos gerados para uma combinação específica de ano de produção e dia de
32 / 32 produção (cf. Ano e Dia na FIG. 7A). Dessa forma, dentro da respectiva partição adicional, os grupos são pesquisáveis pelos dados de indexação [B].
[00101] Voltando à FIG. 8, percebe-se que a etapa 817, ao transmitir códigos para armazenamento no banco de dados 26, também transmite, preferivelmente, valores de parâmetros [A] e/ou [B] que são relevantes para o armazenamento dos códigos no banco de dados 26 particular.
[00102] Com base na FIG. 10A, o versado percebe que o fornecimento de dados de localização [A] e/ou dados de indexação [B] permite que um banco de dados seja configurado com nível variável de granularidade de partição adaptado às restrições de banco de dados específicas (dependendo da implementação e do provedor).
[00103] No exemplo da FIG. 10B, o banco de dados 26 na FIG. 10A foi separado em um banco de dados 26A armazenando códigos para embalagens produzidas na Europa e um banco de dados 26B armazenando códigos para embalagens produzidas na América do Norte. A separação em Europa e América do Norte é dada pela localização geográfica da respectiva usina.
[00104] Assim, como implícito na FIG. 10B, o fornecimento de dados de localização [A] permite o armazenamento distribuído que pode acelerar ainda mais a pesquisa, reduzindo o tempo de transmissão de dados. Além disso, também permite a redução do volume de armazenamento de dados por local com vantagens de custo e desempenho. Ele também oferece uma vantagem adicional em situações em que o armazenamento de dados precisa ser geograficamente localizado para cumprir as regulamentações/legislações nacionais.

Claims (30)

REIVINDICAÇÕES
1. Método de geração de códigos para identificar exclusivamente embalagens (16) para alimentos líquidos, o dito método caracterizado pelo fato de que compreende: obter dados de definição de código ([E], [G]) representando pelo menos um de uma estrutura dos códigos e uma metodologia de geração dos códigos, obter dados de carga útil ([P]) que são exclusivos para cada embalagem (16), operar um algoritmo de criptografia predefinido (F) nos dados de carga útil ([P]) para gerar os dados de carga útil criptografada ([EP]), incluir os dados de definição de código ([E], [G]) em uma porção de cabeçalho predefinida (40) para dados não criptografados do código para uma respectiva embalagem (16), e incluir os dados de carga útil criptografada ([EP]) em uma porção de carga útil predefinida (41) do código para a respectiva embalagem (16).
2. Método de acordo com a reivindicação 1, caracterizado pelo fato de que a dita operação do algoritmo de criptografia predefinido compreende: selecionar uma chave de criptografia, em que o método compreende adicionalmente incluir dados de identificação de chave ([R], [K]) que representam a chave de criptografia selecionada na porção de cabeçalho predefinida (40).
3. Método de acordo com a reivindicação 2, caracterizado pelo fato de que a dita seleção da chave de criptografia compreende: obter um número aleatório e selecionar, com base no número aleatório, a chave de criptografia dentre um conjunto predefinido de chaves de criptografia, em que os dados de identificação de chave ([R], [K]) representam a chave de criptografia selecionada.
4. Método de acordo com a reivindicação 2 ou 3, caracterizado pelo fato de que os dados de identificação de chave ([R], [K]) representam adicionalmente um número de versão do conjunto predefinido de chaves de criptografia.
5. Método de acordo com qualquer uma das reivindicações 2 a 4, caracterizado pelo fato de que a chave de criptografia selecionada é uma chave privada.
6. Método de acordo com qualquer uma das reivindicações 2 a 5, caracterizado pelo fato de que a metodologia representada pelos dados de definição de código ([E], [G]) compreende o algoritmo de criptografia predefinido (F).
7. Método de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que compreende adicionalmente operar uma função hash nos dados de carga útil criptografada ([EP]) para gerar dados hash ([H]) e incluir os dados hash ([H]) como uma subporção legível da porção de cabeçalho (40).
8. Método de acordo com a reivindicação 7, caracterizado pelo fato de que os dados hash ([H]) são gerados como uma assinatura digital.
9. Método de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que compreende adicionalmente obter dados de localização ([A]) que representam uma localização geográfica e incluir os dados de localização ([A]) nos dados de carga útil ([P]) de modo a serem comuns a todas as embalagens provenientes de uma unidade de produção na localização geográfica.
10. Método de acordo com a reivindicação 9, caracterizado pelo fato de que os dados de localização ([A]) são indicativos de pelo menos um de um produtor, uma fábrica, uma linha de produção e um equipamento de produção.
11. Método de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que compreende adicionalmente obter dados de indexação ([B]) que permitem o agrupamento de códigos gerados sequencialmente e incluir os dados de indexação ([B]) nos dados de carga útil ([P]).
12. Método de acordo com a reivindicação 11, caracterizado pelo fato de que a dita obtenção dos dados de indexação ([B]) compreende: obter um valor atual de pelo menos um contador sequencial (52-55) que é configurado para emitir valores sequenciais que são aumentados ou diminuídos ao longo do tempo.
13. Método de acordo com a reivindicação 12, caracterizado pelo fato de que os dados de indexação ([B]) são obtidos para incluir uma combinação de valores atuais que são emitidos por uma pluralidade de contadores sequenciais (52-55).
14. Método de acordo com qualquer uma das reivindicações 11 a 13, caracterizado pelo fato de que pelo menos parte dos dados de indexação ([B]) são obtidos para representar um tempo atual.
15. Método de acordo com qualquer uma das reivindicações 11 a 14, caracterizado pelo fato de que compreende adicionalmente obter dados aleatórios ([C]) para cada embalagem (16) e incluir os dados aleatórios ([C]) nos dados de carga útil ([P]).
16. Método de acordo com a reivindicação 15, caracterizado pelo fato de que a dita obtenção de dados aleatórios ([C]) compreende obter um valor aleatório de um contador aleatório (56) que é operado para arranjar intermitentemente valores pertencentes a uma faixa predefinida de valores mutuamente exclusivos em uma ordem aleatória, e, em seguida, produzir pelo menos um subconjunto dos valores um por um na ordem aleatória.
17. Método de acordo com a reivindicação 14, caracterizado pelo fato de que compreende adicionalmente obter um valor aleatório ([C]) para cada embalagem (16) a partir de um contador aleatório (56) que é configurado para gerar valores aleatórios que pertencem a uma faixa predefinida e são mutuamente exclusivos dentro de um período de tempo predefinido que é uma unidade de tempo mínima para o tempo atual, e incluir o valor aleatório ([C]) nos dados de carga útil ([P]).
18. Método de acordo com qualquer uma das reivindicações 11 a 17, caracterizado pelo fato de que os códigos são gerados sujeitos a uma solicitação de geração de lote, e em que pelo menos um contador sequencial (52-55) compreende um contador de lote, em que o método compreende adicionalmente aumentar ou diminuir o contador de lote para cada solicitação de geração de lote, e em que a dita obtenção dos dados de indexação ([B]) compreende adicionalmente obter um valor atual do contador de lote.
19. Método de acordo com qualquer uma das reivindicações 11 a 18, caracterizado pelo fato de que o pelo menos um contador sequencial (52-55) compreende um contador de embalagem, em que o método compreende adicionalmente aumentar ou diminuir o contador de embalagem para cada embalagem (16), e em que a dita obtenção dos dados de indexação ([B]) compreende adicionalmente obter um valor atual do contador de embalagem.
20. Método de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de ser realizado por um primeiro gerador de código (22) incluído em um grupo de geradores de código idênticos (22, 22A), o dito método compreendendo adicionalmente obter dados de redundância ([D]) que distinguem o primeiro gerador de código de outro(s) gerador(es) de código no grupo, e incluir os dados de redundância ([D]) em pelo menos um da porção do cabeçalho (40) e dos dados de carga útil ([P]).
21. Método de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que os dados de carga útil criptografada ([EP]) e os dados de definição de código ([E], [G]) são incluídos no código como uma sequência respectiva de valores binários.
22. Método de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que compreende adicionalmente marcar a embalagem (16) com o código.
23. Método de acordo com a reivindicação 22, caracterizado pelo fato de que a dita marcação compreende: embutir o código em um suporte de dados (17) em uma das embalagens (16) para o alimento líquido, em um material de folha (11) a ser formado em uma porção de recipiente da dita uma das embalagens (16), ou em um elemento (13) a ser combinado com a porção do recipiente.
24. Método de acordo com a reivindicação 23, caracterizado pelo fato de que a dita marcação compreende adicionalmente: converter o código em um formato adaptado para embutir no suporte de dados (17).
25. Método de acordo com qualquer uma das reivindicações 22 a 24, caracterizado pelo fato de que a dita marcação compreende: controlar uma impressora ou um dispositivo de ablação (23) para marcar uma porção de superfície, ou armazenar o código em uma etiqueta eletrônica (17) para identificação sem fio.
26. Método de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo fato de que compreende adicionalmente armazenar o código em um banco de dados (26; 26A, 26B), em que o banco de dados (26; 26A, 26B) e/ou uma partição do banco de dados (26; 26A, 26B) é selecionado para armazenamento com base nos dados de carga útil ([P]) do código.
27. Meio legível por computador (35), caracterizado pelo fato de que compreende instruções de computador (34) que, quando executadas por um processador (32), fazem com que o processador (32) execute o método como definido em qualquer uma das reivindicações anteriores.
28. Código, caracterizado pelo fato de ser gerado pelo método como definido em qualquer uma das reivindicações 1 a 26.
29. Sistema (20), caracterizado pelo fato de que compreende pelo menos um dispositivo (21, 22) configurado para realizar o método como definido em qualquer uma das reivindicações 1 a 26.
30. Método de processamento do código gerado pelo método como definido em qualquer uma das reivindicações 1 a 26 após a leitura do código de uma embalagem, o dito método caracterizado pelo fato de que compreende: extrair os dados de definição de código ([E], [G]) do código, identificar a porção de carga útil (41) com base nos dados de definição de código ([E], [G]), extrair os dados de carga útil criptografada ([EP]) do código, operar um algoritmo de descriptografia predefinido nos dados de carga útil criptografada ([EP]) para gerar os dados de carga útil ([P]), e pesquisar um banco de dados (26; 26A, 26B) para o código com base nos dados de carga útil ([P]), ou um ou mais subconjuntos ([A], [B]) dos mesmos.
BR112020017654-0A 2018-03-14 2019-03-07 Métodos de geração de códigos para identificar exclusivamente embalagens para alimentos líquidos e de processamento do código, meio legível por computador, código, e, sistema. BR112020017654A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP18161668 2018-03-14
EP18161668.1 2018-03-14
PCT/EP2019/055654 WO2019175003A1 (en) 2018-03-14 2019-03-07 Providing unique codes on packages for liquid food

Publications (1)

Publication Number Publication Date
BR112020017654A2 true BR112020017654A2 (pt) 2020-12-22

Family

ID=61655621

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112020017654-0A BR112020017654A2 (pt) 2018-03-14 2019-03-07 Métodos de geração de códigos para identificar exclusivamente embalagens para alimentos líquidos e de processamento do código, meio legível por computador, código, e, sistema.

Country Status (6)

Country Link
US (1) US11669927B2 (pt)
EP (1) EP3540664A1 (pt)
JP (1) JP2021517768A (pt)
CN (1) CN111886616A (pt)
BR (1) BR112020017654A2 (pt)
WO (1) WO2019175003A1 (pt)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3822897A1 (en) 2019-11-14 2021-05-19 Tetra Laval Holdings & Finance S.A. Generating and storing unique marking codes for liquid food packages
CN114698397A (zh) 2019-11-14 2022-07-01 利乐拉瓦尔集团及财务有限公司 用于液体食品包装用的标记代码的数据库系统

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1264882A (zh) * 2000-04-04 2000-08-30 张念录 一种新的商品防伪标记印刷与识别系统
JP4043828B2 (ja) * 2001-04-19 2008-02-06 松下電器産業株式会社 ライセンス管理システム、ライセンス管理装置及び中継装置
EP1645992A1 (en) * 2004-10-08 2006-04-12 Philip Morris Products S.A. Methods and systems for marking, tracking and authentication of products
US7309011B2 (en) * 2004-10-29 2007-12-18 Symbol Technologies, Inc. Method of authenticating products using hardware compatibility flag
US20080011841A1 (en) * 2005-02-03 2008-01-17 Yottamark, Inc. System and Method of Detecting Product Code Duplication and Product Diversion
US7614546B2 (en) 2005-02-03 2009-11-10 Yottamark, Inc. Method and system for deterring product counterfeiting, diversion and piracy
US8379638B2 (en) 2006-09-25 2013-02-19 Certes Networks, Inc. Security encapsulation of ethernet frames
US20090065568A1 (en) * 2007-09-07 2009-03-12 Elliott Grant Systems and Methods for Associating Production Attributes with Products
US8984293B2 (en) * 2010-11-19 2015-03-17 Microsoft Corporation Secure software product identifier for product validation and activation
US9436770B2 (en) * 2011-03-10 2016-09-06 Fastechnology Group, LLC Database systems and methods for consumer packaged goods
CN102194173B (zh) * 2011-06-18 2014-04-16 浙江大学 用于蔬菜追溯的编码方法及所用编码系统
US20140133656A1 (en) * 2012-02-22 2014-05-15 Qualcomm Incorporated Preserving Security by Synchronizing a Nonce or Counter Between Systems
WO2015197494A1 (en) 2014-06-23 2015-12-30 Philip Morris Products S.A. Method and system for marking manufactured items to detect unauthorised refilling
US20150379524A1 (en) * 2014-06-25 2015-12-31 Kezzler As Method and system for authenticating physical items
CN105139057A (zh) * 2015-08-21 2015-12-09 许泽人 生成商品标识码的方法、具有商品标识码的商品、包装罐及灌装商品的生产工艺
CN105184083A (zh) * 2015-09-14 2015-12-23 南京延长科技有限公司 一种用于药械全程质量追溯的数字身份编码及其编码方法
CN106250941A (zh) * 2016-07-20 2016-12-21 奥瑞金包装股份有限公司 二维码处理方法、装置及系统

Also Published As

Publication number Publication date
CN111886616A (zh) 2020-11-03
US20210042870A1 (en) 2021-02-11
US11669927B2 (en) 2023-06-06
JP2021517768A (ja) 2021-07-26
WO2019175003A1 (en) 2019-09-19
EP3540664A1 (en) 2019-09-18

Similar Documents

Publication Publication Date Title
US11004029B2 (en) Method and system for storing and retrieving packaging and re-packaging relations
RU2698768C2 (ru) Способ и система для маркировки готовых изделий с целью обнаружения несанкционированного повторного заполнения
CN102800243B (zh) 一种防伪环形码的制作方法
CN104871183A (zh) 用于跟踪制造物品而存储数据的方法和设备
CN103646331B (zh) 基于加密条码标识的酒类防伪溯源方法
UA120342C2 (uk) Спосіб і пристрій для маркування промислових виробів за допомогою фізичної властивості
JP6683603B2 (ja) 製造物認証システム及び製造物認証方法
BR112020017654A2 (pt) Métodos de geração de códigos para identificar exclusivamente embalagens para alimentos líquidos e de processamento do código, meio legível por computador, código, e, sistema.
US8423770B2 (en) Method and system for providing secure codes for marking on items
US20110219228A1 (en) Method And Device For Identifying Objects
CN101410876A (zh) 打印方法
CN110765488B (zh) 数据存储与读取方法和电子设备
CN105260893A (zh) 一种实现卷烟二维码信息保护的防伪系统及方法
JP2021518600A (ja) ハッシュツリーを用いて食品安全データを追跡するための方法及びシステム
US20220391923A1 (en) Generating and storing unique marking codes for liquid food packages
CN110245965B (zh) 用于雪糕棒的数据处理系统的安全方法及带有二维码的雪糕棒
CN105023136A (zh) 商品的二维码操作方法及装置
CN114698397A (zh) 用于液体食品包装用的标记代码的数据库系统
JP2021518311A (ja) ハッシュツリーを用いて食品安全データを追跡する食品包装機
RU2787209C2 (ru) Способ и система для маркировки готовых изделий с целью обнаружения несанкционированного повторного заполнения
CN104346737A (zh) 一种用于盒装海鸭蛋的保真技术

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]