BR112021004110A2 - geração, aplicação e verificação de código de rastreamento com o uso da tecnologia blockchain - Google Patents

geração, aplicação e verificação de código de rastreamento com o uso da tecnologia blockchain Download PDF

Info

Publication number
BR112021004110A2
BR112021004110A2 BR112021004110-9A BR112021004110A BR112021004110A2 BR 112021004110 A2 BR112021004110 A2 BR 112021004110A2 BR 112021004110 A BR112021004110 A BR 112021004110A BR 112021004110 A2 BR112021004110 A2 BR 112021004110A2
Authority
BR
Brazil
Prior art keywords
tracking
codes
computer system
code
tracking codes
Prior art date
Application number
BR112021004110-9A
Other languages
English (en)
Inventor
Ian A. NAZZARI
Paul EIPPER
Original Assignee
HURU Systems Ltd.
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
Priority claimed from US16/121,526 external-priority patent/US10192198B2/en
Application filed by HURU Systems Ltd. filed Critical HURU Systems Ltd.
Publication of BR112021004110A2 publication Critical patent/BR112021004110A2/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
    • G06Q30/00Commerce
    • G06Q30/018Certifying business or products
    • 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/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Security & Cryptography (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Human Resources & Organizations (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Accounting & Taxation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Trata-se de um sistema de computação que inclui um primeiro par (901a) que gera (911) uma chave criptográfica para cada um dentre uma pluralidade de pares que permite a um par acessar um livro-razão distribuído. O primeiro par (901a) gera (903) uma pluralidade de códigos de rastreamento (902a) e insere o primeiro bloco (ou blocos) no livro-razão distribuído que inicia um ciclo de vida e torna cada código visível para os pares. Um segundo par (901b) imprime cada código em um artigo físico correspondente, insere o (902b) segundo bloco (ou blocos) no livro-razão distribuído registrando essa impressão e insere o terceiro bloco (ou blocos) no livro-razão distribuído, o que indica que a custódia (904b) dos códigos de rastreamento foi transferida para um terceiro par (901c). O terceiro par (901c) insere quarto bloco (ou blocos) no livro-razão distribuído indicando que o recebimento de custódia (904c, 904d) dos códigos de rastreamento e seus artigos físicos correspondentes do segundo par (901b) foi confirmado pelo terceiro par (901c).

Description

“GERAÇÃO, APLICAÇÃO E VERIFICAÇÃO DE CÓDIGO DE RASTREAMENTO COM O USO DE TECNOLOGIA BLOCKCHAIN” ANTECEDENTES
[0001] Em muitas indústrias, é desejável utilizar códigos de rastreamento, tais como números de série, para marcar e identificar artigos. Além disso, em muitas indústrias, é desejável fornecer e utilizar selos de segurança para artigos, para garantir que os artigos permaneçam fechados, não adulterados ou protegidos de outra forma. No entanto, os códigos de rastreamento e o artigo ao qual são aplicados são tratados separadamente uns dos outros e de maneira diferente por cada indústria, ou mesmo por empresas diferentes dentro da mesma indústria, e muitas vezes são ineficientes e inseguros em seu uso.
SUMÁRIO
[0002] As modalidades descritas neste documento se referem a sistemas para geração, aplicação e verificação de código de rastreamento seguro, incluindo o uso da tecnologia blockchain para gerenciar o código de rastreamento e o ciclo de vida físico do artigo. Em particular, algumas modalidades incluem uma plataforma de gerenciamento implementada por computador centralizada para a geração segura de códigos de rastreamento e para a impressão verificável desses códigos de rastreamento em artigos físicos. Em algumas modalidades, a plataforma de gerenciamento implementada por computador pode ser configurada para gerar com segurança códigos de rastreamento que são formatados para incluir códigos de rastreamento de grupo e códigos de rastreamento de unidade, e para imprimir com segurança esses códigos de rastreamento em artigos físicos de uma maneira segura e verificada. Em algumas modalidades, a plataforma de gerenciamento implementada por computador fornece gerenciamento de ciclo de vida de códigos de rastreamento e ativos, como rastreamento de custódia de códigos de rastreamento, associação de códigos de rastreamento a ativos e gerenciamento de ordens de serviço de campo relacionadas aos códigos de rastreamento, mesmo quando os ativos/códigos de rastreamento passam entre diferentes entidades.
[0003] Em uma modalidade, um sistema de computador gera, em um ou mais processadores de hardware, um ou mais códigos de rastreamento. O sistema de computador envia um ou mais códigos de rastreamento para uma linha de produção controlada por computador automatizada, juntamente com uma ou mais primeiras mensagens que fazem com que a linha de produção imprima fisicamente, por uma ou mais unidades de impressão de hardware, cada um dentre um ou mais códigos de rastreamento em um artigo correspondente. A uma ou mais primeiras mensagens também fazem com que a linha de produção verifique fisicamente, por uma ou mais unidades de verificação de hardware, a impressão física por uma ou mais unidades de impressão de hardware de cada um dos um ou mais códigos de rastreamento em seu artigo correspondente. A verificação inclui uma ou mais unidades de verificação de hardware que realiza uma leitura de máquina de cada um do um ou mais códigos de rastreamento, conforme impresso em seu artigo correspondente. O sistema de computador recebe pelo menos um resultado da verificação por uma ou mais unidades de verificação de hardware da impressão física de cada um do um ou mais códigos de rastreamento em seu artigo correspondente.
[0004] Para cada um do um ou mais códigos de rastreamento, se pelo menos um resultado da verificação indicar que o código de rastreamento foi impresso corretamente em seu artigo correspondente, o sistema de computador registrará, em um meio de armazenamento de hardware que pode ser lido por computador durável, um ou mais registros que indicam o código de rastreamento como sendo impresso em um artigo e que iniciam uma cadeia de custódia para o código de rastreamento e o artigo. Alternativamente, se pelo menos um resultado da verificação indicar que o código de rastreamento foi impresso incorretamente em seu artigo correspondente, o sistema de computador enviará uma ou mais segundas mensagens para a linha de produção controlada por computador automatizada, fazendo com que uma ou mais unidades de verificação de hardware rejeitem fisicamente o artigo correspondente.
[0005] Outras modalidades usam um livro-razão distribuído em blockchain para gerenciar o código de rastreamento e o ciclo de vida física do artigo, com o uso de uma pluralidade de pares que cada um armazena pelo menos uma parte do livro-razão distribuído em blockchain. Em algumas modalidades, um primeiro sistema de computador de par gera pelo menos uma chave criptográfica para cada um dentre a pluralidade de sistemas de computador de par. Cada chave criptográfica permite que seu sistema de computador de par correspondente visualize blocos no livro-razão distribuído em blockchain e insira blocos no livro-razão distribuído em blockchain. O primeiro sistema de computador de par também gera uma pluralidade de códigos de rastreamento e insere um ou mais primeiros blocos, incluindo a pluralidade de códigos de rastreamento, no livro-razão distribuído em blockchain. A inserção de um ou mais primeiros blocos no livro-razão distribuído em blockchain (i) inicia um ciclo de vida para cada um dentre a pluralidade de códigos de rastreamento e (ii) torna cada um da pluralidade de códigos de rastreamento visíveis para a pluralidade de sistemas de computador de par. Um segundo sistema de computador de par imprime cada um dentre a pluralidade de códigos de rastreamento em um artigo físico correspondente, insere um ou mais segundos blocos no livro-razão distribuído da blockchain, que registra a impressão de cada um dentre a pluralidade de códigos de rastreamento em seu artigo físico correspondente. Como parte de uma transferência de ativos, o segundo sistema de computador de par também insere um ou mais terceiros blocos no livro-razão distribuído em blockchain, indicando que a custódia da pluralidade de códigos de rastreamento e seus artigos físicos correspondentes foi transferida para um terceiro sistema de computador de par. Ao concluir a transferência de ativos, um terceiro sistema de computador de par insere um ou mais quartos blocos no livro- razão distribuído em blockchain, indicando que o recebimento de custódia da pluralidade de códigos de rastreamento e seus artigos físicos correspondentes do segundo sistema de computador de par foi confirmado pelo terceiro sistema de computador de par.
[0006] Ainda outras modalidades o uso de um livro-razão distribuído em blockchain para gerenciar o código de rastreamento e o ciclo de vida físico do artigo, incluindo o mapeamento de códigos de rastreamento legados para códigos de rastreamento nativos, com o uso de uma pluralidade de pares, em que cada um armazena pelo menos uma parte do livro-razão distribuído em blockchain. Em algumas modalidades, um primeiro sistema de computador de par gera uma pluralidade de códigos de rastreamento nativos e insere um ou mais primeiros blocos, incluindo a pluralidade de códigos de rastreamento nativos no livro-razão distribuído em blockchain, inserindo um ou mais primeiros blocos no livro-razão distribuído em blockchain (i) iniciando um ciclo de vida para cada um dentre a pluralidade de códigos de rastreamento nativos, e (ii) tornando cada um dentre a pluralidade de códigos de rastreamento nativos visíveis para a pluralidade de sistemas de computador de par. Um segundo sistema de computador de par comunica a pluralidade de códigos de rastreamento nativos a um dispositivo móvel interno associado ao par, recebe do dispositivo móvel interno uma associação de pelo menos um dentre a pluralidade de códigos de rastreamento nativos com pelo menos um código de rastreamento legado associado a um artigo físico, e insere um ou mais blocos de segundo no livro-razão distribuído em blockchain, indicando que opelo menos um dentre a pluralidade de códigos de rastreamento nativos está associado a pelo menos um código de rastreamento legado associado a um artigo físico.
[0007] Ainda outras modalidades usam um livro-razão distribuído em blockchain para gerenciar o código de rastreamento e o ciclo de vida físico do artigo, incluindo o gerenciamento de um empacotamento verificado, com o uso de uma pluralidade de pares que cada um armazena pelo menos uma parte do livro-razão distribuído em blockchain. Em algumas modalidades, um primeiro sistema de computador de par gera uma pluralidade de códigos de rastreamento, incluindo um código de rastreamento de grupo e uma pluralidade de códigos de rastreamento de unidade que estão associados ao código de rastreamento de grupo e insere um ou mais primeiros blocos, incluindo a pluralidade de códigos de rastreamento no livro-razão distribuído em blockchain, inserindo o um ou mais primeiros blocos no livro-razão distribuído em blockchain (i) iniciando um ciclo de vida para cada um dentre a pluralidade de códigos de rastreamento e (ii) tornando cada um dentre a pluralidade de códigos de rastreamento visíveis para a pluralidade de sistemas de computador de par. Um segundo sistema de computador de par comunica a pluralidade de códigos de rastreamento a um dispositivo móvel interno associado ao par. O segundo par, então, recebe do dispositivo móvel interno (i) uma primeira indicação de que o código de rastreamento de grupo foi submetido à varredura pelo dispositivo móvel interno para abrir o código de rastreamento de grupo, (ii) uma ou mais segundas indicações de que cada um dentre a pluralidade de códigos de rastreamento de unidade foi submetido à varredura pelo dispositivo móvel interno como parte dos artigos de empacotamento associados à pluralidade de códigos de rastreamento de unidade em um recipiente associado ao código de rastreamento de grupo e (iii) uma terceira indicação de que o código de rastreamento de grupo foi submetido à varredura pelo dispositivo móvel interno para fechar o código de rastreamento de grupo após cada um dentre a pluralidade de códigos de rastreamento de unidade ter sido submetido à varredura. O segundo par insere um ou mais segundos blocos no livro-razão distribuído em blockchain, indicando que a pluralidade de códigos de rastreamento de unidade foi empacotada dentro do código de rastreamento de grupo.
[0008] A intenção deste sumário é a de apresentar, de maneira simplificada, uma seleção de conceitos, descritos em detalhes abaixo na Descrição Detalhada. Este Sumário não tem a intenção de identificar aspectos-chave ou essenciais da matéria reivindicada, e não deve ser usado para ajudar a determinar o escopo da matéria reivindicada.
BREVE DESCRIÇÃO DOS DESENHOS
[0009] Para esclarecer ainda mais o acima e outras vantagens e recursos da presente divulgação, uma descrição mais particular da divulgação será processada por referência a modalidades específicas ilustradas nos desenhos. Observa-se que esses desenhos retratam apenas modalidades típicas da divulgação e não devem ser considerados limitantes do escopo e não são necessariamente desenhados em escala. A divulgação será descrita e explicada com especificidade e detalhes adicionais por meio do uso dos desenhos anexos.
[0010] A Figura 1 ilustra um ambiente de computação de exemplo para geração e gerenciamento de código de rastreamento;
[0011] A Figura 2 ilustra uma modalidade de códigos de rastreamento de unidade e códigos de rastreamento de grupo;
[0012] A Figura 3A ilustra um primeiro ambiente de computação de exemplo para imprimir códigos de rastreamento em artigos;
[0013] A Figura 3B ilustra um segundo ambiente de computação de exemplo para imprimir códigos de rastreamento em artigos;
[0014] A Figura 4 ilustra um artigo de exemplo que foi impresso com um primeiro processo de impressão e um segundo processo de impressão;
[0015] A Figura 5 ilustra um exemplo de bandeja de artigos que foi impressa com códigos de rastreamento de unidade e um código de rastreamento de grupo;
[0016] A Figura 6 ilustra um fluxograma de um método de exemplo para impressão verificável de códigos de rastreamento em artigos físicos;
[0017] A Figura 7 ilustra um fluxograma de um método de exemplo para facilitar a atribuição de unidades de rastreamento a um usuário e/ou a transferência de unidades de rastreamento entre usuários;
[0018] A Figura 8 ilustra um fluxograma de um método de exemplo para atribuir unidades de rastreamento a outros ativos;
[0019] A Figura 9 ilustra um ambiente no qual uma pluralidade de pares se comunica através de uma rede para manter um livro- razão distribuído e para usar o livro-razão distribuído para gerenciar o ciclo de vida útil dos códigos de rastreamento;
[0020] A Figura 10 ilustra um fluxograma de um método de exemplo para usar um livro-razão distribuído para gerenciar o código de rastreamento e o ciclo de vida útil físico do artigo;
[0021] A Figura 11 ilustra um fluxograma de um método de exemplo para usar um livro-razão distribuído em blockchain para gerenciar o código de rastreamento e o ciclo de vida útil físico do artigo, incluindo o mapeamento de códigos de rastreamento legados para códigos de rastreamento nativos; e
[0022] A Figura 12 ilustra um fluxograma de um método de exemplo para usar um livro-razão distribuído em blockchain para gerenciar o código de rastreamento e o ciclo de vida útil físico do artigo, incluindo o gerenciamento de um empacotamento verificado.
DESCRIÇÃO DETALHADA
[0023] As modalidades descritas neste documento se referem a sistemas para geração, aplicação e verificação de código de rastreamento seguro, incluindo o uso da tecnologia blockchain para gerenciar o código de rastreamento e o ciclo de vida útil físico do artigo. Em particular, algumas modalidades incluem uma plataforma de gerenciamento implementada por computador centralizada para a geração segura de códigos de rastreamento e para a impressão verificável desses códigos de rastreamento em artigos físicos. Em algumas modalidades, a plataforma de gerenciamento implementada por computador pode ser configurada para gerar com segurança códigos de rastreamento que são formatados para incluir códigos de rastreamento de grupo e códigos de rastreamento de unidade, e para imprimir com segurança esses códigos de rastreamento em artigos físicos de uma maneira segura e verificada. Em algumas modalidades, a plataforma de gerenciamento implementada por computador fornece gerenciamento de ciclo de vida de códigos de rastreamento e ativos, como rastreamento de custódia de códigos de rastreamento, associação de códigos de rastreamento a ativos e gerenciamento de ordens de serviço de campo relacionadas aos códigos de rastreamento, mesmo quando os ativos/códigos de rastreamento passam entre diferentes entidades.
[0024] Em vista do exposto, a Figura 1 ilustra um exemplo de ambiente de computação 100 para rastreamento de geração e gerenciamento de código, e no qual modalidades descritas neste documento podem operar. O ambiente de computação de exemplo 100 pode fornecer uma plataforma de gerenciamento para gerar códigos de rastreamento com segurança, para imprimir de forma verificável esses códigos de rastreamento em artigos físicos e para gerenciar com segurança esses artigos físicos ao longo de seu ciclo de vida, com base nos códigos de rastreamento gerados com segurança e impressos de forma verificável.
[0025] Conforme retratado, o ambiente de computação 100 inclui um sistema de gerenciamento 101, que está conectado por meio de uma rede 102 (por exemplo, uma LAN, WAN e/ou a Internet) a uma pluralidade de outros sistemas de computação, tal como sistema (ou sistemas) de computador na instalação (ou instalações) de produção 103, e tal como o dispositivo (ou dispositivos) de gerenciamento 104 retratado. As elipses 103a indicam que o sistema de gerenciamento 101 pode se comunicar com mais de uma instalação de produção e as elipses 104a indicam que o sistema de gerenciamento 101 pode se comunicar com uma variedade de dispositivos de gerenciamento (tanto em número quanto em tipo, tais como o smartphone retratado, tablet e laptop).
[0026] Em geral, o sistema de gerenciamento 101 é configurado para gerar códigos de rastreamento configurados para rastrear artigos individuais e/ou grupos de artigos e para gerenciar um ciclo de vida útil desses códigos de rastreamento (e, por extensão, um ciclo de vida de quaisquer artigos/agrupamentos associados àqueles códigos de rastreamento). Conforme usado neste documento, um artigo pode compreender virtualmente qualquer item físico (ou grupos de itens). Um artigo pode ser um ativo (ou grupo de ativos) ou uma unidade de rastreamento (ou agrupamentos de unidades de rastreamento) que é (ou pode ser) aplicado a um ativo. Como será observado em vista da divulgação neste documento, os códigos de rastreamento descritos neste documento, quando gerenciados pelo sistema de gerenciamento 101, funcionam como “códigos de harmonização” que permanecem com os artigos ao longo de seus ciclos de vida útil e que são usados para rastrear quaisquer eventos desejados associados a esses artigos (por exemplo, sendo passados entre indivíduos; mudando de localização geográfica; sendo aplicados e associados a um ativo; passando por manutenção ou atualizações; sendo vendidos; sendo roubados, destruídos, perdidos; etc.).
[0027] Em uma modalidade, o sistema de gerenciamento 101 gera códigos de rastreamento e se comunica (por exemplo, através da rede 102) com um ou mais sistemas de computador em instalação (ou instalações) de produção 103 ou pelo menos uma instalação de produção 103, para fazer com que unidades de hardware de uma ou mais linhas de produção em uma instalação de produção 103 imprimam fisicamente esses códigos de rastreamento em artigos físicos e para verificar se a impressão foi realizada de forma correta e legível. Além disso, o sistema de gerenciamento 101 se comunica (por exemplo, através da rede 102) com uma variedade de dispositivos de gerenciamento 104 (por exemplo, associados a instalações de produção, depósitos, empresas, usuários finais individuais, etc.), como parte do gerenciamento do ciclo de vida de códigos de rastreamento e quaisquer artigos associados. Por exemplo, um ou mais dispositivos de gerenciamento 104 podem operar com o sistema de gerenciamento 101 para atribuir a custódia de códigos de rastreamento (e artigos associados) a indivíduos ou para transferir a custódia entre indivíduos, para verificar o status de um código/artigo de rastreamento, para alterar o status de um código/artigo de rastreamento, para aplicar um código de rastreamento (por exemplo, unidade de rastreamento) a um ativo, etc.
[0028] Para a realização do exposto acima, a Figura 1 retrata que o sistema de gerenciamento 101 pode incluir um módulo gerador de código 105, um módulo aplicador de código 106, um módulo gerenciador de ciclo de vida útil 107 e um módulo de interface 108. A Figura 1 também ilustra que o sistema de gerenciamento 101 pode incluir uma ou mais interfaces de comunicação 112 (por exemplo, para comunicação através da rede 102), e inclui (ou está conectado a) um ou mais dispositivos de armazenamento 109. O dispositivo (ou dispositivos) de armazenamento 109 pode compreender qualquer meio de armazenamento de hardware que pode ser lido por computador durável (por exemplo, armazenamento magnético, armazenamento flash, armazenamento óptico), que inclui arranjos de mídia de armazenamento, que podem ser usados para armazenar quaisquer dados gerados por, recebidos por (por exemplo, pela interface (ou interfaces) de comunicação 112), ou de outra forma usados por quaisquer módulos/componentes do sistema de gerenciamento 101. Os dados podem ser armazenados em qualquer forma apropriada, como em uma ou mais tabelas de banco de dados, um ou mais arquivos planos, etc.
[0029] Será observado que cada um dos módulos/componentes retratados como parte do sistema de gerenciamento 101 podem ser configurados para se comunicarem uns com os outros, e que o sistema de gerenciamento 101 pode combinar a funcionalidade de alguns módulos em módulos únicos, romper a funcionalidade de módulos individuais em uma pluralidade de módulos, etc. Sendo assim, o número particular, a nomenclatura e a disposição dos modelos/componentes do sistema de gerenciamento 101 são apenas para fins ilustrativos, como um auxílio para descrever as modalidades neste documento, e não são limitantes.
[0030] Conforme retratado, o módulo gerador de código 105 pode incluir uma variedade de subcomponentes para realizar qualquer uma das modalidades de geração de código descritas no presente documento. Por exemplo, a Figura 1 ilustra que o módulo gerador de código 105 pode incluir um ou mais de um componente de geração 105a, um componente de criptografia
105b e um componente de codificação 105c. O componente de geração 105a é configurado para gerar códigos de rastreamento únicos, de preferência com base em um gerador de número aleatório (seja esse gerador de número aleatório implementado como hardware dedicado ou como um algoritmo de software).
[0031] O componente de criptografia 105b é configurado para implementar um ou mais algoritmos de criptografia criptográfica (por exemplo, chave pública, simétrica, assimétrica, etc.), em cooperação com o componente de geração 105a, para criptografar os códigos de rastreamento que são gerados pelo módulo gerador de código 105. Sendo assim, com o uso do componente de criptografia 105b, o módulo gerador de código 105 pode gerar códigos de rastreamento criptograficamente ofuscados que protegem a identidade do código de rastreamento que foi realmente gerado pelo componente de geração 105a. O componente de criptografia 105b pode tornar proibitivamente difícil (isto é, praticamente impossível) para terceiros decifrarem os códigos de rastreamento gerados pelo componente de geração 105a e os algoritmos usados pelo componente de geração 105a para produzir os códigos de rastreamento, sem ter acesso a uma chave criptográfica usada para criptografar os códigos de rastreamento. Assim, o componente de criptografia 105b pode ajudar vantajosamente a impedir que terceiros não autorizados produzam códigos de rastreamento falsificados ou antecipando códigos de rastreamento que podem ser usados a seguir, ou semelhantes.
[0032] Em algumas modalidades, o componente de criptografia 105b não só ofusca os códigos de rastreamento, mas também normaliza seu comprimento (por exemplo, número de bytes) e/ou representa os códigos com uma codificação de caractere particular (por exemplo, ASCII, hexadecimal, etc.) que é útil para um propósito específico. Em um exemplo específico, o componente de criptografia 105b pode aplicar um primeiro algoritmo criptográfico (por exemplo, Advanced Encryption Standard (AES)) ao código de rastreamento, para ofuscar o código de rastreamento e também produzir uma representação que é um número predefinido de bytes (por exemplo, 16, 24 ou 32), que é útil para codificação/impressão em uma forma que pode ser lida por máquina. Além disso, o componente de criptografia 105b também pode aplicar um segundo algoritmo criptográfico (por exemplo, Triple Data Encryption Algorithm (DES3)) ao código de rastreamento, para ofuscar o código de rastreamento e também para produzir uma representação que é um número predefinido de bytes (por exemplo, 13) e que usa uma codificação (por exemplo, ASCII, hexadecimal, etc.) que é útil para codificação/impressão em uma forma que pode ser lida por seres humanos.
[0033] O componente de codificação 105c é configurado para codificar códigos de rastreamento (criptografados ou não) em formas apropriadas para impressão física/aplicação em artigos. Por exemplo, o componente de codificação 105c pode converter códigos de rastreamento em representações que podem ser lidas por máquina (por exemplo, códigos QR, códigos de matriz, etc.) e/ou em formas legíveis por seres humanos (por exemplo, representações ASCII, representações Unicode, representações pictóricas, etc.).
[0034] O módulo aplicador de código 106 é configurado para orquestrar a aplicação de códigos de rastreamento a artigos. Em particular, o módulo aplicador de código 106 se comunica com sistema (ou sistemas) de computador 110 nas instalações de produção 103, a fim de fazer com que unidades de hardware (por exemplo, unidade de impressão 111a e unidade de verificação 111b) na linha (ou linhas) de produção 111 das instalações de produção 103 imprimam os códigos de rastreamento gerados pelo módulo gerador de código 105 nos artigos. As elipses 110c e 111d indicam que cada instalação de produção 103 pode incluir mais de um sistema de computador 110 e/ou uma ou mais linhas de produção correspondentes 111. Além disso, as elipses 111c indicam que cada linha de produção 111 pode incluir uma variedade de unidades de hardware (tanto em número quanto em tipo).
[0035] Conforme representado, o módulo aplicador de código 106 pode incluir uma variedade de subcomponentes para realizar as modalidades do pedido descritas neste documento. Por exemplo, a Figura 1 ilustra que o módulo aplicador de código 106 pode incluir um ou mais de um componente de impressão 106a, um componente de verificação 106b e uma fila 106c. A fila 106c é configurada para receber e armazenar um ou mais códigos de rastreamento recebidos a partir do módulo gerador de código 105. O componente de impressão 106a é configurado para fazer com que a linha de produção imprima esses códigos de rastreamento em artigos. Por exemplo, o componente de impressão 106a pode enviar uma ou mais mensagens através da rede 102 para o sistema de computador 110 de uma instalação de produção particular 103. Essas mensagens podem ser configuradas para fazer com que uma linha de produção 111 na instalação de produção 103 imprima um ou mais dos códigos de rastreamento obtidos da fila 106c nos artigos correspondentes. Por exemplo, as mensagens podem acionar um componente de controle 110b do sistema de computador 110 para fazer com que uma unidade de impressão de hardware 111a imprima os códigos de rastreamento nos artigos correspondentes.
[0036] Unidades de impressão de hardware podem imprimir códigos de rastreamento em artigos com o uso de uma vasta gama de processos de impressão e formatos de codificação. Exemplos de processos de impressão podem incluir uma aplicação de tinta ou outros materiais (por exemplo, com o uso de transferência térmica, propulsão, processos eletrostáticos, adesivos, etc.), gravura a água forte (por exemplo, com o uso de calor, luz ou componentes mecânicos), aplicação ou programação de um chip digital (por exemplo, identificação por radiofrequência (RFID)), escritura em um meio magnético ou óptico ou quaisquer outras técnicas de aplicação disponíveis. Conforme indicado anteriormente, os exemplos de formatos de codificação podem incluir formatos que podem ser lidos por máquina (por exemplo, código QR, código de barras, código de matriz, etc.) e/ou formas legíveis por seres humanos (por exemplo, ASCII, Unicode ou outras representações textuais; representações pictóricas; etc.).
[0037] O componente de verificação 106b é configurado para verificar se os códigos de rastreamento foram impressos nos artigos de forma correta e legível. Por exemplo, o componente de verificação 106b pode enviar uma ou mais mensagens através da rede 102 para o sistema de computador 110 da instalação de produção particular 103. Essas mensagens podem ser configuradas para fazer com que a linha de produção 111 na instalação de produção 103 verifique se os códigos de rastreamento foram impressos nos artigos de forma correta e legível. Por exemplo, as mensagens podem acionar o componente de controle 110b do sistema de computador 110 para fazer com que uma unidade de verificação de hardware 111b verifique se os códigos de rastreamento corretos foram impressos nos artigos e se esses códigos de rastreamento são legíveis. Por exemplo, a unidade de verificação de hardware 111b pode ler uma representação de código que pode ser lido por máquina do código de rastreamento, pode realizar um reconhecimento óptico de caracteres (OCR) de uma representação legível por seres humanos do código de rastreamento, etc. Em algumas modalidades, as mensagens enviadas pelo componente de impressão 106a e as mensagens enviadas pelo componente de verificação 106b podem ser as mesmas mensagens.
[0038] Se a verificação falhar, por qualquer motivo (por exemplo, códigos incorretos foram impressos, a impressão era ilegível, apenas uma parte dos códigos para um lote de artigos foi impressa, etc.), então, a unidade de verificação de hardware 111b pode rejeitar fisicamente os artigos, como, por exemplo, encaminhá-los para um local diferente dos artigos que foram impressos corretamente, descartando os artigos ou mesmo destruindo os artigos. Quando os artigos são rejeitados, o componente de verificação 106b pode descartar os códigos de rastreamento correspondentes (por exemplo, excluí-los, marcá-los como inválidos em um ou mais registros armazenados no dispositivo (ou dispositivos) de armazenamento 109, etc.) ou reciclar, colocando- os de volta na fila 106c.
[0039] Se a verificação for aprovada, então, o módulo aplicador de código 106 poderá passar os códigos para o módulo gerenciador de ciclo de vida 107 para iniciar um ciclo de vida e cadeia de custódia para os códigos/artigos, conforme discutido abaixo em conexão com o módulo gerenciador de ciclo de vida útil 107.
[0040] Em algumas modalidades, o módulo gerador de código 105 e/ou o módulo aplicador de código 106 podem estar localizados, pelo menos em parte, no sistema (ou sistemas) de computador 110 de uma ou mais das instalações de produção 103 (ou mesmo totalmente duplicado em ambos os sistemas). Em tais modalidades, o sistema (ou sistemas) de computador 110 podem ser vistos como extensões distribuídas do sistema de gerenciamento
101. Localizar todo ou partes do módulo gerador de código 105 e/ou do módulo aplicador de código 106 pode reduzir a quantidade de comunicações de rede necessárias para realizar a aplicação de código.
[0041] O módulo gerenciador de ciclo de vida útil 107 é configurado para manter um ou mais registros no dispositivo (ou dispositivos) de armazenamento 109 como parte do rastreamento e gerenciamento de um ciclo de vida útil de códigos de rastreamento. Esses registros podem ser usados para rastrear, por exemplo, os códigos de rastreamento que estão ativos, uma cadeia de custódia associada aos códigos de rastreamento e qualquer informação associada ao ciclo de vida útil de um artigo associado ao código de rastreamento (por exemplo, localizações geográficas, imagens, ordens de serviço, ativos associados, usuários que interagem com o artigo, etc.), associações entre diferentes códigos de rastreamento, atributos físicos de artigos associados a códigos de rastreamento, etc. O módulo gerenciador de ciclo de vida útil 107 pode gerenciar o ciclo de vida útil, mesmo quando códigos/ativos de rastreamento passam entre diferentes empresas ou níveis de uma cadeia de suprimento. Por exemplo, o módulo gerenciador de ciclo de vida útil 107 pode começar a rastrear o ciclo de vida de um código de rastreamento quando ele é criado e aplicado a um ativo em uma instalação de produção. O módulo de gerenciador de ciclo de vida 107 pode continuar a rastrear e gerenciar o ciclo de vida útil do código de rastreamento conforme o ativo ao qual ele é aplicado é distribuído para um depósito, vendido ou fornecido a uma empresa, usado pela empresa, etc.
[0042] Para a realização do exposto acima, a Figura 1 representa que o módulo gerenciador de ciclo de vida útil 107 pode incluir uma variedade de componentes, tais como o componente de registro retratado 107a (por exemplo, para iniciar registros para novos códigos de rastreamento), componente de custódia 107b (por exemplo, para custódia de rastreamento, propriedade, posse, etc.) e componente de emparelhamento de ativos 107c (por exemplo, para associar um código de rastreamento a um ativo específico, como seria o caso se o artigo no qual o código de rastreamento está impresso for um selo de segurança ou outra unidade de rastreamento). Esses componentes representam apenas a funcionalidade de exemplo do módulo gerenciador de ciclo de vida útil 107 e será observado em vista da divulgação neste documento que o módulo gerenciador de ciclo de vida 107 pode incluir uma grande variedade de componentes, dependendo dos tipos de ciclos de vida que estão sendo rastreados.
[0043] O módulo de interface 108 é configurado para fornecer uma ou mais interfaces para interagir com o dispositivo (ou dispositivos) de gerenciamento 104 e/ou sistema (ou sistemas) de computador 110 na instalação (ou instalações) de produção 103. Por exemplo, o módulo de interface 108 pode fornecer interfaces de web para apresentação em aplicações de navegador da web no dispositivo (ou dispositivos) de gerenciamento 104 e/ou sistema (ou sistemas) de computador 110, interfaces de programação de aplicação (APIs) para interagir com aplicações especializadas no dispositivo (ou dispositivos) de gerenciamento 104 e/ou sistema (ou sistemas) de computador 110, etc. Por conseguinte, a Figura 1 retrata que o módulo de interface 108 pode incluir uma variedade de componentes para fornecer essas interfaces, tal como o componente de APIs 108a retratado e o componente de interface de web 108b retratado. As interfaces fornecidas pelo módulo de interface 108 podem permitir que os usuários finais interajam com os códigos de rastreamento e seus registros associados, como para registrar eventos do ciclo de vida, concluir ordens de serviço, transferir propriedade/custódia, etc. Sempre que esta divulgação fizer referência às comunicações entre o sistema de gerenciamento 101 e o sistema (ou sistemas) de computador 110 e/ou o dispositivo (ou dispositivos) de gerenciamento 104, será observado que as comunicações podem ser facilitadas por interfaces fornecidas pelo módulo de interface 108.
GERAÇÃO DE CÓDIGO DE RASTREAMENTO SEGURO COM AGRUPAMENTOS
[0044] Em algumas modalidades, o componente de geração 105a é configurado para gerar códigos de rastreamento de grupo exclusivos, bem como uma pluralidade de códigos de rastreamento de unidade exclusivos que correspondem a cada código de rastreamento de grupo. Em algumas modalidades, o componente de geração 105a também está configurado para gerar códigos de rastreamento de grupo correspondentes a subgrupos. Esses códigos de rastreamento de grupo podem ser formatados de modo que — com base apenas em um código de grupo — a identidade de cada código de rastreamento de unidade que faz parte do agrupamento possa ser determinada, bem como a identidade de cada código de rastreamento de grupo de cada subgrupo (se houver). Sendo assim, as modalidades permitem rastrear agrupamentos de artigos e subagrupamentos de artigos, enquanto libera dispositivos de gerenciamento 104 que interagem com artigos agrupados da necessidade de acessar dados armazenados no sistema de gerenciamento 101 para identificar quais códigos de rastreamento correspondem a qual grupo/subgrupo.
[0045] Por exemplo, conforme explicado em mais detalhes a seguir, as modalidades contemplam linhas de produção 111 que operam para aplicar códigos de rastreamento a agrupamentos de artigos de uma maneira segura e verificada. O agrupamento de artigos pode ser útil em uma grande variedade de contextos nos quais os artigos são distribuídos ou usados em grupos e nos quais a custódia dos artigos, incluindo seus grupos, é útil (por exemplo, produtos farmacêuticos).
[0046] Um contexto de exemplo particular é o agrupamento de selos de segurança (que podem ser aplicados com segurança aos ativos a serem rastreados) em agrupamentos, tais como bandejas, sacos, caixas, paletes, etc. que podem ser distribuídos para várias partes. Por exemplo, um gerente de depósito pode assumir a custódia de um palete de selos de uma fábrica e atribuir cada caixa a gerentes de campo individuais. Os gerentes de campo podem, então, atribuir a custódia dos sacos de selos aos trabalhadores individuais. Os trabalhadores individuais podem transferir a custódia de sacos e/bandejas de selos entre si, aplicar selos aos ativos que devem ser rastreados (por exemplo, como parte do cumprimento de ordens de serviço), marcar os selos como perdidos ou danificados, etc.
[0047] A Figura 2 ilustra um exemplo de códigos de rastreamento de unidade e códigos de rastreamento de grupo, de acordo com uma modalidade. Neste exemplo, o componente de geração 105a gera códigos de rastreamento de unidade para unidades individuais e também gera códigos de rastreamento de grupo para bandejas de unidades (dez unidades por bandeja), sacos de bandejas (dez bandejas por saco), caixas de sacos (cinquenta sacos por caixa), e paletes de caixas (vinte caixas por palete). Embora as unidades de bandejas, sacos, caixas e paletes sejam fornecidas neste exemplo, será observado que quaisquer agrupamentos são possíveis.
[0048] Assim, conforme representado, o componente de geração 105a pode gerar 100.000 códigos de rastreamento de unidade, começando com o código de unidade A000000 e terminando com o código de unidade A099999. Para bandejas, o componente de geração 105a gera um código de rastreamento de grupo que compreende o identificador de rastreamento de unidade da primeira unidade na bandeja e um multiplicador que indica quantas unidades estão em cada bandeja. Assim, o identificador de rastreamento de grupo 201a (ou seja, A000000.10) identifica que a unidade
A000000 é a primeira unidade no agrupamento e que há dez unidades no agrupamento (ou seja, unidades A000000 – A000009, conforme representado). De modo similar, o identificador de rastreamento de grupo 201b (A000010.10) identifica que a unidade A000010 é a primeira unidade no agrupamento e que há dez unidades no agrupamento (isto é, unidades A000010 a A000019, conforme retratado).
[0049] Subindo um nível para os sacos, o componente de geração 105a gera um código de rastreamento de grupo que compreende o identificador de rastreamento de unidade da primeira unidade em cada saco e um multiplicador que indica quantas unidades estão no saco. Assim, o identificador de rastreamento de grupo 202a (ou seja, A000000.10.10) identifica que a unidade A000000 é a primeira unidade no agrupamento e que há 100 unidades (ou seja, 10 x 10) no agrupamento (ou seja, unidades A000000 a A000099, como descrito). De modo similar, o identificador de rastreamento de grupo 202b (A000100.10.10) identifica que a unidade A000100 é a primeira unidade no agrupamento e que existem 100 unidades (ou seja, 10 x 10) no agrupamento (ou seja, unidades A000100 a A000199, conforme representado).
[0050] Subindo mais um nível para as caixas, o componente de geração 105a gera um código de rastreamento de grupo que compreende o identificador de rastreamento de unidade da primeira unidade em cada caixa e um multiplicador que indica quantas unidades estão na caixa. Assim, o identificador de rastreamento de grupo 203 (ou seja, A000000.50.10.10) identifica que a unidade A000000 é a primeira unidade no agrupamento e que há 5.000 unidades (ou seja, 50 x 10 x 10) no agrupamento (ou seja, unidades A000000 a A004999, conforme retratado).
[0051] Subindo ainda mais um nível para paletes, o componente de geração 105a gera um código de rastreamento de grupo que compreende o identificador de rastreamento de unidade da primeira unidade no palete e um multiplicador que indica quantas unidades estão no palete. Assim, o identificador de rastreamento de grupo 204 (ou seja, A000000.20.50.10.10)
identifica que a unidade A000000 é a primeira unidade no agrupamento e que existem 100.000 unidades (ou seja, 20 x 50 x 10 x 10) no agrupamento (ou seja, unidades A000000 a A099999, conforme representado).
[0052] Notavelmente, cada subagrupamento, incluindo as unidades em cada subagrupamento, são identificáveis a partir de cada código de rastreamento de grupo. Por exemplo, o identificador de rastreamento de grupo 204 identifica que o código de rastreamento da unidade é A000000, com o multiplicador de 20.50.10.10. A partir do multiplicador, cada subagrupamento das unidades desse subagrupamento pode ser calculado.
APLICAÇÃO DE CÓDIGO DE RASTREAMENTO SEGURO E VERIFICADO
[0053] A Figura 3A ilustra um ambiente de computação de exemplo 300a para impressão de códigos de rastreamento em artigos. Em particular, o ambiente de computação 300a executa um ou mais processos de múltiplas etapas controlados por computador únicos que aplicam códigos de rastreamento a artigos de forma verificável, transformando fisicamente desse modo artigos comuns (por exemplo, ativos individuais, selos de segurança, etc.) em artigos rastreáveis exclusivamente. O ambiente 300a pode corresponder, pelo menos em parte, a sistemas de computador e outros dispositivos de hardware de uma das instalações de produção 103 da Figura 1.
[0054] Conforme representado, o ambiente de computação 300a inclui um sistema de controle 301a que é acoplado comunicativamente a componentes de uma linha de fábrica 302a. Por exemplo, o sistema de controle 301a pode corresponder ao componente de controle 110b e/ou o sistema de computador 110, ou mesmo todo ou parte do sistema de gerenciamento 101.
[0055] Além disso, a linha de fábrica 302a inclui uma pluralidade de unidades de hardware, tal como a unidade de impressão 303a representada (por exemplo, correspondente à unidade de impressão de hardware 111a) e a unidade de verificação retratada 304a (por exemplo,
correspondente à unidade de verificação de hardware 111b). Conforme indicado pelas elipses 303d, 304d e 305, a linha de fábrica pode incluir unidades de hardware adicionais (por exemplo, para realizar impressão/verificações de código adicional, ou de outra forma transformar um artigo), e cada unidade de hardware pode compreender várias unidades de hardware (por exemplo, a unidade de verificação 304a pode compreender um ou mais dispositivos de leitura de código de rastreamento e um ou mais atuadores para uso na rejeição de artigos aos quais os códigos de rastreamento foram aplicados incorretamente). Cada unidade de hardware (303a, 304a, etc.) é controlada pelo sistema de controle 301a e pode fornecer feedback para o sistema de controle 301a, conforme indicado pelas setas de dupla face. Em algumas modalidades, a linha de fábrica 302a compreende uma ou mais correias transportadoras (por exemplo, representadas pela seta horizontal) ou outros dispositivos que transportam um ou mais artigos através das unidades de hardware (303a, 304a, etc.).
[0056] A Figura 3B ilustra um ambiente de computação semelhante 300b para imprimir códigos de rastreamento em artigos. No entanto, o ambiente de computação 300b descreve que pode haver vários sistemas de controle e várias linhas de fábrica. Por exemplo, nas Figuras 3B, um sistema de controle 301b se comunica com dois sistemas de controle diferentes (301c e 301d) correspondentes a duas linhas de fábrica diferentes (302b e 302c) que incluem cada uma suas próprias unidades de hardware (por exemplo, unidades de impressão de hardware 303b e 303c, e unidades de verificação de hardware 304b e 304c). Conforme indicado pelas elipses 307, pode haver qualquer número de linhas de produção e sistemas de controle.
[0057] Em algumas modalidades, o sistema de controle 301b pode corresponder ao sistema de gestão 101 da Figura 1 e cada um dos sistemas de controle 301c e 301d correspondem a diferentes sistemas de computador 110 da mesma instalação de produção 103 ou diferentes instalações de produção. Em outras modalidades, o sistema de controle 301b pode corresponder ao sistema de computador 110 de uma instalação de produção 103 e cada um dos sistemas de controle 301c e 301d correspondem a diferentes componentes de controle 110b do sistema de computador 110 ou correspondem a diferentes sistemas de computador 110 da instalação de produção 103. Como será entendido em vista da divulgação neste documento, muitas outras combinações são possíveis.
[0058] Voltando à Figura 3A, com base em comandos do sistema de controle 301a, a unidade (ou unidades) de impressão de hardware 303a imprime fisicamente códigos de rastreamento em artigos correspondentes. Conforme discutido anteriormente, isso pode compreender a aplicação de tinta ou outros materiais, gravura a água forte, aplicação ou programação de um chip digital, escritura de um meio magnético ou óptico, etc. Em seguida, a unidade (ou unidades) de verificação de hardware 304a verifica se a impressão foi realizada corretamente (por exemplo, se o código de rastreamento correto foi impresso no artigo e se o código de rastreamento pode ser lido/é legível). A unidade (ou unidades) de verificação de hardware 304a pode compreender qualquer hardware apropriado para ler códigos de rastreamento, tais como câmera (ou câmeras), leitor (ou leitores) de código de barras, leitor (ou leitores) de RFID, etc. Em algumas modalidades, um ou mais do sistema de controle 301a ou da unidade (ou unidades) de verificação de hardware 304a podem realizar processamento de imagem, como, por exemplo, para realizar um OCR de texto, para reconhecer um código de barras ou código QR, etc.
[0059] A unidade (ou unidades) de verificação de hardware 304a pode determinar se cada código de rastreamento foi impresso de forma legível ou pode enviar dados (por exemplo, dados de imagens) para o sistema de controle 301a que é utilizável pelo sistema de controle 301a para determinar se cada código de rastreamento foi impresso de forma legível. Conforme discutido anteriormente, o artigo no qual o código foi impresso pode ser rejeitado por um ou mais elementos de hardware da unidade (ou unidades) de verificação de hardware 304a se o código não foi impresso corretamente, ou o código de rastreamento pode ser registrado como ativo no dispositivo (ou dispositivos) de armazenamento 109 se tiver sido impresso corretamente. Sendo assim, as modalidades do presente documento fornecem um processo verificado que garante que os códigos de rastreamento só sejam ativados no dispositivo (ou dispositivos) de armazenamento se tiverem sido aplicados corretamente a um artigo.
[0060] Em algumas modalidades, o ambiente de computação 300a imprime artigos com o uso de múltiplos processos de impressão. Por exemplo, a unidade (ou unidades) de impressão de hardware 303a e a unidade (ou unidades) de verificação de hardware 304a podem imprimir/verificar usando processos diferentes, ou pode haver unidade (ou unidades) de impressão de hardware/unidade (ou unidades) de verificação de hardware adicionais que imprimem/verificam com o uso de processos diferentes do que a unidade (ou unidades) de impressão de hardware 303a e a unidade (ou unidades) de verificação de hardware 304a. Por exemplo, a unidade (ou unidades) de impressão de hardware 303a e a unidade (ou unidades) de verificação de hardware 304a podem operar usando um primeiro processo (por exemplo, uma transferência de tinta), enquanto a unidade (ou unidades) de impressão de hardware/unidade (ou unidades) de verificação de hardware adicionais opera com o uso de um segundo processo (por exemplo, gravura a água forte). Qualquer combinação de processos de impressão pode ser usada.
[0061] Por exemplo, a Figura 4 ilustra um artigo 400 (por exemplo, um selo de segurança) que foi impresso com um primeiro processo de impressão e um segundo processo de impressão. Por exemplo, na Figura 4, a primeira porção do selo foi impressa com o uso de um primeiro processo (por exemplo, uma transferência térmica de tinta) com um código de rastreamento em uma forma que pode ser lida por ser humano 402 (ou seja, ASCII ‘X13V002010’) e uma forma que pode ser lida por máquina 401 (ou seja, o código de barras). Além disso, uma segunda poção do selo também foi impressa com o uso de um segundo processo (por exemplo, uma gravura a laser) com o código de rastreamento em uma forma que pode ser lida por ser humano 403 (ou seja, o ASCII ‘X13V002010’). A linha de fábrica 302a pode verificar cada uma dessas impressões, de uma vez ou progressivamente, para garantir que o código correto foi impresso e que é legível.
[0062] Conforme discutido anteriormente, as modalidades incluem a geração de códigos de rastreamento que são partes de agrupamentos. Em algumas modalidades, a linha de fábrica 302a imprime e verifica um código de rastreamento de grupo e seus códigos de rastreamento de unidade juntos. Por exemplo, a Figura 5 ilustra um exemplo de bandeja de artigos (isto é, uma bandeja dos selos 400 da Figura 4) que foi impressa com códigos de rastreamento de unidade e um código de rastreamento de grupo. Conforme retratado na Figura 4, a linha de fábrica 302a imprimiu um código QR em cada selo, em que cada código QR codifica o código de rastreamento da unidade que corresponde a esse selo. Além disso, a linha de fábrica 302a imprimiu um código QR 502 em uma aba 501 que está associada à bandeja de selagem. Esse código QR codifica o código de rastreamento de grupo para a bandeja. Ao imprimir e verificar um código de rastreamento de grupo e seus códigos de rastreamento de unidade juntos, todo o grupo pode ser aceito ou rejeitado. Por exemplo, se, durante a verificação, um único código QR (seja em um selo ou na aba 501) estiver incorreto ou não puser ser lido, toda a bandeja pode ser rejeitada.
[0063] As modalidades podem incluir a verificação de empacotamento de artigos em unidades maiores. Por exemplo, usando o exemplo acima de artigos de empacotamento em bandejas, sacos, caixas, paletes, etc., uma verificação pode ser realizada durante cada operação de empacotamento. Conforme discutido acima em conexão com a Figura 5, uma associação verificada de cada artigo individual (por exemplo, selo) com um código de grupo para uma bandeja pode ter ocorrido ao imprimir cada um dos artigos (ou seja, cada selo e a aba da bandeja) com códigos de rastreamento.
[0064] Um processo verificado pode ser, então, usado ao empacotar essas bandejas em sacos. Por exemplo, um código de grupo pode ser “aberto” quando é impresso em uma etiqueta de saco ou quando é submetido à varredura. Em seguida, o código do grupo para cada bandeja pode ser submetido à varredura, conforme são inseridos no saco. O saco pode então ser “fechado” submetendo-se à varredura novamente seu código de grupo, após todas as bandejas necessárias terem sido submetidas à varredura. Um registro de cada um desses eventos pode ser registrado no dispositivo (ou dispositivos) de armazenamento 109, garantindo assim um empacotamento verificado. Se houver algum erro durante o processo (por exemplo, uma bandeja foi omitida, a bandeja errada foi submetida à varredura, etc.), o sistema de gerenciamento 101 pode impedir que o saco seja fechado, pode produzir erros ou exceções, pode descartar ou desativar todos os códigos de rastreamento envolvidos, etc. Um processo semelhante pode ser seguido ao empacotar os sacos em caixas e ao empacotar as caixas em paletes.
[0065] Em vista do exposto, a Figura 6 ilustra um fluxograma de um método de exemplo 600 para impressão verificável de códigos de rastreamento em artigos físicos. O método 600 será descrito em conexão com os ambientes de computação das Figuras 1 e 3A.
[0066] Conforme representado, o método 600 inclui um ato 601 de geração de código (ou códigos) de rastreamento. O ato 601 pode compreender gerar, em um ou mais processadores de hardware, um ou mais códigos de rastreamento. Por exemplo, o módulo gerador de código 105 pode gerar um ou mais códigos de rastreamento com o uso do componente de geração 105a. Esses códigos de rastreamento podem ser protegidos criptograficamente pelo componente de criptografia 105b. Além disso, o módulo gerador de código 105 pode produzir codificações diferentes (por exemplo, código QR, ASCII, etc.) de cada código de rastreamento com o uso do componente de codificação 105c. Em algumas modalidades, o módulo gerador de código 105 pode gerar um código de rastreamento de grupo, bem como uma pluralidade de códigos de rastreamento de unidade exclusivos que correspondem ao código de rastreamento de grupo.
[0067] O método 600 também inclui um ato 602 de enviar o código (ou códigos) para uma linha de produção. O ato 602 pode compreender o envio de um ou mais códigos de rastreamento para uma linha de produção controlada por computador automatizada, juntamente com uma ou mais primeiras mensagens. Por exemplo, o módulo aplicador de código 106 pode enviar um ou mais dos códigos de rastreamento em direção a um componente de controle 110b de uma instalação de produção 103 que inclui uma linha de produção 111. Em algumas modalidades, o ato 602 inclui enviar códigos de rastreamento com o uso de várias técnicas de codificação (por exemplo, código QR e ASCII). O envio do código (ou códigos) pode incluir o envio de instruções adicionais, tal como que os processos de impressão devem ser usados.
[0068] O método 600 também inclui um ato 603 de imprimir fisicamente o código (ou códigos) em artigos. O ato 603 pode compreender a linha de produção sendo causada por uma ou mais primeiras mensagens para imprimir fisicamente, por uma ou mais unidades de impressão de hardware da linha de produção, cada um do um ou mais códigos de rastreamento em um artigo correspondente. Por exemplo, o componente de controle 110b pode fazer com que a unidade de impressão de hardware 111a imprima fisicamente o código (ou códigos) de rastreamento em um artigo correspondente com o uso de um ou mais processos de impressão e uma ou mais técnicas de codificação. Em algumas modalidades, a unidade de impressão de hardware 111a imprime códigos de rastreamento de unidade correspondentes para cada um de uma pluralidade de artigos associados, bem como um código de rastreamento de grupo para um artigo de identificação de grupo (por exemplo, a aba 501).
[0069] O método 600 também inclui um ato 604 de verificação da impressão. O ato 604 pode compreender a linha de produção sendo causada por uma ou mais primeiras mensagens para verificar fisicamente, por uma ou mais unidades de verificação de hardware da linha de produção, a impressão física por uma ou mais unidades de impressão de hardware de cada um do um ou mais códigos de rastreamento em seu artigo correspondente,
incluindo uma ou mais unidades de verificação de hardware realizando uma leitura de máquina de cada um do um ou mais códigos de rastreamento impressos em seu artigo correspondente. Por exemplo, o componente de controle 110b pode fazer com que a unidade de verificação de hardware 111b verifique cada impressão realizada no ato 603. Isso pode incluir códigos legíveis por máquina de imagem e/ou códigos que podem ser lidos por seres humanos, realizando uma leitura eletromagnética, etc. O ato 604 também pode compreender pelo menos um resultado da verificação por uma ou mais unidades de verificação de hardware da impressão física de cada um do um ou mais códigos de rastreamento em seu artigo correspondente. Por exemplo, o componente de verificação 106b pode receber quaisquer dados aplicáveis gerados pela unidade de verificação de hardware 111b.
[0070] O ato 604 pode incluir um ato 605 de atualização de um banco de dados. O ato 605 pode compreender, para cada um do um ou mais códigos de rastreamento, se pelo menos um resultado da verificação indicar que o código de rastreamento foi impresso corretamente em seu artigo correspondente, registrando, em um meio de armazenamento de hardware que pode ser lido por computador durável, um ou mais registros que indicam o código de rastreamento como sendo impresso em um artigo e que iniciam uma cadeia de custódia para o código de rastreamento e o artigo. Por exemplo, se o código (ou códigos) de rastreamento tiver sido impresso corretamente, o componente de verificação 106b poderá fazer com que o componente de registro 107a e/ou o componente de custódia 107b do módulo gerenciador de ciclo de vida útil 107 possa criar ou modificar um ou mais registros no dispositivo (ou dispositivos) de armazenamento 109, indicando que o código (ou códigos) é impresso e iniciando uma cadeia de custódia para o código (ou códigos).
[0071] Alternativamente, o ato 604 pode incluir um ato 606 de rejeitar fisicamente o artigo. O ato 606 pode compreender, para cada um dentre um ou mais códigos de rastreamento, se pelo menos um resultado da verificação indicar que o código de rastreamento foi impresso incorretamente em seu artigo correspondente, o envio de uma ou mais mensagens secundárias para a linha de produção controlada por computador automatizada, que faz com que uma ou mais unidades de verificação de hardware rejeitem fisicamente o artigo correspondente. Se o código (ou códigos) de rastreamento forem impressos incorretamente ou estiverem ilegíveis, o componente de verificação 106b poderá fazer com que o componente de controle 110b instrua a unidade de verificação de hardware 111b a rejeitar fisicamente o artigo associado (ou artigos associados) ao código (ou códigos) de rastreamento. Por exemplo, a unidade de verificação de hardware 111b pode descartar, destruir ou redirecionar o artigo (ou artigos). Quando o código (ou códigos) de rastreamento compreende códigos de rastreamento de grupo e unidade, os artigos podem ser rejeitados se algum dos códigos for aplicado incorretamente ou for ilegível.
[0072] Em algumas modalidades, quando um código/artigo de rastreamento é rejeitado, o componente de verificação 106b descarta o código (ou códigos) de rastreamento, enfileira o código (ou códigos) de rastreamento para reimpressão (por exemplo, na fila 106c) e/ou causa um ou mais registros a serem registrados no dispositivo (ou dispositivos) de armazenamento, que indicam o código (ou códigos) de rastreamento como sendo inválido ou inativo.
GERENCIAMENTO DE CICLO DE VIDA ÚTIL
[0073] Conforme indicado anteriormente, o módulo gerenciador de ciclo de vida útil 107 é configurado para manter um ou mais registros no dispositivo (ou dispositivos) de armazenamento 109 como parte do rastreamento e gerenciamento de um ciclo de vida útil de códigos de rastreamento. Sendo assim, o sistema de gerenciamento 101 serve como uma plataforma centralizada para rastrear e gerenciar o ciclo de vida de artigos individuais (e grupos de artigos) conforme eles passam de um local para outro e de usuário para usuário.
[0074] Os registros armazenados no dispositivo (ou dispositivos) de armazenamento 109 podem armazenar uma grande variedade de informações, em relação a um artigo que foi impresso com um código de rastreamento. Conforme indicado anteriormente, um ou mais registros podem indicar que o código de rastreamento foi impresso corretamente no artigo e podem armazenar uma cadeia de custódia para o artigo (por exemplo, um ou mais identificadores de usuários que possuíram, interagiram, foram de outra forma responsáveis pelo artigo). Além disso, o um ou mais registros podem armazenar, por exemplo, uma ou mais fotos do artigo; uma ou mais localizações geográficas atuais ou anteriores do artigo (por exemplo, coordenadas de GPS); um ou mais carimbos de data/hora de qualquer evento associado ao artigo; uma ou mais indicações do estado do artigo, como perdido, roubado, danificado, com defeito, etc.; um ou mais comentários/observações inseridos pelo usuário sobre o artigo; uma ou mais indicações de trabalho ou manutenção que foi executado no artigo; uma ou mais indicações de conteúdo de um artigo (por exemplo, se o artigo for um contêiner); etc.
[0075] Como foi indicado anteriormente, em algumas modalidades, os artigos podem compreender selos que podem ser aplicados aos ativos que devem ser rastreados. Em tais modalidades, um ou mais registros podem identificar um identificador de ativo para o ativo ao qual o selo foi aplicado. Este pode ser um número de série, outro código de rastreamento (por exemplo, conforme gerado pelo sistema de gerenciamento 101) ou qualquer outro identificador apropriado. Nessas modalidades, qualquer um dos campos de dados anteriores também pode se aplicar ao ativo ao qual a vedação foi aplicada. Conforme indicado, o identificador de ativo para o ativo ao qual um selo foi aplicado pode compreender outro código de rastreamento conforme gerado pelo sistema de gerenciamento 101. Sendo assim, um ou mais registros podem associar artigos que foram impressos com códigos de rastreamento com o uso das modalidades descritas neste documento e que são gerenciados pelo sistema de gerenciamento 101. Em um exemplo específico, os códigos de rastreamento podem ser aplicados a artigos que compreendem selos de segurança e a artigos que compreendem medidores de eletricidade. Em seguida, o sistema de gerenciamento 101 pode ser usado para rastrear/gerenciar os medidores de eletricidade ao longo de seu ciclo de vida útil (por exemplo, implantação no campo, manutenção, etc.), incluindo sua selagem pelos selos quando o trabalho é executado. Assim, o sistema de gerenciamento 101 pode armazenar associações entre os códigos de rastreamento dos selos e os códigos de rastreamento dos medidores de eletricidade.
[0076] Adicionalmente ou alternativamente, um ou mais registros podem armazenar dados separados específicos para o ativo (por exemplo, fotos do ativo, comentários/observações relativos ao ativo, etc.). Além disso, um ou mais registros podem armazenar um identificador de usuário do usuário que aplicou o selo ao ativo; se o selo foi selado/aplicado, adulterado, danificado, etc.; um selo de confirmação visual foi aplicado ao ativo (por exemplo, uma fotografia do selo no ativo); a identidade de uma ou mais ordens de serviço de campo (ordens de serviço) associadas ao selo/ativo (por exemplo, uma ordem de serviço de campo que instruiu um trabalhador a aplicar o selo ao ativo); etc.
[0077] O módulo gerenciador de ciclo de vida 107 pode permitir uma grande variedade de ações de gerenciamento em relação aos códigos de rastreamento. Por exemplo, o módulo gerenciador de ciclo de vida útil 107 pode facilitar a atribuição de unidade (ou unidades) de rastreamento a um usuário e/ou a transferência de unidade (ou unidades) de rastreamento entre usuários; atribuir unidades de rastreamento (por exemplo, selos) a outros ativos, modificar e/ou fornecer o status dos códigos de rastreamento, etc.
[0078] Por exemplo, a Figura 7 ilustra um fluxograma de um método de exemplo 700 para facilitar a atribuição de unidade (ou unidades) de rastreamento a um usuário e/ou a transferência de unidade (ou unidades) de rastreamento entre usuários. Conforme representado, o método 700 inclui um ato 701 de receber um identificador de usuário e um código de rastreamento. Por exemplo, o módulo gerenciador de ciclo de vida útil 107 pode receber um identificador de usuário de um dispositivo de gerenciamento 104, tal como em resposta ao dispositivo de gerenciamento 104 tendo submetido à varredura uma codificação que pode ser lida por máquina do código de rastreamento ou tendo recebido entrada do usuário, fornecendo o código de rastreamento.
[0079] O método 700 também inclui um ato 702 de verificar se o usuário tem permissão para assumir a custódia do código de rastreamento. Por exemplo, o componente de custódia 107b pode consultar o dispositivo (ou dispositivos) de armazenamento 109 para identificar os registros de custódia para a unidade de rastreamento. O componente de custódia 107b também pode identificar uma ou mais regras para determinar se a custódia pode ser concedida ao identificador de usuário recebido. Por exemplo, as regras podem incluir regras que identificam os códigos de rastreamento dos quais o identificador do usuário tem permissão para ficar com a custódia, que identificam os usuários dos quais o identificador do usuário tem permissão para ficar com a custódia, que identificam como permitir a reatribuição dos códigos de rastreamento que fazem parte de agrupamentos, que identificam como permitir a atribuição de códigos de rastreamento associados a outros ativos, que identificam se as reatribuições devem ser autorizadas pelo usuário anterior, etc.
[0080] O método 700 também inclui (re)atribuir a custódia do código de rastreamento ao identificador de usuário (ato 703) ou negar a custódia (ato 704). Por exemplo, se for determinado no ato 702 que o usuário tem permissão para assumir a custódia do código de rastreamento, o componente de custódia 107b poderá atualizar um ou mais registros no dispositivo (ou dispositivos) de armazenamento 109 para atribuir a custódia do código de rastreamento ao usuário ou para reatribuir o código de rastreamento do usuário anterior. Se o código de rastreamento tiver sido reatribuído, o método 700 poderá incluir e o ato 705 de enviar um aviso ao usuário anterior, por meio de uma mensagem do sistema de gerenciamento 101 para um dispositivo de gerenciamento 104 do usuário anterior. Assim, um dispositivo de gerenciamento 104 correspondente ao usuário anterior pode atualizar uma interface de usuário para refletir a reatribuição, pode receber uma notificação push e exibir um aviso da reatribuição, etc.
[0081] O método 700 pode incluir uma variedade de funções adicionais como parte da atribuição ou reatribuição da custódia de um código de rastreamento. Por exemplo, o módulo gerenciador do ciclo de vida 107 pode registrar no dispositivo (ou dispositivos) de armazenamento 109 uma ou mais de uma foto do artigo associado ao código de rastreamento, um carimbo de data/hora de quando a (re)atribuição ocorreu, um geolocalização do artigo no momento da (re)atribuição, quaisquer comentários/observações enviados pelo usuário, etc. Esta informação pode ser recebida de um ou mais dos dispositivos de gerenciamento 104, como a partir de um aviso que foi feito no dispositivo (ou dispositivos) de gerenciamento 104 em conexão com os APIs 108a ou a interface da web 108b do módulo de interface 108.
[0082] Cenários de exemplo habilitados pelo método 700 são agora apresentados. Conforme indicado anteriormente, as modalidades podem incluir o uso de códigos de rastreamento de grupo, que têm uma pluralidade de códigos de rastreamento de unidade associados aos mesmos. Assim, em algumas modalidades, a (re)atribuição de um código de rastreamento pode incluir (re)atribuir uma pluralidade de códigos de rastreamento, seja porque o código de rastreamento era um código de grupo (e assim o código de grupo e todos os códigos de unidade no grupo são (re)atribuídos ao identificador de usuário), ou porque o rastreamento era um código de unidade que faz parte de um grupo (e, portanto, cada código de unidade no grupo é (re)atribuído ao identificador de usuário).
[0083] Por exemplo, as modalidades podem permitir que os indivíduos reatribuam agrupamentos de artigos entre si. Em uma modalidade, uma transferência é iniciada pelo componente de custódia 107b quando ele recebe um código de rastreamento identificado de um dispositivo de gerenciamento 104 (por exemplo, um telefone móvel) do usuário que atualmente tem a custódia do código de rastreamento identificado, bem como um usuário identificador de um usuário que deve receber uma pluralidade de códigos de rastreamento que são identificados com base no código de rastreamento identificado. Por exemplo, um dispositivo de gerenciamento 104 pode ser usado para submeter à varredura um código de rastreamento de grupo associado a uma pluralidade de códigos de rastreamento de unidade ou para submeter à varredura um dentre a pluralidade de códigos de rastreamento de unidade.
[0084] Quando o código de rastreamento identificado é o código de rastreamento de grupo, a pluralidade de códigos de rastreamento pode incluir cada código de rastreamento de unidade associado ao código de rastreamento de grupo. Quando o código de rastreamento identificado é um dos códigos de rastreamento de unidade, a pluralidade de artigos pode incluir cada um dentre a pluralidade de códigos de rastreamento de unidade dos quais o código de rastreamento de unidade é um membro.
[0085] O componente de custódia 107b pode verificar se o identificador de usuário recebido está autorizado a assumir a custódia da pluralidade de códigos de rastreamento e, quando o identificador de usuário for autorizado, reatribuir a pluralidade de códigos de rastreamento ao identificador de usuário recebido (por exemplo, atualizando um ou mais registros de custódia no dispositivo (ou dispositivos) de armazenamento 109). Em algumas modalidades, o destinatário deve verificar/acusar o recebimento da reatribuição a ser autorizada.
[0086] A título de exemplo concreto, supõe-se que os artigos sejam selos de segurança empacotados em agrupamentos (por exemplo, bandejas) que são usados pelos trabalhadores no campo como parte da instalação do equipamento. Se um primeiro trabalhador ficar sem selos, o primeiro trabalhador poderá se aproximar de um segundo trabalhador e pedir ao segundo trabalhador alguns selos adicionais. O segundo trabalhador pode, então, submeter à varredura, com um dispositivo de gerenciamento móvel 104, um grupo de selos (por exemplo, código de rastreamento de grupo impresso na bandeja) e especificar que a custódia desses selos seja reatribuída ao primeiro trabalhador.
[0087] Em algumas modalidades, apenas um agrupamento inteiro de artigos pode ser autorizado para reatribuição. Por exemplo, o segundo trabalhador só pode ter permissão para reatribuir uma bandeja inteira de selos, e não uma bandeja parcial. Assim, por exemplo, um pedido de transferência pode ser negado se o segundo trabalhador tentar reatribuir um código de rastreamento de grupo (por exemplo, para uma bandeja de selos) ao primeiro trabalhador, no qual alguns dentre a pluralidade de códigos de rastreamento de unidade do grupo (por exemplo, os selos na bandeja) não estão disponíveis (por exemplo, porque o segundo trabalhador já usou alguns dos selos).
[0088] Em outra modalidade de transferência, uma transferência é iniciada pelo componente de custódia 107b quando ele recebe um código de rastreamento identificado de um dispositivo de gerenciamento 104 (por exemplo, um telefone móvel) do usuário desejado para receber a custódia do código de rastreamento identificado. Nesta circunstância, o componente de custódia 107b pode verificar se o identificador de usuário associado ao dispositivo de gerenciamento 104 está autorizado a assumir a custódia de uma pluralidade de códigos de rastreamento que são identificados com base no código de rastreamento identificado e, quando o identificador de usuário é autorizado, reatribuir a pluralidade de códigos de rastreamento ao identificador de usuário recebido (por exemplo, atualizando um ou mais registros de custódia no dispositivo (ou dispositivos) de armazenamento 109). Em algumas modalidades, a reatribuição é realizada sem qualquer autorização adicional ou entrada do usuário que atualmente tem a custódia dos códigos de rastreamento.
[0089] A título de exemplo concreto, supõe-se novamente que os artigos eram selos de segurança empacotados em agrupamentos (por exemplo, bandejas) que são usados pelos trabalhadores no campo como parte da instalação do equipamento. Se um primeiro trabalhador ficar sem selos, o primeiro trabalhador poderá se aproximar de um segundo trabalhador e pedir ao segundo trabalhador alguns selos adicionais. O primeiro trabalhador pode, então, submeter à varredura, com seu dispositivo de gerenciamento móvel 104, um grupo de selos (por exemplo, código de rastreamento de grupo impresso na bandeja) para receber a custódia, sem qualquer entrada do segundo usuário.
[0090] Em algumas modalidades, apenas um agrupamento inteiro de artigos pode ser autorizado para reatribuição. Por exemplo, o segundo trabalhador só pode ter permissão para reatribuir uma bandeja inteira de selos, e não uma bandeja parcial. Assim, por exemplo, um pedido de transferência pode ser negado se o segundo trabalhador tentar reatribuir um código de rastreamento de grupo (por exemplo, para uma bandeja de selos) ao primeiro trabalhador, no qual alguns dentre a pluralidade de códigos de rastreamento de unidade do grupo (por exemplo, os selos na bandeja) não estão disponíveis (por exemplo, porque o segundo trabalhador já usou alguns dos selos).
[0091] A Figura 8 ilustra um fluxograma de um método de exemplo 800 para atribuir unidades de rastreamento (por exemplo, selos) a outros ativos. Conforme retratado, o método 800 inclui um ato 801 de receber um código de rastreamento, um identificador de ativo e um identificador de usuário. Por exemplo, o componente de emparelhamento de ativos 107c pode receber de um dispositivo de gerenciamento 104 um código de rastreamento (por exemplo, associado a um selo de segurança), um identificador de ativo (por exemplo, associado a um ativo ao qual o selo de segurança está sendo aplicado, e um usuário identificador (por exemplo, associado a um usuário do dispositivo de gerenciamento 104).
[0092] O método 800 também inclui um ato 802 de verificação do status do código de rastreamento. Por exemplo, o componente de emparelhamento de ativo 107c pode verificar, com base em um ou mais registros no dispositivo (ou dispositivos) de armazenamento 109, se o código de rastreamento está disponível para ser emparelhado com o identificador de ativo. Por exemplo, o código de rastreamento pode ser associado a vários status, como disponível (por exemplo, um selo de segurança está disponível para ser aplicado), aplicado (por exemplo, o selo de segurança foi aplicado a um ativo), perdido (por exemplo, o selo de segurança foi relatado como perdido), danificado (por exemplo, o selo de segurança foi relatado como danificado) ou fraude (por exemplo, o selo de segurança foi relatado como adulterado, rompido, etc.). O ato 802 também pode incluir a verificação de que o identificador de usuário tem a custódia do código de rastreamento e que o identificador de usuário está autorizado a associar o código de rastreamento a ativos.
[0093] O método 800 também inclui um ato 803 de atribuir o identificador de ativo ao código de rastreamento ou, alternativamente, o ato 804 de negar a solicitação. Por exemplo, se o status do código de rastreamento estiver disponível e o usuário tiver a custódia do código de rastreamento e estiver autorizado a associar o código de rastreamento a ativos, o componente de emparelhamento de ativos 107c pode autorizar o emparelhamento e atualizar um ou mais registros no dispositivo (ou dispositivos) de armazenamento 109 para identificar o código de rastreamento como sendo aplicado e associado ao identificador de ativo. Alternativamente, se o status do código de rastreamento for aplicado, perdido, danificado, fraudado, etc., se o usuário não tiver a custódia do código de rastreamento ou o usuário não estiver autorizado a associar o código de rastreamento a ativos, a solicitação para emparelhar o código de rastreamento com o identificador de ativos poderá ser negada.
[0094] Em algumas modalidades, o sistema de gerenciamento 101 só permite que um usuário comece a interagir com códigos de rastreamento que fazem parte de um grupo quando eles já usaram todas as outras unidades de aderência aplicadas ao mesmo tipo de artigo. Por exemplo, se os artigos forem selos, o sistema de gerenciamento 101 poderá impedir um usuário de associar um selo de uma nova bandeja de selos a um ativo se o usuário também tiver a custódia de outra bandeja que é parcialmente usada (ou seja, se alguns selos da bandeja tiverem sido aplicados, mas outros não). O mesmo vale para agrupamentos. Por exemplo, o sistema de gerenciamento 101 pode evitar que um usuário use bandejas/selos de um novo saco até que todos os selos em seus sacos anteriores tenham sido aplicados ou marcados como perdidos/danificados, pode evitar que um usuário use bandejas/selos/sacos de uma nova caixa até que todos os selos em suas caixas anteriores tenham sido aplicados ou marcados como perdidos/danificados, etc. Sendo assim, o sistema de gerenciamento 101 pode garantir que a custódia e o uso de selos (ou outros artigos aos quais os códigos de rastreamento são aplicados) sejam rigidamente regulamentados.
[0095] Em algumas modalidades, o módulo gerenciador de ciclo de vida útil 107 é configurado para tratar diferentes tipos de códigos de rastreamento de grupo de forma diferente. Em particular, o módulo gerenciador de ciclo de vida 107 pode tratar alguns códigos de rastreamento de grupo como correspondentes a “grupos de lote” de segunda classe e/ou tratar outros códigos de rastreamento de grupo como correspondentes a “grupos de lista”.
[0096] A função dos grupos de lote de segunda classe é aplicar a mesma ação a vários grupos de primeira classe ou itens que estão dentro do grupo de lote. Por exemplo, o módulo gerenciador de ciclo de vida útil 107 pode tratar quaisquer códigos de rastreamento de grupo correspondentes a bandejas como grupos de lote. Quando as bandejas são tratadas como grupos de lote, o módulo gerenciador de ciclo de vida útil 107 permite que ações ocorram em relação ao grupo sem primeiro ter que “abrir” ou “desempacotar” esse grupo. Assim, por exemplo, os selos dentro de uma bandeja podem ser usados/aplicados sem primeiro ter que “abrir” a bandeja. Como outro exemplo, o módulo gerenciador de ciclo de vida 107 pode tratar quaisquer códigos de rastreamento de grupo correspondentes a paletes como grupos de lote, o que permite que os paletes sejam divididos/abertos para transporte e entrega sem autorização do módulo gerenciador de ciclo de vida útil 107. Portanto, os grupos de lote são de “segunda classe”, uma vez que o gerenciador de ciclo de vida útil 107 não gerencia seu ciclo de vida. Isso permite transferências parciais, onde, por exemplo, uma bandeja utilizada pela metade pode ser transferida, uma vez que as ações se aplicam aos selos restantes, e não à própria bandeja. Em algumas modalidades, a funcionalidade de grupos de lote de segunda classe é alcançada pelo uso de um marcador especial no código de rastreamento de grupo gerado, mas os códigos de rastreamento de grupo são codificados da mesma forma que os grupos de primeira classe. Em algumas modalidades, os grupos de primeira classe são codificados sem levar em consideração esses grupos de segunda classe.
[0097] A função dos “grupos de lista” de primeira classe é gerar códigos de rastreamento para uma combinação de códigos de rastreamento não serializados. Por exemplo, um código de rastreamento para um grupo de lista pode ser usado para um pedido de entrega para diferentes materiais rastreados, onde os códigos de rastreamento nos materiais rastreados não são suscetíveis de agrupamento, uma vez que têm identificadores de produto/intervalos de código diferentes. Em algumas modalidades, a funcionalidade de grupos de lista alcançada por um marcador especial no código de rastreamento de grupo gerado e armazenando uma contagem e, em seguida, uma lista de todos os códigos de rastreamento serializáveis dentro deste código de lista maior.
ORDENS DE SERVIÇO DE CAMPO
[0098] Em uma modalidade, o módulo gerenciador de ciclo de vida útil 107 pode ser configurado para facilitar o processamento de ordens de serviço de campo (ordens de serviço). Em particular, o módulo gerenciador de ciclo de vida 107 pode interagir com um dispositivo de gerenciamento 104 em cada etapa do processo de processamento de uma ordem de serviço, para verificar e documentar que cada etapa é realizada corretamente e para garantir que ações incorretas não sejam permitidas. Por exemplo, no contexto de artigos que compreendem selos de segurança, uma ordem de serviço de campo pode delinear para um trabalhador uma ou mais tarefas a serem realizadas em relação a um ativo (por exemplo, um medidor de eletricidade), como instalação, manutenção, inspeção, etc., incluindo a associação de um selo de segurança com o ativo em conexão com a execução da ordem de serviço. O exemplo de selos e medidores de eletricidade é usado para ilustrar alguns exemplos, embora o sistema de gerenciamento 101 possa ser utilizável em uma grande variedade de contextos para gerenciar o desempenho de ordens de serviço. Sendo assim,
qualquer referência a selos e medidores de eletricidade pode ser interpretada como referências a artigos de forma mais geral.
[0099] Por exemplo, o dispositivo (ou dispositivos) de armazenamento 109 armazena ordens de serviço de campo. O sistema de gerenciamento 101 pode, então, enviar ordens de serviço para dispositivos de gerenciamento 104 de trabalhadores, que podem, então, realizar as ordens de serviço de uma maneira apresentada nos dispositivos de gerenciamento 104 (por exemplo, conforme instruído com o uso do módulo gerenciador de ciclo de vida útil 107 e/ou do componente de interface 108). Por exemplo, uma ordem de serviço pode especificar que um trabalhador instale um medidor de eletricidade. Ao fazer isso, o sistema de gerenciamento 101 e/ou a ordem de serviço podem fazer com que o dispositivo de gerenciamento do trabalhador 104 solicite e instrua o trabalhador em cada etapa do processo, para garantir que o trabalhador instale o medidor de eletricidade correto, para documentar o desempenho do trabalhador, e para garantir que o medidor de eletricidade está selado.
[0100] Inicialmente, o sistema de gerenciamento 101 e/ou a ordem de serviço podem fazer com que o dispositivo de gerenciamento do trabalhador 104 solicite que o trabalhador submeta à varredura ou insira um primeiro código de rastreamento do medidor de eletricidade que o usuário está instalando. Quando recebido, o dispositivo de gerenciamento 104 pode enviar aquele primeiro código de rastreamento para o sistema de gerenciamento 101, onde o sistema de gerenciamento 101 pode acessar um ou mais registros no dispositivo (ou dispositivos) de armazenamento 109 em relação ao primeiro código de rastreamento. Esses registros podem identificar o tipo de medidor de eletricidade, a cadeia de custódia do medidor de eletricidade ou quaisquer outros dados relevantes sobre o medidor de eletricidade. Se o medidor de eletricidade for o medidor de eletricidade correto (por exemplo, for um medidor de eletricidade de nível comercial, quando a ordem de serviço de campo é para a instalação de um medidor de eletricidade em uma propriedade comercial) e estiver disponível para instalação, o sistema de gerenciamento 101 poderá atribuir custódia do medidor de eletricidade para o trabalhador, e faz com que o dispositivo de gerenciamento do trabalhador 104 instrua o trabalhador a realizar uma ou mais tarefas de instalação. Se o medidor de eletricidade não for o medidor de eletricidade correto (por exemplo, for um medidor de eletricidade de nível residencial, quando a ordem de serviço de campo é para instalar um medidor de eletricidade em uma propriedade comercial), ou não estiver disponível para instalação, o sistema de gerenciamento 101 poderá fazer com que o dispositivo de gerenciamento do trabalhador 104 instrua o trabalhador sobre o erro e solicite que o trabalhador forneça um código de rastreamento para o tipo correto de medidor de eletricidade ou para um medidor de eletricidade disponível. Sendo assim, o sistema de gerenciamento 101 fornece um sistema de feedback exclusivo que garante que os ativos corretos sejam usados nos contextos corretos.
[0101] Durante o desempenho de cada tarefa, o sistema de gerenciamento 101 e/ou a ordem de serviço pode fazer com que o dispositivo de gerenciamento do trabalhador 104 solicite ao usuário uma verificação de cada tarefa (por exemplo, tirando uma fotografia, etc.) e envie essas verificações para o sistema de gerenciamento 101 para registro no dispositivo (ou dispositivos) de armazenamento 109. Em algumas modalidades, o trabalhador não tem permissão para o dispositivo de gerenciamento 104 prosseguir com a próxima tarefa até que a tarefa atual seja concluída.
[0102] Quando cada tarefa é realizada, o sistema de gerenciamento 101 e/ou a ordem de serviço podem fazer com que o dispositivo de gerenciamento do trabalhador 104 solicite que o trabalhador aplique um selo no medidor de eletricidade. Como resultado, o dispositivo de gerenciamento do trabalhador 104 pode receber um segundo código de rastreamento associado a um selo de segurança e enviá-lo ao sistema de gerenciamento 101. O serviço de gerenciamento pode, então, registrar uma associação entre o primeiro código de rastreamento do medidor de eletricidade e o segundo código de rastreamento do selo.
[0103] O sistema de gerenciamento 101 pode registrar uma grande variedade de informações em conexão com a conclusão de uma ordem de serviço e/ou aplicação de um selo a um ativo (por exemplo, medidor de eletricidade). Por exemplo, com base nas informações recebidas do dispositivo de gerenciamento do trabalhador 104, o sistema de gerenciamento 101 pode registrar a identidade do trabalhador, uma “assinatura” do trabalhador que verifica se o trabalho foi executado corretamente, a verificação de que o medidor de eletricidade passou em um teste específico uma geolocalização de onde o trabalho foi executado (e onde o medidor de eletricidade está localizado), um carimbo de data/hora, uma ou mais fotos (por exemplo, do selo, do ativo, da ordem de serviço, do selo o ativo), etc.
[0104] Além disso, o sistema de gerenciamento 101 pode ser usado para verificar se a integridade do selo e/ou medidor de eletricidade permanece intacta. Por exemplo, em conexão com o desempenho de uma ordem de serviço subsequente no medidor de eletricidade, o sistema de gerenciamento 101 e/ou a ordem de serviço subsequente podem fazer com que o dispositivo de gerenciamento do trabalhador 104 solicite que o trabalhador leia novamente o primeiro código de rastreamento do medidor de eletricidade e/ou o segundo código de rastreamento do selo de segurança. O sistema de gerenciamento 101 pode, então, verificar se esses códigos de rastreamento são aqueles que são registrados no dispositivo (ou dispositivos) de armazenamento 109 e que são esperados. Se eles forem diferentes do que é esperado, o sistema de gerenciamento 101 poderá identificar que o selo e/ou o medidor de eletricidade foram adulterados.
BLOCKCHAINS
[0105] Qualquer uma das modalidades do presente documento pode interoperar com a tecnologia blockchain. Como será observado por aqueles versados na técnica, um blockchain é uma estrutura de dados que compreende uma lista crescente de registros, chamados de blocos, que estão criptograficamente ligados uns aos outros. Na maioria das implementações em blockchain, cada bloco compreende pelo menos um hash criptográfico do bloco anterior, um carimbo de data/hora e dados de transação. Ao vincular blocos por meio de seus hashes criptográficos, um blockchain é resistente à modificação dos dados, uma vez que foi adicionado como um bloco. Assim, os dados que foram adicionados a um blockchain podem ser considerados imutáveis; além disso, sua integridade pode ser verificada criptograficamente por qualquer sistema de computador com acesso apropriado ao blockchain.
[0106] Na maioria das implementações, os blockchains são distribuídos entre computadores de par em uma rede par a par. Assim, um blockchain forma um livro-razão distribuído. Os blocos são adicionados ao blockchain com base nos pares que aderem coletivamente a um protocolo para comunicação entre nós e para validação de novos blocos. Dependendo da implementação, um blockchain pode ser público e acessível a qualquer pessoa que possa ingressar na rede par a par, ou pode ser privado (ou seja, com permissão) e acessível apenas para aqueles que possuem as chaves criptográficas apropriadas. Muitos blockchains públicos requerem que uma “prova de trabalho” (por exemplo, cálculos criptográficos com uso intensivo de recursos) seja realizada por um par antes de permitir que o par adicione um bloco ao blockchain; mesmo assim, o bloco geralmente só é adicionado quando a maioria dos pares validou a prova de trabalho. Os blockchains privados, por outro lado, podem permitir que um par adicione um bloco ao blockchain com base no par que possui uma chave criptográfica atribuída ao mesmo por uma parte autorizada.
[0107] Dado este contexto, algumas modalidades operam para realizar gerenciamento de ativos e rastreamento em conexão com a tecnologia de livro-razão distribuído, como livro-razão distribuído implementado como blockchains. Nessas modalidades, entidades lógicas separadas (por exemplo, diferentes empresas, diferentes divisões dentro de uma empresa, etc.) são capazes de operar e utilizar um livro-razão distribuído comum para rastrear todo o ciclo de vida útil dos ativos físicos à medida que esses ativos interagem com — ambos dentro das entidades e entre as entidades.
[0108] Por exemplo, a Figura 9 ilustra um ambiente 900 no qual uma pluralidade de pares (por exemplo, cada um correspondente a uma entidade diferente) se comunicam através de uma rede para manter um livro- razão distribuído e para usar o livro-razão distribuído para gerenciar o ciclo de vida útil dos códigos de rastreamento (e seus ativos físicos correspondentes). Em particular, a Figura 9 ilustra uma pluralidade de pares 901a-901d em comunicação uns com os outros através de uma rede 908 (por exemplo, como uma WAN ou LAN privada, ou uma WAN pública como a Internet). Embora quatro pares 901 sejam ilustrados para os fins deste exemplo, o ambiente 900 pode incluir qualquer número de uma pluralidade de pares (ou seja, dois ou mais), conforme indicado pelas elipses 910. Como mostrado, cada par inclui uma pluralidade de módulos e um ou mais armazenamentos de dados usados para implementar a funcionalidade correspondente do par. O número, a identidade e a disposição específicos desses módulos/armazenamentos de dados podem variar de ponto a ponto (ou seja, dependendo das necessidades e autoridade de sua entidade correspondente), conforme indicado pela elipse 909 em cada ponto. Assim, os arranjos particulares mostrados na Figura 9 são apenas para fins ilustrativos e não são limitativos.
[0109] Em geral, cada par 901 inclui um módulo de blockchain correspondente 902 que opera para se comunicar com outros pares e para manter uma cópia correspondente de um livro-razão distribuído 905. Por exemplo, o módulo de blockchain 902 pode compreender software instalado em cada par que define o protocolo do ambiente 900 para comunicação entre nós e validação de bloco. Este software também pode definir o formato e a estrutura do livro-razão distribuído 905 e gerenciar a adição de novos blocos ao livro- razão. Conforme mostrado, cada par armazena uma cópia correspondente do livro-razão distribuído 905. Essas cópias são mantidas em sincronia pelos módulos de blockchain 902 em cada par. Cada par 901 também inclui um gerenciador de ciclo de vida correspondente 904 que potencializa o livro-razão distribuído 905 para gerenciar o ciclo de vida de códigos de rastreamento e ativos, como usar as técnicas de gerenciamento de ciclo de vida já descritas neste documento.
[0110] Cada par 901 pode, em algumas modalidades, compreender um ambiente de computação diferente (por exemplo, um ou mais sistemas de computador do servidor) operado por sua entidade correspondente. Como um exemplo, o par 901a pode compreender sistema (ou sistemas) de computador operado por uma empresa administrativa (por exemplo, logística) responsável pela manutenção geral e operação da tecnologia de software que implementa o livro-razão distribuído 905, incluindo o gerenciamento de ativos com o uso do livro-razão distribuído 905. Por exemplo, uma empresa que opera o par 901a pode gerenciar e manter os módulos de blockchain 901 e gerenciador de ciclo de vida útil 904 que são instalados em cada par. No ambiente de exemplo 900, o par 901a também é responsável pela geração e atribuição (por exemplo, usando o gerador de chave 911) chaves criptográficas necessárias para interoperar com o livro-razão distribuído 905 e para a gênese (por exemplo, com o uso do gerador de código 903) de quaisquer códigos de rastreamento que são gerenciados pelo livro-razão distribuído 905. Por exemplo, o gerador de código 903 pode gerar códigos formatados, conforme mostrado na Figura 2. Em algumas modalidades, o par 901a pode adicionar tais códigos de rastreamento ao livro-razão distribuído 905 (isto é, em novos blocos no livro-razão distribuído 905), tornando-os disponíveis para uso por outros pares. Assim, o par 901a pode ser visto como um par “mestre” que serve como um gatekeeper para acesso ao livro-razão e geração de código de rastreamento.
[0111] Como um exemplo, o par 901b pode compreender sistema (ou sistemas) de computador operado por uma empresa de fabricação (por exemplo, fábrica) responsável pela atribuição e impressão de códigos de rastreamento gerados pelo gerador de código 903 no par 901b para artigos físicos. Assim, o par 901b é mostrado como incluindo um módulo aplicador de código 907, que pode ser responsável por controlar a impressão verificada de códigos de rastreamento gerados pelo par 901a em artigos e por controlar o empacotamento verificado desses artigos em recipientes, se apropriado (por exemplo, seguindo as metodologias descritas em conexão com as Figuras 3A a 6). Como mostrado, sendo responsável por atribuir e imprimir códigos de rastreamento a artigos físicos, o par 901b pode incluir ou estar em comunicação com um ou mais dispositivos de computação internos 906b, tais como câmeras conectadas em rede, impressoras, scanners, dispositivos de controle, etc. que são parte de uma ou mais linhas de fábrica e/ou dispositivos móveis (por exemplo, smartphones) usados pelo pessoal que manuseia esses ativos (por exemplo, funcionários de depósito) para rastrear a custódia de ativos uma vez que sai de uma linha de fábrica e para transferir ativos para entidades externas.
[0112] Como um exemplo, pares 901c e 901d podem compreender sistema (ou sistemas) de computador operado por entidades responsáveis por ativos físicos, uma vez que deixam a custódia do par 901b. Por exemplo, os pares 901c e 901d (e potencialmente outros) podem ser operados por empresas de transporte que transportam esses ativos, empresas que implantam e usam esses ativos (por exemplo, empresas de serviços públicos), empreiteiros que operam em nome de empresas de serviços públicos, etc. Para fins de ilustração, supõe-se que o par 901c seja operado por uma empresa de transporte e que o par 901d seja operado por uma empresa de serviços públicos. Assim, os dispositivos de computação interna 906c no par 901c podem ser dispositivos móveis (por exemplo, smartphones) operados por trabalhadores de transporte para obter a custódia de ativos da entidade de fabricação que opera o par 901b e para rastrear a custódia e outras informações (por exemplo, localização geográfica, caminhão de transporte etc.), visto que esses ativos são manuseados pela empresa de transporte. Dispositivos de computação interno 906d, por outro lado, podem ser dispositivos móveis (por exemplo, smartphones) operados por trabalhadores de serviços públicos para obter a custódia dos ativos da entidade de transporte que opera o par 901c e para rastrear a custódia e outras informações (por exemplo, localização geográfica, instalação verificada,
etc.), pois esses ativos são administrados por trabalhadores de serviços públicos.
[0113] Embora este exemplo tenha atribuído cada par a uma entidade diferente, será observado que uma única entidade pode operar mais de um desses pares. Por exemplo, uma empresa de logística pode operar os pares 901a e 901b. Nesse caso, a empresa de logística gera códigos de rastreamento e os imprime no artigo físico (por exemplo, ativos individuais, selos de segurança que podem ser aplicados a ativos etc.). Neste caso, os pares 901a e 901b podem ser mantidos como sistemas de computador separados (como mostrado), ou sua funcionalidade pode ser combinada em um único sistema de computador de par.
[0114] Dadas essas entidades de exemplo, um exemplo de cenário de uso do ambiente de exemplo 900 é agora descrito. Com base em cada par 901 sendo configurado com os módulos mostrados, o par 901a pode usar o gerador de chave 911 para gerar uma ou mais chaves criptográficas para cada par. Essas chaves criptográficas são utilizáveis pelos módulos de blockchain 902 nos pares para verificar a identidade de cada par e para autorizar cada par a acessar o livro-razão distribuído 905 e adicionar blocos ao livro-razão distribuído 905a. O par 901a também pode utilizar seu gerador de código 903 para gerar um ou mais códigos de rastreamento que podem ser impressos em ativos pelo par 901b e pode utilizar seu módulo de blockchain 902a para adicionar um ou mais blocos ao livro-razão distribuído 905 que incluem esses códigos de rastreamento. Por exemplo, o par 901a pode gerar códigos de rastreamento de acordo com aqueles descritos anteriormente neste documento, que capturam ambos os agrupamentos e unidades dentro desses agrupamentos. O par 901a pode gerar esses códigos de rastreamento com base na comunicação (ou comunicações) recebida diretamente do par 901b pela rede 908 ou com base em um bloco adicionado ao livro-razão distribuído 905 pelo par 901b. Uma vez que esses códigos de rastreamento são adicionados ao livro- razão distribuído 905a, o gerenciador de ciclo de vida 904 em cada par agora pode reconhecer esses códigos como códigos de rastreamento válidos.
[0115] Com os códigos de rastreamento gerados pelo par 901a, o par 901b pode agora utilizar o aplicador de código 907 para direcionar os dispositivos internos 906b (por exemplo, componentes de linha de fábrica) para imprimir de forma verificável esses códigos de rastreamento em artigos físicos (por exemplo, seguindo o método 600) e para empacotar potencialmente verificáveis esses artigos físicos em recipientes (por exemplo, seguindo o método 700). O par 901b pode, então, usar seu módulo de blockchain 902b para registrar essa aplicação/empacotamento dentro do livro-razão 905. Neste caso, o gerenciador de ciclo de vida útil 904 em cada par pode, então, reconhecer esses códigos de rastreamento como tendo sido aplicados a ativos. No entanto, em algumas implementações, o par 901b pode adiar a adição de quaisquer entradas ao livro-razão 905 até que os ativos físicos tenham realmente sido (ou estejam prestes a ser) transferidos para outra entidade. Nessas implementações, o par 901b pode registrar a aplicação de códigos de rastreamento em um banco de dados local (por exemplo, em armazenamento 905b-n) antes de registrar sua aplicação no livro-razão 905.
[0116] Com os códigos de rastreamento aplicados aos ativos pelo par 901b, o par 901c pode receber esses ativos impressos do par 901b para transporte para a empresa de serviços públicos. Em algumas implementações, as transferências entre pares são registradas com o uso de duas entradas no livro-razão distribuído 905. Por exemplo, o par 901b pode inserir um primeiro registro no livro-razão 905 indicando que o ativo (ou ativos) associado a um ou mais códigos de rastreamento foram transferidos para o par 901c. Em algumas implementações, este primeiro registro pode ser um registro inicial no livro-razão 905 que registra a aplicação de código (ou códigos) de rastreamento para ativo (ou ativos) (por exemplo, se o par 901b adiar a adição de quaisquer entradas ao razão 905 até a transferência de um ativo para outra entidade). Então, o par 901c pode inserir um segundo registro no razão 905 que confirma/endossa que recebeu o ativo (ou ativos). Outras implementações podem usar mais ou menos entradas do livro-razão para registrar uma transferência de custódia. Da mesma forma, o par 901c pode transferir a custódia do ativo (ou ativos) para o par 901d — tal como quando os ativos são entregues à empresa de serviços públicos—e essa transferência pode ser registrada com o uso do mecanismo de dois registros (por exemplo, um bloco/registro pelo par 901c que indica que o ativo (ou ativos) foi transferido para o par 901d, e um bloco/registro pelo par 901d que confirma/endossa que recebeu os ativos)).
[0117] No exemplo de cenário de uso do ambiente 900, os pares podem potencializar dispositivos de computação internos para gerenciar o ciclo de vida útil dos artigos físicos impressos com códigos de rastreamento. Por exemplo, no caso do par 901d ser uma empresa de serviços públicos, os artigos físicos podem compreender medidores de eletricidade, e os dispositivos de computação interna 906d do ponto podem ser usados pelos trabalhadores de serviço de campo para rastrear custódia de medidores de eletricidade, uma vez que os medidores de eletricidade são manuseados pelos trabalhadores do serviço de campo (com o uso dos mecanismos já descritos neste documento) e transferidos entre os trabalhadores do serviço de campo. Dispositivos internos de computação 906d podem ser usados pelos trabalhadores do serviço de campo para rastrear eventos de ciclo de vida com relação a esses medidores (por exemplo, eventos de instalação, manutenção, aposentadoria, etc.). Em outro exemplo, os artigos físicos podem compreender selos de segurança e os dispositivos de computação internos 906d podem ser usados por trabalhadores de serviço de campo para rastrear a custódia dos selos e eventos de ciclo de vida útil dos selos, como sua aplicação a medidores de eletricidade e/ou sua retirada.
[0118] Em algumas modalidades, os vários eventos de custódia/ciclo de vida útil gerados pelos dispositivos de computação internos 906dno par 901d podem ser registrados no livro-razão distribuído 905d, em tempo real ou com atraso. Por exemplo, se os dispositivos de computação internos 906d estiverem normalmente conectados à internet (por exemplo, como é o caso usual com um smartphone), os eventos gerados pelos dispositivos de computação internos 906d podem ser registrados como blocos no livro-razão distribuído 905d substancialmente em tempo real. Por exemplo, conforme os eventos ocorrem com base na atividade dos trabalhadores de serviço de campo, os dispositivos de computação internos 906d podem se comunicar com um ou mais sistemas de computador operados pelo par 901d para fazer com que o módulo de blockchain 902d e o módulo gerenciador de ciclo de vida útil 904d adicionem blocos apropriados ao livro-razão distribuído 905d para registrar os eventos.
[0119] Se os dispositivos de computação internos 906d não estiverem conectados à internet, eles poderão armazenar registros desses eventos localmente e, posteriormente, sincronizá-los com o par 901d para fazer com que o registro dos eventos seja adicionado ao livro-razão distribuído 905d (por exemplo, no final do dia de trabalho). Assim, as modalidades podem incluir dispositivos internos em um par que opera em modo offline (isto é, não conectado à rede), mas ainda interoperando com o livro-razão distribuído 905. Por exemplo, no início de um dia de trabalho e quando os dispositivos móveis do usuário estão online, um par pode atribuir a custódia de um lote de ativos a um usuário (ou vários usuários) com base nos códigos de rastreamento impressos nesses ativos. Essas informações de custódia podem ser armazenadas em bancos de dados internos no ponto e em cada um dos dispositivos móveis dos usuários. O par pode armazenar informações de identidade adicionais, tal como cada IMEI, endereço MAC do dispositivo móvel, etc. O usuário (ou usuários) pode, então, prosseguir para transportar e/ou implantar esses ativos durante o dia de trabalho, enquanto seu dispositivo móvel (ou dispositivos móveis) está/estão offline. No entanto, conforme o usuário (ou usuários) realiza este trabalho, o software de gerenciamento do ciclo de vida útil no dispositivo móvel (ou dispositivos móveis) ainda pode ser usado para registrar mudanças em eventos de custódia (por exemplo, com outros trabalhadores), eventos de ciclo de vida útil, etc. Então, no final do dia de trabalho, os dispositivos dos usuários podem ser sincronizados de volta com o par. Neste ponto, o dispositivo de cada usuário pode ser verificado (por exemplo, com o uso do IMEI armazenado, endereço MAC, etc.), e os dados armazenados em cada dispositivo podem ser auditados quanto à exatidão e à consistência (por exemplo, comparando registros de transferências entre dois dispositivos, verificar a documentação adequada de eventos de ciclo de vida, etc.) e os dados auditados podem ser integrados de volta ao banco de dados do par e potencialmente colocados no livro-razão distribuído, se apropriado. Se houver inconsistências ou erros, a responsabilidade e a prestação de contas podem ser atribuídas ao usuário com base nos dados de seu dispositivo.
[0120] Em outras modalidades, alguns (ou todos) dos eventos de custódia/ciclo de vida gerados pelos dispositivos de computação internos 906d no par 901d pode não ser registrado no livro-razão distribuído 905d de forma alguma. Em vez disso, esses eventos podem ser registrados pelo gerenciador de ciclo de vida 904d dentro de um banco de dados local no par 901d (por exemplo, dentro do armazenamento 905d-n). Nessas modalidades, os eventos de custódia/ciclo de vida podem ser armazenados neste banco de dados local do par em tempo real, ou com um atraso, semelhante à descrição anterior. Observa-se que pode ser desejável armazenar eventos de custódia/ciclo de vida em um banco de dados local — e não no livro-razão distribuído 905d — uma vez que esses eventos podem ser aplicáveis apenas a par 901d e podem, de fato, ser informações que devem ser mantidas em particular pelo par 901d.
[0121] Em vista do exposto, será observado que — em uma extremidade do espectro — o livro-razão distribuído 905d pode ser usado para armazenar potencialmente todos os eventos relacionados aos códigos de rastreamento e seus ativos físicos associados. Na outra extremidade do espectro, o livro-razão distribuído 905d pode armazenar apenas eventos relacionados à geração de código de rastreamento, aplicativo de código de rastreamento e empacotamento de ativos, e transferência de custódia de ativos entre pares. Neste final do espectro, muitos eventos — como transferência de custódia de ativos entre trabalhadores individuais em um determinado par, ou eventos de ciclo de vida, como instalação de ativos, aplicação de selo de segurança, etc. — podem ser registrados apenas em um banco de dados local operado pelo par relevante. Certamente pode haver algum meio-termo. Por exemplo, em algumas modalidades, todos os eventos por dispositivos de computação internos nos pares 901a, 901b e 901c (ou seja, pares responsáveis por rastrear a gênese do código, aplicativo de código de rastreamento e transporte de ativos) são registrados no livro-razão distribuído 905d, mas os eventos por dispositivos de computação internos 906d no ponto 901d (ou seja, um usuário final dos ativos) não.
[0122] Em algumas modalidades, o livro-razão distribuído 905 pode incluir fluxos de dados públicos e privados (ou seja, canais). Podem existir canais privados no livro-razão distribuído 905, mas sendo acessível apenas para aqueles pares que possuem as chaves criptográficas apropriadas. Assim, por exemplo, o par 901a pode gerar chaves criptográficas para um ou mais pares que permitem a esses pares visualizar e adicionar blocos privados ao livro-razão distribuído 905. Canais privados podem ser usados por pares únicos. Por exemplo, o par 901d pode usar um canal ao qual apenas o par 901d tem acesso para armazenar eventos locais (por exemplo, como aqueles eventos gerados por dispositivos internos 906d no par 901d) no livro-razão distribuído
905. Isso libera o par 901d da necessidade de usar um banco de dados local (por exemplo, armazenamento 905d-n) para armazenar custódia interna e eventos de ciclo de vida, em vez de permitir que o par 901d os armazene no livro-razão distribuído 905 de forma segura e privada. Canais privados também podem ser usados por vários pares. Por exemplo, uma empresa de serviços públicos que opera o par 901d pode contratar outra empresa para ajudar a instalar e gerenciar seus medidores de eletricidade. Neste exemplo, o ambiente 900 pode incluir um quinto par (não mostrado) operado por este contratante. Assim, esses dois pares (ou seja, correspondentes à empresa de serviços públicos e à contratante) podem utilizar um canal privado no livro-razão distribuído 905 para armazenar eventos de custódia e ciclo de vida útil, eventos esses que ficam acessíveis apenas a esses dois pares. Em outro exemplo, o par 901c e o par 901d podem participar de um canal privado para registrar a transferência de ativos do par 901c para o par 901d. Assim, os outros pares (por exemplo, 901a e 901b) podem estar cientes da geração de um código de rastreamento, aplicação para um ativo e transferência para uma empresa de transporte, mas podem não saber para onde o ativo foi enviado ou o que foi feito com aquele ativo depois de entregue.
[0123] Em algumas modalidades, o livro-razão distribuído 905 pode implementar a funcionalidade de contrato inteligente. Em geral, um contrato inteligente define a lógica de código executável por máquina que é executada antes de um bloco ser adicionado a um blockchain. O resultado dessa execução de código pode determinar se o bloco pode ser adicionado ou não. Assim, os contratos podem ser executados de forma programática pelos módulos de blockchain 902 antes desses módulos, permitindo que um bloco seja adicionado ao livro-razão distribuído 905. Por exemplo, um contrato pode definir condições específicas que devem ser atendidas antes de adicionar um bloco de registro da transferência de um ativo (por exemplo, entre pares ou entre dispositivos internos), antes de adicionar um aplicativo de registro de bloco de um selo a um ativo, antes para adicionar uma implantação/instalação de registro em bloco de um ativo, etc. Essas condições podem incluir a obtenção de assinaturas ou outras certificações de usuários, a obtenção de provas documentais (por exemplo, fotos) e assim por diante. Assim, um bloco só pode ser adicionado ao livro-razão distribuído 905 quando as informações necessárias são fornecidas e verificadas de forma programática. Em algumas modalidades, o par 901a pode fornecer ferramentas de programação que permitem aos pares dentro do ambiente 900 criar e modificar contratos inteligentes por conta própria.
[0124] Os dados incluídos em um bloco específico podem variar dependendo da implementação e da natureza do evento que o bloco está registrando. Em geral, um bloqueio incluirá a identidade de um ou mais códigos de rastreamento envolvidos, um identificador de tipo do evento que está sendo registrado (por exemplo, aplicação de código, transferência de ativo, etc.) e a parte ou partes envolvidas (se aplicável). Outros recursos digitais de suporte (por exemplo, fotografias, assinaturas, etc.) também podem ser potencialmente registrados dentro do bloco. No entanto, para limitar a taxa de crescimento de dados do próprio blockchain, os recursos de suporte podem ser armazenados em algum outro banco de dados e, em seguida, referenciados no bloco. Por exemplo, uma fotografia pode ser armazenada em um banco de dados em um ponto apropriado, com a identidade desse recurso sendo registrada dentro do bloco. Em algumas modalidades, o bloco contém informações utilizáveis para verificar a autenticidade do recurso, como uma soma de verificação do próprio recurso. Uma implementação atribui nomes de arquivos de recursos que incluem a soma de verificação do recurso e, a seguir, armazena essas somas de verificação com o bloco para identificar e verificar os recursos.
[0125] Em vista do exposto, será observado que as modalidades podem incluir métodos, sistemas e produtos de programa de computador que usam um livro-razão distribuído em blockchain para gerenciar o código de rastreamento e o ciclo de vida físico do artigo. Por exemplo, a Figura 10 ilustra um fluxograma de exemplo 1000 de ações realizadas por uma pluralidade de sistemas de computador de par conectados à rede 1001a-1001n (por exemplo, correspondendo a alguns ou todos os pares 901 da Figura 9). Embora não mostrado na Figura 10, cada um desses pares 1001 armazena e opera em pelo menos uma parte de um livro-razão distribuído baseado em blockchain para realizar tarefas de gerenciamento de ciclo de vida com relação a ativos aos quais os códigos de rastreamento estão associados. Por exemplo, cada par 1001 pode incluir um módulo de blockchain correspondente 902, gerenciador de ciclo de vida útil 904 e cópia do livro-razão distribuído 905a.
[0126] Como mostrado, um primeiro par 1001a pode gerar chaves criptográficas (ato 1002). Em algumas modalidades, o ato 1002 compreende gerar pelo menos uma chave criptográfica para cada um dentre a pluralidade de sistemas de computador de par, em que cada chave criptográfica permite que seu sistema de computador de par correspondente visualize blocos no livro-razão distribuído em blockchain e insira blocos no livro-razão distribuído em blockchain. Por exemplo, como foi discutido em conexão com a Figura 9, o par 901a pode usar um gerador de código 903 para gerar chaves criptográficas para cada par que acessará o livro-razão distribuído 905a. Essas chaves criptográficas permitem que esses pares leiam e insiram blocos no livro-razão distribuído.
[0127] O par 1001a também pode gerar códigos de rastreamento e inseri-los em um blockchain (ato 1003). Em algumas modalidades, o ato 1003 compreende gerar uma pluralidade de códigos de rastreamento e inserir um ou mais primeiros blocos, incluindo a pluralidade de códigos de rastreamento no livro-razão distribuído em blockchain. A inserção de um ou mais primeiros blocos no livro-razão distribuído em blockchain (i) inicia um ciclo de vida útil para cada um dentre a pluralidade de códigos de rastreamento (por exemplo, com o uso do gerenciador de ciclo de vida útil 904), e (ii) torna cada um dentre a pluralidade de códigos de rastreamento visível para a pluralidade de sistemas de computador de par.
[0128] Embora o ato 1002 apareça antes do ato 1003 na Figura 10, deve-se observar que esta ordem é apenas para fins ilustrativos e não é limitante. Por exemplo, o ato 1003 pode ser realizado antes ou em paralelo com o ato 1002.
[0129] Como mostrado, com base no par 1001a tendo gerado os códigos de rastreamento e disponibilizando esses códigos no livro- razão distribuído em blockchain, o par 1000b pode imprimir esses códigos de rastreamento em artigos físicos (ato 1004). Em algumas modalidades, o ato 1004 compreende imprimir cada um dentre a pluralidade de códigos de rastreamento em um artigo físico correspondente. Por exemplo, o par 901b pode obter esses códigos de rastreamento do livro-razão distribuído 905 e usar seu módulo aplicador de código 907 para instruir seus dispositivos internos 906b para imprimir os códigos de rastreamento em artigos físicos e verificar a impressão. As modalidades para uma impressão verificada são descritas em detalhes anteriormente neste pedido e qualquer uma dessas modalidades pode ser utilizada pelo método 1000.
[0130] O par 1001b também registra a impressão no blockchain (ato 1005). Em algumas modalidades, o ato 1005 compreende inserir um ou mais segundos blocos no livro-razão distribuído em blockchain registrando a impressão de cada um dentre a pluralidade de códigos de rastreamento em seu artigo físico correspondente.
[0131] O par 1001b pode, então, transferir os ativos físicos para outra entidade, como uma empresa de transporte, uma empresa de serviços públicos, um contratante ou praticamente qualquer outro tipo de organização. Conforme discutido, as transferências podem ser registradas em um livro-razão distribuído com o uso de duas entradas: uma do cedente e uma do destinatário. Assim, como mostrado na Figura 10, o par 1001b (como cedente) registra uma transferência de custódia no blockchain (ato 1006). Em algumas modalidades, o ato 1006 compreende inserir um ou mais terceiros blocos no livro-razão distribuído em blockchain, indicando que a custódia da pluralidade de códigos de rastreamento e seus artigos físicos correspondentes foi transferida para um terceiro sistema de computador de par. Por exemplo, voltando à Figura 9, o par 901b pode transferir ativos para o par 901c ou par 901d. Nesse caso, o par 901b registra no livro-razão distribuído 905b uma indicação de que o ativo (ou ativos) foi transferido e par esse para o qual foi transferido (por exemplo, par 901c ou par 901d).
[0132] Voltando à Figura 10, o par 1001c (como destinatário) pode registrar uma aceitação da transferência de custódia no blockchain (ato 1007), completando assim as duas entradas necessárias para a transferência. Em algumas modalidades, o ato 1007 compreende inserir um ou mais quartos blocos no livro-razão distribuído em blockchain, indicando que o recebimento da custódia da pluralidade de códigos de rastreamento e seus artigos físicos correspondentes do segundo sistema de computador de par foi confirmado pelo terceiro sistema de computador de par. Por exemplo, referindo- se novamente à Figura 9, o par 901c ou o par 901d pode registrar no livro-razão distribuído 905b uma indicação de que recebeu o ativo (ou ativos) transferido a partir do par 901b.
[0133] Conforme mostrado na Figura 10, o fluxograma 1000 pode incluir qualquer número de pares (ou seja, conforme indicado pelo par 1001 n, e as transferências de custódia podem acontecer entre quaisquer dois pares e ser conectado ao livro-razão de blockchain distribuído da maneira descrita em conexão com os atos 1006 e 1007. Por exemplo, como mostrado, o par 1001c pode transferir ativos para o par 1001n, e essa transferência pode ser realizada pelo par 1001c que registra a transferência de custódia para o par 1000n no blockchain (ato 1008) e a aceitação do registro do par 1001n da transferência do par 1001c no blockchain (ato 1009).
[0134] Em algumas modalidades, o primeiro par 1001a gera códigos de rastreamento que incluem pelo menos um código de rastreamento de grupo e uma pluralidade de códigos de rastreamento de unidade que fazem parte do código de rastreamento de grupo, como usar o formato de código de rastreamento já descrito neste documento. Nessas modalidades, o segundo par 1001b pode imprimir o código de rastreamento de grupo em um recipiente e imprimir cada um dos códigos de rastreamento da unidade nos artigos pertencentes ao recipiente. Sendo assim, no ato 1004, o segundo sistema de computador de par que imprime cada um dentre a pluralidade de códigos de rastreamento em um artigo físico correspondente pode incluir o segundo par 1001b imprimindo o código de rastreamento de grupo em um artigo físico, que compreende um recipiente e imprime cada um dentre a pluralidade de códigos de rastreamento de unidade em um artigo físico correspondente que é colocado dentro do recipiente. Então, o ato 1005 pode incluir o segundo par que insere pelo menos um bloco no livro-razão distribuído em blockchain que confirma que o código de rastreamento de grupo e cada um dentre a pluralidade de códigos de rastreamento de unidade foi impresso corretamente em seus artigos físicos correspondentes. Conforme mencionado neste documento, as modalidades incluem uma metodologia de empacotamento verificado que não apenas garante que os códigos sejam impressos adequadamente, mas também garante que todos os itens sejam empacotados adequadamente em seus recipientes. O par 1001b pode realizar tal metodologia de empacotamento e, em seguida, inserir pelo menos um bloco no livro-razão distribuído em blockchain que confirma que cada artigo físico que tem um dentre a pluralidade de códigos de rastreamento de unidade impressos nele foi colocado dentro do recipiente.
[0135] Qualquer um dos pares pode gerar eventos de mudança de custódia e/ou eventos de ciclo de vida útil com relação aos códigos de rastreamento (e seus artigos físicos associados) para os quais o par atribuiu a custódia. Conforme discutido, esses eventos podem ser registrados em um banco de dados local no par e/ou no livro-razão distribuído. Sendo assim, o método 1000 pode, por exemplo, incluir qualquer um dos sistemas de computador de parque registre um ou mais eventos de mudança de custódia e/ou um ou mais eventos de ciclo de vida relativos à pluralidade de códigos de rastreamento por dispositivos internos a esse par dentro de um banco de dados privado no sistema de computador de par ou dentro do livro-razão distribuído em blockchain.
[0136] Conforme mencionado, qualquer um dos pares pode participar potencialmente de um canal de blockchain privado e/ou de contratos inteligentes. Sendo assim, o método 1000 pode incluir um ou ambos dois ou mais dentre a pluralidade de sistemas de computador de par que participa de um canal privado no livro-razão distribuído em blockchain, ou pelo menos um dentre a pluralidade de sistemas de computador de par que participa de um contrato inteligente ao inserir um bloco no livro-razão distribuído em blockchain.
LOGÍSTICA REVERSA
[0137] Em algumas modalidades, os blockchains permitem a logística reversa — ou seja, originar o ciclo de vida útil de um ativo e/ou realizar o empacotamento verificado nos dispositivos móveis do usuário (por exemplo, dispositivos internos 906d), em vez de um par que opera uma linha de fábrica (por exemplo, par 901b com dispositivos de linha de fábrica como parte de seus dispositivos internos 906b). Por exemplo, embora os cenários de uso de exemplo já descritos em conexão com o ambiente 900 possam operar para iniciar com eficiência os ciclos de vida e/ou pacotes de ativos que estão sendo passados através de uma linha de fábrica, pode haver situações em que os ativos se originam “no campo” ou por pares que não possuem uma infraestrutura de “linha de fábrica” adequada configurada.
[0138] A logística reversa geralmente incorpora duas funções principais: primeiro, usar o dispositivo móvel de um usuário para associar ativos com códigos de rastreamento “legados” (ou seja, pré-existentes) com códigos de rastreamento “nativos” gerados pelo gerador de código 903 (tais como os códigos de grupo/item descrito no presente documento); e, segundo usar o dispositivo móvel de um usuário para realizar uma metodologia de empacotamento verificado. Essas duas funções podem ser usadas individualmente ou em conjunto. Por exemplo, a primeira função pode ser usada pelo par 901d para importar ativos legados existentes (por exemplo, medidores de eletricidade) para o livro-razão distribuído 905 e iniciar o gerenciamento do ciclo de vida desses ativos legados. Isso pode incluir a associação de códigos de rastreamento legados existentes com códigos de rastreamento nativos recém-gerados. A segunda função, por outro lado, pode ser usada pelo par 901d como parte da retirada e reempacotamento de ativos (por exemplo, medidores de eletricidade). Novamente, poderia incluir a associação de códigos de rastreamento legados existentes com códigos de rastreamento nativos recém- gerados. Além disso, pode incluir a impressão de etiquetas de rastreamento que contém códigos de grupos nativos para aplicação em recipientes.
[0139] Conforme mencionado, a logística reversa inclui os conceitos de códigos de rastreamento nativos e códigos de rastreamento legados. Conforme usado neste documento, um código de rastreamento nativo é aquele que é gerado de acordo com as modalidades descritas neste documento (por exemplo, incluindo conceitos de códigos de grupo e códigos de unidade), tais como aqueles gerados pelo gerador de código 903. Códigos de rastreamento legados são quaisquer códigos de rastreamento já existentes ou associados a ativos e, sendo assim, podem vir em uma ampla variedade de formatos. Esses códigos de rastreamento podem incluir, por exemplo, o número de série do produto, um código de uma aba de ativo, um código de um selo de segurança já associado ao ativo, etc.
[0140] De acordo com as modalidades do presente documento, o mapeamento de um código de rastreamento legado para um código de rastreamento nativo pode ser iniciado por dispositivos internos de um par 906. Por exemplo, retornando ao exemplo acima do par 901d que importa ativos legados existentes (por exemplo, tais como medidores de eletricidade), um trabalhador pode usar um dos dispositivos internos 906d de par (por exemplo, um software de execução de smartphone que interopera com o módulo de blockchain 902d e gerenciador de ciclo de vida útil 904d) para submeter à varredura ou de outra forma receber entrada de um ou mais códigos de rastreamento legados. Esses códigos de rastreamento podem ter origem, por exemplo, em medidores de eletricidade nos quais o trabalhador está realizando manutenção ou inspeções, ou que o trabalhador está se retirando. Esse dispositivo interno 906d pode fazer com que o par 901d solicite um ou mais códigos de rastreamento nativos do par 901a, que os gera usando o gerador de código 903 e os adiciona ao livro-razão distribuído 905. Com esses códigos nativos agora disponíveis no livro-razão distribuído 905, o dispositivo interno 906d (ou par 901d) pode iniciar associação (ou associações) entre os códigos de rastreamento legados e os códigos de rastreamento nativos e registrar essas associações no livro-razão distribuído 905 com o uso do módulo de blockchain 902d no par 901d. Como parte de fazer essas associações, o gerenciador de ciclo de vida útil 904d no par 901d inicia um registro de ciclo de vida útil (incluindo mudanças de custódia) dos ativos associados a esses códigos de rastreamento. No futuro, quando esses códigos legados forem lidos por dispositivos internos, a associação com os códigos de rastreamento nativos pode ser descoberta no livro-razão distribuído 905, junto com qualquer custódia associada e estado de ciclo de vida útil.
[0141] De acordo com modalidades deste documento, um empacotamento verificado de ativos em recipientes pode ser realizado por dispositivos internos de par 906. Por exemplo, um dispositivo móvel (por exemplo, smartphone) que executa o software que interopera com o módulo de blockchain 902d e o gerenciador de ciclo de vida 904d pode guiar um usuário através de um fluxo de trabalho de empacotamento verificado. Em algumas modalidades, este fluxo de trabalho começa com um usuário que recebe entrada de um código de rastreamento de grupo associado a um recipiente (por exemplo, submetendo à varredura com uma câmera, leitor de RFID, leitor de NFC, etc.; ou entrada de código manual), resultando no código de rastreamento de grupo sendo alterado para um status “aberto”. Em seguida, o dispositivo móvel pode solicitar que o usuário insira (por exemplo, submetendo à varredura) cada um dos códigos de rastreamento de unidade que devem ser colocados neste recipiente. Somente quando o usuário tiver inserido cada código de rastreamento de unidade que faz parte do código de rastreamento do grupo, o usuário poderá novamente submeter à varredura o código de rastreamento do grupo (ou de outra forma fornecer entrada indicando que o grupo deve ser fechado), resultando no código de rastreamento de grupo sendo alterado para um status “fechado”. Sendo assim, o recipiente só pode ser “fechado” quando cada artigo que deve estar no recipiente foi registrado como sendo colocado dentro do recipiente.
[0142] As modalidades anteriores podem ser estendidas para recipientes maiores e agrupamentos maiores. Por exemplo, o recipiente no exemplo anterior pode ser um saco, que deve ser colocado em uma caixa com outros sacos. Nessas modalidades, os códigos de rastreamento podem incluir um código de rastreamento de grupo para a caixa que contém uma pluralidade de códigos de rastreamento para sacos (incluindo o código de rastreamento de grupo referido acima). Neste momento, o fluxo de trabalho pode começar com o dispositivo móvel solicitando que o usuário “abra” o código de agrupamento da caixa antes de abrir o código de agrupamento do saco. Uma vez que o saco tenha sido “fechado”, ele pode ser registrado como sendo colocado dentro da caixa. O usuário pode, então, prosseguir para os outros sacos que fazem parte do código de agrupamento da caixa e fechar o código de agrupamento da caixa somente quando todos os sacos (e seus artigos correspondentes) forem contabilizados. Isso pode ser estendido a qualquer número de grupos cada vez maiores. Por exemplo, o código de agrupamento de caixa pode ser parte de um código de agrupamento de palete.
[0143] Os registros deste pacote verificado podem ser registrados pelo par no livro-razão distribuído 905b e/ou em um banco de dados interno do par. Se os dispositivos móveis usados estiverem operando em modo online, isso pode ser feito em tempo real (ou substancialmente em tempo real). Se os dispositivos móveis estiverem operando em modo offline, os dispositivos móveis poderão verificar um conjunto de códigos para usar no empacotamento, executar o trabalho e, em seguida, sincronizar o trabalho de volta ao seu par mais tarde (onde o trabalho é verificado antes de ser colocado no livro-razão distribuído 905b e/ou para um banco de dados interno do par.
[0144] Essa metodologia de empacotamento verificado pode ser realizada em conjunto com uma conversão de código legado para nativo. Por exemplo, alguns artigos individuais podem ter códigos de rastreamento legados associados a eles. Como parte do registro do empacotamento desses artigos, esses códigos de rastreamento legados podem ser associados a códigos de rastreamento nativos. Os recipientes normalmente serão associados diretamente aos códigos de rastreamento de grupo nativo. Em algumas modalidades, os dispositivos móveis podem ser conectados a dispositivos de impressão para imprimir esses códigos de rastreamento de grupo sob demanda em etiquetas que são afixadas pelos usuários aos recipientes durante o empacotamento. Em outras modalidades, como quando os dispositivos móveis operam em um modo offline, essas etiquetas podem ser impressas com base em uma instrução do par e fornecidas a um trabalhador antes de o trabalhador realizar o empacotamento.
[0145] Tanto a atribuição de código quanto as modalidades de empacotamento verificado também podem funcionar em um modo offline. Conforme discutido anteriormente em conexão com a Figura 9, os dispositivos internos podem trabalhar em modos offline que se sincronizam com seu par 901 no início e no final de um ciclo de trabalho. O par pode verificar dispositivos (por exemplo, por seu IMEI ou endereço MAC) e verificar/auditar todos os registros registrados pelo dispositivo enquanto ele estava offline. Essa modalidade pode ser estendida para solicitar um lote de códigos de rastreamento nativos antes de o dispositivo ficar offline e atribuir esses códigos de rastreamento ao dispositivo durante a etapa de sincronização inicial. Enquanto estiver offline, o dispositivo pode ser usado para associar códigos de rastreamento nativos com códigos de rastreamento legados, executar um processo de empacotamento verificado, etc., e essas informações podem, então, ser sincronizadas de volta para o par com o dispositivo novamente online. Depois de verificar/auditar esses registros, o par pode inserir os dados apropriados no livro-razão distribuído 905.
[0146] Notavelmente, a atribuição de código ou as modalidades de empacotamento verificado também podem incorporar a camada de segurança adicional de impor restrições geográficas. Como será observado, muitos dispositivos móveis incluem hardware e serviços de geolocalização (por exemplo, com o uso de GPS, WiFi e/ou Bluetooth). Em algumas modalidades, esses dispositivos móveis podem ser instruídos para permitir apenas operações de logística reversa quando o dispositivo está dentro de uma ou mais áreas geográficas definidas. Dessa forma, os pares podem garantir que as operações de logística reversa sejam realizadas apenas em locais confiáveis.
[0147] Notavelmente, a interoperação de dispositivos móveis internos com livros-razão distribuídos pode fornecer registros de gerenciamento de inventário granulares e imutáveis. Por exemplo, livros-razão distribuídos podem ser usados como evidência de conformidade com os requisitos da empresa ou regulamentares. Por exemplo, alguns, quando eventos de ciclo de vida associados a códigos de rastreamento são registrados, esses eventos podem ser registrados com evidências de que procedimentos específicos foram realizados ou que determinada documentação foi revisada. Isso pode ser reforçado pelo software executado em um dispositivo interno usado para registrar o evento do ciclo de vida e/ou por contratos inteligentes. Essa evidência torna-se uma parte imutável do livro-razão distribuído, que fornece a documentação posteriormente de que os procedimentos adequados foram seguidos e/ou que a documentação apropriada foi revisada.
[0148] Em vista do acima exposto, será observado que as modalidades podem incluir métodos, sistemas e produtos de programa de computador que usam um livro-razão distribuído em blockchain para gerenciar o código de rastreamento e o ciclo de vida útil físico do artigo, incluindo o mapeamento de códigos de rastreamento legados para códigos de rastreamento nativos. Por exemplo, a Figura 11 ilustra um fluxograma de exemplo 1100 de ações realizadas por uma pluralidade de sistemas de computador de par conectados à rede 1101a e 1101b (por exemplo, correspondente a alguns ou todos os pares 901 da Figura 9). Embora não mostrado na Figura 11, cada um desses pares 1101 armazena e opera em pelo menos uma parte de um livro- razão distribuído baseado em blockchain para realizar tarefas de gerenciamento de ciclo de vida útil com relação a ativos aos quais os códigos de rastreamento estão associados. Por exemplo, cada par 1101 pode incluir um módulo de blockchain correspondente 902, gerenciador de ciclo de vida 904 e cópia do livro- razão distribuído 905a.
[0149] Como mostrado, um primeiro par 1101a pode gerar códigos de rastreamento nativos e inseri-los em um blockchain (ato 1102). Em algumas modalidades, o ato 1102 compreende gerar uma pluralidade de códigos de rastreamento nativos e inserir um ou mais primeiros blocos, incluindo a pluralidade de códigos de rastreamento nativos no livro-razão distribuído em blockchain, inserir um ou mais primeiros blocos no livro-razão distribuído em blockchain (i) iniciar um ciclo de vida para cada um dentre a pluralidade de códigos de rastreamento nativos, e (ii) tornar cada um dentre a pluralidade de códigos de rastreamento nativos visíveis para a pluralidade de sistemas de computador pares. Por exemplo, com base em uma solicitação do par 901d, o par 901a pode usar seu gerador de código 903 para gerar códigos de rastreamento nativos e usar seu módulo de blockchain 902a e seu gerenciador de ciclo de vida 904a para inserir esses códigos no livro-razão distribuído 905a e iniciar seu ciclo de vida.
[0150] Com base no par 1101a que gerou os códigos de rastreamento nativos e disponibilizou esses códigos no livro-razão distribuído em blockchain, o par 1101b pode comunicar esses códigos de rastreamento a um dispositivo interno (ato 1103). Em algumas modalidades, o ato 1103 compreende comunicar a pluralidade de códigos de rastreamento nativos a um dispositivo móvel interno associado ao par. Por exemplo, o par 901d pode comunicar esses códigos a um ou mais dos dispositivos internos 906d, como os dispositivos do tipo smartphone que executam software que interopera com o par 901d.
[0151] O par 1101b também pode receber uma associação de código nativo para legado (ato 1104). Em algumas modalidades, o ato 1104 pode compreender receber do dispositivo móvel interno uma associação de pelo menos um dentre a pluralidade de códigos de rastreamento nativos com pelo menos um código de rastreamento legado associado a um artigo físico. Por exemplo, um dos dispositivos internos 906d pode submeter à varredura ou de outra forma receber um código de rastreamento legado que está associado a algum artigo. O dispositivo interno 906d pode associar esse código de rastreamento legado a um dos códigos de rastreamento nativos e comunicar esta informação ao par 901d.
[0152] O par 1101b também pode registrar a associação no blockchain (ato 1105). Em algumas modalidades, o ato 1105 compreende inserir um ou mais segundos blocos no livro-razão distribuído em blockchain, indicando que o pelo menos um dentre a pluralidade de códigos de rastreamento nativos está associado a pelo menos um código de rastreamento legado associado a um artigo físico. Por exemplo, o par 901d pode usar seu módulo de blockchain 902 para registrar esta associação no livro-razão distribuído 905.
[0153] Conforme mencionado, o legado para a função de mapeamento de código nativo da logística reversa pode interoperar com a função de empacotamento de logística reversa. Assim, por exemplo, no método 1100, a pluralidade de códigos de rastreamento nativos pode incluir um código de rastreamento de grupo e uma pluralidade de códigos de rastreamento de unidade. Então, quando os códigos de rastreamento nativos são associados ao código de rastreamento legado, ele pode ser associado a um dentre a pluralidade de códigos de rastreamento de unidade. Adicionalmente, ou alternativamente, o segundo par pode inserir um ou mais terceiros blocos no livro-razão distribuído em blockchain, indicando que a pluralidade de códigos de rastreamento de unidade foi empacotada em um recipiente correspondente ao código de rastreamento de grupo.
[0154] Também será observado que as modalidades podem incluir métodos, sistemas e produtos de programa de computador que usem um livro-razão distribuído em blockchain para gerenciar o código de rastreamento e o ciclo de vida útil físico do artigo, incluindo o gerenciamento de um empacotamento verificado. Por exemplo, a Figura 12 ilustra um fluxograma de exemplo 1200 de ações realizadas por uma pluralidade de sistemas de computador de par conectados à rede 1201a e 1201b (por exemplo, correspondente a alguns ou todos os pares 901 da Figura 9). Embora não seja mostrado na Figura 12, cada um desses pares 1201 armazena e opera em pelo menos uma parte de um livro-razão distribuído baseado em blockchain para realizar tarefas de gerenciamento de ciclo de vida útil com relação a ativos aos quais os códigos de rastreamento estão associados. Por exemplo, cada par 1101 pode incluir um módulo de blockchain correspondente 902, gerenciador de ciclo de vida útil 904 e cópia do livro-razão distribuído 905a.
[0155] Como mostrado, um primeiro par 1201a pode gerar códigos de rastreamento agrupados e inseri-los em um blockchain (ato 1202). Em algumas modalidades, o ato 1202 compreende gerar uma pluralidade de códigos de rastreamento, incluindo um código de rastreamento de grupo e uma pluralidade de códigos de rastreamento de unidade que estão associados ao código de rastreamento de grupo e inserir um ou mais primeiros blocos, incluindo a pluralidade de códigos de rastreamento no livro-razão distribuído em blockchain, inserir o um ou mais primeiros blocos no livro-razão distribuído em blockchain (i) iniciando um ciclo de vida para cada um dentre a pluralidade de códigos de rastreamento e (ii) tornando cada um dentre a pluralidade de códigos de rastreamento visíveis para a pluralidade de sistemas de computador de par. Por exemplo, com base em uma solicitação do par 901d, o par 901a pode usar seu gerador de código 903 para gerar códigos de rastreamento agrupados e colocar esses códigos de rastreamento no livro-razão distribuído 905a.
[0156] Com base no par 1201a ter gerado os códigos de rastreamento agrupados e ter disponibilizado esses códigos no livro-razão distribuído em blockchain, o par 1201b pode comunicar esses códigos de rastreamento a um dispositivo interno (ato 1203). Em algumas modalidades, o ato 1203 pode compreender a comunicação da pluralidade de códigos de rastreamento a um dispositivo móvel interno associado ao par. Por exemplo, o par 901d pode enviar esses códigos de rastreamento agrupados para um de seus dispositivos internos 906d.
[0157] O par 1201b também pode receber uma indicação do código de grupo sendo aberto (ato 1204). Em algumas modalidades, o ato 1204 compreende receber do dispositivo móvel interno uma primeira indicação de que o código de rastreamento de grupo foi varrido pelo dispositivo móvel interno para abrir o código de rastreamento de grupo. Por exemplo, um dispositivo interno 906d pode submeter à varredura um código associado a um recipiente, como um saco ou caixa, fazendo com que esse código seja “aberto”. O dispositivo interno 906d pode comunicar esta ação ao par 901d.
[0158] O par 1201b também pode receber indicação (ou indicações) dos códigos de unidade sendo empacotados (ato 1205). Em algumas modalidades, o ato 1205 compreende receber do dispositivo móvel interno uma ou mais segundas indicações de que cada um dentre a pluralidade de códigos de rastreamento de unidade foi submetido à varredura pelo dispositivo móvel interno como parte de artigos de empacotamento associados à pluralidade de códigos de rastreamento de unidade em um recipiente associado ao código de rastreamento de grupo. Por exemplo, o dispositivo interno 906d pode submeter à varredura códigos de unidade associados a artigos à medida que são empacotados no recipiente, fazendo com que sejam registrados como sendo empacotados no recipiente. O dispositivo interno 906d pode comunicar esta ação ao par 901d.
[0159] O par 1201b também pode receber uma indicação do código de grupo sendo fechado (ato 1206). Em algumas modalidades, o ato 1206 compreende receber do dispositivo móvel interno uma terceira indicação de que o código de rastreamento de grupo foi submetido à varredura pelo dispositivo móvel interno para fechar o código de rastreamento de grupo após cada um dentre a pluralidade de códigos de rastreamento de unidade ter sido submetido à varredura. Por exemplo, uma vez que todas as unidades tenham sido empacotadas, o dispositivo interno 906d pode ler novamente o código associado a um recipiente fazendo com que esse código seja “fechado”. O dispositivo interno 906d pode comunicar esta ação ao par 901d.
[0160] O par 1201b também pode registrar o empacotamento no blockchain (ato 1207). Em algumas modalidades, o ato 1207 compreende inserir um ou mais segundos blocos no livro-razão distribuído em blockchain, indicando que a pluralidade de códigos de rastreamento de unidade foi empacotada dentro do código de rastreamento de grupo. Por exemplo, depois de receber a confirmação de que todas as unidades foram empacotadas e o recipiente foi fechado, o par 901d pode fazer o registro disso no livro-razão distribuído 905d.
[0161] Dispositivos internos podem participar do método 1200 no modo online ou offline. Quando os dispositivos móveis internos operam em um modo online, a primeira, a segunda e a terceira indicações podem ser recebidas pelo segundo sistema de computador de par substancialmente em tempo real conforme o dispositivo móvel interno submete à varredura o código de rastreamento de grupo e a pluralidade de códigos de rastreamento de unidade. Quando o dispositivo móvel interno opera em um modo offline, essas indicações podem ser recebidas pelo segundo sistema de computador de par de uma maneira atrasada e em lote, o que significa que todas as indicações são recebidas após o fechamento do código de rastreamento de grupo.
[0162] Embora o assunto tenha sido descrito em linguagem específica para recursos estruturais e/ou atos metodológicos, deve ser entendido que o assunto definido nas reivindicações anexas não é necessariamente limitado aos recursos descritos ou atos descritos acima, ou a ordem dos atos descritos acima. Em vez disso, os recursos e atos descritos são divulgados como formas de exemplo de implementação das reivindicações.
[0163] As modalidades da presente invenção podem compreender ou utilizar um sistema de computador de propósito especial ou geral que inclui hardware de computador, como, por exemplo, um ou mais processadores e memória do sistema, conforme discutido em mais detalhes abaixo. As modalidades dentro do escopo da presente invenção também incluem mídias físicas e outras mídias que podem ser lidas por computador para transferir ou armazenar instruções executáveis por computador e/ou estruturas de dados. Essa mídia que pode ser lida por computador pode ser qualquer mídia disponível que possa ser acessada por um sistema de computador de uso geral ou especial. Mídias que podem ser lidas por computador que armazenam instruções executáveis por computador e/ou estruturas de dados são mídias de armazenamento de computador. As mídias que podem ser lidas por computador que transferem instruções executáveis por computador e/ou estruturas de dados são mídias de transmissão. Assim, a título de exemplo, e não como limitação, as modalidades da invenção podem compreender pelo menos dois tipos distintamente diferentes de mídia que pode ser lida por computador: mídia de armazenamento de computador e mídia de transmissão.
[0164] As mídias de armazenamento de computador são mídias de armazenamento físico que armazenam instruções executáveis por computador e/ou estruturas de dados. A mídia de armazenamento físico inclui hardware de computador, tais como RAM, ROM, EEPROM, unidades de estado sólido (“SSDs”), memória flash, memória de mudança de fase (“PCM”), armazenamento em disco óptico, armazenamento em disco magnético ou outros dispositivos de armazenamento magnético, ou quaisquer outros dispositivos de armazenamento de hardware que podem ser usados para armazenar código de programa na forma de instruções executáveis por computador ou estruturas de dados, que podem ser acessados e executados por um sistema de computador de uso geral ou especial para implementar a funcionalidade da invenção.
[0165] A mídia de transmissão pode incluir uma rede e/ou links de dados que podem ser usados para transferir código de programa na forma de instruções executáveis por computador ou estruturas de dados e que podem ser acessados por um sistema de computador de uso geral ou especial. Uma “rede” é definida como um ou mais links de dados que permitem o transporte de dados eletrônicos entre sistemas e/ou módulos de computador e/ou outros dispositivos eletrônicos. Quando as informações são transferidas ou fornecidas por uma rede ou outra conexão de comunicação (com fio, sem fio ou uma combinação de com ou sem fio) para um sistema de computador, o sistema de computador pode visualizar a conexão como meio de transmissão. As combinações dos itens acima também devem ser incluídas no escopo da mídia que pode ser lida por computador.
[0166] Além disso, ao atingir vários componentes do sistema de computador, o código do programa na forma de instruções executáveis por computador ou estruturas de dados pode ser transferido automaticamente da mídia de transmissão para a mídia de armazenamento de computador (ou vice-versa). Por exemplo, instruções executáveis por computador ou estruturas de dados recebidas através de uma rede ou link de dados podem ser armazenados temporariamente na RAM dentro de um módulo de interface de rede (por exemplo, um “NIC”) e, em seguida, eventualmente transferidos para a RAM do sistema de computador e/ou para um sistema menos volátil mídia de armazenamento de computador em um sistema de computador. Assim, deve ser entendido que a mídia de armazenamento de computador pode ser incluída em componentes de sistema de computador que também (ou mesmo principalmente) utilizam mídia de transmissão.
[0167] As instruções executáveis por computador compreendem, por exemplo, instruções e dados que, quando executados em um ou mais processadores, fazem com que um sistema de computador de uso geral, sistema de computador de uso especial ou dispositivo de processamento de propósito especial execute uma determinada função ou grupo de funções. As instruções executáveis por computador podem ser, por exemplo, binários, instruções de formato intermediário, tal como linguagem de montagem ou mesmo código-fonte.
[0168] Os versados na técnica observarão que a invenção pode ser praticada em ambientes de computação de rede com muitos tipos de configurações de sistema de computador, incluindo, computadores pessoais, computadores do tipo desktop, laptops, processadores de mensagem, dispositivos portáteis, sistemas multiprocessadores, aparelhos eletrônicos de consumo baseados em microprocessador ou programáveis, PCs de rede, minicomputadores, computadores mainframe, telefones móveis, PDAs, tablets, pagers, roteadores, switches e semelhantes. A invenção também pode ser praticada em ambientes de sistema distribuído onde sistemas de computador locais e remotos, que estão ligados (seja por links de dados com fio, links de dados sem fio ou por uma combinação de links de dados com e sem fio) através de uma rede, ambos realizam tarefas. Sendo assim, em um ambiente de sistema distribuído, um sistema de computador pode incluir uma pluralidade de sistemas de computador constituintes. Em um ambiente de sistema distribuído, os módulos do programa podem estar localizados em dispositivos de armazenamento de memória local e remota.
[0169] Os versados na técnica também observarão que a invenção pode ser praticada em um ambiente de computação em nuvem. Ambientes de computação em nuvem podem ser distribuídos, embora isso não seja obrigatório. Quando distribuídos, os ambientes de computação em nuvem podem ser distribuídos internacionalmente dentro de uma organização e/ou possuir componentes em várias organizações. Nesta descrição e nas seguintes reivindicações, “computação em nuvem” é definida como um modelo para permitir o acesso à rede sob demanda a um recurso comum compartilhado de recursos de computação configuráveis (por exemplo, redes, servidores, armazenamento, aplicações e serviços). A definição de “computação em nuvem” não se limita a nenhuma das outras inúmeras vantagens que podem ser obtidas de tal modelo, quando devidamente implantado.
[0170] Um modelo de computação em nuvem pode ser composto de várias características, tais como autoatendimento sob demanda, amplo acesso à rede, recurso comum de recursos, elasticidade rápida, serviço medido e assim por diante. Um modelo de computação em nuvem também pode vir na forma de vários modelos de serviço, tais como, por exemplo, Software como Serviço (Software as a Service) (“SaaS”), Plataforma como Serviço (Platform as a Service) (“PaaS”) e Infraestrutura como Serviço (Infrastructure as a Service) (“IaaS”). O modelo de computação em nuvem também pode ser implementado com o uso de diferentes modelos de implementação, como nuvem privada, nuvem comunitária, nuvem pública, nuvem híbrida e assim por diante.
[0171] Algumas modalidades, como um ambiente de computação em nuvem, podem compreender um sistema que inclui um ou mais hosts, cada um capaz de executar uma ou mais máquinas virtuais. Durante a operação, as máquinas virtuais emulam um sistema de computação operacional, suportando um sistema operacional e talvez uma ou mais outras aplicações também. Em algumas modalidades, cada host inclui um hipervisor que emula recursos virtuais para as máquinas virtuais com o uso de recursos físicos que são abstraídos da visualização das máquinas virtuais. O hipervisor também fornece isolamento adequado entre as máquinas virtuais. Assim, a partir da perspectiva de qualquer máquina virtual dada, o hipervisor fornece a ilusão de que a máquina virtual está fazendo interface com um recurso físico, embora a máquina virtual apenas faça interface com a aparência (por exemplo, um recurso virtual) de um recurso físico. Exemplos de recursos físicos, incluindo capacidade de processamento, memória, espaço em disco, largura de banda de rede, unidades de mídia e assim por diante.
[0172] A presente invenção pode ser concretizada em outras formas específicas sem se afastar de sua essência ou de suas características essenciais. As modalidades descritas devem ser consideradas, para todos os fins, como meramente ilustrativas e, portanto, não restritivas. Logo, o escopo da invenção é indicado pelas reivindicações anexas, em vez de pela descrição acima mencionada. Todas as mudanças que se enquadrem no significado e faixa de equivalência das reivindicações devem ser consideradas dentro do escopo destas.

Claims (20)

REIVINDICAÇÕES
1. Sistema de computação (900) que usa um livro- razão distribuído em blockchain (905) para gerenciar o código de rastreamento e o ciclo de vida de artigo físico, em que o sistema de computação é caracterizado pelo fato de que compreende uma pluralidade de sistemas de computador de par (901, 1001), em que cada sistema de computador de par compreende um ou mais processadores correspondentes e que armazena pelo menos uma porção (905a, 905b, 905c, 905d) do livro-razão distribuído em blockchain, em que a pluralidade de sistemas de computador de par inclui pelo menos: um primeiro sistema de computador de par (901a, 1001a) que: gera (911, 1002) pelo menos uma chave criptográfica para cada um dentre a pluralidade de sistemas de computador de par, em que cada chave criptográfica permite que seu sistema de computador de par correspondente (901a, 901b, 901c, 901d) visualize blocos no livro-razão distribuído em blockchain e insira blocos no livro-razão distribuído em blockchain; e gera (903, 1003) uma pluralidade de códigos de rastreamento e insere (902a, 1003) um ou mais primeiros blocos, incluindo a pluralidade de códigos de rastreamento no livro-razão distribuído em blockchain, que insere um ou mais primeiros blocos no livro-razão distribuído em blockchain (i) iniciando um ciclo de vida (904a) para cada um dentre a pluralidade de códigos de rastreamento, e (ii) tornando cada um dentre a pluralidade de códigos de rastreamento visíveis para a pluralidade de sistemas de computador de par; e um segundo sistema de computador de par (901b, 1001b) que: imprime (907, 1004) cada um dentre a pluralidade de códigos de rastreamento em um artigo físico correspondente; e insere (902b, 1005) um ou mais segundos blocos no livro-
razão distribuído em blockchain, registrando a impressão de cada um dentre a pluralidade de códigos de rastreamento em seu artigo físico correspondente; e insere (902b, 1006) um ou mais terceiros blocos no livro- razão distribuído em blockchain, o que indica que a custódia (904b) da pluralidade de códigos de rastreamento e seus artigos físicos correspondentes foi transferida para um terceiro sistema de computador de par (901c, 901d, 1001c, 1001n); e o terceiro sistema de computador de par (901c, 1001c) que: insere (902c, 902d, 1007) um ou mais quartos blocos no livro-razão distribuído em blockchain, o que indica que o recebimento de custódia (904c, 904d) da pluralidade de códigos de rastreamento e seus artigos físicos correspondentes do segundo sistema de computador de par (901b, 1001b) foi confirmado pelo terceiro sistema de computador de par (901c, 100c).
2. Sistema de computação, de acordo com a reivindicação 1, caracterizado pelo fato de que a pluralidade de códigos de rastreamento inclui pelo menos um código de rastreamento de grupo e uma pluralidade de códigos de rastreamento de unidade que fazem parte do código de rastreamento de grupo e nos quais: o segundo sistema de computador de par que imprime cada um dentre a pluralidade de códigos de rastreamento em um artigo físico correspondente inclui: imprimir o código de rastreamento de grupo em um artigo físico que compreende um recipiente; e imprimir cada um dentre a pluralidade de códigos de rastreamento de unidade em um artigo físico correspondente que é colocado dentro do recipiente; e em que o segundo sistema de computador de par insere um ou mais segundos blocos no livro-razão distribuído em blockchain que registra a impressão de cada um dentre a pluralidade de códigos de rastreamento em seu artigo físico correspondente que inclui o segundo sistema de computador de par que insere pelo menos um bloco no livro-razão distribuído em blockchain que confirma que o código de rastreamento de grupo e cada um dentre a pluralidade de códigos de rastreamento de unidade foram devidamente impressos em seus artigos físicos correspondentes.
3. Sistema de computação, de acordo com a reivindicação 2, caracterizado pelo fato de que o segundo sistema de computador de par que insere um ou mais segundos blocos no livro-razão distribuído em blockchain que registra a impressão de cada um dentre a pluralidade de códigos de rastreamento em seu artigo físico correspondente inclui o segundo sistema de computador de par que insere pelo menos um bloco no livro-razão distribuído em blockchain, que confirma que cada artigo físico que tem um dentre a pluralidade de códigos de rastreamento de unidade impressos no mesmo foi colocado dentro do contentor.
4. Sistema de computação, de acordo com a reivindicação 1, caracterizado pelo fato de que o terceiro sistema de computador de par registra um ou mais eventos de mudança de custódia e/ou um ou mais eventos de ciclo de vida relacionados à pluralidade de códigos de rastreamento por dispositivos internos ao terceiro par dentro de um banco de dados privado no terceiro sistema de computador de par.
5. Sistema de computação, de acordo com a reivindicação 1, caracterizado pelo fato de que o terceiro sistema de computador de par registra um ou mais eventos de mudança de custódia e/ou um ou mais eventos de ciclo de vida relacionados à pluralidade de códigos de rastreamento por dispositivos internos ao terceiro par dentro do livro-razão distribuído em blockchain.
6. Sistema de computação, de acordo com a reivindicação 1, caracterizado pelo fato de que a pluralidade de sistemas de computador de par também inclui um quarto sistema de computador de par, e no qual: o terceiro sistema de computador de par insere um ou mais quintos blocos no livro-razão distribuído em blockchain, que indica que a custódia da pluralidade de códigos de rastreamento e seus artigos físicos correspondentes foi transferida para o quarto sistema de computador de par; e o quarto insere um ou mais sextos blocos no livro-razão distribuído em blockchain, que indica que o recebimento da custódia da pluralidade de códigos de rastreamento e seus artigos físicos correspondentes do terceiro sistema de computador de par foi confirmado pelo quarto sistema de computador de par.
7. Sistema de computação, de acordo com a reivindicação 6, caracterizado pelo fato de que o quarto sistema de computador de par registra um ou mais eventos de mudança de custódia e/ou um ou mais eventos de ciclo de vida relacionados à pluralidade de códigos de rastreamento por dispositivos internos ao quarto par dentro de um banco de dados privado no terceiro sistema de computador de par ou no livro-razão distribuído em blockchain.
8. Sistema de computação, de acordo com a reivindicação 1, caracterizado pelo fato de que dois ou mais dentre a pluralidade de sistemas de computador de par participam de um canal privado no livro-razão distribuído em blockchain.
9. Sistema de computação, de acordo com a reivindicação 1, caracterizado pelo fato de que pelo menos um dentre a pluralidade de sistemas de computador de par participa de um contrato inteligente ao inserir um bloco no livro-razão distribuído em blockchain.
10. Sistema de computação, de acordo com a reivindicação 1, caracterizado pelo fato de que a pluralidade de códigos de rastreamento é uma primeira pluralidade de códigos de rastreamento nativos e em que o terceiro sistema de computador de par: solicita uma segunda pluralidade de códigos de rastreamento nativos do primeiro sistema de computador de par; e insere um ou mais quintos blocos no livro-razão distribuído em blockchain, indicando que o pelo menos um dentre a segunda pluralidade de códigos de rastreamento nativos está associado a pelo menos um código de rastreamento legado associado a um artigo físico.
11. Sistema de computação, de acordo com a reivindicação 1, caracterizado pelo fato de que a pluralidade de códigos de rastreamento é uma primeira pluralidade de códigos de rastreamento, e em que o terceiro sistema de computador de par: solicita uma segunda pluralidade de códigos de rastreamento do primeiro sistema de computador de par, em que a segunda pluralidade de códigos de rastreamento inclui um código de rastreamento de grupo e uma pluralidade de códigos de rastreamento de unidade que estão associados ao código de rastreamento de grupo; e insere um ou mais quintos blocos no livro-razão distribuído em blockchain, que indica que a pluralidade de códigos de rastreamento de unidade foi empacotada dentro do código de rastreamento de grupo.
12. Sistema de computação (900) que usa um livro- razão distribuído em blockchain (905) para gerenciar o código de rastreamento e o ciclo de vida de artigo físico, incluindo o mapeamento de códigos de rastreamento legados para códigos de rastreamento nativos, em que o sistema de computação é caracterizado pelo fato de que compreende uma pluralidade de sistemas de computador de par (901), em que cada sistema de computador de par compreende um ou mais processadores correspondentes e armazena pelo menos uma porção (905a, 905b, 905c, 905d) do livro-razão distribuído em blockchain, em que a pluralidade de sistemas de computador de par inclui pelo menos: um primeiro sistema de computador de par (901) que: gera (903, 1102) uma pluralidade de códigos de rastreamento e insere (902a) um ou mais primeiros blocos, que inclui a pluralidade de códigos de rastreamento no livro-razão distribuído em blockchain, que insere um ou mais primeiros blocos no livro-razão distribuído em blockchain
(i) iniciar um ciclo de vida (904a) para cada um dentre a pluralidade de códigos de rastreamento nativos, e (ii) tornar cada um dentre a pluralidade de códigos de rastreamento nativos visíveis para a pluralidade de sistemas de computador de par; e um segundo sistema de computador de par (901c, 901d) que: comunica (904c, 904d, 1103) a pluralidade de códigos de rastreamento nativos a um dispositivo móvel interno (906d, 906d) associado ao par; recebe (1104) do dispositivo móvel interno uma associação de pelo menos um dentre a pluralidade de códigos de rastreamento nativos com pelo menos um código de rastreamento legado associado a um artigo físico; e insere (902c, 902d, 1105) um ou mais blocos de segundo no livro-razão distribuído em blockchain indicando que o pelo menos um dentre a pluralidade de códigos de rastreamento nativos está associado a pelo menos um código de rastreamento legado associado a um artigo físico.
13. Sistema de computação, de acordo com a reivindicação 12, caracterizado pelo fato de que a pluralidade de códigos de rastreamento nativos inclui um código de rastreamento de grupo e uma pluralidade de códigos de rastreamento de unidade, e em que pelo menos um dentre a pluralidade de códigos de rastreamento nativos que está associado a pelo menos um código de rastreamento legado associado ao artigo físico é um dentre a pluralidade de códigos de rastreamento de unidade.
14. Sistema de computação, de acordo com a reivindicação 12, caracterizado pelo fato de que a pluralidade de códigos de rastreamento nativos inclui um código de rastreamento de grupo e uma pluralidade de códigos de rastreamento de unidade, e em que o segundo sistema de computador de par insere um ou mais terceiros blocos no livro-razão distribuído em blockchain, o que indica que a pluralidade de códigos de rastreamento de unidade foram empacotados em um contentor correspondente ao código de rastreamento de grupo.
15. Sistema de computação, de acordo com a reivindicação 14, caracterizado pelo fato de que o dispositivo móvel interno imprime uma etiqueta que compreende o código de rastreamento de grupo.
16. Sistema de computação (900) que usa um livro- razão distribuído em blockchain (905) para gerenciar o código de rastreamento e o ciclo de vida de artigo físico, que inclui o gerenciamento de um empacotamento verificado, em que o sistema de computação é caracterizado pelo fato de que compreende uma pluralidade de sistemas de computador de par (901), em que cada sistema de computador de par compreende um ou mais processadores correspondentes e armazena pelo menos uma porção (905a, 905b, 905c, 905d) do livro-razão distribuído em blockchain, em que a pluralidade de sistemas de computador de par inclui pelo menos: um primeiro sistema de computador de par (901a) que: gera (903, 1202) uma pluralidade de códigos de rastreamento, que inclui um código de rastreamento de grupo e uma pluralidade de códigos de rastreamento de unidade que estão associados ao código de rastreamento de grupo; e insere (902a, 1202) um ou mais primeiros blocos, incluindo a pluralidade de códigos de rastreamento no livro-razão distribuído em blockchain, que insere o um ou mais primeiros blocos no livro-razão distribuído em blockchain (i) iniciar um ciclo de vida (904a) para cada um dentre a pluralidade de códigos de rastreamento, e (ii) tornar cada um dentre a pluralidade de códigos de rastreamento visíveis para a pluralidade de sistemas de computador de par; e um segundo sistema de computador de par (901c, 901d) que: comunica (904c, 904d, 1203) a pluralidade de códigos de rastreamento para um dispositivo móvel interno (906c, 906d) associado ao par; recebe do dispositivo móvel interno:
uma primeira indicação (1204) de que o código de rastreamento de grupo foi submetido à varredura pelo dispositivo móvel interno para abrir o código de rastreamento de grupo; uma ou mais segundas indicações (1205) de que cada um dentre a pluralidade de códigos de rastreamento de unidade foi submetido à varredura pelo dispositivo móvel interno como parte de artigos de empacotamento associados à pluralidade de códigos de rastreamento de unidade em um recipiente associado ao código de rastreamento de grupo; e uma terceira indicação (1206) de que o código de rastreamento de grupo foi submetido à varredura pelo dispositivo móvel interno para fechar o código de rastreamento de grupo após cada um dentre a pluralidade de códigos de rastreamento de unidade ter sido submetido à varredura; e insere (902c, 902d, 1207) um ou mais segundos blocos no livro-razão distribuído em blockchain, o que indica que a pluralidade de códigos de rastreamento de unidade foi empacotada dentro do código de rastreamento de grupo.
17. Sistema de computação, de acordo com a reivindicação 16, caracterizado pelo fato de que o dispositivo móvel interno opera em um modo online e a primeira, a segunda e a terceira indicações são recebidas pelo segundo sistema de computador de par substancialmente em tempo real como o dispositivo móvel interno submete à varredura o código de rastreamento de grupo e a pluralidade de códigos de rastreamento de unidade.
18. Sistema de computação, de acordo com a reivindicação 16, caracterizado pelo fato de que o dispositivo móvel interno opera em um modo offline e a primeira, segunda e terceira indicações são recebidas pelo segundo sistema de computador de par após o fechamento do código de rastreamento de grupo.
19. Sistema de computação, de acordo com a reivindicação 16, caracterizado pelo fato de que o segundo sistema de computador de par recebe do dispositivo móvel interno uma associação entre pelo menos um código de rastreamento legado associado a um artigo físico e pelo menos um dentre a pluralidade de códigos de rastreamento de unidade.
20. Sistema de computação, de acordo com a reivindicação 16, caracterizado pelo fato de que o dispositivo móvel interno imprime uma etiqueta que compreende o código de rastreamento de grupo.
BR112021004110-9A 2018-09-04 2018-12-13 geração, aplicação e verificação de código de rastreamento com o uso da tecnologia blockchain BR112021004110A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/121,526 US10192198B2 (en) 2014-11-05 2018-09-04 Tracking code generation, application, and verification using blockchain technology
US16/121,526 2018-09-04
PCT/US2018/065466 WO2020050869A1 (en) 2018-09-04 2018-12-13 Tracking code generation, application, and verification using blockchain technology

Publications (1)

Publication Number Publication Date
BR112021004110A2 true BR112021004110A2 (pt) 2021-05-25

Family

ID=69723198

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112021004110-9A BR112021004110A2 (pt) 2018-09-04 2018-12-13 geração, aplicação e verificação de código de rastreamento com o uso da tecnologia blockchain

Country Status (3)

Country Link
EP (1) EP3847597A4 (pt)
BR (1) BR112021004110A2 (pt)
WO (1) WO2020050869A1 (pt)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023114171A2 (en) * 2021-12-14 2023-06-22 Christmas Gerard Holdings, Llc A system and method for using a nonfungible token to optimize a product life cycle
US20240029015A1 (en) * 2022-07-20 2024-01-25 Dell Products L.P. Equipment tracking for an information handling system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6886748B1 (en) * 1996-01-02 2005-05-03 Steven Jerome Moore Apparatus and method for purchased product security
US6148291A (en) * 1998-01-26 2000-11-14 K & T Of Lorain, Ltd. Container and inventory monitoring methods and systems
US6053005A (en) * 1999-02-12 2000-04-25 Boitnott; Gregory J. Method of and kit for protecting the integrity of refrigeration systems
US6845909B2 (en) * 2002-10-31 2005-01-25 United Parcel Service Of America, Inc. Systems and methods of inventory management utilizing unattended facilities
US7204421B2 (en) * 2004-10-27 2007-04-17 Symbol Technologies, Inc. Method of identifying and authenticating products using an identification pattern and a bar code reader
US20180094953A1 (en) * 2016-10-01 2018-04-05 Shay C. Colson Distributed Manufacturing
US9741012B2 (en) * 2014-11-05 2017-08-22 HURU Systems Ltd. Systems for secure tracking code generation, application, and verification
ES2956770T3 (es) * 2016-03-31 2023-12-27 Aglive Int Pty Ltd Sistema de información para la verificación de artículos
US12056691B2 (en) * 2016-09-30 2024-08-06 Cable Television Laboratories, Inc. Systems and methods for securely tracking consumable goods using a distributed ledger
US10275739B2 (en) * 2017-01-05 2019-04-30 International Business Machines Corporation Tracking assets with a blockchain

Also Published As

Publication number Publication date
WO2020050869A1 (en) 2020-03-12
EP3847597A1 (en) 2021-07-14
EP3847597A4 (en) 2022-08-31

Similar Documents

Publication Publication Date Title
US10192198B2 (en) Tracking code generation, application, and verification using blockchain technology
AU2022206741B2 (en) Electronic document platform
US11361109B2 (en) Distributed blockchain-based method for the collective signing of a file by several parties
JP7385663B2 (ja) 物体認証を準備及び実行するための方法及びシステム
US10868676B2 (en) Computerized apparatus for secure serialization of supply chain product units
Wen et al. A blockchain-based data sharing scheme in the supply chain by IIoT
US9641342B2 (en) Tracking unitization occurring in a supply chain
US10074075B2 (en) Systems for secure tracking code generation, application, and verification
US20160164884A1 (en) Cryptographic verification of provenance in a supply chain
WO2018114586A1 (en) Distributed blockchain-based method for the collective signing of a file by several parties
BR112021004110A2 (pt) geração, aplicação e verificação de código de rastreamento com o uso da tecnologia blockchain
Körsgen et al. Blockchain Subnets for Track & Trace Within the Logistics System Landscape
Thakur et al. A Comprehensive Study on Block Chain Technology in Supply-Chain Management
EP4276646A1 (en) Distributed ledger and persistence storage repository
Deshmukh et al. Monitoring Logistics Through Blockchain
Glance 2 An Intuitive Approach
TW202025061A (zh) 基於區塊鏈技術之數位證書管理方法、系統、電腦程式產品及電腦可讀取記錄媒體
Nayak A COMPREHENSIVE STUDY ON BLOCK CHAIN TECHNOLOGY IN SUPPLY-CHAIN MANAGEMENT