BR102020005717B1 - meio de armazenamento em computador não transitório, método implementado por computador para garantir a segurança dos conjuntos de dados certificados que utilizam transações distribuídas e sistema - Google Patents

meio de armazenamento em computador não transitório, método implementado por computador para garantir a segurança dos conjuntos de dados certificados que utilizam transações distribuídas e sistema Download PDF

Info

Publication number
BR102020005717B1
BR102020005717B1 BR102020005717-0A BR102020005717A BR102020005717B1 BR 102020005717 B1 BR102020005717 B1 BR 102020005717B1 BR 102020005717 A BR102020005717 A BR 102020005717A BR 102020005717 B1 BR102020005717 B1 BR 102020005717B1
Authority
BR
Brazil
Prior art keywords
data
transaction
generated
account
data set
Prior art date
Application number
BR102020005717-0A
Other languages
English (en)
Other versions
BR102020005717A2 (pt
Inventor
Jason Tatge
Chris Schibi
Daniel Mola
Jason Munro
Aeron Bowden
Original Assignee
Farmobile Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Farmobile Llc filed Critical Farmobile Llc
Publication of BR102020005717A2 publication Critical patent/BR102020005717A2/pt
Publication of BR102020005717B1 publication Critical patent/BR102020005717B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • G06Q10/06395Quality analysis or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0833Tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0835Relationships between shipper or supplier and carriers
    • 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/0838Historical data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0492Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload by using a location-limited connection, e.g. near-field communication or limited proximity of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Computing Systems (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Modalidades referem-se a um rastreamento de procedência com base em transação distribuído de dados agrícolas, ao acesso seguro a contas de usuário autorizadas, à auditabilidade de dados e à supervisão de transações dos dados quando trocados entre as contas de usuário. Uma rede de livro razão distribuído que inclui um nó primário e uma pluralidade de nós secundários pode armazenar as transa-ções geradas com base em várias operações ou associadas a dados agrícolas, incluindo a certificação de porções selecionadas de dados agrícolas coletados por um dispositivo de coleta de dados, comandos recebidos dos dispositivos cliente associados a contas de usuário para compra ou licenciamento de dados agrícolas e tentativas detectadas de acessar os dados agrícolas, entre outras coisas. O nó primário provê uma variedade de características de segurança que podem garantir que os dados agrícolas estão protegidos, permanecem auditáveis pelo rastreamento de procedência dos dados agrícolas e não podem ser submetidas a venda não autorizada, e cada característica tem uma confiabilidade robusta com base nas transações imutáveis armazenadas em um livro razão distribuído.

Description

MEIO DE ARMAZENAMENTO EM COMPUTADOR NÃO TRANSITÓRIO, MÉTODO IMPLEMENTADO POR COMPUTADOR PARA GARANTIR A SEGURANÇA DOS CONJUNTOS DE DADOS CERTIFICADOS QUE UTILIZAM TRANSAÇÕES DISTRIBUÍDAS E SISTEMA ANTECEDENTES DA INVENÇÃO
[001] A tecnologia continua a impactar muitas, senão todas, as indústrias. Um dos muitos benefícios da tecnologia refere-se aos dados gerados em virtude de seu uso. Os dados de uso e outros tipos de informação digital gerados por meio da tecnologia podem ser analisados para ajudar as indústrias a otimizar os processos e diminuir as ineficiências, entre outras coisas. A agricultura é uma indústria particular onde os avanços tecnológicos muitas vezes podem ser negligenciados. Os avanços recentes nas máquinas agrícolas e na tecnologia de computação, em geral, causaram um exemplo inesperado do uso de dados. Mais especificamente, os dados gerados pelas máquinas agrícolas e outros dispositivos de computação podem fornecer uma percepção analítica valiosa sobre as instalações agrícolas, os rendimentos da colheita, as metodologias de cultivo e mais. Esses dados, assim como outros tipos de dados gerados pelos consumidores, podem ser facilmente coletados, vendidos e distribuídos pelos fabricantes de máquinas sem o consentimento do usuário. Falando de maneira geral, a coleta e a distribuição de dados pelos fabricantes de máquina agrícolas ou de implementos agrícolas são solicitadas pelo fabricante ou muitas vezes consentidas através de acordos feitos por meio de “cliques” ou outros acordos de consentimento parciais para o fabricante.
Sumário
[002] As modalidades da presente descrição referem-se de maneira geral ao rastreamento de procedência da máquina ou dos dados agronômicos, assim como outros tipos de dados relacionados à agricultura, para facilitar a segurança do acesso, a auditabilidade e a supervisão transacional dos dados agrícolas trocados. Mais especificamente, as modalidades descrevem sistemas e técnicas para a utilização de vários aspectos das tecnologias de livros razão distribuídos para rastreamento de procedência dos conjuntos de dados agrícolas eletrônicos com base nas transações associadas facilitadas através de um mercado de troca de dados ou de um portal de acesso a dados, entre outras coisas. Por meio das modalidades descritas, o acesso aos conjuntos de dados agrícolas eletrônicos, entre outras coisas, pode ser possibilitado e rastreado de maneira imutável em um livro razão distribuído, tal como uma cadeia de bloco. Além disso, de acordo com várias modalidades, as técnicas descritas podem manter e empregar um livro razão distribuído para identificar compradores ou licenciados autorizados dos conjuntos de dados agrícolas eletrônicos, determinar a redundância ou a consistência dos conjuntos de dados agrícolas eletrônicos, determinar se instâncias dos conjuntos de dados agrícolas eletrônicos foram copiadas ou comprometidas, prover acesso restrito aos conjuntos de dados agrícolas eletrônicos com base em transações de mercado associadas ou prover informação analítica para os conjuntos de dados agrícolas eletrônicos a título de rastreamento de procedência, por exemplo.
[003] Em um nível elevado, um sistema de rastreamento de dados agrícolas inclui uma pluralidade de nós que mantém coletivamente um livro razão distribuído, tal como a cadeia de bloco. Os nós podem, entre outras coisas, comunicar-se uns com os outros para verificar, atualizar e manter o livro razão distribuído, e uma cópia do mesmo é armazenada de modo independente e atualizada por cada nó. Qualquer porção de nós pode incluir componentes específicos e/ou ter características únicas que servem para uma finalidade de gerar, armazenar, verificar, atualizar e/ou analisar a informação transacional associada aos conjuntos de dados agrícolas eletrônicos, entre outras coisas.
[004] Em algumas modalidades, um usuário (por exemplo, um fazendeiro) pode empregar um dispositivo de coleta de dados acoplado a uma máquina agrícolas operada pelo usuário. O dispositivo de coleta de dados pode ser associado a uma conta de usuário do usuário e pode coletar os dados brutos gerados pela máquina agrícola, por exemplo. Em alguns aspectos, o dispositivo de coleta de dados pode marcar geograficamente os dados brutos coletados com base na informação de localização detectada, incluindo, mas sem ficar a eles limitado, os dados de GPS, os dados da torre de celular, os dados do sinal de Wi-Fi e outros. Em algumas modalidades, o usuário pode empregar o dispositivo de coleta de dados e/ou um dispositivo cliente associado para fazer o fazer o upload, a um nó primário da pluralidade de nós, de um conjunto de dados brutos que foi ou está sendo gerado pela máquina agrícola e coletado pelo dispositivo de coleta de dados. Em algumas outras modalidades, o conjunto de dados brutos coletados pode ser carregado automaticamente (por exemplo, continuamente, periodicamente) do dispositivo de coleta de dados para o nó primário a qualquer momento durante (por exemplo, em tempo real) ou após a operação da máquina agrícola. Dessa maneira, o nó primário pode interpretar e executar operações no conjunto de dados brutos coletados, entre outras coisas.
[005] Em algumas modalidades, o nó primário pode prover uma interface (por exemplo, um portal, um Website) para o usuário a fim de, entre outras coisas, fazer o upload (por exemplo, ao nó primário), visualizar, certificar e/ou listar (por exemplo, em um mercado on-line) o conjunto de dados agrícolas brutos coletados, interpretados e/ou processados, tanto antes quanto depois de eles serem revisados e/ou certificados através de um dispositivo cliente associado. Em várias modalidades, o conjunto de dados agrícolas brutos pode ser agrupado e disponibilizado para exposição através da interface em um formato geoespacial, em virtude de os dados serem marcados geograficamente e/ou apresentarem o horário de registro. Entre outras coisas, a interface pode facilitar a execução iniciada pelo usuário das operações nos conjuntos de dados agrícolas eletrônicos ou associadas aos mesmos que estão com associadas com uma conta de usuário através do nó primário e/ou de qualquer outro nó de uma pluralidade de nós. De acordo com várias modalidades, os conjuntos de dados agrícolas eletrônicos podem incluir, a título de exemplo não limitador, um conjunto de dados agrícolas brutos (por exemplo, dados coletados por um sensor, dados da máquina ou do implemento), um conjunto interpretado de dados agrícolas brutos (por exemplo, um conjunto de dados gerado com base no conjunto de dados agrícolas brutos), dados agrícolas não certificados (por exemplo, dados agronômicos associados ou determinados como relevantes ao conjunto interpretado de dados agrícolas brutos obtidos e/ou recebidos de terceiros), dados de certificação recebidos (por exemplo, dados sobre o tipo de colheita, sobre a largura da faixa, dados sobre a variedade da semente, dados sobre nutrientes, dados sobre o solo, dados sobre pesticidas ou outros produtos químicos) associados aos dados agrícolas brutos e/ou um conjunto de dados agrícolas certificados (por exemplo, um conjunto de dados gerado com base nos dados brutos interpretados e nos dados da certificação), ou qualquer parte dos mesmos, entre outras coisas.
[006] Em algumas modalidades, o usuário pode prover o nó primário, através da interface, aos dados de certificação que correspondem a um conjunto coletado de dados agrícolas brutos, fazendo com que o nó primário gere um conjunto de dados agrícolas certificados com base no conjunto coletado de dados brutos e nos dados de certificação, entre outras coisas. Por exemplo, o nó primário pode interpretar (por exemplo, decodificar, traduzir, analisar) um conjunto coletado de dados brutos para gerar um conjunto interpretado de dados agrícolas brutos. O nó primário pode então receber os dados de certificação associados ao conjunto interpretado de dados agrícolas brutos (que também podem ser associados ao conjunto coletado de dados agrícolas brutos) a fim de gerar o conjunto de dados agrícolas certificados. Em alguns exemplos, os dados agrícolas não certificados, que podem ser recebidos ou recuperados de um recurso externo (por exemplo, um servidor de terceiro), podem ser associados ao conjunto de dados agrícolas certificados. Os dados agrícolas não certificados podem ser associados a um conjunto de dados agrícolas certificados pelo nó primário com base em características comuns determinadas (por exemplo, cronogramas, localização) entre os mesmos, entre outras coisas fatores.
[007] Em algumas modalidades, uma transação eletrônica formatada como um conjunto de dados eletrônicos únicos e que corresponde a um conjunto de dados agrícolas certificados pode ser gerada com base pelo menos em parte nos dados de certificação que estão sendo recebidos pelo nó primário. A transação gerada pode incluir, entre outras coisas, um controle que é gerado pelo nó primário com base em um conjunto de dados agrícolas eletrônicos associado a uma conta de usuário, tal como o conjunto coletado de dados agrícolas brutos, o conjunto interpretado de dados agrícolas brutos, o conjunto de dados agrícolas certificado gerados, os dados agrícolas não certificados associados ao conjunto de dados agrícolas certificados, os dados de certificação e/ou os metadados que descrevem as características do conjunto coletado de dados agrícolas brutos ou o conjunto de dados agrícolas certificados gerados. Uma vez gerada, a transação correspondente pode ser comunicada e/ou obtida pela pluralidade de nós, de modo que a transação é armazenada no livro razão distribuído. Tal como será no presente documento indicado, o livro razão distribuído pode ser interpretado como um livro razão distribuído que é mantido coletivamente pela pluralidade de nós, e uma cópia comum (isto é, uniforme) do mesmo é armazenada em cada nó da pluralidade de nós.
[008] Em algumas modalidades adicionais, o nó primário pode prover um mercado de troca de dados (por exemplo, através de um website) que facilite a venda e a compra, ou o licenciamento, de qualquer um ou mais dos conjuntos de dados agrícolas eletrônicos entre as várias contas de usuário. Em alguns aspectos, o mercado de troca de dados pode prover elementos para a busca dos conjuntos de dados agrícolas eletrônicos com base nos parâmetros de busca providos e para facilitar a troca de ofertas ou as aceitações de ofertas associadas às contas de usuário a fim de permitir a compra ou a licença de conjuntos de dados agrícolas eletrônicos. Assim que uma oferta recebida para comprar ou licenciar um conjunto de dados agrícolas eletrônicos é aceita, uma conta de usuário associada com a oferta pode ser provida com acesso seguro ao conjunto de dados agrícolas eletrônicos comprado ou licenciado.
[009] Em várias modalidades, o nó primário pode gerar uma transação correspondente formatada como um conjunto de dados eletrônicos único com base em quaisquer operações anteriores associadas ao conjunto de dados agrícolas eletrônicos, incluindo, mas sem ficar a eles limitada, os resultados de busca que incluem qualquer porção de um conjunto de dados agrícolas eletrônicos, uma oferta recebida associada ao conjunto de dados agrícolas eletrônicos, uma aceitação recebida referente uma oferta associada ao conjunto de dados agrícolas eletrônicos e as tentativas de acesso detectadas ao conjunto de dados agrícolas eletrônicos. Tal como pode ser notado acima, cada transação gerada associada ao conjunto de dados agrícolas eletrônicos pode incluir, entre outras coisas, o controle gerado do conjunto de dados agrícolas eletrônicos, os metadados que descrevem o conjunto de dados agrícolas eletrônicos e/ou qualquer porção dos dados de certificação recebidos. Em algumas modalidades, cada transação gerada (isto é, o conjunto de dados eletrônicos gerados) é comunicada pelo nó primário a pelo menos outro nó da pluralidade de nós, de modo que a pluralidade dos nós pode obter a transação gerada e armazenar a transação gerada em sua respectiva cópia da tecnologia de livros razão distribuídos.
[010] Em várias modalidades, e em virtude de uma transação que é gerada para cada operação realizada ou em associação a um conjunto coletado de dados agrícolas brutos e/ou conjunto de dados certificados, um registro imutável de todas as operações realizada pode ser armazenado de uma maneira distribuída pelos nós que mantêm o livro razão distribuído. Tal como será descrito em mais detalhes no presente documento, várias características benéficas podem ser facilitadas por meio de técnicas em que as transações são geradas para armazenamento no livro razão distribuído. Por exemplo, em um aspecto, o acesso a um conjunto de dados agrícolas eletrônicos pode ser restringido, de tal modo que somente uma conta de usuário associada à oferta recebida e à aceitação da oferta pode acessar o conjunto de dados agrícolas eletrônicos. Em outras palavras, o nó primário pode analisar o livro razão distribuído e determinar se uma conta de usuário em particular é um proprietário autorizado (por exemplo, gerador, que faz o upload), comprador ou licenciado de um conjunto de dados agrícolas eletrônicos. Em outro aspecto, o livro razão distribuído pode armazenar uma transação gerada cada vez que um conjunto de dados agrícolas eletrônicos é acessado por um dispositivo de computação associado a uma conta de usuário. A transação pode incluir, por exemplo, a hora do registro, que corresponde a quando o conjunto de dados agrícolas eletrônicos é acessado, uma consulta à conta de usuário que tenta acessar o conjunto de dados agrícolas eletrônicos, uma informação de localização (por exemplo, coordenadas de GPS, endereço de IP) de um dispositivo cliente associado à conta de usuário consultada e outros. Desse modo, o nó primário pode analisar o livro razão distribuído para gerar a informação analítica que se refere aos conjuntos de dados agrícolas eletrônicos, tal como quando o conjunto de dados agrícolas eletrônicos foi adquirido pela primeira vez (por exemplo, comprado, licenciado) por uma conta de usuário, quando ou onde o conjunto de dados agrícolas eletrônicos foi acessado pela conta de usuário ou como o conjunto de dados agrícolas eletrônicos foi adquirido pela conta de usuário (por exemplo, o tipo de aquisição, tal como compra ou licença). Em alguns aspectos, a conta de usuário associada originalmente ao conjunto de dados agrícolas eletrônicos (isto é, os dados agrícolas brutos coletados) pode ser provida com um conjunto ou subconjunto coletivo de informação analítica gerada para o conjunto de dados agrícolas eletrônicos. Por exemplo, a conta de usuário associada originalmente pode ser provida com a informação analítica gerada para todos os licenciados ou compradores determinados do conjunto de dados agrícolas eletrônicos.
[011] Em algumas modalidades adicionais, o nó primário pode consultar o livro razão distribuído para determinar se o conjunto de dados agrícolas recentemente certificado é uma cópia do conjunto de dados agrícolas certificado anteriormente, ou, normalmente, se o conjunto de dados agrícolas eletrônicos obtido ou armazenado mais recentemente é uma cópia do conjunto de dados agrícolas eletrônicos obtido ou armazenado anteriormente. Essa característica pode facilitar a determinação da violação de direitos autorais ou uma tentativa de venda não autorizada de um conjunto de dados agrícolas eletrônicos, por exemplo. Tal como descrito, um ou mais controles podem ser gerados com base no conjunto de dados agrícolas eletrônicos recebidos ou obtidos, incluindo os dados agrícolas brutos que são interpretados e depois certificados com base nos dados de certificação recebidos. O nó primário pode gerar uma transação que inclui o controle gerado para o armazenamento no livro razão distribuído. Quando um conjunto de dados agrícolas eletrônicos é recebido, interpretado, gerado ou recentemente certificado, entre outras coisas, o nó primário pode consultar o livro razão distribuído para determinar se o controle gerado corresponde ao controle associado a um outro conjunto de dados agrícolas eletrônicos. Se houver uma determinação de que os dois conjuntos de dados agrícolas eletrônicos correspondem um ao outro, então o nó primário pode executar certas funções com base nisso. A título de exemplos não limitadores, o nó primário pode gerar e enviar uma notificação a uma conta de administrador ou a uma conta de usuário associada a um primeiro conjunto de dados agrícolas eletrônicos (por exemplo, um conjunto de dados agrícolas brutos recebido e/ou um conjunto de dados agrícolas certificado); a certificação de um segundo conjunto de dados agrícolas eletrônicos (por exemplo, um conjunto de dados agrícolas brutos recebido) pode ser rejeitada; ou a lista do segundo conjunto de dados agrícolas eletrônicos para o mercado de troca de dados pode ser restringida, entre outras coisas.
[012] De acordo com as várias modalidades no presente documento descritas, as técnicas descritas podem facilitar meios robustos para segurança, trocas, acessos, auditamentos e detecção do uso não autorizado de conjuntos de dados agrícolas eletrônicos, entre outras coisas.
[013] O sumário é apresentado para introduzir uma seleção de conceitos de forma simplificada que serão descritos abaixo na Descrição Detalhada. O sumário não pretende identificar as característicaschave ou as características essenciais do objeto de estudo reivindicado, nem pretende ser usada para ajudar a determinar o âmbito do objeto de estudo reivindicado.
BREVE DESCRIÇÃO DOS DESENHOS
[014] As modalidades da presente descrição são descritas em detalhes a seguir com referência às figuras dos desenhos em anexo, nos quais:
[015] Figura 1 é um diagrama do sistema de exemplo de acordo com algumas modalidades da presente descrição;
[016] Figura 2 é um diagrama de blocos que ilustra um dispositivo de coleta de dados de exemplo de acordo com algumas modalidades da presente descriçã;.
[017] Figura 3 é um diagrama de blocos que ilustra um nó primário de exemplo de acordo com algumas modalidades da presente descrição;
[018] Figura 4 é um diagrama do sistema que ilustra uma pluralidade de nós de exemplo que mantêm coletivamente um livro razão distribuído de acordo com algumas modalidades da presente descrição;
[019] Figura 5 é um fluxograma que mostra um método para garantir a segurança dos conjuntos de dados certificados que utilizam as transações distribuídas de acordo com algumas modalidades da presente descrição;
[020] Figura 6 é um fluxograma que mostra outro método para garantir a segurança dos conjuntos de dados certificados que utilizam as transações distribuídas de acordo com algumas modalidades da presente descrição;
[021] Figura 7 é um diagrama de blocos de um ambiente de computação de exemplo apropriado para uso na implementação de algumas modalidades da presente descrição.
DESCRIÇÃO DETALHADA DA INVENÇÃO
[022] Os dados de consumidor coletados, tais como os dados coletados pelos dispositivos de consumidor, são um recurso valioso que os fabricantes do dispositivo aprenderam a utilizar e mesmo a comoditizar através dos avanços recentes na tecnologia. Os dispositivos, tais como telefones celulares e computadores pessoais, geram vários tipos de dados com base no uso do consumidor, incluindo, mas sem ficar a eles limitados, como o consumidor usa o dispositivo, quando o consumidor usa o dispositivo, onde o consumidor está localizado ao carregar o dispositivo ou mesmo com quem o consumidor está interagindo ao carregar o dispositivo. Os proponentes de tais tecnologias de coleta de dados argumentam que esses dados podem permitir que os fabricantes ou os serviços de terceiros ofereçam serviços ou produtos melhores, orientados, ao consumidor. Por outro lado, os oponentes argumentam que a coleta de dados não só é uma quebra de privacidade, mas como compradores dos dispositivos, os dados gerados em virtude do uso dos consumidores desses dispositivos devem ser possuídos pelos próprios consumidores.
[023] No entanto, a coleta de dados recentemente tem se expandido além dos dispositivos de consumidor. Por exemplo, a indústria agrícola evoluiu nesse sentido, e com isso as máquinas agrícolas e outros dispositivos de computação podem agora incluir as tecnologias integradas que coletam vários tipos de dados, seja dos esforços de trabalho dos fazendeiros, dos padrões de tempo detectados, das imagens de satélite ou qualquer outra informação detectável (por exemplo, através de sensores, scanners, dispositivos de Internet das Coisas) que se referem às condições ambientais, aos produtos que estão sendo utilizados ou às partes envolvidas (por exemplo, identificadores únicos associados). Esses dados coletados comprovaram ser valiosos aos fabricantes, além dos dados analíticos que normalmente comprovam ser úteis aos processos de produção. Mais especificamente, os fabricantes indicaram que terceiros estão agora querendo comprar esses dados para várias finalidades, como para determinar técnicas agrícolas ideais, informações topográficas e outros casos de uso que podem geralmente gerar lucro para tais terceiros. Embora o fabricante e os terceiros possam lucrar com os dados coletados do usuário, o indivíduo (por exemplo, o fazendeiro) que investe capital próprio na geração desses dados não recebe nenhum benefício perceptível.
[024] Dessa maneira, uma determinada empresa, a Farmobile, LLC, de Leawood, KS, desenvolveu uma solução que permite que os fazendeiros coletem e lucrem com esses dados de modo independente. A solução é possibilitada através de um dispositivo de coleta de dados que pode ser acoplado a máquinas agrícolas para, entre outras coisas, coletar os dados agrícolas brutos da máquina agrícola, a despeito das metodologias de coleta de dados de propriedade dos fabricantes. Desse modo, essa solução facilita a troca de dados agrícolas brutos coletados ou de outros dados agrícolas eletrônicos associados aos dados agrícolas brutos coletados diretamente entre o fazendeiro e as entidades interessadas na compra ou no licenciamento. Mais detalhes referentes ao dispositivo de coleta de dados e aos sistemas e métodos relacionados podem ser encontrados no Pedido de Patente Pendente US nº de série 15.794.463, que é cedido ou está sob a obrigação de cessão da mesma entidade que o presente Pedido de Patente, cujo teor integral é incorporado a título de referência no presente documento.
[025] Apesar das vantagens evidentes apresentadas na tecnologia acima mencionada, há uma camada de confiança que um usuário da tecnologia (por exemplo, um fazendeiro) deve conferir a uma entidade responsável para a retenção dos dados coletados. Falando de maneira geral, a capacidade para que as partes transacionantes estabeleçam a confiança na Internet normalmente é baseada na disponibilidade de um terceiro confiável, com a tarefa de garantir que cada parte transacionante esteja agindo de boa-fé. Os terceiros confiáveis, no entanto, normalmente limitam seus serviços a necessidades muito especializadas. Por exemplo, um agente depositário pode prover serviços de terceiros confiáveis para manter os pagamentos dos compradores aos vendedores, liberando tais pagamentos aos vendedores quando da notificação de recebimento dos compradores de que os bens objeto para os quais os pagamentos foram feitos são satisfatórios. No entanto, ao tratar de dados sensíveis, os terceiros, tais como provedores de armazenamento em nuvem, devem tomar medidas extras para garantir que os dados de seus consumidores estejam seguros, redundantes e confiáveis a fim de manter a confiança do consumidor. A confiança de um terceiro para manter e garantir a segurança de dados sensíveis pode ser difícil para alguns, porque a história provou que, apesar dessas medidas de segurança extras, os dados podem ser hackeados, corrompidos ou mesmo modificados quando estiverem fora do controle do proprietário dos dados. A introdução e a adoção relativamente recentes de tecnologias de livros razão distribuídos, tais como a cadeia de bloco, forneceram um método novo e aprimorado de descentralizar tais serviços de confiança. Em outras palavras, enquanto nos sistemas convencionais um terceiro confiável normalmente se baseia nas transações supervisionadas entre as contrapartes, as tecnologias de livros razão distribuídos podem empregar os computadores independentes espalhados pelo mundo para prover coletivamente uma supervisão transacional de forma automatizada e relativamente barata.
[026] Tendo em vista o que foi exposto acima, as modalidades no presente documento descritas podem facilitar o rastreamento de procedência dos dados de transação referentes a máquinas, agronômicos, ambientais, de uma parte, de produtos ou comerciais obtidos, entre outras coisas (qualquer um deles pode ser incluído em um conjunto de dados agrícolas eletrônicos), de modo a prover acesso seguro às contas de usuário autorizadas, prover auditabilidade do(s) conjunto(s) de dados agrícolas eletrônicos e também permitir a supervisão transacional do(s) conjunto(s) de dados agrícolas eletrônicos trocados entre as contas de usuário. Dessa maneira, os usuários (por exemplo, os fazendeiros) responsáveis pela coleta e/ou associados a um conjunto de dados agrícolas eletrônicos podem confiar nas tecnologias no presente documento descritas para garantir que o acesso a seus conjuntos de dados agrícolas eletrônicos seja seguro, que eles não sejam revendidos no mercado de troca de dados e que possam ser auditáveis.
[027] Agora com referência à Figura 1, é apresentada uma representação esquemática que ilustra um sistema de exemplo 100 em que algumas modalidades da presente descrição podem ser empregadas. Deve ser compreendido que este e outros arranjos no presente documento descritos são apresentados somente como exemplos. Outros arranjos e elementos (por exemplo, máquinas, interfaces, funções, ordens, agrupamentos de funções, etc.) podem ser usados além ou em vez daqueles que são mostrados, e alguns elementos podem ser omitidos completamente. Além disso, muitos dos elementos no presente documento descritos são entidades funcionais que podem ser implementadas como componentes discretos ou distribuídos ou juntamente com outros componentes, e em qualquer combinação e posição apropriadas. As várias funções descritas no presente documento como sendo executadas por uma ou mais entidades podem ser realizadas por meio de hardware, firmware e/ou software. Por exemplo, as várias funções podem ser realizadas por um processador que executa as instruções armazenadas na memória.
[028] O sistema 100 descrito na Figura 1 inclui um dispositivo de cliente usuário 110 que pode se comunicar com um nó de usuário público 120 em uma rede 115, tal como a Internet. O sistema 100 também inclui um dispositivo cliente de entidade 140 que pode se comunicar com um nó de entidade, o qual pode incluir um nó de entidade privado 130A ou um nó de entidade público 130B. Cada um dentre o dispositivo de cliente usuário 110, nó de usuário público 120, dispositivo cliente de entidade 140, nó de entidade privado 130A e nó de entidade público 130B pode incluir um dispositivo de computação, tal como descrito em mais detalhes com respeito à Figura 7.
[029] O sistema 100 inclui de preferência uma rede 150 que permite a comunicação entre pelo menos um dispositivo de coleta de dados, tal como o dispositivo de coleta de dados 200, pelo menos um nó primário, tal como o nó primário 300, pelo menos um nó secundário, tal como nó secundário 380, e pelo menos um dispositivo cliente, tal como o dispositivo cliente 500. Em várias modalidades, a rede 150 pode incluir uma ou mais redes que incluem, mas sem ficar a elas limitadas, a Internet, WANs, LANs, PANs, redes de telecomunicação, redes sem fio, redes com fio e similares.
[030] Em algumas modalidades, um dispositivo de coleta de dados associado a uma conta de usuário de um usuário (por exemplo, um fazendeiro), tal como o dispositivo de coleta de dados 200, pode ser acoplado a pelo menos um dispositivo de geração de dados brutos, tal como uma peça da máquina agrícola, por exemplo. Deve ser considerado que o dispositivo de geração de dados brutos (por exemplo, máquinas ou implementos agrícolas) pode incluir um conjunto de sensores, dispositivos de computação e/ou componentes eletrônicos que podem gerar dados brutos de modo independente ou em conjunto com o dispositivo de geração de dados brutos. Os dados brutos (por exemplo, dados agrícolas brutos) podem incluir os dados eletrônicos gerados pelo conjunto de sensores, dispositivos de computação e/ou componentes eletrônicos acoplados a qualquer outro conjunto de sensores, dispositivos de computação e/ou componentes eletrônicos, unidade de controle central (por exemplo, um computador localizado dentro da cabine de uma máquina agrícola) ou qualquer combinação dos mesmos. Em alguns aspectos, pelo menos uma parte dos dados de sensor pode ser considerada dados brutos, pois os dados podem ser coletados diretamente do conjunto de sensores, dos dispositivos de computação e/ou dos componentes eletrônicos, antes que sejam comunicados a um controlador proprietário ou a outro dispositivo de computação para formatação e/ou interpretação, entre outras coisas.
[031] Em algumas modalidades adicionais, outros dispositivos de coleta de dados associados à conta de usuário podem incluir um conjunto de sensores e/ou scanners, dispositivos de computação e/ou componentes eletrônicos que podem gerar os dados brutos com base nas condições detectadas ou na informação escaneada, tais como as condições ambientais, padrões de clima, sinais sem fio ou tags RFID, entre outras coisas. Os dados brutos (por exemplo, dados agrícolas brutos) podem incluir os dados eletrônicos gerados pelo conjunto de sensores e/ou scanners, dispositivos de computação e/ou componentes eletrônicos acoplados a qualquer outro conjunto de sensores, dispositivos de computação e/ou componentes eletrônicos ou qualquer combinação dos mesmos. Em alguns aspectos, um dispositivo de coleta de dados pode ser associado a um terceiro, tal como um provedor de serviços meteorológicos. A esse respeito, o dispositivo de coleta de dados pode ainda ser associado a uma conta de usuário com base em determinadas coordenadas de localização correspondentes (por exemplo, um usuário associado a uma localização em particular pode ser associado seletiva ou automaticamente a um ou mais dispositivos de coleta de dados em uma certa localização ou próximo da mesma) ou cronogramas, entre outras coisas. Em alguns aspectos, os dados agrícolas não certificados podem incluir dados brutos coletados de terceiros.
[032] Em várias modalidades, e tal como será descrito de acordo com a Figura 2, um ou mais dispositivos de coleta de dados, tais como o dispositivo de coleta de dados 200, pode comunicar os dados agrícolas brutos coletados a um nó primário 300. O nó primário 300 pode incluir, entre outras coisas, pelo menos um dispositivo de computação, tal como o dispositivo de computação descrito de acordo com a Figura 7. Tal como será descrito de acordo com as Figuras 3 e 4, o nó primário 300 pode ser um nó de uma pluralidade de nós configurados para manter coletivamente um livro razão distribuído, tal como uma cadeia de bloco. Em várias modalidades, o nó primário 300 pode receber os dados agrícolas brutos coletados do dispositivo de coleta de dados 200 e armazenar em uma memória, tal como o armazenamento de dados 350, os dados agrícolas brutos recebidos em associação com a conta de usuário associada ao dispositivo de coleta de dados 200.
[033] Em algumas modalidades, o nó primário 300 pode prover uma interface, tal como um portal da web ou uma página da web, que permite que um usuário empregue credenciais (por exemplo, conta, senha do usuário) com um dispositivo cliente associado, tal como o dispositivo cliente 500, para acessar o nó primário 300. Em algumas modalidades adicionais, o nó primário 300 pode prover a interface para permitir que o usuário acesse, através de um dispositivo cliente associado a uma conta de usuário do usuário, a informação de perfil, o(s) conjunto(s) de dados agrícolas eletrônicos associados ou os dados analíticos gerados, entre outras coisas, associados à conta de usuário. Em algumas modalidades adicionais, um mercado de troca de dados pode ser provido a um dispositivo cliente 500 pelo nó primário 300, o que permite a listagem, a busca, a venda e compra ou o licenciamento de um ou mais conjunto(s) de dados agrícolas eletrônicos entre as contas de usuário. Em várias modalidades, o nó primário 300 pode gerar uma interface gráfica de usuário (GUI) que pode ser comunicada e apresentada para exibição por um dispositivo cliente 500 a fim de facilitar a geração de saídas pelo nó primário 300 e o recebimento das entradas do dispositivo cliente 500.
[034] Entre outras coisas, o nó primário 300 pode permitir que o usuário certifique um conjunto selecionado de dados agrícolas brutos coletados associados a uma conta de usuário do usuário pelo recebimento de dados de certificação correspondentes e/ou de outros dados associados (por exemplo, dados agrícolas não certificados). Os dados de certificação podem ser providos por um dispositivo cliente 500 também associado à conta de usuário, enquanto outros dados associados podem ser obtidos de outros dispositivos de computação, tais como servidores de terceiros, armazenamento de dados ou dispositivos de sensor, entre outras coisas. Em alguns aspectos, um conjunto de dados agrícolas brutos coletados pode ser determinado (por exemplo, aglomerado ou associado como um único conjunto) pelo nó primário 300 com base em marcações geográficas e/ou hora de registro associados aos dados agrícolas brutos coletados recebidos do dispositivo de coleta de dados 200. Dessa maneira, um usuário pode ver determinados conjuntos de dados agrícolas brutos coletados, de tal modo que cada conjunto é separado de outros conjuntos com base no tempo, na localização e em outros metadados associados coletados ou gerados pelo dispositivo de coleta de dados 200. A esse respeito, o dispositivo cliente 500 ou outro(s) dispositivo(s) de computação pode(m) ser empregado(s) para fazer o upload dos dados de certificação e/ou de outros dados associados a um conjunto selecionado de dados agrícolas brutos coletados da conta de usuário. Em várias modalidades, os dados de certificação podem incluir, por exemplo, dados sobre o tipo da colheita, dados sobre a variedade da semente, dados sobre a largura da faixa, dados sobre nutrientes, dados sobre o solo ou outros dados de aplicativo associados ao conjunto selecionado de dados agrícolas brutos coletados, entre outras coisas. Desse modo, o nó primário 300 pode gerar, com base nos dados de certificação recebidos associados a um conjunto selecionado de dados agrícolas brutos coletados de uma conta de usuário, um conjunto de dados agrícolas certificados também associado à conta de usuário. O conjunto de dados agrícolas certificado gerado pode ser armazenado pelo nó primário 300 em um armazenamento de dados seguro incluído ou acoplado ao nó primário 300, tal como o armazenamento de dados 350. O armazenamento de dados seguro 350 pode incluir pelo menos um dispositivo de armazenamento, um banco de dados, um dispositivo de servidor e/ou um dispositivo de criptografia, entre outras coisas.
[035] Em algumas modalidades, o nó primário 300 pode determinar e/ou gerar um ou mais controles criptográficos de um conjunto de dados agrícolas eletrônicos selecionado associado a uma conta de usuário. Em alguns aspectos, o controle criptográfico pode ser gerado com base em um conjunto de dados agrícolas eletrônicos selecionados, em um conjunto de dados agrícolas eletrônicos que estão sendo gerados (por exemplo, um conjunto de dados agrícolas certificados que está sendo gerado) ou no armazenamento do conjunto de dados agrícolas eletrônicos no armazenamento de dados 350. Em várias modalidades, um controle criptográfico gerado, geralmente indicado no presente documento como um controle, pode incluir um conjunto de caracteres alfanuméricos que corresponde exclusivamente a um determinado conjunto de dados agrícolas eletrônicos. A título de exemplo, cada conjunto de dados agrícolas certificados em uma pluralidade de conjunto de dados agrícolas certificados diferentes pode corresponder a um controle determinado exclusivamente com base nos conteúdos ou na formatação do conjunto de dados agrícolas certificados. A título de exemplo adicional, um controle determinado ou gerado para um determinado conjunto de dados agrícolas brutos coletados ou conjunto de dados agrícolas certificado nunca irá mudar, contanto que o conjunto particular de dados agrícolas brutos coletados ou conjunto de dados agrícolas certificado não tenha mudado.
[036] Em algumas modalidades adicionais, o nó primário 300 pode gerar uma transação (por exemplo, um conjunto de dados eletrônicos) com base em determinadas operações executadas pelo nó primário 300. Em várias modalidades, uma transação gerada pelo nó primário 300 pode ser executada para fins de armazenamento da transação gerada em um livro razão distribuído. Em um exemplo, a transação pode ser gerada pelo nó primário 300 para um determinado conjunto de dados agrícolas eletrônicos. Por exemplo, o nó primário 300 pode gerar uma transação que inclui um ou mais controles gerados de um conjunto de dados agrícolas eletrônicos (por exemplo, um conjunto de dados agrícolas certificados) com base no conjunto de dados agrícolas certificados que são gerados e/ou armazenados. O nó primário 300 pode ainda incluir qualquer porção de dados de certificação recebidos ou outros dados associados no conjunto de dados agrícolas certificados, ou determinados metadados associados ao conjunto de dados agrícolas certificados. Em algumas modalidades, o nó primário 300 pode determinar os metadados associados ao conjunto de dados agrícolas certificados com base nos dados agrícolas brutos coletados ou gerados por um ou mais dispositivos de coleta de dados, dados de certificação recebidos, ou realizar uma análise no conjunto de dados agrícolas certificados a fim de identificar identificadores de campo, tipos de parâmetro, informação de arquivo e outros. Em alguns aspectos, um usuário associado ao conjunto de dados agrícolas certificados pode prover uma entrada, através de um dispositivo cliente associado 500, de metadados para associar a um conjunto de dados agrícolas brutos coletados e/ou a um conjunto de dados agrícolas certificados, entre outras coisas tipos de conjuntos de dados agrícolas eletrônicos. Em outro exemplo, o nó primário 300 pode gerar uma transação (por exemplo, um conjunto de dados eletrônicos) para as ofertas recebidas (por exemplo, ofertas eletrônicas), através do mercado de troca de dados provido, de um dispositivo cliente 500 associado a uma primeira conta de usuário (por exemplo, do ofertante), a fim de comprar ou obter uma licença de um determinado conjunto de dados agrícolas eletrônicos. Do mesmo modo, o nó primário 300 pode gerar uma transação (por exemplo, um conjunto de dados eletrônicos) para oferecer rejeições de oferta (por exemplo, recusa da oferta eletrônica) ou para oferecer aceitações (por exemplo, aceitações da oferta eletrônicas) recebidas, através do mercado de troca de dados provido, da segunda conta de usuário (por exemplo, ofertante, vendedor, concessor de licenças), a fim de vender ou licenciar um determinado conjunto de dados agrícolas eletrônicos (por exemplo, dados ou conjunto de dados agrícolas certificados ou não certificados) à primeira conta de usuário associada a uma oferta recebida. Em várias modalidades, cada transação gerada pode incluir o controle gerado de qualquer um ou de ambos os determinados conjuntos de dados agrícolas eletrônicos associada a uma oferta, recusa ou aceitação recebido, uma quantidade (por exemplo, uma quantidade de pagamento) incluída na oferta recebida, na oferta rejeitada ou na oferta aceita, em uma hora de registro ou em uma localização que corresponde à oferta recebida, à oferta rejeitada ou à oferta aceita, entre outras coisas. Do mesmo modo, a transação pode ainda incluir qualquer porção de dados de certificação recebidos, de dados não certificados ou de outros dados associados ao conjunto de dados agrícolas certificados e/ou metadados determinados associados ao conjunto de dados agrícolas certificados.
[037] Em algumas modalidades, o nó primário 300 pode analisar as transações geradas armazenadas no livro razão distribuído (por exemplo, uma respectiva cópia da mesma) para executar uma variedade de funções que se referem ao sistema no presente documento descrito, como restringindo ou permitindo o acesso ao conjunto de dados agrícolas eletrônicos armazenados a uma ou mais contas de usuário, gerando informação analítica de uma ou mais contas de usuário, de um ou mais conjuntos de dados agrícolas eletrônicos, ou qualquer combinação dos mesmos, e/ou gerando notificações com base na determinação de que um conjunto de dados agrícolas eletrônicos foi vendido ou listado para venda no mercado de troca de dados sem permissão ou ilegalmente, entre outras coisas.
[038] Em várias modalidades, o nó primário 300 pode empregar o controle gerado de um conjunto de dados agrícolas eletrônicos, dos metadados associados e/ou de qualquer porção de dados de certificação, de dados agrícolas não certificados ou de outros dados associados, a fim de buscar e analisar as transações armazenadas no livro razão distribuído. Dessa maneira, o nó primário 300 pode identificar as transações associadas a uma oferta recebida e a uma aceitação recebido correspondente à oferta recebida, às transações associadas a uma determinada conta de usuário, às transações associadas a um determinado conjunto de dados agrícolas eletrônicos ou qualquer combinação das mesmas, a fim de facilitar a variedade de funções descritas acima.
[039] Agora com referência à Figura 2, é apresentado um diagrama de blocos que ilustra um dispositivo de coleta de dados de exemplo 200 de acordo com algumas modalidades da presente descrição. O dispositivo de coleta de dados 200 pode ser associado a um identificador único, tal como um ID de hardware, número de série, identificador eletrônico, entre outras coisas. Em algumas modalidades, o identificador único pode ser codificado no hardware e/ou no software do dispositivo de coleta de dados 200. Em algumas modalidades adicionais, o identificador único pode ser associado a uma conta de usuário, de tal modo que um mapeamento lógico ou simbólico entre os mesmos é mantido na memória de um nó, tal como o nó primário 300 da Figura 1.
[040] De acordo com várias modalidades, o dispositivo de coleta de dados 200 pode incluir pelo menos um dispositivo de computação descrito de acordo com a Figura 7 e pode ser acoplado a uma ou mais linhas de dados também acoplada a sensores, dispositivos de computação, linhas elétricas, módulos ou outras detecções de dados brutos, coleta de dados brutos e/ou componentes eletrônicos geradores de dados brutos (no presente documento indicados coletivamente como "sensores") associados a uma parte da máquina agrícola e/ou ao componentes acoplados à mesma. Em algumas modalidades, o dispositivo de coleta de dados 200 pode incluir pelo menos uma porta de entrada para receber e armazenar os dados brutos na memória (por exemplo, um dispositivo de armazenamento de dados), e pelo menos uma porta de saída para passar os dados brutos recebidos a um dispositivo de computação associado à parte da máquina agrícola. O dispositivo de coleta de dados 200 pode ainda incluir, entre outras coisas, um componente de coleta de dados brutos 210, um componente de detecção de localização 220, um componente de marcação geográfica 230 e um componente de comunicação 240.
[041] Em algumas modalidades, o componente de coleta de dados brutos 210 pode receber os dados brutos (por exemplo, dados agrícolas brutos) comunicados dos sensores para uma porta de entrada do dispositivo de coleta de dados 200. O componente de coleta de dados brutos 210 pode armazenar os dados brutos recebidos em um cache ou memória. O dispositivo de coleta de dados 200 pode ainda incluir um componente de detecção de localização 220 que pode detectar a localização física do dispositivo de coleta de dados 200. Em algumas modalidades, o componente de detecção de localização 220 pode incluir um módulo de GPS para determinar as coordenadas de GPS, uma antena Wi-Fi para detectar os sinais Wi-Fi próximos, um rádio celular para detectar as torres de telecomunicação próximas, um rádio Bluetooth para detectar os rádios Bluetooth próximos ou qualquer outra tecnologia de detecção de localização a fim de determinar uma localização precisa ou aproximada do dispositivo de coleta de dados 200.
[042] Em algumas modalidades, o dispositivo de coleta de dados 200 pode empregar o componente de detecção de localização 220 para determinar a localização do dispositivo de coleta de dados 200 de acordo com a recepção dos dados brutos através do componente de coleta de dados brutos 210. Em outras palavras, substancialmente no mesmo tempo (por exemplo, menos de 1 segundo) do recebimento de uma parte dos dados brutos através do componente de coleta de dados brutos 210, o dispositivo de coleta de dados 200 pode determinar a localização do dispositivo de coleta de dados 200 substancialmente no mesmo tempo em que a parte dos dados brutos é recebida. Em algumas modalidades, cada parte dos dados brutos e cada parte de determinada informação de localização podem apresentar o horário de registro de modo independente, de tal modo que o dispositivo de coleta de dados 200 pode associar uma parte dos dados brutos recebidos a uma parte da informação de localização determinada. A esse respeito, o dispositivo de coleta de dados 200 pode empregar um componente de marcação geográfica 230 para "marcar" (por exemplo, mapear, integrar, modificar) cada parte dos dados brutos recebidos com uma parte da informação de localização determinada. Em outras palavras, cada parte dos dados brutos recebidos pode ser marcada com a localização do dispositivo de coleta de dados 200 determinado no momento em que a parte de dados brutos foi coletada pelo dispositivo de coleta de dados 200. A esse respeito, os dados brutos recebidos marcados geograficamente pelo componente de marcação geográfica 230 e armazenados em um cache ou memória do dispositivo de coleta de dados 200 podem ser indicados no presente documento como dados agrícolas brutos coletados.
[043] Em algumas modalidades adicionais, o dispositivo de coleta de dados 200 pode incluir um componente de comunicação 240, que facilita a comunicação com fio e/ou sem fio dos dados agrícolas brutos coletados a um nó primário, tal como o nó primário 300 das Figuras 1 e 3. Em algumas modalidades, o dispositivo de coleta de dados 200 pode comunicar os dados agrícolas brutos coletados ao nó primário em tempo real, de tal modo que os dados agrícolas brutos coletados são transmitidos continuamente ou comunicados periodicamente ao nó primário. Em algumas outras modalidades, o dispositivo de coleta de dados 200 pode comunicar os dados agrícolas brutos coletados ao nó primário quando um sinal de comunicação (por exemplo, sinal de WiFi, sinal de Bluetooth, sinal de celular) está disponível ao componente de comunicação 240. A esse respeito, os dados brutos recebidos podem continuar a ser marcados geograficamente e armazenados em uma memória ou cache do dispositivo de coleta de dados 200, de tal modo que, quando o sinal de comunicação está disponível, o componente de comunicação 240 pode estabelecer um sinal com o nó primário e comunicar os dados agrícolas brutos coletados ao nó primário.
[044] Em algumas modalidades, o componente de comunicação 240 pode comunicar o identificador único associado ao dispositivo de coleta de dados 200 antes ou juntamente com qualquer porção dos dados agrícolas brutos coletados comunicados ao nó primário. Em algumas outras modalidades, o componente de marcação geográfica 230 pode incluir os metadados, incluindo o identificador único associado, quando da "marcação" dos dados brutos recebidos. Dessa maneira, o nó primário pode determinar que os dados agrícolas brutos coletados que estão sendo recebidos estão associados ao dispositivo de coleta de dados 200 e pode ainda determinar que os dados agrícolas brutos coletados que estão sendo recebidos estão associados a uma conta de usuário associada ao dispositivo de coleta de dados 200.
[045] Examinando agora a Figura 3, é apresentado um diagrama de blocos que ilustra um nó primário de exemplo 300 de acordo com algumas modalidades da presente descrição. O nó primário 300 pode incluir pelo menos um dispositivo de computação descrito de acordo com a Figura 7 e pode ainda incluir um componente de serviço de aplicativo 310 para prover as várias características que empregam as tecnologias de livros razão distribuídos facilitadas ainda pelo componente de nó 340, tal como será no presente documento descrito.
[046] Em algumas modalidades, o componente de serviço de aplicativo 310 pode incluir vários componentes que, entre outras coisas, facilita a geração de conjuntos de dados agrícolas certificados, a troca de conjuntos de dados agrícolas eletrônicos entre as contas de usuário, a geração de transações imutáveis que refletem algumas ou todas as interações detectadas que se referem a um conjunto de dados agrícolas eletrônicos, o armazenamento das transações geradas para um livro razão distribuído, tal como uma cadeia de bloco, e a análise das transações armazenadas para facilitar o acesso autorizado a um conjunto de dados agrícolas eletrônicos, a geração de dados analíticos que se referem a um conjunto de dados agrícolas eletrônicos ou a geração de notificações com base em uma troca não autorizada determinada de um conjunto de dados agrícolas eletrônicos que se refere ao sistema no presente documento descrito.
[047] O componente de serviço de aplicativo 310 pode incluir um componente de recepção de dados brutos 312 que pode receber, através de uma rede, tal como a rede 150 da Figura 1, dados agrícolas brutos coletados de um ou mais dispositivos de coleta de dados, tais como o dispositivo de coleta de dados 200 das Figuras 1 e 2. O componente de recepção de dados brutos 312 pode determinar que os dados agrícolas brutos coletados que estão sendo recebidos estão associados a uma de uma pluralidade de contas de usuário armazenadas ou registadas no nó primário 300. Em algumas modalidades, a determinação pode ser feita com base no mapeamento identificado entre uma da pluralidade de contas de usuário e um identificador único do dispositivo de coleta de dados que está sendo incluído ou associado aos dados agrícolas brutos coletados que estão sendo recebidos. Em algumas modalidades, a determinação pode ser feita com base no identificador único ou conta de usuário associada que é indicada em um handshake [aperto de mãos] entre o nó primário 300 e o dispositivo de coleta de dados, ou o mesmo que está sendo incluído nos dados agrícolas brutos coletados que estão sendo recebidos.
[048] Em algumas modalidades, o componente de recepção de dados brutos 312 pode analisar os dados agrícolas brutos coletados recebidos do dispositivo de coleta de dados de com base nas marcações associadas aos dados agrícolas brutos coletados.
[049] Em alguns aspectos, um conjunto de dados agrícolas brutos coletados pode ser codificado (por exemplo, através de uma máquina ou de um implemento do qual os dados foram coletados), de tal modo que o componente de recepção de dados brutos 312 pode decodificar, interpretar ou converter o conjunto de dados agrícolas brutos coletados a fim de gerar um conjunto interpretado de dados agrícolas brutos. A esse respeito, o conjunto interpretado de dados agrícolas brutos pode ser no presente documento indicado como dados agrícolas brutos, de acordo com algumas modalidades, e as operações executadas em um conjunto de dados agrícolas brutos podem, do mesmo modo ou alternativamente, ser executadas no conjunto interpretado de dados agrícolas brutos. Em virtude dos dados agrícolas brutos coletados que estão sendo marcados geograficamente, o componente de recepção de dados brutos 312 pode selecionar uma porção dos dados agrícolas brutos recebidos do dispositivo de coleta de dados a fim de gerar um conjunto de dados agrícolas brutos que correspondem a uma tarefa comum (por exemplo, uma tarefa de trabalho) realizada com a máquina agrícola. Em alguns aspectos, o componente de recepção de dados brutos 312 pode fatorar a informação de localização e/ou a hora do registro associadas aos dados agrícolas brutos recebidos do dispositivo de coleta de dados e/ou interpretadas pelo componente de recepção de dados brutos 312, de tal modo que tanto a localização quanto o tempo são considerados para identificar as partes relacionadas dos dados agrícolas brutos coletados. Em alguns aspectos, as partes relacionadas dos dados agrícolas brutos podem ser identificadas automaticamente (por exemplo, com base na hora do registro e/ou na localização que são determinadas como substancialmente contínuas) ou manualmente (por exemplo, com base em entradas fornecidas, tais como a hora do registro e/ou os dados de localização recebidos através de um dispositivo cliente ou sensor). Dessa maneira, um ou mais conjuntos de dados agrícolas brutos associados a uma conta de usuário podem ser determinados, cada um sendo relacionado a uma área particular ou locus geográfico, período de tempo, tarefa realizada por um usuário (por exemplo, fazendeiro) associados à conta de usuário e à máquina agrícola acoplada ao dispositivo de coleta de dados, entre outras coisas.
[050] Em algumas modalidades, o componente de serviço de aplicativo 310 pode incluir um componente de interface com o usuário 314 para gerar uma interface gráfica de usuário ou elementos GUI, que são comunicados e disponibilizados para exibição por um dispositivo cliente associado a uma conta de usuário, tal como o dispositivo cliente 500 da Figura 1. Em algumas modalidades adicionais, a GUI pode incluir uma página da web e os elementos GUI podem incluir texto ou elementos gráficos da mesma. Em algumas outras modalidades, o dispositivo cliente pode incluir um aplicativo de computador adaptado à interface com o componente de serviço de aplicativo 310. A esse respeito, o componente de serviço de aplicativo 310 pode gerar os dados de saída que são comunicados e disponibilizados para exibição pelo dispositivo cliente através do aplicativo de computador.
[051] Em alguns aspectos, o componente de interface com o usuário 314 pode receber as entradas, obtidas através da GUI e comunicadas pelo dispositivo cliente. O componente de interface com o usuário 314 também pode gerar as saídas a ser comunicadas e disponibilizadas para exibição pelo dispositivo cliente através da GUI exibida. De acordo com as várias modalidades no presente documento descritas, o componente de interface com o usuário 314 pode ser empregado por qualquer componente do nó primário 300 para gerar e fornecer saídas a um dispositivo cliente ou receber as entradas comunicadas pelo dispositivo cliente. Para este fim, um conjunto determinado de dados agrícolas brutos associados a uma conta de usuário pode ser disponibilizado para exibição a um dispositivo cliente que é associado à conta de usuário em um formato gráfico.
[052] Em alguns exemplos, um conjunto de dados agrícolas brutos determinados pelo componente de recepção de dados brutos 312 pode ser sobreposto em um mapa ou representação gráfica de uma região geográfica que é determinada para corresponder à informação de localização incluída no conjunto determinado de dados agrícolas brutos. Em alguns aspectos, um cronograma que corresponde a um período de tempo em que o conjunto determinado de dados agrícolas brutos foi recebido do dispositivo de coleta de dados pode ser disponibilizado para exibição através da GUI.
[053] Em algumas modalidades, o componente de serviço de aplicativo 310 pode incluir um componente de certificação de conjunto de dados 316. O componente de certificação de conjunto de dados 316 pode ser empregado pelo componente de serviço de aplicativo 310 para gerar, entre outras coisas, um conjunto de dados agrícolas certificados associados a uma conta de usuário com base em um conjunto selecionado de dados agrícolas brutos associados à conta de usuário, e os dados de certificação e/ou outros dados associados (por exemplo, dados não certificados, metadados) recebidos de um dispositivo cliente associado à conta de usuário. A título de um exemplo não limitador, o componente de interface com o usuário 314 pode apresentar, através de uma GUI, um ou mais conjuntos determinados de dados agrícolas brutos associados a uma conta de usuário. O componente de interface com o usuário 314 pode receber uma seleção que corresponde a um conjunto determinado particular de dados agrícolas brutos, gerando desse modo um alerta da GUI para receber os dados de certificação e/ou outros dados associados ao conjunto selecionado de dados agrícolas brutos coletados. Um usuário associado à conta de usuário pode empregar um dispositivo cliente associado para fazer o upload dos dados de certificação correspondentes e/ou outros dados associados ao nó primário 300, de tal modo que o componente de certificação de conjunto de dados 316 pode gerar um conjunto de dados agrícolas certificados associado à conta de usuário com base no conjunto selecionado de dados agrícolas brutos e nos dados de certificação recebidos e/ou em outros dados associados. Em algumas modalidades adicionais, o componente de certificação de conjunto de dados 316 pode armazenar o conjunto de dados agrícolas certificado gerados em uma memória ou armazenamento de dados seguro, tal como o armazenamento de dados 350 da Figura 1. Uma vez que um conjunto de dados agrícolas certificados é gerado em associação a uma conta de usuário, o componente de certificação de conjunto de dados 316 pode sinalizar o conjunto de dados agrícolas certificados como sendo elegível para listagem em um mercado de troca de dados, como será descrito de acordo com o componente de troca de conjunto de dados 322. Em algumas modalidades adicionais, deve ser considerado que qualquer tipo de conjuntos de dados agrícolas eletrônicos associados à conta de usuário e no presente documento descritos podem ser selecionados e sinalizados como sendo elegíveis para a listagem, além de quaisquer outras operações descritas que podem ser realizadas, por exemplo, em um conjunto de dados agrícolas certificados.
[054] Em algumas modalidades, o componente de serviço de aplicativo 310 pode incluir um componente gerador de controle 318 que determina e gera um controle para qualquer conjunto de dados agrícolas eletrônicos, entre outras coisas. O componente gerador de controle 318 pode empregar um algoritmo de controle criptográfico, tal como o SHA 256, que pode receber uma parte de dados (por exemplo, conjuntos de dados agrícolas eletrônicos) como entrada e gerar uma saída (por exemplo, um controle) que representa uma impressão digital da entrada. Em várias modalidades, qualquer tipo de algoritmo de controle criptográfico pode ser empregado, contanto que o algoritmo gere saídas determinísticas (por exemplo, a mesma entrada sempre gera a mesma saída), não requeira muitos recursos, gere saídas irreversíveis (por exemplo, a entrada não pode ser regenerada com base na saída), gere controles não correlacionados (por exemplo, pequenas mudanças na entrada geram saídas significativamente diferentes) e gere controles únicos para cada entrada (por exemplo, inviável gerar uma saída comum com base em entradas diferentes). Em várias modalidades, o componente de serviço de aplicativo 310 pode empregar o componente gerador de controle 318 para gerar um controle para um conjunto de dados agrícolas eletrônicos em resposta, entre outras coisas, a recepção, obtenção, certificação, geração e/ou armazenamento do conjunto de dados agrícolas eletrônicos.
[055] Em algumas modalidades, o componente de serviço de aplicativo 310 pode incluir um componente gerador de transação 320 que gera uma transação (por exemplo, um conjunto de dados eletrônicos) que pode ser armazenada em um livro razão distribuído mantido por uma pluralidade de nós. Dessa maneira, o livro razão distribuído pode gravar cada transação associada a um conjunto de dados agrícolas eletrônicos de forma imutável. O componente gerador de transação 320 pode incluir dados dentro de uma transação gerada com base em uma ou mais operações realizadas ou em associação com um conjunto de dados agrícolas eletrônicos associado a uma conta de usuário, entre outras coisas. Em alguns aspectos, o componente gerador de transação 320 pode assinar digitalmente (por exemplo, com uma assinatura digital) uma transação gerada com uma chave privada. Em alguns exemplos, a chave privada pode ser associada a uma entidade associada ao armazenamento de dados, tal como o armazenamento de dados 350 da Figura 1, em que qualquer um ou mais conjuntos de dados agrícolas eletrônicos é armazenado. Em alguns outros exemplos, a chave privada pode ser associada a uma conta de usuário associada a uma operação que está sendo executada ou em associação a um conjunto de dados agrícolas eletrônicos. Em outras palavras, uma operação executada ou em associação a um conjunto de dados agrícolas eletrônicos, iniciada por um dispositivo cliente associado a uma conta de usuário, pode fazer com que o componente gerador de transação 320 gere uma transação que seja assinada digitalmente com uma chave privada associada à conta de usuário. Deve ser considerado que uma ou mais chaves privadas são armazenadas de modo seguro pelo nó primário 300, embora a(s) chave(s) privada(s) também possa(m) ser armazenada(s) no armazenamento de dados ou possa(m) ser provida(s) por um dispositivo cliente associado a uma conta de usuário e a uma chave privada.
[056] Em algumas modalidades adicionais, uma transação gerada pelo componente gerador de transação 320 com base em uma operação executada ou em associação com um conjunto de dados agrícolas eletrônicos pode incluir, entre outras coisas, um controle gerado do conjunto de dados agrícolas eletrônicos (por exemplo, o controle gerado pelo componente gerador de controle 318), uma ou mais porções do conjunto de dados agrícolas eletrônicos e/ou os metadados associados ao conjunto de dados agrícolas eletrônicos. Em um exemplo não limitador, o componente gerador de transação 320 pode gerar uma transação (por exemplo, um conjunto de dados eletrônicos) com base no conjunto de dados agrícolas certificados que está sendo gerado. A esse respeito, a transação gerada pode ser assinada digitalmente com uma chave privada, tal como uma chave privada associada a uma conta de usuário do conjunto de dados agrícolas certificados (por exemplo, a conta de usuário associada ao dispositivo de coleta de dados do qual os dados agrícolas brutos coletados utilizados para gerar o conjunto de dados agrícolas certificados foram recebidos).
[057] Em outro aspecto, o componente gerador de transação 320 pode gerar uma transação (por exemplo, um conjunto de dados eletrônicos) com base em uma operação que está sendo executada em associação com o conjunto de dados agrícolas eletrônicos. Por exemplo, a listagem de um conjunto de dados agrícolas eletrônicos (por exemplo, através do componente de troca de conjunto de dados 322) pode fazer com que uma transação seja gerada pelo componente gerador de transação 320. Em outro exemplo, uma oferta recebida ou uma oferta aceita associada a um conjunto de dados agrícolas eletrônicos listado (por exemplo, através do componente de troca de conjunto de dados 322) podem fazer com que uma transação seja gerada pelo componente gerador de transação 320. Em outro exemplo, cada vez que um conjunto de dados agrícolas eletrônicos é determinado para que seja acessado por uma conta de usuário, ele pode fazer com que uma transação seja gerada pelo componente gerador de transação 320. Em vários exemplos, cada uma das transações anteriores pode ser assinada digitalmente por uma chave privada de uma conta de usuário responsável por fazer com que a operação (por exemplo, listagem, oferta, aceitação, acesso) seja realizada, ou pode ainda incluir uma referência à conta de usuário responsável. Em alguns aspectos, a natureza da operação também pode ser indicada em uma transação gerada, de tal modo que a transação gerada pode descrever por que a transação foi gerada (por exemplo, com base nas operações realizadas no conjunto de dados agrícolas eletrônicos, na listagem do conjunto de dados agrícolas eletrônicos, em uma oferta recebida, em uma oferta aceita que teve uma oferta recebida, no conjunto de dados agrícolas eletrônicos que está sendo acessado). Nas várias modalidades, a geração de um componente gerador de transação a transação 320 pode fazer com que a transação gerada seja comunicada automaticamente a um ou mais nós de uma pluralidade de nós configurados para manter um livro razão distribuído. Tal como será descrito, os nós podem obter uma transação comunicada e armazenar a mesma no livro razão distribuído.
[058] Em algumas modalidades, o componente de serviço de aplicativo 310 pode incluir um componente de troca de conjunto de dados 322 que pode empregar os aspectos do componente de interface com o usuário 314 para facilitar a listagem, a compra, a venda e/ou o licenciamento dos conjuntos de dados agrícolas eletrônicos entre as contas de usuário. Em um aspecto, o componente de troca de conjunto de dados 322 pode disponibilizar para exibição e facilitar, entre outras coisas, um mercado de troca de dados, onde um conjunto de dados agrícolas eletrônicos associado a uma conta de usuário pode ser listado para venda ou licenciamento no mercado de troca de dados com base na entrada recebida de um dispositivo cliente associado à conta de usuário.
[059] Em um outro aspecto, o componente de troca de conjunto de dados 322 pode incluir um mecanismo de busca que pode receber um ou mais parâmetros de busca de um dispositivo cliente associado a uma conta de usuário. Com base no(s) parâmetro(s) de busca recebido(s), o componente de troca de conjunto de dados 322 pode gerar uma consulta de busca para procurar os conjuntos de dados agrícolas eletrônicos listados através do componente de troca de conjunto de dados 322. A esse respeito, o componente de troca de conjunto de dados 322 pode identificar um conjunto dos conjuntos de dados agrícolas eletrônicos armazenados que são sinalizados para listagem e que também correspondem à consulta de busca. O componente de troca de conjunto de dados 322 pode ainda gerar um resultado de busca que inclui o conjunto de dados agrícolas eletrônicos identificado. O componente de troca de conjunto de dados 322 pode comunicar o resultado de busca gerado ao dispositivo cliente, do qual um ou mais parâmetros de busca foram recebidos, de tal modo que eles são disponibilizados para exibição pelo dispositivo cliente.
[060] Em um outro aspecto, o componente de troca de conjunto de dados 322 pode receber um comando associado a um conjunto de dados agrícolas eletrônicos selecionado dentre um ou mais dos mesmos, disponibilizado para exibição por um dispositivo cliente associado a uma conta de usuário. O comando pode incluir uma solicitação a fim de gerar uma oferta para o conjunto de dados agrícolas eletrônicos selecionado, gerar uma resposta para recusar a oferta para o conjunto de dados agrícolas eletrônicos selecionado ou gerar uma resposta para aceitar a oferta para o conjunto de dados agrícolas eletrônicos selecionado. Deve ser considerado que as solicitações recebidas para gerar as ofertas são recebidas dos dispositivos cliente associados às contas de usuário interessadas em comprar ou licenciar um conjunto de dados agrícolas eletrônicos selecionado, enquanto as solicitações recebidas para recusar ou aceitar as ofertas são recebidas dos dispositivos cliente associados às contas de usuário associadas aos conjuntos de dados agrícolas eletrônicos para os quais as solicitações de gerar ofertas foram recebidas.
[061] Em algumas modalidades, o componente de troca de conjunto de dados 322 pode gerar uma notificação que é comunicada a um dispositivo cliente associado a uma conta de usuário do conjunto de dados agrícolas eletrônicos para o qual uma oferta foi recebida. Por outro lado, em algumas modalidades, o componente de troca de conjunto de dados 322 pode gerar uma notificação que é comunicada a um dispositivo cliente associado a uma conta de usuário da oferta recebida para a qual uma recusa ou uma aceitação foram recebidos. Em algumas modalidades adicionais, para qualquer conjunto de dados agrícolas eletrônicos para o qual uma oferta é recebida e uma aceitação da oferta também é recebido, o componente de troca de conjunto de dados 322 pode ainda associar o conjunto de dados agrícolas eletrônicos à conta de usuário associada à oferta recebida. Em outras palavras, uma conta de usuário que compra ou licencia um conjunto de dados agrícolas eletrônicos através do componente de troca de conjunto de dados 322 pode ter acesso concedido aos conjuntos de dados agrícolas eletrônicos. Tal como será descrito, o acesso a um conjunto de dados agrícolas eletrônicos pode ser determinado com base nas transações geradas e armazenadas em um livro razão distribuído, tendo em vista os comandos recebidos através do componente de troca de conjunto de dados 322.
[062] Em algumas modalidades, o componente de troca de conjunto de dados 322 pode gerar um identificador de recurso uniforme ou "URI" (por exemplo, um URL, um link, um indicador, um caminho) que corresponde a uma localização a partir da qual um conjunto de dados agrícolas eletrônicos pode ser acessado. Em alguns aspectos, um URI único pode ser gerado para cada conta de usuário com acesso concedido a um conjunto de dados agrícolas eletrônicos, tal como uma conta de usuário associada a uma oferta que foi aceita. A esse respeito, cada conta de usuário que tem acesso a um conjunto de dados agrícolas eletrônicos pode acessar o conjunto de dados agrícolas eletrônicos através de seu respectivo URI gerado. Em alguns aspectos, uma interface apresentada em virtude do acesso do URI pode ainda incluir um alerta para receber as credenciais (por exemplo, conta de usuário, senha) associadas ao URI a fim de facilitar o acesso aos conjuntos de dados agrícolas eletrônicos. Tal como será descrito, as características detectadas de um dispositivo cliente que acessa o URI, incluindo as tentativas de registro bem-sucedidas ou com falha ao mesmo, podem ser obtidas e registradas em um livro razão distribuído por um componente de registro 328.
[063] Em algumas modalidades, o componente de serviço de aplicativo 310 pode incluir um componente de análise de livro razão 324 que busca, analisa e examina as transações (por exemplo, conjunto de dados eletrônicos) armazenadas em um livro razão distribuído e determinadas a corresponder a um ou mais parâmetros providos (por exemplo, um controle, uma porção de dados de certificação e/ou outros dados associados, metadados, uma conta de usuário, uma localização, um período de tempo, natureza ou tipo de operação correspondente). Em alguns aspectos, o componente de análise de livro razão 324 pode gerar uma representação gráfica das transações determinadas a corresponder ao(s) parâmetro(s) provido(s). A representação gráfica pode ser provida na forma de uma linha do tempo, uma árvore, uma lista, uma tabela ou um gráfico, entre outras coisas. O componente de serviço de aplicativo 310 pode empregar o componente de interface com o usuário 314 para exibir a representação gráfica gerada a um ou mais dispositivos cliente associados às transações analisadas. Em outras palavras, uma conta de usuário associada a um conjunto de dados agrícolas eletrônicos pode acessar a informação analítica gerada que corresponde aos conjuntos de dados agrícolas eletrônicos. Entre outras coisas, a informação analítica gerada pode prover detalhes que se referem a todas as operações executadas ou associadas a um conjunto de dados agrícolas eletrônicos acessível a uma conta de usuário. Dessa maneira, um usuário pode empregar um dispositivo cliente associado para visualizar uma linha do tempo de procedência de todas as operações associadas ao seu conjunto de dados agrícolas eletrônicos. Deve ser considerado que, em algumas circunstâncias, qualquer uma ou mais contas de usuário e/ou dispositivos cliente associados podem ser associados a um conjunto de dados agrícolas eletrônicos, não necessariamente limitados a se a conta de usuário e/ou o dispositivo cliente associado estavam associados a uma transação de mercado ou ao dispositivo de coleta de dados do qual um conjunto de dados agrícolas brutos foi recebido. Por exemplo, um terceiro ou outra entidade associada a uma conta de usuário que faz o upload dos dados agrícolas brutos em outro nome de usuário podem ter acesso concedido aos conjuntos de dados agrícolas eletrônicos. Desse modo, deve ser considerado que o outro usuário ou administrador podem definir as permissões para o terceiro ou entidade a esse respeito. Dessa maneira, uma ou mais contas de usuário podem ser associadas a um conjunto de dados agrícolas eletrônicos.
[064] Em algumas modalidades, o componente de serviço de aplicativo 310 pode incluir um componente de segurança 326 que determina se uma conta de usuário pode ter acesso autorizado a um conjunto de dados agrícolas eletrônicos. Em alguns aspectos, o componente de segurança 326 pode empregar o componente de análise de livro razão 324 para buscar e identificar todas as transações armazenadas que incluem uma referência à conta de usuário e/ou que são assinadas digitalmente com uma chave privada associada à conta de usuário. O componente de análise de livro razão 324 pode analisar todas as transações com base nos parâmetros anteriores, cada uma sendo associada diretamente a uma conta de usuário (por exemplo, o transacionado foi gerado com base em uma ou mais entradas de um dispositivo cliente associado à conta de usuário) ou associada indiretamente a uma conta de usuário (por exemplo, o transacionado não foi gerado em associação à conta de usuário, mas incluindo uma referência à conta de usuário).
[065] Desse modo, o componente de segurança 326 pode identificar as transações geradas com base nas operações (por exemplo, recebimento, certificação, geração, armazenamento) executadas em um conjunto de dados agrícolas eletrônicos, em um comando recebido a fim de gerar uma oferta para um conjunto de dados agrícolas eletrônicos, em um comando recebido a fim de aceitar uma oferta para um conjunto de dados agrícolas eletrônicos associado, em um comando recebido a fim de rejeitar uma oferta para um conjunto de dados agrícolas eletrônicos associado ou em uma solicitação recebida a fim de acessar um conjunto de dados agrícolas eletrônicos, entre outras.
[066] Em várias modalidades, o componente de segurança 326 pode receber, de um dispositivo cliente associado a uma conta de usuário, uma solicitação para acessar um conjunto de dados agrícolas eletrônicos. O componente de segurança 326 pode identificar, a partir de uma tabela armazenada de controles gerados mapeados a um ou mais conjuntos de dados agrícolas eletrônico, ou pode gerar, o controle do conjunto de dados agrícolas eletrônicos. O componente de segurança 326 pode identificar todas as transações armazenadas e analisar aquelas transações que incluem o(s) controle(es).
[067] Em uma modalidade, o componente de segurança 326 pode estabelecer que uma determinada transação dentre as transações analisadas é uma transação armazenada associada inicialmente a um conjunto de dados agrícolas eletrônicos. Isto é, de todas as transações analisadas, uma determinada transação é identificada como sendo a primeira no tempo, ou como tendo a hora de registro inicial incluída na mesma. O componente de segurança 326 pode estabelecer que essa transação determinada também é associada diretamente à conta de usuário. Em outras palavras, a transação determinada foi assinada digitalmente com uma chave privada da conta de usuário ou inclui uma indicação de que o conjunto de dados agrícolas certificados foi gerado com base nos dados de certificação recebidos pela conta de usuário. Dessa maneira, o componente de segurança 326 pode estabelecer que a conta de usuário pode acessar o conjunto de dados agrícolas eletrônicos, porque a conta de usuário é determinada pelo proprietário original do conjunto de dados agrícolas eletrônicos. Desse modo, o componente de segurança 326 pode permitir o acesso ao conjunto de dados agrícolas eletrônicos pela conta de usuário.
[068] Em outra modalidade, o componente de segurança 326 pode estabelecer que a primeira transação no tempo não está associada diretamente a uma conta de usuário em particular, ou, em outras palavras, a conta de usuário determinada não é a proprietária original do conjunto de dados agrícolas eletrônicos. Dessa maneira, o componente de segurança 326 pode identificar, a partir das transações analisadas, um subconjunto de transações que esteja direta ou indiretamente associado à conta de usuário. Isto é, o componente de segurança 326 pode identificar as transações que foram geradas com base nas ofertas recebidas, associadas à conta de usuário, para comprar ou licenciar o conjunto de dados agrícolas eletrônicos. O componente de segurança 326 também pode identificar as transações que foram geradas com base nas rejeições ou nas aceitações recebidas (isto é, em relação à oferta recebida), determinando que um ou mais subconjuntos de transações incluam referências à oferta recebida ou referências à transação gerada que corresponde à oferta recebida. Se o componente de segurança 326 determinar que uma transação indiretamente associada foi gerada com base em uma aceitação recebido a uma oferta recebida da conta de usuário, ou, em outras palavras, uma oferta para comprar ou licenciar o conjunto de dados agrícolas eletrônicos da conta de usuário foi aceita por uma outra conta de usuário que possui o conjunto de dados agrícolas eletrônicos, então o componente de segurança 326 pode determinar que a conta de usuário pode acessar o conjunto de dados agrícolas eletrônicos e, desse modo, permitir o acesso ao conjunto de dados agrícolas eletrônicos pela conta de usuário.
[069] Em algumas modalidades, o componente de serviço de aplicativo 310 pode incluir um componente de registro 328 que pode empregar pelo menos um dentre o componente de segurança 326, o componente de interface com o usuário 314 e o componente gerador de transação 320 a fim de gerar uma transação com base em cada tentativa detectada de acessar um conjunto de dados agrícolas eletrônicos armazenado. Em várias modalidades, a tentativa de acessar um conjunto de dados agrícolas eletrônicos armazenado pode ser detectada com base em um URI que corresponde ao conjunto de dados agrícolas eletrônicos armazenado, tal como um URI gerado pelo componente de troca de conjunto de dados 322, que está sendo acessado por um dispositivo cliente, tal como o dispositivo cliente 500 da Figura 1. Tal como deve ser notado acima, as características do dispositivo cliente que acessa o URI podem ser detectadas pelo componente de registro 328. Por exemplo, o componente de registro 328 pode empregar o componente gerador de transação 320 a fim de gerar uma transação para cada tentativa de registro bem ou malsucedida. Cada transação gerada pode incluir, entre outras coisas, uma indicação de que a tentativa de acesso foi bem ou malsucedida, um URI associado à tentativa, um endereço IP ou outras características do dispositivo cliente associados à tentativa, as credenciais recebidas durante a tentativa e a duração ou outras características associadas à sessão estabelecida para a tentativa. Em algumas modalidades, as transações geradas pelo componente de registro 328 podem ser armazenadas no livro razão distribuído de acordo com o componente de nó 340, tal como será descrito.
[070] Em algumas modalidades, o componente de serviço de aplicativo 310 pode incluir um componente de detecção de conflito 330 que determina se um determinado conjunto de dados agrícolas eletrônicos foi utilizado de maneira não autorizada. Por exemplo, o componente de detecção de conflito 330 pode empregar o componente gerador de controle 318 a fim de gerar um controle de um determinado conjunto de dados agrícolas eletrônicos, tal como uma que pode ser listada em um mercado de troca de dados, ou mesmo disponível em um website de terceiros ou em um mercado, e comparar o controle gerado com os controles gerados para o conjunto de dados agrícolas eletrônicos armazenado pelo nó primário 300, tais como os conjuntos de dados agrícolas brutos, os dados agrícolas não certificados e/ou os conjuntos de dados agrícolas certificados armazenados no armazenamento de dados 350 da Figura 1, por exemplo.
[071] Em um aspecto, o componente de detecção de conflito 330 pode determinar que um primeiro conjunto de dados agrícolas eletrônicos que foi recebido e/ou gerado recentemente (por exemplo, com base nos dados de certificação recebidos e/ou em outros dados associados) é idêntico ao segundo conjunto de dados agrícolas eletrônicos anteriormente recebido e/ou gerado. Dessa maneira, o componente de detecção de conflito 330 pode cancelar a geração, ou apagar, o primeiro conjunto de dados agrícolas eletrônicos. O componente de detecção de conflito 330 pode ainda gerar uma notificação que é provida a uma ou mais contas de usuário associadas ao segundo conjunto de dados agrícolas eletrônicos, tais como as contas de usuário do proprietário original e/ou as contas de usuário do comprador ou do licenciado, indicando que uma tentativa de gerar uma cópia do conjunto de dados agrícolas eletrônicos foi detectada.
[072] Em outro aspecto, o componente de detecção de conflito 330 pode determinar que um primeiro conjunto de dados agrícolas eletrônicos listado em um mercado de troca de dados, tal como um possibilitado pelo componente de troca de dados 322, é idêntico a um segundo conjunto de dados agrícolas eletrônicos já listado no mercado de troca de dados. A esse respeito, o componente de detecção de conflito 330 pode detectar os conjuntos de dados agrícolas eletrônicos idênticos e gerar uma notificação que é provida a qualquer uma das contas de usuário do proprietário original, contas de usuário do comprador ou do licenciado, conta de usuário associada ao primeiro ou ao segundo conjunto de dados agrícolas eletrônicos ou conta de administrador. Em alguns exemplos, o componente de detecção de conflito 330 pode empregar o componente de análise de livro razão 324 para determinar se uma primeira conta de usuário associada a um primeiro conjunto de dados agrícolas eletrônicos ou uma segunda conta de usuário associada ao segundo conjunto de dados agrícolas eletrônicos é a proprietária original do primeiro e do segundo conjunto de dados agrícolas eletrônicos correspondente. A esse respeito, a assinatura digital de uma primeira ou segunda conta de usuário, ou uma referência à mesma, incluída em uma transação inicial no tempo, também inclui um controle do primeiro e do segundo conjunto de dados agrícolas eletrônicos correspondentes, pode ser identificada a fim de determinar que uma conta de usuário é autorizada a listar o conjunto de dados agrícolas eletrônicos. Em outras palavras, a conta de usuário associada à transação inicial no tempo que inclui o controle do primeiro e do segundo conjuntos de dados agrícolas eletrônicos pode ser determinada como uma conta de listagem autorizada, de tal modo que o componente de detecção de conflito 330 remove a listagem associada à outra conta de listagem não autorizada determinada.
[073] Em alguns aspectos, o componente de detecção de conflito 330 pode receber, através do componente de interface com o usuário 314, um conjunto de dados agrícolas eletrônicos ou um URI para um conjunto de dados agrícolas eletrônicos armazenado remotamente como uma entrada. A esse respeito, a entrada é provida por um dispositivo cliente, de modo que o componente de detecção de conflito 330 pode determinar se o conjunto de dados agrícolas eletrônicos, recebido através da entrada ou recuperado através do URI de entrada, é uma cópia não autorizada de outro conjunto de dados agrícolas eletrônicos armazenado pelo nó primário 300. Dessa maneira, o componente de detecção de conflito 330 pode empregar o componente gerador de controle 318 a fim de gerar um controle do conjunto de dados agrícolas eletrônicos recebido ou recuperado, comparar o controle gerado aos controles dos conjuntos de dados agrícolas eletrônicos armazenados e determinar se há uma correspondência entre eles. No caso em que uma correspondência é determinada, o componente de detecção de conflito 330 pode gerar uma notificação indicando a mesma. Para essa finalidade, o usuário pode empregar um dispositivo cliente associado a fim de acessar o componente de detecção de conflito 330, através do componente de interface com o usuário 314, e determinar se um determinado conjunto de dados agrícolas eletrônicos é uma cópia não autorizada de seu próprio conjunto de dados agrícolas eletrônicos. Além disso, o usuário pode consultar o livro razão distribuído a fim de prover vários tipos de prova imutável (por exemplo, tempo, localização) de que o conjunto de dados agrícolas eletrônicos foi originalmente carregado e/ou de que foi gerado pelo usuário.
[074] Em várias modalidades, o nó primário 300 também pode incluir um componente de nó 340 que pode se comunicar com os componentes de nó de outros nós, tais como o nó secundário 380 da Figura 1, a fim de permitir a manutenção conjunta de um livro razão distribuído com os outros nós. O componente de nó 340 pode, entre outras coisas, identificar e estabelecer conexões com outros nós de uma pluralidade de nós, o que inclui o nó primário 300 e uma pluralidade de nós secundários, tais como o nó secundário 380 da Figura 1. O componente de nó 340 pode incluir, entre outras coisas, um componente de consenso de conjunto de dados 342, que é descrito agora com referência à Figura 4.
[075] Em referência à Figura 4, é apresentada uma representação esquemática que ilustra uma rede de livros razão distribuídos de exemplo 400 que compreende pelo menos um nó primário 300 e uma pluralidade de nós secundários 380a, 380b, 380c, em que algumas modalidades da presente descrição podem ser empregadas. A rede de livros razão distribuídos 400 descrita na Figura 4 inclui uma pluralidade de nós 300, 380a-c, que pode incluir o dispositivo de computação descrito de acordo com a Figura 7, e cada um está em comunicação com uma ou mais da pluralidade de nós através da rede 150, como é descrito de acordo com a Figura 1. Em algumas modalidades, e de preferência para implementação de uma cadeia de bloco pública, cada nó 300, 380a-c, na rede de livros razão distribuídos 400, geralmente pode operar como um par em relação a cada outro nó a fim de manter um livro razão distribuído, tal como uma cadeia de bloco, de tal modo que nenhum nó seja mais influente ou poderoso do que qualquer outro nó 300, 380a-c, com a finalidade de manter o livro razão distribuído. As operações executadas pelos nós podem incluir, entre outras coisas, o envio e a recepção de transações (por exemplo, conjunto de dados eletrônicos), as transações de validação, a verificação de blocos de transações e a adição de transações a um livro razão imutável que é mantido coletivamente pelos nós 300, 380a-c, e uma cópia do mesmo é armazenada respectivamente em uma memória de cada nó.
[076] No entanto, deve ser considerado que, em algumas modalidades, um subconjunto particular de nós, tais como o nó primário 300, pode ser designado especificamente para a realização de mais operações do que aquelas que serão descritas de acordo com o componente de consenso de conjunto de dados 342. A esse respeito, ao contrário das modalidades onde cada nó é um par absoluto com outros nós, algumas modalidades podem empregar "nós especialmente privilegiados" ou "nós não privilegiados" (de preferência para cadeia de blocos privadas ou ecossistemas onde a centralização não é uma preocupação) que realizam mais operações do que aquelas geralmente descritas de acordo com a Figura 4, tais como aquelas descritas de acordo com o componente de serviço de aplicativo 310 da Figura 3.
[077] Em algumas modalidades, o livro razão imutável mantido coletivamente pelos nós 300, 380a-c é indicado no presente documento como uma cadeia de bloco. A cadeia de bloco mantida pela rede de livros razão distribuídos 400 armazena na mesma uma pluralidade de transações (por exemplo, conjunto de dados eletrônicos), tais como as transações eletrônicas geradas pelo componente gerador de transação 320 da Figura 3, que são imutáveis em virtude da natureza distribuída da rede de livros razão distribuídos 400, dos conceitos de criptografia aplicados e do componente de consenso de conjunto de dados 342 que é incluído independentemente em cada um dos nós 300, 380a-c. Em uma rede de livros razão distribuídos tradicional, qualquer nó pode gerar uma transação a ser adicionada à cadeia de bloco. De acordo com algumas modalidades no presente documento descritas, um nó primário 300 gera as transações a ser adicionadas à cadeia de bloco. Dessa maneira, cada nó pode incluir um componente de consenso de conjunto de dados 342 que impõe uma regra reforçada de processador, por meio da qual uma transação só pode ser adicionada à cadeia de bloco com base na determinação de que um consenso (por exemplo, uma maioria, uma supermaioria, uma unanimidade) de nós 300, 380a-c validou coletivamente a transação. A esse respeito, embora cada nó 300, 380a-c possa armazenar independentemente uma cópia da cadeia de bloco, a transação só pode ser adicionada à cadeia de bloco quando foi determinado um consenso para adicionar a transação alcançado pelos nós 300, 380a-c da rede de livros razão distribuídos 400.
[078] Em algumas modalidades, a validação de uma transação é possibilitada pela utilização das características da criptografia de chave assimétrica (isto é, pares de chaves público-privadas), entre outras coisas. Em alguns aspectos, como geralmente é conhecido nas cadeia de blocos públicas (por exemplo, Bitcoin, Ethereum), uma chave privada pode ser empregada para gerar uma ou mais chaves públicas associadas, criptografar os dados que só podem ser decriptografados por uma chave pública associada e/ou assinar digitalmente os dados ou as transações. Por outro lado, uma chave pública pode ser empregada para decriptografar os dados criptografados por uma chave privada associada, criptografar os dados que só a chave privada pode decriptografar e/ou autenticar digitalmente uma assinatura digital gerada por uma chave privada associada.
[079] Em várias modalidades, uma transação gerada por um nó, tal como o nó primário 300, pode ser comunicada do nó a um ou mais nós da rede de livros razão distribuídos 400. Em algumas modalidades, a transação recebida por um nó, tal como o nó secundário 380a da Figura 4, pode ser passada a outro nó, tal como o nó secundário 380b da Figura 4. Do mesmo modo, o nó secundário 380b pode passar a transação recebida a outro nó, tal como o nó secundário 380c da Figura 4. A esse respeito, uma transação comunicada de um nó a outro nó da rede de livros razão distribuídos 400 pode ser passada a outros nós até que a transação se propague por toda a rede de livros razão distribuídos 400. Em algumas modalidades, no entanto, uma transação não é finalizada (isto é, adicionada à cadeia de bloco) até que a transação seja validada por um consenso de nós 300, 380a-c na rede de livros razão distribuídos 400.
[080] Em algumas modalidades, um nó 380, 380a-c pode validar uma transação recebida com base na determinação de que a transação foi assinada digitalmente por uma chave privada conhecida ou autorizada, tal como uma associada ao nó primário 300 ou associada a uma conta de usuário autorizada. Em alguns aspectos, cada nó da rede de livros razão distribuídos 400 pode determinar que uma transação foi assinada digitalmente com uma chave privada associada ao nó primário 300 com base em uma chave pública provida ou identificada do nó primário 300. Em algumas implementações, uma chave pública do nó primário pode ser definida em cada componente de consenso de conjunto de dados 342, ou pode ser definida na cadeia de bloco a ser determinada facilmente por qualquer nó da rede de livros razão distribuídos 400. Em alguns outros aspectos, cada nó da rede de livros razão distribuídos 400 pode determinar que uma transação foi assinada digitalmente com uma chave privada associada a uma conta de usuário autorizada com base na chave pública de cada conta de usuário que está sendo compartilhada de modo seguro (por exemplo, comunicada) entre os nós 300, 380a-c da rede de livros razão distribuídos 400.
[081] Se um nó 300, 380a-c na rede de livros razão distribuídos 400 determinar que uma transação não é válida (isto é, não é uma transação autorizada), a transação é determinada como inválida pelo nó e a transação não é passada (por exemplo, comunicada) a outros nós aos quais é conectada. Por outro lado, se um nó 300, 380a-c determinar que uma transação é válida (isto é, é assinada com uma chave autorizada), o nó passa (por exemplo, comunica) a transação, junto com a indicação de que o nó validou independentemente a transação, a qualquer outro nó 300, 380a-c ao qual é conectada. Como os nós 300, 380a-c na rede de livros razão distribuídos 400 são todos direta ou indiretamente conectados um ao outro, este processo de validação continua até que os nós determinem coletivamente que um consenso validou a transação. A determinação coletiva do consenso pode ser facilitada em virtude de cada nó que mantém uma lista de outros nós na rede (por exemplo, pelo endereço IP ou outro identificador) junto com suas respectivas determinações de validade da transação.
[082] Em algumas modalidades, depois que um consenso de validade para uma transação foi obtido pelos nós 300, 380a-c, a transação pode ser adicionada à cadeia de bloco. Em algumas modalidades, uma transação validada deve esperar a confirmação antes que ela seja adicionada à cadeia de bloco. Como os nós 300, 380a-c podem ser pares uns com os outros, qualquer nó pode participar no processo de adicionar a transação à cadeia de bloco. Para fins dos antecedentes, a cadeia de bloco inclui as transações validadas que são agrupadas em uma série de blocos encadeados criptograficamente, por meio dos quais cada bloco inclui um subconjunto dessas transações. Em algumas modalidades, qualquer nó 300, 380a-c pode executar o processo de geração de bloco, que pode ser implementado de várias maneiras com base em um algoritmo de consenso executado pelo componente de consenso de conjunto de dados 342 que inclui, mas sem ficar a eles limitado, a prova de trabalho, a prova de participação, a prova de autoridade, o Algoritmo Prático de Tolerância à Falha Bizantina ou os Acordos Bizantinos Federados. Como os processos acima mencionados para a geração do bloco geralmente são conhecidos no estado da técnica, os detalhes adicionais desses processos não serão descritos no presente documento. Deve ser considerado, no entanto, que qualquer implementação de geração de bloco e determinação de consenso pode ser empregada de acordo com a presente descrição. Mais importante, como o resultado geral da geração de bloco é relativamente similar entre essas implementações, a descrição a seguir é apresentada independentemente do aspecto de geração de bloco do módulo de consenso.
[083] Para adicionar uma transação validada à cadeia de bloco, a transação deve primeiro ser incluída em um bloco que é gerado por um dos nós 300, 380a-c e subsequentemente validado por um consenso dos nós na rede de livros razão distribuídos 400. A transação pode ser incluída de modo independente em um bloco, ou ser agrupada com outras transações, e qualquer uma é incluída dentro do âmbito da presente descrição. Tais implementações podem variar, no entanto, com base nas considerações de projeto do componente de consenso de conjunto de dados 342 e/ou no tamanho de bloco (isto é, limitação da memória) implementado ou definido dentro do componente de consenso de conjunto de dados 342 dos nós 300, 380a-c. Em várias modalidades, o nó gerador de um bloco também deve incluir, no bloco que está gerando, um controle criptográfico do bloco adicionado mais recentemente à cadeia de bloco. Uma vez gerado de acordo com quaisquer regras de consenso definidas pelo componente de consenso de conjunto de dados 342, o nó gerador de um bloco pode enviar o bloco gerado a qualquer um dos nós ao qual é conectado.
[084] Em algumas modalidades, os nós que recebem o bloco gerado podem verificar que o bloco inclui uma ou mais transações válidas, inclui um valor de controle de um bloco adicionado mais recentemente à cadeia de bloco e que foi gerado de acordo com as regras de consenso definidas. Quando da verificação anterior, cada nó 300, 380a-c pode passar (por exemplo, comunicar) o bloco verificado a seu nó(s) vizinho(s). Dessa maneira, e de modo parecido a como uma transação é validada por um determinado consenso da rede de livros razão distribuídos 400, um bloco gerado que inclui pelo menos a transação pode ser verificado por outro consenso determinado dos nós. Quando é feita uma determinação de que um consenso dos nós 300, 380a-c verificou um bloco, o bloco recém verificado é adicionado por cada um dos nós 300, 380a-c à sua respectiva cópia da cadeia de bloco imediatamente subsequente ao bloco previamente adicionado, em que o controle do bloco previamente adicionado é incluído no bloco recém verificado. A esse respeito, cada bloco pode ser "encadeado" criptograficamente a um bloco anterior e a um bloco posterior. Em outras palavras, os controles criptográficos podem reforçar de modo imutável a ordem e a exatidão das transações armazenadas na cadeia de bloco. Em algumas modalidades, cada respectiva cópia da cadeia de bloco mantida por um nó pode ser acessada pelo nó, qualquer outro nó, ou, em algumas modalidades adicionais, um dispositivo cliente, tal como o dispositivo cliente 500 da Figura 1. A esse respeito, a cadeia de bloco pode ser provida como um registro transparente das transações, que podem ter referências cruzadas de várias maneiras, seja para fins de auditar, verificar ou simplesmente referenciar as transações que foram executadas ou em associação com os conjuntos de dados agrícolas certificados.
[085] Agora com referência à Figura 5, é apresentado um fluxograma 500 que ilustra um método para garantir a segurança dos conjuntos de dados agrícolas eletrônicos que utilizam as transações distribuídas de acordo com algumas modalidades da presente descrição. Tal como descrito de acordo com a Figura 3, um dispositivo de computação, tal como o nó primário 300 das Figuras 1 e 3, pode receber os dados coletados associados a um primeiro cliente (por exemplo, uma primeira conta de usuário), como um conjunto de dados agrícolas brutos coletados pelo dispositivo de coleta de dados 200 das Figuras 1 e 2. Os dados coletados podem incluir os dados de sensor obtidos pelos vários sensores acoplados ou não acoplados a máquinas agrícolas ou implementos, a título de exemplos não limitadores. Em algumas modalidades, os dados coletados podem ser marcados pelo dispositivo de coleta de dados para incluir a informação de localização detectada, a hora do registro, um identificador único do dispositivo de coleta de dados, a primeira conta associada ao dispositivo de coleta de dados e/ou outros metadados gerados, entre outras coisas. Os dados coletados podem ser comunicados do dispositivo de coleta de dados ao nó primário e recebidos pelo nó primário. Em algumas modalidades, o nó primário pode interpretar e/ou dividir os dados coletados recebidos em porções independentes, tais como as porções dos dados coletados que podem ser relativas a uma tarefa, posição ou período de tempo em particular, entre outras coisas. Em várias modalidades, os dados coletados podem incluir dados agrícolas brutos e/ou dados agrícolas não certificados, entre outras coisas.
[086] Em alguns exemplos, o nó primário pode receber, de um dispositivo cliente (por exemplo, o dispositivo cliente 500 da Figura 1) associado à primeira conta, uma seleção que corresponda a uma determinada porção dos dados coletados recebidos. Por exemplo, o dispositivo cliente pode exibir, através de uma GUI, uma ou mais porções dos dados coletados tal como no presente documento descrito, e receber uma entrada que corresponda a uma das porções exibidas. O nó primário também pode receber, do dispositivo cliente ou outro dispositivo de computação, os dados de certificação e/ou outros dados associados com a porção selecionada dos dados coletados recebidos. Em várias modalidades, os dados de certificação recebidos e/ou outros dados podem incluir a informação relevante associada à porção selecionada, a informação relevante que pode não ser detectada pelo dispositivo de coleta de dados. Por exemplo, os dados de certificação e/ou outros dados podem incluir os dados sobre a colheita e a variedade das sementes, que podem ser relevantes para uma tarefa em particular associada à porção selecionada dos dados coletados recebidos, entre outras coisas.
[087] Em algumas modalidades, o nó primário pode gerar um conjunto de dados certificados associado à primeira conta, tal como um conjunto de dados agrícolas certificado gerado pelo componente de certificação de conjunto de dados 316 da Figura 3, com base na porção selecionada dos dados coletados recebidos e nos dados de certificação recebidos e/ou em outros dados associados à porção selecionada. Em algumas modalidades, o nó primário pode armazenar qualquer porção dos dados obtidos como um conjunto de dados agrícolas eletrônicos (por exemplo, o conjunto de dados agrícolas brutos coletados e/ou interpretados, os dados agrícolas não certificados ou o conjunto de dados certificados gerado) em uma memória, tal como o armazenamento de dados 350 da Figura 1. Em algumas modalidades adicionais, com base no conjunto de dados agrícolas eletrônicos que é gerado e/ou armazenado, o nó primário pode determinar e gerar um ou mais controles criptográficos (por exemplo, uma impressão digital) que corresponde a qualquer um ou mais dos conjuntos de dados agrícolas eletrônicos, tal como descrito de acordo com o componente gerador de controle 318 da Figura 3, entre outras coisas.
[088] Com base no conjunto de dados agrícolas eletrônicos (por exemplo, um conjunto de dados agrícolas certificado) gerado e/ou armazenado, na etapa 510, o nó primário pode gerar uma primeira transação (por exemplo, um conjunto de dados eletrônicos) em associação com a primeira conta. Em algumas modalidades, a primeira transação gerada pode incluir o(s) controle(es) de um ou mais conjuntos de dados agrícolas eletrônicos. Em algumas modalidades adicionais, a primeira transação gerada também pode incluir qualquer porção dos dados de certificação correspondentes recebidos, os dados agrícolas não certificados, outros dados associados e/ou qualquer porção dos metadados associada ao conjunto coletado e/ou interpretado de dados agrícolas brutos e/ou ao conjunto de dados certificados gerado. Em alguns aspectos, os metadados associados podem incluir características que descrevem elementos do conjunto de dados agrícolas eletrônicos (por exemplo, localização, cronograma, conta de usuário).
[089] Em algumas modalidades adicionais, o nó primário pode permitir que o conjunto de dados agrícolas eletrônicos seja listado em um mercado de troca de dados, tal como um provido pelo componente de troca de conjunto de dados 322 da Figura 3. A esse respeito, o dispositivo cliente associado à primeira conta pode enviar ao nó primário um comando para listar o conjunto de dados agrícolas eletrônicos. Dessa maneira, o nó primário pode sinalizar o conjunto de dados agrícolas eletrônicos a ser listado no mercado de troca de dados, de modo que o conjunto de dados agrícolas eletrônicos é listado, pesquisável e/ou disponível para seleção por outras contas de usuário com a finalidade de gerar ofertas para comprar ou licenciar o conjunto de dados agrícolas eletrônicos da primeira conta.
[090] Na etapa 520, o nó primário pode gerar uma segunda transação para cada comando que corresponde ao conjunto de dados agrícolas eletrônicos e recebido através do mercado de troca de dados. Por exemplo, um dispositivo cliente associado a uma segunda conta pode comunicar, ao nó primário, um comando a fim de gerar uma oferta para o conjunto de dados agrícolas eletrônicos listado no mercado de troca de dados. Em alguns aspectos, o comando pode incluir uma solicitação para licenciar ou comprar o conjunto de dados agrícolas eletrônicos por uma quantidade definida. Dessa maneira, o nó primário pode gerar a oferta em nome da segunda conta com base no comando recebido e comunicar a oferta a um dispositivo cliente associado à primeira conta. Para esse fim, o dispositivo cliente associado à primeira conta pode receber a oferta e, em resposta, comunicar ao nó primário um comando diferente para gerar um dentre uma aceitação ou uma recusa à oferta recebida. Para cada um dos comandos recebidos, incluindo qualquer um dentre uma oferta para licenciar ou comprar ou uma recusa ou aceitação à oferta, o nó primário pode gerar uma segunda transação correspondente associada à conta da qual o comando foi recebido. Em alguns aspectos, uma segunda transação pode ser assinada digitalmente com uma chave privada associada à conta da qual um comando foi recebido, ou pode simplesmente incluir uma indicação de que a transação foi gerada com base no comando recebido da conta.
[091] Na etapa 530, o nó primário pode comunicar a primeira transação gerada e cada segunda transação gerada a um ou mais nós de uma pluralidade de nós configurados para manter um livro razão distribuído, tal como uma cadeia de bloco. Em várias modalidades, a primeira transação gerada pode ser comunicada simultaneamente, em resposta e/ou com base na etapa 510, e cada segunda transação gerada pode ser comunicada simultaneamente, em resposta e/ou com base na etapa 520. Tal como descrito de acordo com o componente de nó 340 da Figura 3 e a rede de livros razão distribuídos 400 da Figura 4, a pluralidade dos nós que inclui o nó primário e uma pluralidade de nós secundários, tais como o nó secundário 380 da Figura 1 ou 380a-c da Figura 4, pode ser configurada para obter qualquer transação comunicada do nó primário a um outro nó da pluralidade de nós, tais como os nós 380a-c da Figura 4. A pluralidade de nós pode, entre outras coisas, validar de modo independente ou coletivamente a transação, gerar um bloco que inclui a transação e armazenar o bloco e/ou a transação nas respectivas cópias do livro razão distribuído armazenado nas respectivas memórias do mesmo.
[092] Na etapa 540, o nó primário pode determinar se a segunda conta tem acesso autorizado a um conjunto de dados agrícolas eletrônicos armazenado na memória ou no armazenamento de dados com base nas transações armazenadas no livro razão distribuído. Mais especificamente, o nó primário pode analisar o livro razão distribuído pesquisando qualquer transação que possa incluir um controle que corresponde ao conjunto de dados agrícolas eletrônicos. O nó primário pode analisar essas transações e também determinar que transações são associadas à segunda conta. Em alguns aspectos, uma transação pode ser associada à segunda conta com base no nó primário que determina que a transação é assinada digitalmente com uma chave privada da segunda conta, que a transação inclui uma indicação que a transação foi gerada com base em um comando associado à segunda conta ou que a transação indica uma outra transação (por exemplo, uma transação de oferta) que foi gerada com base em um comando associado à segunda conta. Em alguns aspectos, se o nó primário determinar que a primeira transação armazenada é associada à segunda conta, então o nó primário pode determinar que a segunda conta é proprietária do conjunto de dados certificados gerado e, desse modo, pode ter acesso autorizado à mesma. Em alguns outros aspectos, se o nó primário determinar que a primeira transação armazenada não é associada à segunda conta, o nó primário pode avaliar o conjunto de segundas transações armazenadas para determinar se uma dentre o conjunto de segundas transações armazenadas é uma transação de oferta associada à segunda conta, e que outra dentre o conjunto de segundas transações armazenadas é uma transação de aceitação associada à primeira conta, indicando também a transação de oferta associada à segunda conta. Dessa maneira, o nó primário pode determinar que a segunda conta legalmente comprou ou licenciou o conjunto de dados agrícolas eletrônicos, e desse modo pode ser provida com o acesso autorizado ao conjunto de dados agrícolas eletrônicos. Dessa maneira, o nó primário pode gerar um URI que corresponde a uma localização de armazenamento do conjunto de dados agrícolas eletrônicos armazenado na memória ou no armazenamento de dados. Em alguns aspectos, o URI gerado pode ser singular ao segundo cliente, de tal modo que o acesso ao URI requer credenciais válidas associadas à segunda conta a fim de facilitar o acesso a conjuntos de dados agrícolas eletrônicos.
[093] Em algumas modalidades adicionais, o nó primário pode detectar cada exemplo de URI gerado que é acessado por um dispositivo cliente, tal como um associado à segunda conta ou qualquer outra conta que possa ou não ter acesso autorizado ao conjunto de dados agrícolas eletrônicos associado ao URI gerado. Em alguns aspectos, o nó primário pode gerar uma transação para cada tentativa de acesso detectada, incluindo características detectadas na transação de tentativa de acesso, tais como credenciais fornecidas, endereço de IP ou localização do dispositivo cliente, momento da tentativa e outros, sem limitação. Do mesmo modo, a transação gerada pode ser comunicada a qualquer nó da pluralidade de nós, de modo que a pluralidade de nós pode armazenar a transação gerada no livro razão distribuído. Dessa maneira, tal como descrito de acordo com o componente de análise de livro razão 324 da Figura 3, o nó primário pode gerar vários dados analíticos que correspondem ao conjunto de dados agrícolas eletrônicos. Por exemplo, uma cadeia de procedência que reflete a geração, cada oferta, venda, licença, troca, tentativa de acesso e qualquer outra operação no conjunto de dados agrícolas eletrônicos ou associada ao mesmo pode ser provida a qualquer conta de usuário associada ao conjunto de dados agrícolas eletrônicos. Em alguns aspectos, os dados analíticos gerados podem ser limitados às transações associadas diretamente a uma conta de usuário (por exemplo, as transações geradas com base nos comandos recebidos de um dispositivo cliente associado à conta de usuário).
[094] Em algumas modalidades adicionais, o nó primário também pode gerar as notificações com base no uso não autorizado detectado de um conjunto de dados agrícolas eletrônicos armazenado na memória ou no armazenamento de dados. Por exemplo, o nó primário pode obter um conjunto de dados agrícolas eletrônicos (por exemplo, um conjunto coletado e/ou interpretado de dados agrícolas brutos e/ou um conjunto de dados certificados) com base em uma entrada recebida, tal como um arquivo do conjunto de dados agrícolas eletrônicos ou de um URI que corresponde ao mesmo e que também pode determinar um controle(s) do conjunto de dados agrícolas eletrônicos obtido. O nó primário pode fazer referência cruzada do(s) controle(s) determinado(s) com os controles determinados para cada conjunto de dados agrícolas eletrônicos armazenado na memória ou no armazenamento de dados. Para qualquer controle correspondente determinado, o nó primário pode gerar uma notificação que é provida a um proprietário original (por exemplo, a primeira conta) do conjunto de dados agrícolas eletrônicos, ou proibir a listagem do conjunto de dados agrícolas eletrônicos obtido no mercado de troca de dados, entre outras coisas.
[095] Agora com referência à Figura 6, é apresentado um fluxograma 600 que ilustra outro método para garantir a segurança dos conjuntos de dados agrícolas eletrônicos que utilizam transações distribuídas de acordo com algumas modalidades da presente descrição. Tal como descrito de acordo com a Figura 3, um dispositivo de computação, tal como o nó primário 300 das Figuras 1 e 3, pode receber os dados associados a uma primeira conta (por exemplo, uma primeira conta de usuário), tais como dados agrícolas brutos, dados agrícolas não certificados ou outros dados associados coletados, por exemplo, pelo dispositivo de coleta de dados 200 das Figuras 1 e 2. Os dados coletados podem incluir os dados de sensor obtidos pelos vários sensores separados e/ou acoplados a máquinas agrícolas ou implementos, a título de exemplos não limitadores. Em algumas modalidades, os dados coletados podem ser marcados por um respectivo dispositivo de coleta de dados para incluir a informação de localização detectada, a hora do registro, um identificador único do dispositivo de coleta de dados, uma referência à primeira conta associada ao dispositivo de coleta de dados e/ou outros metadados determinados ou gerados pelo dispositivo de coleta de dados, entre outras coisas. Os dados coletados podem ser comunicados continuamente, periodicamente ou manualmente em uma rede, do dispositivo de coleta de dados para o nó primário. Em algumas modalidades, o nó primário pode dividir e/ou interpretar os dados coletados recebidos em porções independentes, tais como as porções dos dados coletados que podem ser relacionadas a uma determinada tarefa (por exemplo, uma tarefa agrícola), à localização ou ao período de tempo, entre outras coisas. Em alguns exemplos, o nó primário pode receber, de um dispositivo cliente (por exemplo, o dispositivo cliente 500 da Figura 1) associado à primeira conta, uma seleção que corresponde a uma determinada porção dos dados recebidos e/ou interpretados coletados (por exemplo, um certo conjunto de dados agrícolas brutos coletados). Em alguns aspectos, várias porções podem ser determinadas pelo nó primário com base nos parâmetros recebidos (por exemplo, localização, período de tempo) providos pelo dispositivo cliente associado à primeira conta.
[096] Em algumas modalidades, o nó primário também pode receber, do dispositivo cliente, os dados de certificação e/ou outros dados (por exemplo, dados não certificados) que correspondem a uma porção selecionada dos dados coletados recebidos. Em alguns aspectos, o nó primário pode determinar que os dados não certificados estão associados ou correspondem à porção selecionada com base nas características comuns entre os mesmos (por exemplo, localização, tempo). Em várias modalidades, os dados de certificação recebidos e/ou outros dados podem incluir a informação relevante associada à porção selecionada, a informação relevante que pode não ser detectada pelo dispositivo de coleta de dados. Por exemplo, os dados de certificação e/ou outros dados associados podem incluir os dados sobre o tipo de colheita, os dados sobre a variedade das sementes, os dados sobre o aplicativo, os dados sobre o solo, os dados sobre os nutrientes, os dados sobre o clima, os dados sobre a largura da faixa ou outros dados químicos, entre outras coisas, que podem ser relevantes para uma tarefa em particular (por exemplo, tarefa agrícola) associada à porção selecionada dos dados coletados recebidos.
[097] Em algumas modalidades, o nó primário pode gerar um conjunto de dados certificados associado à primeira conta, tal como um conjunto de dados agrícolas certificado gerado pelo componente de certificação de conjunto de dados 316 da Figura 3, com base na porção selecionada dos dados coletados recebidos e nos dados de certificação recebidos que correspondem à porção selecionada. Em algumas modalidades, o nó primário pode armazenar o conjunto de dados agrícolas eletrônicos (por exemplo, o conjunto de dados agrícolas certificado gerado) em uma memória, tal como o armazenamento de dados 350 da Figura 1. Em algumas modalidades adicionais, com base no conjunto de dados agrícolas eletrônicos que é gerado e/ou armazenado, o nó primário pode determinar e gerar um ou mais controles criptográficos (por exemplo, uma impressão digital) que corresponde a qualquer porção do conjunto de dados agrícolas eletrônicos, tal como descrito de acordo com o componente gerador de controle 318 da Figura 3, entre outras coisas.
[098] Com base no conjunto de dados agrícolas eletrônicos (por exemplo, conjunto de dados agrícolas certificado) que é gerado e/ou armazenado, na etapa 610, o nó primário pode gerar uma primeira transação em associação com a primeira conta. Em algumas modalidades, a primeira transação gerada pode incluir o(s) controle(s) do(s) conjunto(s) de dados agrícolas eletrônicos. Em algumas modalidades adicionais, a primeira transação gerada também pode incluir qualquer porção dos dados de certificação correspondentes recebidos, outros dados associados, dados agrícolas não certificados e/ou qualquer porção de metadados associados ao conjunto de dados agrícolas eletrônicos. Em alguns aspectos, os metadados associados podem incluir as características que descrevem os elementos do conjunto de dados agrícolas eletrônicos (por exemplo, localização, cronograma, conta de usuário).
[099] Em algumas modalidades adicionais, o nó primário pode permitir que o conjunto de dados agrícolas eletrônicos seja listado em um mercado de troca de dados, tal como o provido pelo componente de troca de conjunto de dados 322 da Figura 3. A esse respeito, o dispositivo cliente associado à primeira conta pode enviar ao nó primário um comando para listar o conjunto de dados agrícolas eletrônicos. Dessa maneira, o nó primário pode sinalizar o conjunto de dados agrícolas eletrônicos a ser listado no mercado de troca de dados, de modo que o conjunto de dados certificados gerado seja listado, pesquisável e/ou disponível para seleção por outras contas de usuário para fins de geração de ofertas para comprar ou licenciar o conjunto de dados agrícolas eletrônicos da primeira conta.
[0100] Na etapa 620, o nó primário pode gerar uma segunda transação para cada comando ou operação que corresponde ao conjunto de dados agrícolas eletrônicos e recebido através do mercado de troca de dados. Por exemplo, um dispositivo cliente associado a uma segunda conta pode comunicar, ao nó primário, um comando para gerar uma oferta para o conjunto de dados agrícolas eletrônicos listado no mercado de troca de dados. Em alguns aspectos, o comando pode incluir uma solicitação para licenciar ou comprar o conjunto de dados agrícolas eletrônicos por uma quantidade definida. Dessa maneira, o nó primário pode gerar a oferta em nome da segunda conta com base no comando recebido e comunicar a oferta a um dispositivo cliente associado à primeira conta. Para esse fim, o dispositivo cliente associado à primeira conta pode receber a oferta e, em resposta, comunicar ao nó primário um comando diferente para gerar um dentre uma aceitação ou uma recusa à oferta recebida. Para cada um dos comandos recebidos, incluindo qualquer um dentre uma oferta para licenciar ou comprar ou uma recusa ou aceitação à oferta, o nó primário pode gerar uma segunda transação correspondente associada à conta da qual o comando foi recebido. Em alguns aspectos, uma segunda transação pode ser assinada digitalmente com uma chave privada associada à conta da qual um comando foi recebido, ou pode simplesmente incluir uma indicação de que a transação foi gerada com base no comando recebido da conta.
[0101] Na etapa 630, o nó primário pode comunicar a primeira transação gerada e cada segunda transação gerada a um ou mais nós de uma pluralidade de nós configurados para manter um livro razão distribuído, tal como uma cadeia de bloco. Em várias modalidades, a primeira transação gerada pode ser comunicada simultaneamente, em resposta e/ou ser baseada na etapa 610, e cada segunda transação gerada pode ser comunicada simultaneamente, em resposta e/ou ser baseada na etapa 620. Tal como descrito de acordo com o componente de nó 340 da Figura 3 e a rede de livros razão distribuídos 400 da Figura 4, a pluralidade de nós que inclui o nó primário e uma pluralidade de nós secundários, tais como o nó secundário 380 da Figura 1 ou 380a-c da Figura 4, pode ser configurada para obter qualquer transação comunicada do nó primário a outro nó da pluralidade de nós, tais como os nós 380a-c da Figura 4. A pluralidade de nós pode, entre outras coisas, validar independente ou coletivamente a transação, gerar um bloco que inclui a transação e armazenar o bloco e/ou a transação nas respectivas cópias do livro razão distribuído armazenadas nas respectivas memórias do mesmo.
[0102] Na etapa 640, o nó primário pode determinar se a segunda conta deve ser provida com acesso autorizado ao conjunto de dados agrícolas eletrônicos armazenado na memória ou no armazenamento de dados com base nas transações armazenadas no livro razão distribuído. Mais especificamente, o nó primário pode analisar o livro razão distribuído buscando qualquer transação que possa incluir um controle(s) que corresponda ao conjunto de dados agrícolas eletrônicos. O nó primário pode analisar essas transações e também determinar quais transações estão associadas à segunda conta. Em alguns aspectos, uma transação pode ser associada à segunda conta com base no nó primário que determina que a transação é assinada digitalmente com uma chave privada da segunda conta, que a transação inclui uma indicação de que a transação foi gerada com base em um comando associado a uma segunda conta ou que a transação indica uma outra transação (por exemplo, uma transação de oferta) que foi gerada com base em um comando associado à segunda conta. Em alguns aspectos, se o nó primário determinar que a primeira transação armazenada está associada à segunda conta, então o nó primário pode determinar que a segunda conta é a proprietária do conjunto de dados agrícolas eletrônicos e, desse modo, pode ter acesso autorizado ao mesmo. Em alguns outros aspectos, se o nó primário determinar que a primeira transação armazenada não está associada à segunda conta, o nó primário pode avaliar o conjunto de segundas transações armazenadas para determinar se uma dentre o conjunto de segundas transações armazenadas é uma transação de oferta associada à segunda conta, e que outra dentre o conjunto de segundas transações armazenadas é uma transação de aceitação associada à primeira conta, indicando também a transação de oferta associada à segunda conta. Dessa maneira, o nó primário pode determinar que a segunda conta comprou ou licenciou legalmente o conjunto de dados agrícolas eletrônicos e pode, desse modo, ser provida com acesso autorizado ao conjunto de dados agrícolas eletrônicos. Dessa maneira, o nó primário pode gerar um URI que corresponda a uma localização de armazenamento do conjunto de dados agrícolas eletrônicos armazenado na memória ou no armazenamento de dados. Em alguns aspectos, o URI gerado pode ser exclusivo da segunda conta, de tal modo que o acesso ao URI requer credenciais válidas associadas à segunda conta a fim de facilitar o acesso ao conjunto de dados agrícolas eletrônicos.
[0103] Em algumas modalidades adicionais, o nó primário pode detectar cada exemplo de URI gerado que é acessado por um dispositivo cliente, tal como um que é associado à segunda conta ou a qualquer outra conta que pode ou não ter acesso autorizado aos conjuntos de dados agrícolas eletrônico associado ao URI gerado. Em alguns aspectos, o nó primário pode gerar uma transação para cada tentativa de acesso detectada, incluindo na transação detectada as características da tentativa de acesso, tais como as credenciais fornecidas, o endereço de IP ou a localização do dispositivo cliente, o momento da tentativa e outros, sem limitação. Do mesmo modo, a transação gerada pode ser comunicada a qualquer nó da pluralidade de nós, de modo que a pluralidade dos nós pode armazenar a transação gerada no livro razão distribuído. Dessa maneira, tal como descrito de acordo com o componente de análise de livro razão 324 da Figura 3, o nó primário pode gerar vários dados analíticos que correspondem aos conjuntos de dados agrícolas eletrônicos. Por exemplo, uma cadeia de procedência que reflete a geração, cada oferta, a venda, a licença, a troca, a tentativa de acesso e qualquer outra operação no conjunto de dados agrícolas eletrônicos ou associada ao mesmo pode ser provida a qualquer conta de usuário associada ao conjunto de dados agrícolas eletrônicos. Em alguns aspectos, os dados analíticos gerados podem ser limitados às transações associadas diretamente a uma conta de usuário (por exemplo, as transações geradas com base nos comandos recebidos de um dispositivo cliente associado à conta de usuário).
[0104] Em algumas modalidades adicionais, o nó primário também pode gerar as notificações com base no uso não autorizado detectado de um conjunto de dados agrícolas eletrônicos armazenado na memória ou no armazenamento de dados. Por exemplo, o nó primário pode receber ou recuperar um conjunto de dados agrícolas eletrônicos com base em uma entrada recebida, tal como um arquivo do conjunto de dados agrícolas brutos coletados e/ou interpretados e/ou em um conjunto de dados agrícolas certificados ou em um URI que corresponde ao mesmo, e pode ainda determinar um controle(s) do mesmo. O nó primário pode fazer referência cruzada do(s) controle(s) determinado(s) com os controles determinados para cada conjunto de dados agrícolas eletrônicos armazenado na memória ou no armazenamento de dados. Para qualquer controle correspondente determinado, o nó primário pode gerar uma notificação que é provida ao proprietário original (por exemplo, a primeira conta) do conjunto de dados agrícolas eletrônicos correspondente ou combinado determinado ou proibir a listagem do conjunto de dados agrícolas eletrônicos recebido ou recuperado no mercado de troca de dados, entre outras coisas.
[0105] Com a descrição das modalidades da presente descrição, um ambiente operacional de exemplo em que as modalidades da presente descrição podem ser implementadas é descrito abaixo a fim de apresentar um contexto geral de vários aspectos da presente descrição. Inicialmente com referência à Figura 7, em particular, um ambiente operacional de exemplo para implementação das modalidades da presente descrição é mostrado e indicado geralmente como dispositivo de computação 700. O dispositivo de computação 700 é apenas um exemplo de um ambiente de computação apropriado e não pretende sugerir nenhuma limitação ao âmbito de uso ou funcionalidade das modalidades descritas. O dispositivo de computação 700 também não deve ser interpretado como tendo qualquer dependência ou requisito em relação a qualquer um ou a uma combinação dos componentes ilustrados.
[0106] As várias modalidades podem ser descritas no contexto geral de um código de computador ou de instruções utilizáveis pela máquina, incluindo as instruções executáveis pelo computador, tais como os módulos de programa, que são executados por um computador ou por outra máquina, tal como um assistente de dados pessoal ou outro dispositivo portátil. Geralmente, os módulos de programa que incluem as rotinas, programas, objetos, componentes, estruturas de dados, etc. referem-se ao código que executa determinadas tarefas ou implementa certos tipos de dados abstratos. As várias modalidades podem ser praticadas em várias configurações de sistema, incluindo dispositivos portáteis, componentes eletrônicos do consumidor, computadores de propósito geral, dispositivos de computação de mais especialidades, etc. As várias modalidades também podem ser praticadas nos ambientes de computação distribuídos onde as tarefas são realizadas por dispositivos de processamento remoto que são ligados através de uma rede de comunicações.
[0107] Com referência à Figura 7, o dispositivo de computação 700 inclui um barramento 710 que acopla direta ou indiretamente os seguintes dispositivos: a memória 712, um ou mais processadores 714, um ou mais componentes de apresentação 716, portas de entrada/saída (I/O) 718, componentes de entrada/saída 720 e uma fonte de alimentação ilustrativa 722. O barramento 710 representa o que pode ser um ou mais barramentos (tais como um barramento de endereço, um barramento de dados ou a combinação dos mesmos). Embora os vários blocos da Figura 7 sejam mostrados com linhas para fins de clareza, na realidade, a descrição dos vários componentes não é tão clara, e metaforicamente as linhas seriam, de modo mais preciso, cinzentas e difusas. Por exemplo, um componente de apresentação, tal como um dispositivo de exibição, pode ser considerado como sendo um componente de I/O. Além disso, os processadores têm memória. O autor da presente invenção reconhece que tal é a natureza da técnica, e reitera que o diagrama da Figura 7 é meramente ilustrativo de um dispositivo de computação de exemplo que pode ser usado em conexão com uma ou mais modalidades da presente descrição. Não é feita distinção entre tais categorias como "estação de trabalho", "servidor", "laptop", "dispositivo portátil", etc., pois todos são contemplados como estando dentro do âmbito da Figura 7 e são indicados como "dispositivo de computação".
[0108] O dispositivo de computação 700 normalmente inclui vários meios que podem ser lidos por computador. Os meios que podem ser lidos por computador podem ser quaisquer meios disponíveis que podem ser acessados pelo dispositivo de computação 700 e incluem meios voláteis e não voláteis e meios removíveis e não removíveis. A título de exemplo, e não de limitação, os meios que podem ser lidos por computador podem compreender meios de armazenamento de computador e meios de comunicação. Os meios de armazenamento de computador incluem os meios voláteis e não voláteis, os meios removíveis e não removíveis implementados em qualquer método ou tecnologia para armazenamento de informação, tais como as instruções que podem ser lidas por computador, as estruturas de dados, os módulos de programa ou outros dados. Os meios de armazenamento de computador incluem, mas sem ficar a eles limitados, RAM, ROM, EEPROM, memória flash ou outra tecnologia de memória, CD-ROM, discos versáteis digitais (DVD) ou outro armazenamento de disco óptico, cassetes magnéticos, fita magnética, armazenamento de disco magnético ou outros dispositivos de armazenamento magnético ou qualquer outro meio que pode ser usado para armazenar a informação desejada e que pode ser acessado pelo dispositivo de computação 700. Os meios de armazenamento de computador não compreendem sinais por si mesmos. Os meios de comunicação normalmente incorporam instruções que podem ser lidas por computador, estruturas de dados, módulos de programa ou outros dados em um sinal de dados modulado, tal como uma onda portadora ou outro mecanismo de transporte, e incluem qualquer meio de distribuição de informação. O termo "sinal de dados modulado" significa um sinal que tem uma ou mais de suas características ajustadas ou modificadas de tal maneira a codificar a informação no sinal. A título de exemplo, e não de limitação, os meios de comunicação incluem os meios com fio, tais como uma rede com fio ou uma conexão direta com fio, e meios sem fio, tais como meios sem fio acústicos, RF, infravermelho e outros. As combinações de qualquer um dos meios acima também devem ser incluídas dentro do âmbito dos meios que podem ser lidos por computador.
[0109] A memória 712 inclui meios de que podem ser armazenados no computador na forma de memória volátil e/ou não volátil. A memória pode ser removível, não removível ou uma combinação das mesmas. Os dispositivos de hardware de exemplo incluem a memória de estado sólido, discos rígidos, unidades de disco óptico, etc. O dispositivo de computação 700 inclui um ou mais processadores que leem os dados de várias entidades, tais como a memória 712 ou os componentes de I/O 720. O(s) componente(s) de apresentação 716 apresentam as indicações de dados a um usuário ou a outro dispositivo. Os componentes de apresentação de exemplo incluem um dispositivo de exibição, um alto-falante, um componente de impressão, um componente de vibração, etc.
[0110] As portas de I/O 718 permitem que o dispositivo de computação 700 seja acoplado de modo lógico a outros dispositivos, incluindo os componentes de I/O 720, alguns dos quais podem ser embutidos. Os componentes ilustrativos incluem um microfone, um joystick, um game pad, uma antena parabólica, um scanner, uma impressora, um dispositivo sem fio, etc. Os componentes de I/O 720 podem prover uma interface de usuário natural (NUI) que processa gestos no ar, voz ou outras entradas fisiológicas geradas por um usuário. Em alguns exemplos, as entradas podem ser transmitidas a um elemento de rede apropriado para processamento adicional. Um NUI pode implementar qualquer combinação de reconhecimento de fala, de reconhecimento de estilo, de reconhecimento facial, de reconhecimento biométrico, de reconhecimento de gesto na tela e adjacente à tela, de gestos no ar, de rastreamento de cabeça e olhos e de reconhecimento de toque (tal como descrito em mais detalhes abaixo) associados à exibição do dispositivo de computação 700. O dispositivo de computação 700 pode ser equipado com câmeras de profundidade, tais como sistemas de câmera estereoscópicos, sistemas de câmera infravermelhos, sistemas de câmera RGB, tecnologia de tela sensível ao toque e combinações dos mesmos, para detecção e reconhecimento dos gestos. Além disso, o dispositivo de computação 700 pode ser equipado com acelerômetros ou giroscópios que permitem a detecção do movimento. A saída dos acelerômetros ou dos giroscópios pode ser provida para exibição do dispositivo de computação 700 a fim de proporcionar uma realidade aumentada imersiva ou uma realidade virtual.
[0111] Tal como pode ser compreendido, as modalidades da presente descrição apresentam, entre outras coisas, o rastreamento de procedência dos conjuntos de dados agrícolas eletrônicos (por exemplo, máquina coletada, gerada ou processada ou dados agronômicos) a fim de prover um acesso seguro às contas de usuário autorizadas, prover auditabilidade dos conjuntos de dados agrícolas eletrônicos e também permitir supervisão de transações dos conjuntos de dados agrícolas eletrônicos trocados entre as contas de usuário autorizadas. A presente descrição foi descrita em relação a determinadas modalidades, que se prestam, em todos os aspectos, a ser ilustrativas em vez de restritivas. As modalidades alternativas ficarão evidentes aos elementos versados no estado da técnica à qual a presente descrição pertence, sem sair de seu âmbito.
[0112] De acordo com o acima exposto, deve ser apreciado que as modalidades descritas são bem adaptadas para atingir todas as finalidades e objetivos determinados acima, junto com outras vantagens que são óbvias e inerentes ao sistema e ao método. Deve ser compreendido que determinadas características e combinações secundárias são úteis e podem ser empregadas sem referência a outras características e combinações secundárias. Isto é contemplado e está dentro do âmbito das concretizações.
[0113] A matéria de estudo descrita na presente descrição é no presente documento provida com especificidade para atender a requisitos legais. No entanto, a própria descrição não se presta a limitar o âmbito do presente Pedido de Patente. Em vez disso, os autores da presente invenção consideram que a matéria de estudo reivindicada também pode ser incorporada de outras maneiras, a fim de incluir etapas ou combinações diferentes das etapas similares a essas descritas no presente documento, juntamente com outras tecnologias presentes ou futuras. Além disso, embora os termos "etapa" e/ou "bloco" possam ser no presente documento utilizados para indicar elementos diferentes dos métodos empregados, os termos não devem ser interpretados como implicando qualquer ordem em particular entre as várias etapas no presente documento descritas, a menos e a não ser que a ordem das etapas individuais seja descrita explicitamente.

Claims (20)

  1. Meio de armazenamento em computador não transitório, caracterizado pelo fato de que armazena um método que, quando usado por um ou mais processadores (714), faz com que um os ou mais processadores (714):
    gerem (510) uma primeira transação associada a uma primeira conta com base na geração de um conjunto de dados certificados associado à primeira conta, em que o conjunto de dados certificados é gerado com base pelo menos em parte em uma porção recebida dos dados coletados associados à primeira conta e dos dados de certificação recebidos que correspondem à porção recebida dos dados coletados;
    gerem (520) um conjunto de segundas transações que são, cada uma, associadas a uma dentre a primeira conta e a segunda conta com base nos comandos recebidos que correspondem ao conjunto de dados certificados gerado, em que os comandos recebidos são, cada um, associados a uma dentre uma primeira conta e uma segunda conta;
    comuniquem (530) cada uma dentre a primeira transação gerada e o conjunto de segundas transações geradas a pelo menos um nó de uma pluralidade de nós (300, 380), em que a pluralidade de nós (300, 380) é configurada para obter e armazenar cada transação comunicada em um livro razão distribuído mantido coletivamente pela pluralidade dos nós (300, 380); e
    forneçam (540) um URI que corresponda ao conjunto de dados certificados gerado a um dispositivo cliente (500) associado à segunda conta com base pelo menos em parte em uma determinação de que a primeira transação gerada e o conjunto gerado de segundas transações são armazenados no livro razão distribuído, e cada transação armazenada inclui um controle que corresponde ao conjunto de dados certificados gerado e que fornece coletivamente o acesso autorizado da segunda conta ao conjunto de dados certificados gerado.
  2. Meio, de acordo com a reivindicação 1, caracterizado pelo fato de que o método também faz com que um ou mais processadores (714):
    detectem uma tentativa do dispositivo cliente (500) de acessar o conjunto de dados certificados gerado através do URI provido; e
    gerem uma terceira transação, associada à segunda conta, que inclui o controle correspondente e as características determinadas associadas com a tentativa detectada.
  3. Meio, de acordo com a reivindicação 2, caracterizado pelo fato de que o método também faz com que um ou mais processadores (714):
    comuniquem a terceira transação gerada a pelo menos um nó da pluralidade de nós (300, 380), em que a pluralidade dos nós (300, 380) também é configurada para obter e armazenar a terceira transação comunicada no livro razão distribuído;
    gerem uma cadeia de procedência que corresponde ao conjunto de dados certificados gerado com base pelo menos em parte na primeira transação armazenada, no conjunto de segundas e terceiras transações.
  4. Meio, de acordo com a reivindicação 3, caracterizado pelo fato de que o método também faz com que um ou mais processadores (714):
    forneçam, para exibição, a outro dispositivo cliente (500) associado à primeira conta, a cadeia de procedência gerada.
  5. Meio, de acordo com a reivindicação 1, caracterizado pelo fato de que os dados coletados são recebidos de um dispositivo de coleta de dados (200) associado à primeira conta.
  6. Meio, de acordo com a reivindicação 5, caracterizado pelo fato de que os dados coletados recebidos são marcados geograficamente.
  7. Meio, de acordo com a reivindicação 5, caracterizado pelo fato de que os dados coletados recebidos incluem dados agronômicos e/ou dados de máquina obtidos de um conjunto de sensores agronômicos e/ou de sensores de máquina acoplados ao dispositivo de coleta de dados (200).
  8. Meio, de acordo com a reivindicação 7, caracterizado pelo fato de que os dados de certificação recebidos incluem pelo menos um dentre dados sobre o tipo de colheita, dados sobre a variedade das sementes e outros metadados.
  9. Meio, de acordo com a reivindicação 1, caracterizado pelo fato de que a porção recebida é selecionada a partir de um conjunto de porções determinadas a partir dos dados coletados recebidos, cada porção do conjunto de porções sendo determinada com base em metadados correspondentes incluídos no mesmo.
  10. Meio, de acordo com a reivindicação 9, caracterizado pelo fato de que os metadados incluem pelo menos um dentre dados de localização e dados temporais.
  11. Meio, de acordo com a reivindicação 1, caracterizado pelo fato de que o método também faz com que um ou mais processadores (714):
    armazenem o conjunto de dados certificados gerado em uma localização de um dispositivo de armazenamento (350) seguro separado do livro razão distribuído, em que o URI inclui uma referência à localização e requer credenciais autenticadas associadas à segunda conta.
  12. Meio, de acordo com a reivindicação 1, caracterizado pelo fato de que a determinação de que a primeira transação armazenada e o conjunto de segundas transações armazenadas fornecem coletivamente o acesso autorizado à segunda conta é baseada na determinação de que o conjunto de segundas transações armazenadas inclui uma transação de oferta associada à segunda conta e uma transação de aceitação associada à primeira conta e que indica a transação de oferta.
  13. Meio, de acordo com a reivindicação 1, caracterizado pelo fato de que cada transação que corresponde ao conjunto de dados certificados gerado e é armazenada no livro razão distribuído inclui os metadados associados ao conjunto de dados certificados gerado.
  14. Método implementado por computador para garantir a segurança dos conjuntos de dados certificados que utilizam transações distribuídas, caracterizado pelo fato de que compreende as etapas de:
    gerar (610), por um dispositivo de computação (700), uma primeira transação associada a uma primeira conta com base na geração de um conjunto de dados certificados associado à primeira conta, em que o conjunto de dados certificados é gerado com base nos dados recebidos de um dispositivo de coleta de dados (200) associado à primeira conta e nos dados de certificação recebidos que correspondem pelo menos a uma porção de dados coletados recebidos;
    gerar (620), pelo dispositivo de computação (700), um conjunto de segundas transações que são, cada uma, associadas a uma dentre uma primeira conta e uma segunda conta com base nos comandos recebidos que correspondem ao conjunto de dados certificados gerado, em que cada um dos comandos recebidos são associados a uma dentre uma primeira conta e uma segunda conta;
    comunicar (630), pelo dispositivo de computação (700), cada uma dentre a primeira transação gerada e o conjunto de segundas transações geradas a pelo menos um nó de uma pluralidade de nós (300, 380), em que a pluralidade de nós (300, 380) é configurada para obter e armazenar cada transação comunicada em um livro razão distribuído mantido coletivamente pela pluralidade dos nós (300, 380); e
    prover (640), a um dispositivo cliente (500) associado à segunda conta, um URI que corresponde ao conjunto de dados certificados gerado com base pelo menos em parte na determinação de que a primeira transação gerada e o conjunto gerado de segundas transações são armazenados no livro razão distribuído, e cada transação armazenada inclui um controle que corresponde ao conjunto de dados certificados gerado e provê coletivamente o acesso autorizado da segunda conta ao conjunto de dados certificados gerado.
  15. Método implementado por computador, de acordo com a reivindicação 14, caracterizado pelo fato de que compreende ainda:
    detectar, pelo dispositivo de computação (700), uma tentativa de outro dispositivo cliente (500) de acessar o conjunto de dados certificados gerado através do URI provido; e
    gerar, pelo dispositivo de computação (700), uma terceira transação associada a uma terceira conta associada a outro dispositivo cliente (500), e a terceira transação gerada inclui um controle correspondente e as características determinadas associadas com a tentativa detectada.
  16. Método implementado por computador, de acordo com a reivindicação 15, caracterizado pelo fato de que compreende ainda:
    comunicar, pelo dispositivo de computação (700), a terceira transação gerada a pelo menos um nó da pluralidade de nós (300, 380), em que a pluralidade de nós (300, 380) também é configurada para obter e armazenar a terceira transação comunicada no livro razão distribuído;
    gerar, pelo dispositivo de computação (700), uma cadeia de procedência que corresponde ao conjunto de dados certificados gerado com base pelo menos em parte na primeira, no conjunto de segundas e nas terceiras transações armazenadas.
  17. Método implementado por computador, de acordo com a reivindicação 15, caracterizado pelo fato de que compreende ainda:
    analisar, pelo dispositivo de computação (700), uma porção de transações, armazenadas no livro razão distribuído, em que cada uma inclui o controle correspondente;
    prevenir, pelo dispositivo de computação (700), que outro dispositivo cliente (500) acesse o conjunto de dados certificados gerado com base em uma determinação de que a porção analisada das transações falhem ao prover coletivamente o acesso autorizado da terceira conta ao conjunto de dados certificados gerado.
  18. Sistema, caracterizado pelo fato de que compreende:
    um meio de armazenamento de transação para armazenamento das transações geradas em um livro razão distribuído; e
    um meio de troca de conjuntos de dados (322) para geração de um URI que corresponde a um conjunto de dados certificados associado a uma primeira conta e armazenado em um dispositivo de armazenamento (350) seguro, e o URI é gerado com base pelo menos em parte na determinação de que um livro razão distribuído armazena no mesmo um conjunto de transações, em que cada uma inclui um controle do conjunto de dados certificados armazenado, e forneça coletivamente a uma segunda conta, associada pelo menos a uma transação no conjunto armazenado de transações, acesso autorizado ao conjunto de dados certificados armazenado.
  19. Sistema, de acordo com a reivindicação 18, caracterizado pelo fato de que compreende ainda:
    um meio de registro de tentativa de acesso para geração de uma transação (320) para cada tentativa detectada de acessar o conjunto de dados certificados armazenado, e cada transação gerada inclui as características detectadas associadas com a tentativa detectada.
  20. Sistema, de acordo com a reivindicação 19, caracterizado pelo fato de que compreende ainda:
    um meio de recepção de dados brutos (312) para recebimento de dados marcados geograficamente a partir de um dispositivo de coleta de dados (200) associado à primeira conta; e
    um meio de certificação do conjunto de dados (316) para geração do conjunto de dados certificados associado à primeira conta com base em uma porção selecionada dos dados marcados geograficamente recebidos e em dados de certificação recebidos que correspondem à porção selecionada dos dados marcados geograficamente recebidos.
BR102020005717-0A 2019-03-26 2020-03-23 meio de armazenamento em computador não transitório, método implementado por computador para garantir a segurança dos conjuntos de dados certificados que utilizam transações distribuídas e sistema BR102020005717B1 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/365,272 US10491608B1 (en) 2019-03-26 2019-03-26 Distributed transaction-based security and tracking of agricultural machine and agronomic data
US16/365,272 2019-03-26

Publications (2)

Publication Number Publication Date
BR102020005717A2 BR102020005717A2 (pt) 2020-10-13
BR102020005717B1 true BR102020005717B1 (pt) 2021-04-06

Family

ID=68617609

Family Applications (1)

Application Number Title Priority Date Filing Date
BR102020005717-0A BR102020005717B1 (pt) 2019-03-26 2020-03-23 meio de armazenamento em computador não transitório, método implementado por computador para garantir a segurança dos conjuntos de dados certificados que utilizam transações distribuídas e sistema

Country Status (8)

Country Link
US (4) US10491608B1 (pt)
EP (1) EP3716175A1 (pt)
AU (1) AU2020202103B2 (pt)
BR (1) BR102020005717B1 (pt)
CA (1) CA3076652C (pt)
MX (1) MX2020007165A (pt)
UA (1) UA126974C2 (pt)
ZA (1) ZA202001866B (pt)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10581952B1 (en) 2015-11-06 2020-03-03 Scruggs Equipment Company, Inc. Device and method for manufacturer-independent interface between mobile computers and remotely accessible data storage
US11227282B2 (en) * 2018-08-20 2022-01-18 Probloch LLC Time-bounded activity chains with multiple authenticated agent participation bound by distributed single-source-of-truth networks that can enforce automated value transfer
US10491608B1 (en) * 2019-03-26 2019-11-26 Farmobile Llc Distributed transaction-based security and tracking of agricultural machine and agronomic data
US11397536B2 (en) * 2019-04-29 2022-07-26 Dennis John Glennon Phytosanitary treatment blockchain
US11232526B2 (en) 2019-05-31 2022-01-25 Iunu, Inc. Centralized governance regulatory compliance (C-GRC) system
EP3701701A4 (en) * 2019-06-05 2020-12-30 Alibaba Group Holding Limited CONSENSUS SYSTEM AND PROCESS
WO2021130341A1 (en) * 2019-12-23 2021-07-01 Farmer Connect Sa Computer implemented blockchain-based system for agricultural products
CN110990491A (zh) * 2019-12-26 2020-04-10 杭州趣链科技有限公司 一种基于区块链的濒危动物名录分享平台
US11682095B2 (en) 2020-02-25 2023-06-20 Mark Coast Methods and apparatus for performing agricultural transactions
US20210397655A1 (en) * 2020-03-11 2021-12-23 Cleveland State University Secure hierarchical processing using a secure ledger
US11694212B2 (en) * 2020-03-25 2023-07-04 Iunu, Inc. Decentralized governance regulatory compliance (D-GRC) controller
CN111507799B (zh) * 2020-04-16 2023-05-23 云南大禹智慧水务科技有限公司 一种基于区块链的异构智慧农业物联网设备及其租赁方法
CN112417038B (zh) * 2020-11-10 2021-07-13 深圳百纳维科技有限公司 一种基于海洋运输的异步区块构造方法、装置及存储介质
US11360984B1 (en) 2021-11-16 2022-06-14 Farmobile Llc Real-time and historical farming data distribution system
US20230334507A1 (en) * 2022-04-18 2023-10-19 Solectrac, Inc. Electric tractor total cost of ownership analysis

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8489437B1 (en) * 2000-11-02 2013-07-16 Sureharvest Method and system automatically to certify an agricultural product
US20030220862A1 (en) * 2002-05-24 2003-11-27 Kilgore Benjamin F. System and method for managing a web-based agricultural application
US20050075900A1 (en) * 2003-10-02 2005-04-07 Arguimbau Vincent C. Method and apparatus for bulk food marking and tracking with supplier rating system
WO2007087363A2 (en) * 2006-01-24 2007-08-02 Brown University Efficient content authentication in peer-to-peer networks
US7447611B2 (en) * 2006-05-09 2008-11-04 Hsb Solomon Associates, Llc Power generation performance analysis system and method
US20130227653A1 (en) * 2008-11-29 2013-08-29 Yu Yung Choi System and method for streamlined registration of products over a communication network and for verification and management of information related thereto
US20140249893A1 (en) * 2008-08-11 2014-09-04 Machinerylink, Inc. Agricultural performance information systems and related methods
US9152938B2 (en) 2008-08-11 2015-10-06 Farmlink Llc Agricultural machine and operator performance information systems and related methods
US10089335B2 (en) * 2012-07-10 2018-10-02 Microsoft Technology Licensing, Llc Data lineage across multiple marketplaces
WO2015042540A1 (en) 2013-09-23 2015-03-26 Farmobile, Llc Farming data collection and exchange system
US20160098723A1 (en) * 2014-10-01 2016-04-07 The Filing Cabinet, LLC System and method for block-chain verification of goods
WO2016190922A2 (en) * 2015-02-09 2016-12-01 Medici, Inc. Crypto integration platform
US10282562B1 (en) * 2015-02-24 2019-05-07 ImageKeeper LLC Secure digital data collection
WO2016164496A1 (en) * 2015-04-06 2016-10-13 Bitmark, Inc. System and method for decentralized title recordation and authentication
US10402792B2 (en) 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
WO2017134281A1 (en) * 2016-02-04 2017-08-10 Nasdaq Technology Ab Systems and methods for storing and sharing transactional data using distributed computer systems
WO2017173399A1 (en) * 2016-03-31 2017-10-05 Clause, Inc. System and method for creating and executing data-driven legal contracts
US10257496B2 (en) * 2016-07-26 2019-04-09 Qcify Inc. Quality inspection data distributed ledger
WO2018052972A1 (en) * 2016-09-15 2018-03-22 Bext Holdings, Inc. Systems and methods of use for commodities analysis, collection, resource-allocation, and tracking
US10169937B1 (en) 2016-10-20 2019-01-01 Jpmorgan Chase Bank, N.A. Systems and methods for multifactor physical authentication
US20180130034A1 (en) * 2016-11-07 2018-05-10 LedgerDomain, LLC Extended blockchains for event tracking and management
AU2018230763A1 (en) * 2017-03-08 2019-10-31 Ip Oversight Corporation System and method for creating commodity asset-secured tokens from reserves
US20180285810A1 (en) * 2017-03-29 2018-10-04 Ripe Technology, Inc. Systems and methods of blockchain transaction recordation in a food supply chain
US10853758B2 (en) * 2017-04-25 2020-12-01 Tag-it Tech, Inc. Micro-taggant based agricultural product tracking system for licensed agricultural products and industries
US10318779B2 (en) * 2017-04-28 2019-06-11 Sensormatic Electronics Llc Systems and methods for robust protection of item authentication, tracking and tracing against tag duplication
WO2019005104A1 (en) * 2017-06-30 2019-01-03 Intel Corporation METHODS, SYSTEMS AND APPARATUS FOR TRACKING A PROCEEDANCE OF GOODS
US10700862B2 (en) * 2017-09-08 2020-06-30 Fujitsu Limited Reduced data set digest
JP6751377B2 (ja) * 2017-09-12 2020-09-02 株式会社日立製作所 収益配分システム、収益配分方法、および、収益配分プログラム
US11544708B2 (en) * 2017-12-29 2023-01-03 Ebay Inc. User controlled storage and sharing of personal user information on a blockchain
US10291395B1 (en) * 2018-01-25 2019-05-14 Fortress Cyber Security, LLC Secure storage of data via a distributed ledger system
US10692086B2 (en) * 2018-05-07 2020-06-23 Accenture Global Solutions Limited Distributed ledger based identity and origins of supply chain application enabling financial inclusion and sustainability
US11488161B2 (en) * 2018-07-31 2022-11-01 Hewlett Packard Enterprise Development Lp Systems and methods for providing transaction provenance of off-chain transactions using distributed ledger transactions with secured representations of distributed ledger addresses of transacting parties
US11227282B2 (en) * 2018-08-20 2022-01-18 Probloch LLC Time-bounded activity chains with multiple authenticated agent participation bound by distributed single-source-of-truth networks that can enforce automated value transfer
US11025610B2 (en) * 2018-11-20 2021-06-01 Microsoft Technology Licensing, Llc Distributed ledger-based profile verification
US11223877B2 (en) * 2019-02-12 2022-01-11 Vijay Madisetti Hybrid blockchains and streamchains using non-crypto hashes for securing audio-, video-, image-, and speech-based transactions and contracts
US10491608B1 (en) * 2019-03-26 2019-11-26 Farmobile Llc Distributed transaction-based security and tracking of agricultural machine and agronomic data

Also Published As

Publication number Publication date
AU2020202103A1 (en) 2020-10-15
AU2020202103B2 (en) 2021-04-29
ZA202001866B (en) 2021-04-28
UA126974C2 (uk) 2023-03-01
BR102020005717A2 (pt) 2020-10-13
MX2020007165A (es) 2022-05-18
US20220174074A1 (en) 2022-06-02
EP3716175A1 (en) 2020-09-30
US10491608B1 (en) 2019-11-26
CA3076652A1 (en) 2020-09-26
US11805135B2 (en) 2023-10-31
US20240064155A1 (en) 2024-02-22
CA3076652C (en) 2020-11-24
US11283814B2 (en) 2022-03-22
US20200314113A1 (en) 2020-10-01

Similar Documents

Publication Publication Date Title
BR102020005717B1 (pt) meio de armazenamento em computador não transitório, método implementado por computador para garantir a segurança dos conjuntos de dados certificados que utilizam transações distribuídas e sistema
US11831710B2 (en) Tracking and certification of digital media via distributed ledger
CN109792386B (zh) 用于可信计算的方法和装置
US9674183B2 (en) System and method for hardware-based trust control management
JP2021523490A (ja) 信頼できるコンテキスチャルコンテンツ
TWI361611B (en) Biometric authentication system for enhancing network security
US20170257365A1 (en) System and method for hardware-based trust control management
US20100082987A1 (en) Transparent trust validation of an unknown platform
JP2023502346A (ja) 量子安全ネットワーキング
US20210141940A1 (en) Method and system for enhancing the integrity of computing with shared data and algorithms
US11682025B2 (en) Digital appraisal system providing computational attestation of appraisal integrity
US20180218364A1 (en) Managing distributed content using layered permissions
TW202217610A (zh) 鑑認系統及方法
US20230315877A1 (en) Managing machine-learning models via non-fungible tokens on a digital ledger
US20230291554A1 (en) Trusted data management systems and methods
US20230252181A1 (en) Content management systems and methods
US20230070625A1 (en) Graph-based analysis and visualization of digital tokens
NZ762947A (en) Distributed transaction-based security and tracking of agricultural machine and agronomic data
NZ785718A (en) Distributed transaction-based security and tracking of agricultural machine and
Jahan et al. Utilizing Hyperledger-Based Private Blockchain to Secure E-Passport Management
WO2021172437A1 (en) Data recording apparatus, data recording method, data recording program, system, method, and program
Liang et al. A blockchain-based platform for decentralized trusted computing
NEJIA Design and implementation of an approach based on Blockchain for big data
JP2024506738A (ja) PUFおよびブロックチェーンベースのIoTイベントレコーダおよび方法
WO2020098955A1 (en) Distributing analysis models

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: G06F 16/27 , H04L 29/06

Ipc: G06F 16/27 (2019.01), H04L 29/06 (2006.01), G06F 1

B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 23/03/2020, OBSERVADAS AS CONDICOES LEGAIS.

B25A Requested transfer of rights approved

Owner name: AGI SURETRACK LLC (US)