DE102020125476A1 - Verfahren und vorrichtungen zum bestimmen einer herkunft für datenlieferketten - Google Patents

Verfahren und vorrichtungen zum bestimmen einer herkunft für datenlieferketten Download PDF

Info

Publication number
DE102020125476A1
DE102020125476A1 DE102020125476.8A DE102020125476A DE102020125476A1 DE 102020125476 A1 DE102020125476 A1 DE 102020125476A1 DE 102020125476 A DE102020125476 A DE 102020125476A DE 102020125476 A1 DE102020125476 A1 DE 102020125476A1
Authority
DE
Germany
Prior art keywords
data
supply chain
sample
dsc
local
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
DE102020125476.8A
Other languages
English (en)
Inventor
Sanjay Bakshi
Mona Vij
Kapil Sood
Ned M. Smith
Nilesh Jain
Rajesh Poornachandran
Kshitij A. Doshi
Adrian Hoban
Francesc Guim Bernat
Trevor Cooper
Brian Andrew Keating
Paul O'Neill
Ben McCahill
Marcin Spoczynski
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE102020125476A1 publication Critical patent/DE102020125476A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/282Hierarchical databases, e.g. IMS, LDAP data stores or Lotus Notes
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • 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/10Protocols in which an application is distributed across nodes in the network
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

Es werden Verfahren, Vorrichtungen, Systeme und Herstellungsgegenstände zum Bestimmen einer Herkunft für Datenlieferketten offenbart. Beispielanweisungen veranlassen eine Maschine, mindestens in Reaktion darauf, dass Daten erzeugt werden, ein lokales Datenobjekt und Objektmetadaten, die den Daten entsprechen, zu erzeugen; das lokales Datenobjekt mit einer Prüfsumme zu versehen; eine Prüfsumme eines Etiketts des lokalen Datenobjekts zu erzeugen; eine hierarchische Datenstruktur für die Daten, die die Prüfsumme des lokalen Datenobjekts und die Prüfsumme des Etiketts des lokalen Datenobjekts enthalten, zu erzeugen; ein Datenlieferkettenobjekt, das die hierarchische Datenstruktur enthält, zu erzeugen und die Daten und das Datenlieferkettenobjekt zu einer Vorrichtung, die Zugriff auf die Daten angefordert hat, zu senden.

Description

  • GEBIET DER OFFENBARUNG
  • Diese Offenbarung bezieht sich im Allgemeinen auf eine Datenverarbeitung und insbesondere auf Verfahren und Vorrichtungen zum Bestimmen einer Herkunft für Datenlieferketten.
  • HINTERGRUND
  • Eine Blockkette ist eine Liste von Blöcken oder Datensätzen, die unter Verwendung von Kryptographie verbunden sind. Jeder Block in einer Blockkette kann eine Prüfsumme vorhergehender Blöcke und einen Zeitstempel sowie Transaktionsdaten enthalten. Eine Blockkette kann durch ein Peer-to-Peer-Netz gemanagt werden, das ein Protokoll zur Kommunikation zwischen Knoten und Prüfung neuer Blöcke in der Kette einhält. Eine Blockkette schafft ein dezentrales, verteiltes und häufig öffentliches digitales Kassenbuch, um Transaktionen über viele Computer aufzuzeichnen.
  • Figurenliste
    • 1 veranschaulicht eine Beispielsystemarchitektur, die eine Gruppe von Datenlieferkettenvorrichtungen, die an einer Datenlieferkette teilnehmen, enthält, in Übereinstimmung mit Unterweisungen dieser Offenbarung.
    • 2 ist ein Blockdiagramm einer Beispielimplementierung eines Objektmanagers, der in der Systemarchitektur von 1 enthalten ist.
    • 3A veranschaulicht ein Beispieldatenlieferkettenobjekt.
    • 3B veranschaulicht einen Beispielblockketten-Merkle-Baum, der Datenlieferkettenobjektaktualisierungen als Blockkettentransaktionen annimmt.
    • 4-8 sind Ablaufpläne, die maschinenlesbare Beispielanweisungen repräsentieren, die ausgeführt werden können, um den Beispielobjektmanager von 1 und/oder 2 zu implementieren, um ein Datenlieferkettenobjekt in Übereinstimmung mit Unterweisungen dieser Offenbarung zu erzeugen und/oder zu ändern.
    • 9 ist ein Ablaufplan, der maschinenlesbare Beispielanweisungen repräsentiert, die ausgeführt werden können, um die Beispielblockkette und/oder den Objektüberwachungsdienst von 1 zu implementieren, um Daten unter Verwendung einer Baumstruktur, die einem oder mehreren Datenlieferkettenobjekten in Übereinstimmung mit Unterweisungen dieser Offenbarung entspricht, zu verfolgen.
    • 10 ist ein Blockdiagramm einer Beispielverarbeitungsplattform, die strukturiert ist, die Anweisungen von 4-8 auszuführen, um den Beispielobjektmanager von 1 und/oder 2 zu implementieren.
    • 11 ist ein Blockdiagramm einer Beispielverarbeitungsplattform, die strukturiert ist, die Anweisungen von 9 auszuführen, um die Beispielblockkette und/oder den Objektüberwachungsdienst von 1 zu implementieren.
  • Die Figuren sind nicht maßstabsgetreu. Im Allgemeinen werden dieselben Bezugsnummern überall in der einen oder den mehreren Zeichnungen und der begleitenden schriftlichen Beschreibung verwendet, um auf dieselben oder ähnliche Teile Bezug zu nehmen. Verbindungsbezüge (z. B. angebracht, gekoppelt, verbunden und angeschlossen) sollen weit ausgelegt werden und können Zwischenelemente zwischen einer Sammlung von Elementen und eine relative Bewegung zwischen Elementen enthalten, sofern es nicht anders angegeben ist. Daher erschließen Verbindungsbezüge nicht notwendigerweise, dass zwei Elemente direkt verbunden und in einer festen Beziehung zueinander sind. Erklären, dass ein Teil in „Kontakt“ mit einem weiteren Teil ist, bedeutet, dass kein Zwischenteil zwischen den zwei Teilen vorhanden ist.
  • Die Deskriptoren „erste“, „zweite“, „dritte“ usw. werden hier verwendet, wenn mehrere Elemente oder Komponenten identifiziert werden, auf die getrennt Bezug genommen werden kann. Sofern es nicht anders angegeben oder auf der Grundlage ihres Verwendungskontext verstanden wird, sind derartige Deskriptoren nicht dazu vorgesehen, eine Bedeutung einer Priorität, einer physischen Reihenfolge oder einer Anordnung in einer Liste oder einer zeitlichen Anordnung zuzuschreiben, sondern werden lediglich als Etiketten zur einzelnen Bezugnahme auf mehrere Elemente oder Komponenten zum einfachen Verständnis der offenbarten Beispiele verwendet. In einigen Beispielen kann der Deskriptor „erste“ verwendet werden, um auf ein Element in der genauen Beschreibung Bezug zu nehmen, während dasselbe Element in einem Anspruch mit einem verschieden Deskriptor wie z. B. „zweite“ oder „dritte“ bezeichnet werden kann. In derartigen Fällen werden solche Deskriptoren selbstverständlich lediglich zur einfachen Bezugnahme auf mehrere Elemente oder Komponenten verwendet.
  • GENAUE BESCHREIBUNG
  • Datenlieferketten entsprechen dem Lebenszyklus von Daten. Eine Beispieldatenlieferkette für Mediendaten (die auch als Medien bezeichnet werden) gestaltet sich wie folgt. Wenn Medien erstellt werden, können die zunächst erstellten Medien durch einen Autor, einen Editor usw. mehrmals angepasst werden, bis endgültige Medien erstellt werden. Zum Beispiel kann ein Musiker eine Audiodatei erstellen und ein Toningenieur kann die Audiodatei (z. B. durch Mischen, Mastern und/oder auf andere Weise Anpassen einer oder mehrerer Lautstärken, Audiospektren, Tonhöhen usw.) anpassen, um eine endgültige Audiodatei, die als ein Lied veröffentlicht werden kann, zu erstellen. Ferner können dann, wenn das Lied veröffentlicht ist, Discjockeys das Audiolied weiter anpassen, um neue Lieder zu erstellen, sie mit weiterer Musik zu mischen usw. In jeder Stufe wird das Audiosignal angepasst und/oder manipuliert.
  • Datenlebenszyklen in Edge-Computing-Umgebungen adressieren einige Herausforderungen, die (A) eine nichtlineare Entwicklung von Autoren/Künstlern von Medien, (B) eine verteilte Entwicklung, (C) eine Integration in Werkzeuge, die die Anwenderschnittstelle überbrücken und verbessern Kreativität, Produktivität der Qualität, (D) eine effiziente Handhabung großer Datensätze, Projekte oder Archive, (E) die Integrität zwischenliegender und endgültiger Werke, (F) die Echtheit zwischenliegender und endgültiger Werke (z. B. können Werke ihrem rechtmäßigen Künstler zugeordnet werden), (G) Lizenzierung, Urheberrecht, Nutzung und weitere rechtsverbindliche Gesichtspunkte, die auf Daten, digitale Kreationen, digitale Repräsentationen analoger Kreationen usw. angewendet werden können, (H) Strategien zum Kombinieren, Zusammenführen und Modifizieren von Daten, Kreationen oder Werken, wenn mehrere Änderungen für dieselben Daten, Kreationen oder Werke gelten, und/oder (I) Führen eines historisch korrekten Verzeichnisses von Änderungen an Daten oder Schlussfolgerungen, die aus Daten erstellt werden, ungeachtet von Änderungen von Ökosystem, Teilnehmer und/oder Interessenvertreter enthalten. Hier offenbarte Beispiele integrieren Änderungssteuerungsmanagementtechniken in Edge-Rechendiensten und Edge-Datenpools, Edgeinformationszentrierte Netze (ICN) und Edge-Datenserialisierung für Video, Multimedia, strukturierte Daten, Metadaten, Software-Aktualisierungsdateien, Anwenderproduktivitätsdateien usw. Wie hierin verwendet ist Edge oder Edge-Computing ein verteiltes Rechennetz, das eine Berechnung und/oder eine Datenspeicherung näher bei dem Ort, bei dem die Berechnung und/oder die Datenspeicherung benötigt werden, in Bezug auf eine zentralisierte Cloud-Computing-Architektur bringt (z. B. näher bei einer Endvorrichtung in Bezug auf die zentralisierte Cloud-Computing-Architektur).
  • Hier offenbarte Beispiele verbinden Daten (z. B. Medien, Audio, Video, Text usw.) mit einem Datenlieferkettenobjekt (DSC-Objekt). In einigen hier offenbarten Beispielen ist das DSC-Objekt eine Datenstruktur, die die Entwicklung, den Besitz, die Offenbarung und/oder die Verwendung der Daten, mit denen das Objekt verbunden ist, verfolgt. Ein Beispiel-DSC-Objekt, das hier offenbart wird, ermöglicht eine Integration einer derartigen Verfolgung in ein offenes Kassenbuch wie z. B. eine Blockkette und/oder einen sonstigen verteilten Mechanismus. In einigen offenbarten Beispielen erleichtert das DSC-Objekt ein deklaratives Management von Übertragungen über Daten und Metadaten. Hier offenbarte Beispiele enthalten ein Erstellen eines DSC-Objekts, das Änderungsmanagementmetadaten, die dem DSC-Datenobjekt entsprechen, erstellt und aktualisiert. Hier offenbarte Beispiele enthalten ferner ein Verwenden einer Blockkette, um eine Datenherkunft (z. B. Eingaben, Einheiten, Systeme, Prozesse usw., die die Daten, die mit dem DSC-Objekt verbunden sind, beeinflussen) zu verfolgen und/oder aufzuzeichnen, um einen Datenschutz durch eine Datenlieferkette durchsetzen und/oder zu prüfen. Eine Blockkette ist eine Liste von Datensätzen (z. B. Blöcke), die unter Verwendung von Kryptographie verbunden sind, wobei jeder Block eine Kryptographieprüfsumme des vorhergehenden Blocks, einen Zeitstempel und Transaktionsdaten (z. B. einen Merkle-Baum) enthalten kann. Ein Merkle-Baum ist ein Baum, der Blattknoten, die mit einer Prüfsumme eines Datenblocks gekennzeichnet sind, und Nicht-Blattknoten, die mit den Kryptographieprüfsummen der Etiketten ihrer untergeordneten Knoten gekennzeichnet sind, enthalten kann.
  • Hier offenbarte Beispiele enthalten ferner Konstruktionswerkzeuge in einem DSC-Datenobjekt zum Managen von Änderungen und/oder Erkunden der Herkunft von Schlussfolgerungsergebnissen, die aus Edge-Datenströmen entnommen wurden. Auf diese Weise können, während die Medien von Vorrichtung zu Vorrichtung weitergegeben werden, jede Vorrichtung und/oder eine getrennte Objektüberwachungsdienstvorrichtung die Medien unter Verwendung der Werkzeuge manipulieren und/oder können die Konstruktionswerkzeuge erhalten, um den Verlauf der Daten zu analysieren. Hier offenbarte Beispiele enthalten ferner ein Anwenden von Datenserialisierungsformaten, die Kryptographieoperationen unterstützen, um Sicherheit für die DSC-Objekte zu schaffen. Hier offenbarte Beispiele ermöglichen ferner ein Durchführen von Daten-Mashups (z. B. Datenzusammenführungen), die in neuen Zusammensetzungen, die durch eine Datenlieferkette verfolgt werden können, resultieren.
  • Ein Verwenden der Beispiel-DSC-Objekte, die hier offenbart werden, ermöglicht Künstlern und/oder Erstellern von Inhalten, ihre Rechte an geistigem Eigentum in einem verteilten und dezentralen Datenökosystem zu protokollieren. In einigen Beispielen ermöglicht die Verwendung der DSC-Objekte, die hier offenbart wird, Medieneigentümern, Schlussfolgerungen, die durch AI-getriebene Einheiten erzeugt werden, unabhängig zu prüfen. Einige hier offenbarte Beispiele erfordern keine zentralisierte Steuerautorität, an der Mitglieder teilnehmen müssen, wodurch sie in einem flexiblen Modell zur Steuerung resultieren, das an lokale oder kommunale Bedürfnisse angepasst werden kann.
  • 1 veranschaulicht eine Beispielsystemarchitektur 100, die eine Gruppe DSC-Vorrichtungen, die an einer Datenlieferkette teilnehmen, enthält. Die Beispielsystemarchitektur 100 enthält Beispielverarbeitungsvorrichtungen 102, 104, 106, 108, 110, einen Beispielobjektmanager 112a-e, ein Beispielnetz 114, Beispielblockkettendienste 116 und einen Beispielobjektüberwachungsdienst 118. Obwohl die Beispielsystemarchitektur 100 fünf Verarbeitungsvorrichtungen enthält, könnte die Systemarchitektur 100 eine beliebige Zahl von Verarbeitungsvorrichtungen enthalten.
  • Die Beispielverarbeitungsvorrichtungen 102, 104, 105, 108, 110 von 1 sind Rechenvorrichtungen, die Daten (z. B. eine Mediendatei) erzeugen, empfangen und/oder ändern. Die Beispielverarbeitungsvorrichtungen 102, 104, 106, 108, 110 können Endanwendervorrichtungen, intelligente Vorrichtungen, Edge-Vorrichtungen, Server und/oder ein sonstiger Typ einer Rechenvorrichtung sein. Im Beispiel von 1 wirken die Beispielverarbeitungsvorrichtungen 102 und 108 als DSC-Objekterstellungsvorrichtungen, wirken die Beispielvorrichtungen 104 und 110 als DSC-Objektverbrauchsvorrichtungen und wirkt die Beispielverarbeitungsvorrichtung 106 als eine DSC-Objektzusammenfassungsvorrichtung, wie ferner unten beschrieben ist. Allerdings können beliebige Beispielverarbeitungsvorrichtungen 102, 104, 106, 108, 110 als Erstellungsvorrichtungen, Verbrauchsvorrichtungen und/oder Zusammenfassungsvorrichtungen arbeiten. Zum Beispiel kann die Beispielverarbeitungsvorrichtung 102 zu einer ersten Zeit als eine Erstellungsvorrichtung arbeiten und zu einer zweiten Zeit als eine Verbrauchs- und/oder Zusammenfassungsvorrichtung arbeiten. Eine Erstellungsvorrichtung ist eine Vorrichtung, die Daten, die mit einem DSC-Objekt verbunden sind, erstellt, eine Verbrauchsvorrichtung ist eine Vorrichtung, die Daten, die mit einem DSC-Objekt verbunden sind, empfängt, modifiziert und/oder betrachtet oder auf andere Weise mit ihnen interagiert und/oder sie verbraucht, und eine Zusammenfassungsvorrichtung ist eine Vorrichtung, die zwei oder mehr DSC-Objekte zu einem einzelnen DSC-Objekt, das Daten von den zwei oder mehr DSC-Objekten enthält, zusammenfasst. Die Beispielverarbeitungsvorrichtungen 102, 104, 106, 108, 110 können die Daten und/oder ein entsprechendes DSC-Objekt über das Beispielnetz 114 zu weiteren Vorrichtungen im System 100 senden. Die Beispielverarbeitungsvorrichtungen 102, 104, 106, 108, 110 enthalten den Beispielobjektmanager 112a-e.
  • Die Beispielobjektmanager 112a-c von 1 sind Hardware und/oder Software (z. B. eine Anwendung, ein Treiber usw.), die jeweils durch die Beispielverarbeitungsvorrichtungen 102-110 implementiert sind. Die Beispielobjektmanager 112a-c erzeugen ein DSC-Objekt für erzeugte Daten und/oder ändern das DSC-Objekt, wenn auf die Daten zugegriffen wird, sie geändert, betrachtet, gelöscht usw. werden. Zum Beispiel erzeugen die Objektmanager 112a-e dann, wenn die Verarbeitungsvorrichtung 102 neue Daten erzeugt (z. B. eine Edge-Vorrichtung, die neue Daten erzeugt, und/oder ein Anwender, der Medien bei der Verarbeitungsvorrichtung 102 erzeugt), ein DSC-Objekt, das mit den neuen Daten verbunden werden soll. Auf diese Weise sendet dann, wenn eine anfordernde Vorrichtung (z. B. eine weitere Verarbeitungsvorrichtung 104-110) die Daten anfordert, der Objektmanager 112a der sendenden Vorrichtung (z. B. über eine drahtgebundene oder eine drahtlose Verbindung) die Daten mit dem entsprechenden DSC-Objekt. Wenn die anfordernde Vorrichtung auf die empfangenen Daten zugreift, sie bearbeitet usw., aktualisiert die anfordernde Vorrichtung das entsprechende DSC-Objekt derart, dass es den Zugriff, die Bearbeitungen usw. widerspiegelt. Im dargestellten Beispiel enthält das durch einen oder mehrere Manager 112a-e erstellte DSC-Objekt einen lokalen Merkle-Baum, lokale Datenobjekte (z. B. Arbeitsdateien, die den Daten entsprechen), Objektmetadaten, ein Überarbeitungsprotokoll und ein lokales Übergabeprotokoll, wie ferner unten in Verbindung mit 3A beschrieben ist. Das DSC-Objekt wirkt als ein Verzeichnis der Verwendung und/oder der Änderung der Daten im Verlauf ihres Lebenszyklus. Im dargestellten Beispiel ändern die Objektmanager 112a-e dann, wenn die Verarbeitungsvorrichtung 104 Daten erhält, die mit einem DSC-Objekt verbunden sind (z. B. zum Anzeigen der Daten und/oder Ändern der Daten), das verbundene DSC-Objekt entsprechend den Aktionen (z. B. Betrachten, Modifizieren usw.), die an den Daten vorgenommen wurden. Zum Beispiel können die Objektgeneratormanager 112a-e das DSC-Objekt ändern, um Ansichten der entsprechenden Daten für Zwecke des Managements digitaler Rechte (z. B. Verfolgen und/oder Bezahlen von Daten, die konsumiert und aufgezeichnet werden) zu verfolgen. In einigen Beispielen kann der Objektmanager 112a-e ein oder mehrere DSC-Objekte zu einem neuen DSC-Objekt, das Informationen des einen oder der mehreren DSC-Objekte kombiniert, zusammenfassen. Zum Beispiel kann die Verarbeitungsvorrichtung 106 ein erstes DSC-Objekt (das dem Objekt A in 1 entspricht), das ersten Daten zugeordnet ist, von der Beispielverarbeitungsvorrichtung 104 (z. B. über das Netz 114) empfangen und ein zweites DSC-Objekt (das dem Objekt B in 1 entspricht), das zweiten Daten zugeordnet ist, von der Beispielverarbeitungsvorrichtung 108 (z. B. über das Netz 114) empfangen. In einem derartigen Beispiel kann der Objektmanager 112c der Beispielverarbeitungsvorrichtung 106 Informationen vom Objekt A und/oder von einigen oder allen ersten Daten und/oder vom Objekt B und/oder von einigen oder allen zweiten Daten zusammenfassen (z. B. kombinieren), um ein drittes DSC-Objekt (das dem Objekt C in 1 entspricht) zu erzeugen. Auf diese Weise wird Objekt A mit den ersten Daten verbunden, wird Objekt B mit den zweiten Daten verbunden und wird Objekt C (das z. B. einer Generationsabhängigkeit entspricht) mit dritten Daten, die eine Kombination/Zusammenfassung der ersten und zweiten Daten entsprechen, verbunden. Zum Beispiel verbindet das Delta zwischen Objekt A und Objekt C die zwei Objekte. In einigen Beispielen kann Objekt A verschwinden, wenn Objekt B instanziiert wird. Allerdings verbleibt ein Protokoll, ein Verlauf, Metadaten usw., die für die Existenz des Objekts A bürgen. In einigen Beispielen kann eine erste Version eines Datenelements in einer DSC (Objekt C1) mit mehreren weiteren DSC-Objekten, die Änderungen an C1 (z. B. C1', C1'', C1''' etc....) vornehmen, gemeinsam verwendet und/oder geklont werden. In derartigen Beispielen werden die Änderungen wieder mit C1 zusammengeführt, um C2 zu erstellen, das einer Summe oder einer Zusammenfassung der Änderungen entspricht. In einigen Beispielen erstellen ein oder mehrere Objektmanager 112a-e eine Komponente einer vertrauenswürdigen Schicht (z. B. eine Vertrauenswurzel), um einen modularen portablen Datenpool zu instantiieren. Auf diese Weise kann ein DSC-Objekt gesichert werden. Zum Beispiel kann das DSC-Objekt unter eine Steuerung eines portablen Datenpools gestellt werden und kann das DSC-Objekt verschlüsselt werden und/oder für einen Partnerknoten unter Verwendung eines Beglaubigungsprotokolls beglaubigt werden. Der Beispielobjektmanager 112a wird ferner unten in Verbindung mit 2 beschrieben.
  • Das Beispielnetz 114 von 1 ist ein System verbundener Systeme, die Daten austauschen. Das Beispielnetz 114 kann unter Verwendung eines beliebigen Typs eines öffentlichen oder privaten Netzes wie z. B., jedoch nicht beschränkt auf das Internet, ein Telefonnetz, ein lokales Netz (LAN), ein Kabelnetz, ein cloudbasiertes Netz, ein drahtgebundenes Netz und/oder ein drahtloses Netz implementiert werden. Um eine Kommunikation über das Netz 114 zu ermöglichen, können die Beispielverarbeitungsvorrichtungen 102, 104, 106, 108, 110 eine Kommunikationsschnittstelle enthalten, die eine Verbindung zu einem Ethernet, einer digitalen Teilnehmerleitung (DSL), einer Telefonleitung, einem Koaxialkabel, einer drahtgebundenen Verbindung, einer drahtlosen Verbindung usw. oder einer beliebigen Kombination davon ermöglicht.
  • Die Beispielblockkette 116 von 1 ist ein dezentrales Objektänderungsmanagementnetz, das eine Datenherkunft für Daten, die mit DSC-Objekten verbunden sind, durchsetzt, wenn die Daten konsumiert und/oder modifiziert werden. Die Beispielblockkette 116 von 1 verwendet intelligente Verträge (z. B. ein Protokoll zum digitalen Ermöglichen, Prüfen und/oder Durchsetzen eines Vertrags, der Daten, die mit DSC-Objekten verbunden sind, entspricht). Allerdings können weitere Protokolle verwendet werden, um Verträge durchzusetzen und/oder die Lebensdauer von Daten, die mit DSC-Objekten verbunden sind, auf andere Weise zu managen. Die Beispielblockkette 116 zeichnet Überarbeitungen an Daten, die mit einem DSC-Objekt verbunden sind, in einem lokalen Protokoll als den Startpunkt einer nächsten Entwicklung der Daten und/oder eines entsprechenden DSC-Objekts, das anschließend verwendet werden kann, auf. Zum Beispiel können dann, wenn die Verarbeitungsvorrichtung 102 Daten, die mit einem neuen DSC-Objekt verbunden sind, erzeugt und die Verarbeitungsvorrichtung 102 eine Verbindung zum Beispielnetz 114 aufbaut, die Beispielblockkettenmineure der Blockkette 116 das Vorliegen des DSC-Objekts erkennen und unter Verwendung eines verteilten Übereinstimmungsalgorithmus hinsichtlich des DSC-Objektnamens, lokaler Datenobjekte, Objektmetadaten, Überarbeitungen und einer Übergabedatei zustimmen. Das DSC-Objekt kann einem oder mehreren kryptographischen Schlüsseln zugeordnet sein, die die Integrität, die Vertraulichkeit und das Identifizieren des DSC-Objekts im System 100 schützen. In einigen Beispielen zeichnet dann, wenn die Daten, die mit einem DSC-Objekt verbunden sind, dem Management digitaler Rechte entsprechen, die Beispielblockkette 116 ein Betrachten und/oder eine Änderung der Daten und/oder eine Bezahlung für einen Datenkonsum auf. In einigen Beispielen stellt die Blockkette 116 Zertifikate für die Beispielverarbeitungsvorrichtungen 102, 104, 106, 108, 110 aus, um Stellvertreteridentitäten zu erzeugen.
  • Der Beispielobjektüberwachungsdienst 118 von 1 ist eine zentralisierte Objektänderungsmanagementvorrichtung (z. B. ein oder mehrere Server, Prozessoren usw.), die die Datenherkunft und die Integrität für Daten und/oder die zugrunde liegende Infrastruktur, die mit DSC-Objekten verbunden sind, wenn die Daten konsumiert und/oder modifiziert werden, auf eine ähnliche Weise wie die Blockkette 116 verfolgt, überwacht und/oder durchsetzt. Der Beispielobjektüberwachungsdienst 118 zeichnet Überarbeitungen an Daten, die mit einem DSC-Objekt verbunden sind, in einem lokalen Protokoll als den Startpunkt einer nächsten Entwicklung der Daten und/oder des entsprechenden DSC-Objekts, das anschließend verwendet werden kann, auf. Zum Beispiel kann der Objektüberwachungsdienst 118 dann, wenn die Verarbeitungsvorrichtung 102 Daten erzeugt, die mit einem neuen DSC-Objekt verbunden sind, und die Verarbeitungsvorrichtung 102 eine Verbindung zum Beispielnetz 114 aufbaut, das Vorliegen des DSC-Objekts erkennen und unter Verwendung eines verteilten Übereinstimmungsalgorithmus hinsichtlich des DSC-Objektnamens, lokaler Datenobjekte, Objektmetadaten, Überarbeitungen und einer Übergabedatei zustimmen. Das DSC-Objekt kann einem oder mehreren kryptographischen Schlüsseln zugeordnet sein, die die Integrität, die Vertraulichkeit und das Identifizieren des DSC-Objekts im System 100 schützen. In einigen Beispielen kann dann, wenn die Daten, die mit einem DSC-Objekt verbunden sind, dem Management digitaler Rechte entsprechen, der Objektüberwachungsdienst 118 ein Betrachten und/oder eine Änderung der Daten und/oder eine Bezahlung für einen Datenkonsum aufzeichnen. In einigen Beispielen stellt der Objektüberwachungsdienst 118 Zertifikate für die Beispielverarbeitungsvorrichtungen 102, 104, 106, 108, 110 aus, um Stellvertreteridentitäten zu erzeugen. Zusätzlich kann der Beispielobjektüberwachungsdienst 118 Aktualisierungen der Blockkette 116 überwachen. Zum Beispiel kann der Objektüberwachungsserver 188 eine „angemessene Verwendung,“ eine „zugelassene“ und eine „nicht zugelassene“ Verwendung von Medien identifizieren, die in einigen geeigneten ausgleichenden Transaktionen (z. B. Berichten einer angemessenen Verwendung, Sammeln von Lizenzgebühren für eine zugelassene Verwendung oder Informieren von Strafverfolgungsbehörden über eine nicht zugelassene Verwendung) resultieren. Zusätzlich oder alternativ kann der Objektüberwachungsserver 118 einen ERM-Arbeitsablauf einsetzen, um einen Zugriff auf sensible Inhalte unter Verwendung eines Zugangskontrolldienstes (z. B. offene Genehmigung (OAuth2), Sicherheitszusicherungsauszeichnungssprache (SAML), erweiterbare Zugriffssteuerauszeichnungssprache (XACML), Radius usw.) zu steuern. Obwohl die Beispielsystemarchitektur 100 eine Beispielblockkette 116 und einen Beispielobjektüberwachungsdienst 118 enthält, um Daten und ein entsprechendes DSC-Objekt zu verfolgen, kann die Beispielsystemarchitektur 100 lediglich eine der Blockkette 116 oder des Objektüberwachungsdiensts 118 enthalten, um Daten und entsprechende DSC-Objekte zu verfolgen.
  • 2 ist Blockdiagramm einer Beispielimplementierung des Objektmanagers 112a von 1. Der Beispielobjektmanager 112a von 2 kann verwendet werden, um einen oder mehrere der Objektmanager 112a-e von 1 zu implementieren. Der Beispielobjektmanager 112a von 2 enthält eine Beispielkomponentenschnittstelle 200, eine Beispielnetzschnittstelle 202, ein Beispielfilter 204, einen Beispieldateiprozessor 206, eine Beispielverschlüsselungsvorrichtung 208, einen Beispieldatenstrukturgenerator 210, einen Beispielstellvertretergenerator 212, einen Beispielcodierer 216, einen Beispielschlüsselgenerator 218, einen Beispielobjektaggregator 220, einen Beispielvertrauenswurzelgenerator 222, einen Beispielobjektprozessor 224 und eine Beispielentschlüsselungsvorrichtung 226.
  • Die Beispielkomponentenschnittstelle 200 von 2 koppelt an Komponenten der Beispielverarbeitungsvorrichtung 102, 104, 106, 108, 110, um Daten zu erhalten, die in der Beispielverarbeitungsvorrichtung 102, 104, 106, 108, 110 gespeichert sind, durch sie empfangen werden und/oder durch sie verwendet werden. Zum Beispiel kann die Komponentenschnittstelle 200 auf Dateien (z. B. Medien und/oder Daten, die erzeugt, empfangen, betrachtet usw. wurden), Daten, die den Dateien entsprechen, Metadaten, Zertifikate, Vertrauenswurzeln usw. zugreifen und/oder sie ändern.
  • Die Beispielnetzschnittstelle 202 von 2 greift auf das Beispielnetz 114 zu, um DSC-Datenobjekte zu einer der Beispielverarbeitungsvorrichtungen 102, 104, 106, 108, 110, der Beispielblockkette 116 und/oder dem Beispielobjektüberwachungsdienst 118 (z. B. über eine drahtgebundene oder eine drahtlose Verbindung) zu senden. Zusätzlich kann die Beispielnetzschnittstelle 202 Zusammenfassungswerte, Beglaubigungsanforderungen, unterzeichnete Daten, Belege und/oder Zertifikate von einer der Beispielverarbeitungsvorrichtungen 102, 104, 106, 108, 110, der Beispielblockkette 116 und/oder dem Beispielobjektüberwachungsdienst 118 (z. B. über eine drahtgebundene oder eine drahtlose Verbindung) empfangen/senden.
  • Das Beispielfilter 204 von 2 filtert erhaltene Daten (z. B. Medien, Datendateien usw.). Zum Beispiel können dann, wenn der Objektmanager 112a in einer IOT-Vorrichtung implementiert ist, die erhaltenen Daten eine große Menge maschinell erzeugter Daten und/oder Daten, die sich auf einen Maschinenbetrieb beziehen (z. B. Leistungsfähigkeit, Zuverlässigkeit, Leistung, Rauschtelemetrie usw.) sein. Entsprechend kann das Beispielfilter 204 die große Menge erhaltener Daten in einen Anteil der Daten filtern, der zur Langzeitverwendung behalten wird. In einem derartigen Beispiel kann der verbleibende Anteil für eine kurze Dauer für eine Problemuntersuchung oder eine Qualifikation gespeichert werden, bevor er verworfen wird. Das Beispielfilter 204 kann die erhaltenen Daten auf der Grundlage einer Anwender- und/oder Herstellerpräferenz hinsichtlich davon, wie gefiltert werden soll und/oder wie stark gefiltert werden soll, filtern.
  • Der Beispieldateiprozessor 206 von 2 verarbeitet empfangene Datendateien, um Informationen, die der Datei entsprechen, für Zwecke der DSC-Objektkreation zu identifizieren. Zum Beispiel kann der Dateiprozessor 206 Folgendes bestimmen: ob die Datendatei sensible Daten enthält (z. B. wenn die Daten als sensibel markiert wurden), ob das DSC-Objekt unter Verwendung von selbstbestimmter Identität (SSI) gesteuert wird, ob eine Datei einem bestimmten Format oder einer bestimmten Struktur entspricht, den Typ der zu verwendenden Verschlüsselung, ob die Daten auf der Grundlage von Anwender- und/oder Herstellerpräferenzen auf eine oder mehrere bestimmte Vorrichtungen beschränkt werden sollen usw. SSI ist ein Identitätsmanagementsystem, in dem der Anwender die Elemente, die die Identität bilden, managt und den Zugriff auf die Zugangsdaten digital steuert. Ein Objekt kann unter Verwendung einer selbstbestimmten Identität auf der Grundlage von Anwender- und/oder Herstellerpräferenzen gesteuert werden.
  • Die Beispielverschlüsselungsvorrichtung 208 von 2 verschlüsselt ein DSC-Objekt. In einigen Beispielen führt die Verschlüsselungsvorrichtung 208 eine homomorphe Verschlüsselung durch. Eine homographische Verschlüsselung ist eine Form oder Verschlüsselung, die eine Berechnung an verschlüsselten Geheimtextdaten ermöglicht, um ein verschlüsseltes Ergebnis zu erzeugen, das, wenn es entschlüsselt wird, mit dem Ergebnis der Operationen, als ob sie an den nicht verschlüsselten Klartextdaten durchgeführt worden wären, übereinstimmt. Zum Beispiel kann eine additive homomorphe Verschlüsselung in Verbindung mit privatsphäreschützenden Zählern, die für Verfolgungszwecke verwendet werden, verwendet werden (z. B. um Zugriffe auf Daten während des Schützens der Werte der Daten zu verfolgen). Die Beispielverschlüsselungsvorrichtung 208 kann eine homomorphe Verschlüsselung auch verwenden, wenn DSC-Objekte ohne eine direkte Offenbarung von Inhalten zur Einheit, die die Aggregation durchführt, zusammengefasst werden. Zusätzlich oder alternativ kann die Beispielverschlüsselungsvorrichtung 208 ein DSC-Objekt unter Verwendung von Datenschutzschlüsseln verschlüsseln. Zum Beispiel kann die Verschlüsselungsvorrichtung 208 ein DSC-Objekt mit einem Archivklassenschlüssel, der auf einem Festplattenlaufwerk (HDD), einem Laufwerk mit stabilen Zuständen (SSD), einem Band usw. der Verarbeitungsvorrichtung gespeichert ist, verschlüsseln. Zusätzlich oder alternativ kann die Beispielverschlüsselungsvorrichtung 208 ein DSC-Objekt mit einem speicherinternen Verschlüsselungsschlüssel (z. B. Mehrfachschlüssel-Gesamtspeicherverschlüsselung (MKTME), INTEL™-Software-Schutzerweiterung (SGX), INTEL™-Erweiterungen für eine vertrauenswürdige Domäne (TDX)) oder mit einem persönlichen Schlüssel eines Anwenders unter Verwendung von INTEL™-Schnellunterstützungstechnologie (QAT), INTEL™-Schlüsselschutztechnologie (KPT) und/oder einer weiteren Form eines Kryptographiebeschleunigers oder eines Schlüsselmanagers verschlüsseln. Zusätzlich oder alternativ kann ein Integritätsschutz mit einem Nachrichtenauthentifizierungscodierungsschlüssel (MACing-Schlüssel) zur Speicherung im Datenspeicher oder Isolation in einer sicheren Ausführungsumgebung (z. B. eine Vertrauenswurzel, ein Hypervisor einer virtuellen Maschine, eine Enklave, ein Co-Processor, ein FPGA-Entwurf, ein Grafikprozessor, ein Mikrocontroller, eine Peripherievorrichtung usw.) durchgeführt werden. In einigen Beispielen kann die Verschlüsselungsvorrichtung 208 lokale Datenobjekte mit einer Prüfsumme versehen und/oder eine Kryptographieprüfsumme von Etiketten des lokalen Datenobjekts erzeugen. Ein lokales Datenobjekt ist eine Dateneinheit (z. B. ein Datenblock, ein Blob, eine Datei, ein Segment, ein Transaktionsdatensatz usw.), die einer neuen Datei entspricht.
  • Der Beispieldatenstrukturgenerator 210 von 2 erzeugt das DSC-Datenobjekt. Zum Beispiel erzeugt dann, wenn eine neue Datei erzeugt wird, der Beispieldatenstrukturgenerator 210 ein lokales Datenobjekt und Objektmetadaten, die der neuen Datei entsprechen. Das lokale Datenobjekt entspricht den Arbeitsdateien, die der Datei entsprechen. Das lokale Datenobjekt kann Dateiversionsnummern, Bewilligungen von Zugriff auf die Datei, Zugriffsdatensätze auf die Datei und Überarbeitungen, die an einem davon vorgenommen werden, enthalten. Zusätzlich erzeugt der Beispieldatenstrukturgenerator 210 eine hierarchische Datenstruktur (z. B. einen lokalen Merkle-Baum) für eine neue Datei, die einer Prüfsumme des lokalen Datenobjekts entspricht, als einen Blattknoten und eine Kryptographieprüfsumme des Niveaus des lokalen Datenobjekts als die Zwischenniveauknoten der hierarchischen Datenstruktur. In einigen Beispielen kann der Datenstrukturgenerator 210 ein lokales Übergabeprotokoll erzeugen, um Versionen für die neue Datei zu verfolgen. Wenn die Datei aktualisiert wird, kann der Beispieldatenstrukturgenerator 210 das lokale Übergabeprotokoll aktualisieren, um die verschieden Versionen der neuen Datei, die erzeugt wurden, zu identifizieren. In einigen Beispielen erzeugt der Datenstrukturgenerator 210 ein Überarbeitungsprotokoll, um die eine oder die mehreren Überarbeitungen der neuen Datei zu verfolgen. Wenn die Datei aktualisiert wird, kann der Beispieldatenstrukturgenerator 210 das Überarbeitungsprotokoll aktualisieren, um die Überarbeitungen, die an der neuen Datei durchgeführt wurden, zu identifizieren. In einigen Beispielen verpackt der Datenstrukturgenerator 210 die hierarchische Datenstruktur, lokale Datenobjekte, Objektmetadaten, das Überarbeitungsprotokoll und/oder das lokale Übergabeprotokoll in ein lokales DSC-Objekt, das mit der neuen Datei verbunden werden kann. In einigen Beispielen kann der Datenstrukturgenerator 210 Werkzeuge im DSC-Objekt zum Zugreifen auf und/oder Manipulieren der Datendatei, die mit dem DSC-Objekt verbunden ist, oder das bzw. des DSC-Objekts selbst enthalten.
  • Der Beispielstellvertretergenerator 212 von 2 schafft eine Stellvertreteridentität unter Verwendung eines Zertifikats für eine selbstbestimmte Identität, wodurch er Personen und/oder Einheiten ermöglicht, Besitz ihrer Identitäten und eine Kontrolle darüber, wie ihre Daten gemeinsam genutzt und/oder verwendet werden, zu haben. Auf diese Weise kann der Identitätsshalter lediglich die für eine gegebene Transaktion oder Interaktion nötigen Daten zeigen. Ein Blockkettenteilnehmer kann die Zertifikate liefern, die der Beispielstellvertretergenerator 212 verwendet, um die Stellvertreteridentität zu schaffen. Die Stellvertreteridentität, die mit dem Zertifikat gesichert ist, kann Elemente schützen, die für Zugangsrechte, die den geschützten Elementen entsprechen (z. B. eine digitale Kennung, die Zugriff auf die eigenen Patientenakten oder Patientenakten, die Stellvertreteridentitäten, die als Patienten unter jemands Pflege registriert sind, zugeordnet sind, zeigt und genehmigt), identifiziert und nicht verschleiert werden. Dass DSC-Objekte eine selbstbestimmte Identität besitzen, um die eigenständigen DSC-Objekte zu identifizieren, bedeutet, dass auch das Objekt selbstbestimmt ist.
  • Der Beispielcodierer 216 von 2 codiert das DSC-Objekt. Datendateien entsprechen verschiedenen Datenkodierungsformaten. Zum Beispiel sind Audiodateien als MP3, M4A usw. codiert. Entsprechend codiert dann, wenn die Datendatei einem bestimmten Codierungsformat entspricht, der Beispielcodierer 216 das DSC-Objekt derart, dass es mit der Codierung der Datendatei übereinstimmt. Die Beispielverschlüsselungsvorrichtung 208 kann ferner inhaltspezifische Codierungen (z. B. unter Verwendung einer kryptographischen Serialisierung) für einen sicheren Transport zwischen Verarbeitungsvorrichtungen (z. B. unter Verwendung von COSE, JOSE, CMW, CML-Unterzeichnung usw.) serialisieren. In einigen Beispielen kann der Codierer 216 einige Daten zur sicheren Verteilung codieren. Zum Beispiel kann der Beispielcodierer 216 eine Datenmanipulationssprache (z. B. CDDL, JSON, XML, CBOR, ASN.1) verwenden, um Interoperabilität zu ermöglichen, weil die Serialisierungstechnik sowohl den Codierern als auch den Decodierern bekannt ist.
  • Der Beispielschlüsselgenerator 218 von 2 erzeugt Belege und/oder Datenspeicherschlüssel. Zum Beispiel kann der Schlüsselgenerator 218 einen Beleg zum Begrenzen von Zugriff auf eine Datei für bestimmte Vorrichtungen erzeugen. Der Schlüsselgenerator 218 erzeugt einen Beleg derart, dass er den öffentlichen Schlüssel und/oder den Vertrauensanker einer weiteren Vorrichtung in der Systemarchitektur 100 von 1 enthält. Der Beleg legt fest, welche Partnerknoten berechtigt sind, das DSC-Objekt in ihre Speichersysteme zu importieren. Der Schlüsselgenerator 218 kann die Belege derart erzeugen, dass sie auch einen Schlüsselverpackungsschlüssel (z. B. öffentliche RSA-Schlüssel für vertrauenswürdige Einheiten) enthalten. Belege können eine sichere Verbindung zu einem PDP und/oder einem weiteren verbundenen Datenobjekt herstellen. Zum Beispiel kann ein DSC-Objekt Edge-Hostingbetriebsmittel, bei denen sich Daten physisch befinden, repliziert werden, zwischengespeichert werden usw., identifizieren. Sämtliche Bewegungen, Bezugszählererhöhungen/-verringerungen und/oder Zugriffsbewilligungen können durch die Vertrauenswurzel, die den Beleg interpretiert, versperrt werden. In einigen Beispielen kann der Schlüsselgenerator 218 Datenspeicherschlüssel erzeugen, die verwendet werden, um einen Datenpool zu authentifizieren und/oder zu beglaubigen.
  • Der Beispielobjektaggregator 220 von 2 fasst Daten von zwei oder mehr DSC-Objekten zu einem neuen DSC-Objekt, das den zwei DSC-Objekten entspricht, zusammen. Der Objektaggregator 220 kann auch (z. B. zur Verfolgung und/oder Prüfung) beliebige Daten, die von untergeordneten Unterbäumen unter einem DSC-Objekt abgeleitet werden, erzeugen und unterzeichnen. Derartige Daten können Informationen enthalten, die verwendet werden können, um einen Satz Umwandlungen erneut zu erstellen, den Satz Umwandlungen anzuwenden und/oder das Nettoergebnis der Umwandlungen zu prüfen, um ein prüfbares Ergebnis über den Daten zu erstellen. Zum Beispiel kann eine Komponente des Systems 100 die operative Abstammung einer Datei damit, wo die Umwandlungen der Datei durchgeführt wurden, einen Zeitstempel und Signaturen über die Zwischendaten aufzeichnen. In einem derartigen Beispiel können, obwohl die Zwischendaten transient sein und verlorengegangen sein können, die Zwischendaten durch Durchführen der Dokumentenumwandlungen wiederhergestellt und gegen die Signaturen geprüft werden. Dies ermöglicht dem Beispielobjektaggregator 220, Fehler in der Datenlieferkette zu beheben, sie zu prüfen und/oder ein größeres Vertrauen in ihre Robustheit zu erzeugen. Wenn ein DSC-Objekt aktualisiert wird, fügt der Beispielobjektaggregator 220 einen Knoten zu einem Blatt eines Merkle-Baums, der Änderungen der Datei entspricht, hinzu. Entsprechend wird der Merkle-Baum mit jedem Zugriff, jeder Bearbeitung usw. auf die Daten, die dem DSC-Objekt entsprechen, aktualisiert.
  • Wenn Daten von zwei DSC-Objekten zusammengefasst werden, kann der Beispielobjektaggregator 220 von 2 entsprechende Knoten derart zum Merkle-Baum hinzufügen, dass der neue Merkle-Baum Knoten enthält, die den Knoten der zwei DSC-Objekte, die zusammengefasst wurden, entsprechen. Zum Beispiel würde dann, wenn die Medien C1 und C2 Eingaben zu einem DSC-Objekt sind, wobei eine Matrixmultiplikation auf jedes Byte der Medien angewendet wird, der Objektaggregator 220 ein Protokoll/einen Verlauf erstellen, der C1 und C2 (z. B. durch Erhalten einer SSI, durch Berechnen einer Zusammenfassung über ein Etikett, das C1 identifiziert, oder direkt durch Berechnen einer Zusammenfassung über die C1-Medien) identifiziert. Metadaten über C1 und C2 können eine Geolokalisierung, wer das Urheberrecht besitzt usw. enthalten. Ein drittes Medium C3 kann erzeugt werden, das die Matrixmultiplikationsumwandlung über C1 und C2 anwendet. Die Metadaten für C2 können die Umwandlungsfunktion, die verwendet wurde, den Ort, an dem die Funktion verwendet wurde, usw. beschreiben. Wenn eine Umwandlung angewendet wird, erzeugen der Aggregator 220 und/oder der Beispieldatenstrukturgenerator 210 eine Überarbeitung. Das resultierende Medienüberarbeitungsobjekt für C3 wird mit einer Prüfsumme versehen (z. B. unter Verwendung der Verschlüsselungsvorrichtung 208), um einen Wert zu erstellen, der im Merkle-Baum enthalten ist. In einigen Beispielen kann es angemessen sein, mehrere Überarbeitungen von C2 zu ermöglichen, bevor ein endgültiges Ergebnis erzeugt und zum lokalen Merkle-Baum hinzugefügt wird, um zu ermöglichen, dass kreative oder beliebige Änderungen auftreten, ohne überschüssige Einträge im Merkle-Baum zu erzeugen. Der Merkle-Baum zeichnet Arbeitsablaufschritte, die lokal angewendet werden (z. B. Medien C1 empfangen, Medien C2 empfangen, Umwandlungsfunktion F1 angewendet, Umwandlungsfunktion F2 angewendet, Medien C3 erzeugt usw.), auf. Die Verschlüsselungsvorrichtung 208 versieht die Wurzel des Merkle-Baums mit einer Prüfsumme, um einen Wert zu erzeugen, der den aktuellen Zustand des DSC zur aktuellen Zeit repräsentiert. Unterbaumknoten repräsentieren den Zustand zu einem früheren Zeitpunkt. Durch Hinzufügen einer lokalen Merkle-Baum-Wurzel zur Blockkette ist es möglich, die Zustandsänderungen über mehrere DSC-Objekte zu serialisieren. Unterbäume eines lokalen Objekts können parallel auftreten. Somit muss eine Serialisierung von Unterbaumüberarbeitungen nicht leicht erreichbar sein. Allerdings können Überarbeitungsdaten einen sicheren Zeitstempel enthalten, wenn dieses Niveau einer Serialisierung erforderlich ist.
  • Der Beispielvertrauenswurzelgenerator 222 führt eine Hardware-Bescheinigung in der Verarbeitungsvorrichtung aus, um eine sichere Ausführungsumgebung zum Erzeugen und/oder Modifizieren eines DSC-Objekts zu entwickeln. Zum Beispiel kann der Vertrauenswurzelgenerator 222 ein INTEL™-SGX-Protokoll implementieren, um die Bescheinigung zu implementieren. Der Beispielvertrauenswurzelgenerator 222 erhält (z. B. über die Netzschnittstelle 202) eine Vertrauenswurzel von einer sendenden Verarbeitungsvorrichtung, die (z. B. über eine drahtgebundene oder eine drahtlose Verbindung) ein DSC-Objekt (z. B. die Verarbeitungsvorrichtung 104-110, die ein erhaltenes DSC-Objekt gesendet hat) vor der Verarbeitung der Daten von der sendenden Verarbeitungsvorrichtung sendet. Die Bescheinigungsstruktur zeigt die Vertrauenswurzelarchitektur (die z. B. das INTEL™ SGX-Protokoll als Grundlage verwenden könnte, wobei die SGX-Enklave die lokale DSC-Funktion (LDSC-Funktion) sowie die Krypto-Serialisierung, die Signierung und die Verschlüsselung implementiert). Der Beispielvertrauenswurzelgenerator 222 führt die Hardware-Bescheinigung durch, indem eine geeignete Vertrauenswurzel auf der Grundlage der empfangenen Bescheinigung gefunden wird, der Betrieb in einer Speicherdatenpoolumgebung, die mit der Vertrauenswurzel verbunden ist, gestartet wird und die Datenspeicherschlüssel zum Importieren (z. B. Verschlüsseln) des DSC-Objekts und zu seinem Anordnen unter der Steuerung eines portablen Datenpools verwendet werden.
  • Der Beispielobjektprozessor 224 von 2 verarbeitet DSC-Datenobjekte, die vom Netz 114 empfangen werden. Zum Beispiel kann der Objektprozessor 224 einen Besitzerzertifikatspfad mit einem öffentlichen Schlüssel in einem Beleg prüfen, den Empfang und/oder die Änderung des empfangenen DSC-Objekts protokollieren und Werkzeuge, die im DSC-Objekt enthalten sind, laden. In einigen Beispielen bestimmt der Objektprozessor 224, ob die Änderungen eines DSC-Objekts zu einer einzelnen monolithischen Änderung reduziert werden sollen und/oder ob Datenumwandlungen ausgeglichen werden müssen, um Fehler in den Daten des DSC-Objekts zu beheben.
  • Die Beispielentschlüsselungsvorrichtung 226 von 2 entschlüsselt ein empfangenes DSC-Objekt auf der Grundlage des Protokolls, das verwendet wird, um das DSC-Objekt zu verschlüsseln. Zum Beispiel entschlüsselt dann, wenn das DSC-Objekt unter Verwendung einer homomorphen Verschlüsselung verschlüsselt ist, die Entschlüsselungsvorrichtung 226 unter Verwendung einer homomorphen Entschlüsselung. In einem weiteren Beispiel kann dann, wenn das DSC-Objekt serialisiert ist, die Beispielentschlüsselungsvorrichtung 226 das DSC-Objekt auf der Grundlage des Serialisierungsprotokolls entschlüsseln.
  • Im in 2 veranschaulichten Beispiel enthält die Komponentenschnittstelle 200 Mittel zum Interagieren mit und/oder Zugreifen auf Daten von weiteren Komponenten einer Verarbeitungsvorrichtung. In diesem Beispiel werden die Zugriffsmittel durch einen beliebigen Prozessor, der strukturiert ist, die entsprechenden Operationen durch Ausführen von Software oder Firmware durchzuführen, oder eine beliebige Hardware-Schaltung (z. B. eine diskrete und/oder eine integrierte analoge und/oder digitale Schaltungsanordnung, eine FPGA, eine PLD, eine FPLD, eine ASIC, ein Komparator, ein Operationsverstärker (op-amp), eine Logikschaltung usw.), die strukturiert ist, die entsprechende Operation ohne Ausführen von Software oder Firmware durchzuführen, implementiert, jedoch sind weitere Strukturen gleichermaßen geeignet. In einigen Beispielen implementiert die Komponentenschnittstelle 200 die Zugriffsmittel.
  • Im in 2 veranschaulichten Beispiel enthält das Filter 204 Mittel zum Filtern von Rohdaten. In diesem Beispiel sind die Filtermittel durch einen beliebigen Prozessor, der strukturiert ist, die entsprechenden Operationen durch Ausführen von Software oder Firmware durchzuführen, oder eine beliebige Hardware-Schaltung (z. B. eine diskrete und/oder eine integrierte analoge und/oder digitale Schaltungsanordnung, eine FPGA, eine PLD, eine FPLD, eine ASIC, ein Komparator, ein Operationsverstärker (op-amp), eine Logikschaltung usw.), die strukturiert ist, die entsprechende Operation ohne Ausführen von Software oder Firmware durchzuführen, implementiert, jedoch sind weitere Strukturen gleichermaßen geeignet. In einigen Beispielen implementiert das Filter 204 die Filtermittel.
  • Im in 2 veranschaulichten Beispiel enthält der Dateiprozessor 206 Mittel zum Bestimmen, ob eine neue Datei erzeugt wurde, Bestimmen dass Daten von der Datei gefiltert werden sollen, Bestimmen, ob die Daten in einer neuen Datei sensible Daten enthalten, Bestimmen, ob ein DSC-Objekt unter Verwendung einer selbstbestimmten Identität gesteuert wird, Bestimmen, ob eine neue Datei einem bestimmten Format oder einer bestimmten Struktur entspricht, Verbinden eines DSC-Objekts mit einer neuen Datei und Bestimmen, dass ein DSC-Objekt und/oder eine Datei auf eine bestimmte Vorrichtung beschränkt ist. In diesem Beispiel sind die Bestimmungs- und/oder Verbindungsmittel durch einen beliebigen Prozessor, der strukturiert ist, die entsprechenden Operationen durch Ausführen von Software oder Firmware durchzuführen, oder eine beliebige Hardware-Schaltung (z. B. eine diskrete und/oder eine integrierte analoge und/oder digitale Schaltungsanordnung, eine FPGA, eine PLD, eine FPLD, eine ASIC, ein Komparator, ein Operationsverstärker (op-amp), eine Logikschaltung usw.), die strukturiert ist, die entsprechende Operation ohne Ausführen von Software oder Firmware durchzuführen, implementiert, jedoch sind weitere Strukturen gleichermaßen geeignet. In einigen Beispielen implementiert der Dateiprozessor 206 die Bestimmungs- und/oder Verbindungsmittel.
  • Im in 2 veranschaulichten Beispiel enthält die Verschlüsselungsvorrichtung 208 Mittel zum Verschlüsseln von Daten, Anomnymisieren sensibler Daten, versehen lokaler Datenobjekte mit einer Prüfsumme, Erzeugen eine Kryptographieprüfsumme eines Etiketts des lokalen Datenobjekts, Bestimmen, ob ein DSC-Objekt Daten für eine vollständige oder eine homomorphe Verschlüsselung enthält, und/oder Durchführen einer vollständigen oder einer homomorphen Verschlüsselung. In diesem Beispiel sind die Mittel zum Verschlüsseln, Anonymisieren, mit einer Prüfsumme versehen, Erzeugen, Bestimmen und/oder Durchführen durch einen beliebigen Prozessor, der strukturiert ist, die entsprechenden Operationen durch Ausführen von Software oder Firmware durchzuführen, oder eine beliebige Hardware-Schaltung (z. B. eine diskrete und/oder eine integrierte analoge und/oder digitale Schaltungsanordnung, eine FPGA, eine PLD, eine FPLD, eine ASIC, ein Komparator, ein Operationsverstärker (op-amp), eine Logikschaltung usw.) die strukturiert ist, die entsprechende Operation ohne Ausführen von Software oder Firmware durchzuführen, implementiert, jedoch sind weitere Strukturen gleichermaßen geeignet. In einigen Beispielen implementiert die Verschlüsselungsvorrichtung 208 die Mittel zum Verschlüsseln, Anonymisieren, mit einer Prüfsumme versehen, Erzeugen, Bestimmen und/oder Durchführen.
  • Im in 2 veranschaulichten Beispiel enthält der Datenstrukturgenerator 210 Mittel zum Erzeugen eines lokalen Datenobjekts, Erzeugen von Objektmetadaten, einer hierarchischen Datenstruktur, eines lokalen Übergabeprotokolls und/oder eines Überarbeitungsprotokolls, Umwickeln der Änderungsmanagementmetadaten, Aktualisieren der Metadaten, Hinzufügen von Datenumwandlungswerkzeugen, Protokollieren einer DSC-Objektdetektion, Erhöhen einer Zugriffsanzahl, Aktualisieren der hierarchischen Datenstruktur, des lokalen Übergabeprotokolls und/oder des Überarbeitungsprotokolls, Bestimmen, ob Änderungen reduziert werden sollen, Reduzieren der Änderungen und/oder Erzeugen von Daten von untergeordneten Unterbäumen. In diesem Beispiel sind die Mittel zum Erzeugen, Hinzufügen, Protokollieren, Aktualisieren und/oder Bestimmen durch einen beliebigen Prozessor, der strukturiert ist, die entsprechenden Operationen durch Ausführen von Software oder Firmware durchzuführen, oder eine beliebige Hardware-Schaltung (z. B. eine diskrete und/oder eine integrierte analoge und/oder digitale Schaltungsanordnung, eine FPGA, eine PLD, eine FPLD, eine ASIC, ein Komparator, ein Operationsverstärker (op-amp), eine Logikschaltung usw.), die strukturiert ist, die entsprechende Operation ohne Ausführen von Software oder Firmware durchzuführen, implementiert, jedoch sind weitere Strukturen gleichermaßen geeignet. In einigen Beispielen implementiert der Datenstrukturgenerator 210 die Mittel zum Erzeugen, Hinzufügen, Protokollieren, Aktualisieren und/oder Bestimmen.
  • Im in 2 veranschaulichten Beispiel enthält der Stellvertretergenerator 212 Mittel zum Festlegen einer Stellvertreterkennung. In diesem Beispiel sind die Festlegungsmittel durch einen beliebigen Prozessor, der strukturiert ist, die entsprechenden Operationen durch Ausführen von Software oder Firmware durchzuführen, oder eine beliebige Hardware-Schaltung (z. B. eine diskrete und/oder eine integrierte analoge und/oder digitale Schaltungsanordnung, eine FPGA, eine PLD, eine FPLD, eine ASIC, ein Komparator, ein Operationsverstärker (op-amp), eine Logikschaltung usw.), die strukturiert ist, die entsprechende Operation ohne Ausführen von Software oder Firmware durchzuführen, implementiert, jedoch sind weitere Strukturen gleichermaßen geeignet. In einigen Beispielen implementiert der Stellvertretergenerator 212 die Festlegungsmittel.
  • Im in 2 veranschaulichten Beispiel enthält der Codierer 216 Mittel zum Codieren eines DSC-Objekts und/oder zum Anwenden eines Datenserialisierungsformats auf ein DSC-Objekt. In diesem Beispiel sind die Codierungs- und/oder Anwendungsmittel durch einen beliebigen Prozessor, der strukturiert ist, die entsprechenden Operationen durch Ausführen von Software oder Firmware durchzuführen, oder eine beliebige Hardware-Schaltung (z. B. eine diskrete und/oder eine integrierte analoge und/oder digitale Schaltungsanordnung, eine FPGA, eine PLD, eine FPLD, eine ASIC, ein Komparator, ein Operationsverstärker (op-amp), eine Logikschaltung usw.), die strukturiert ist, die entsprechende Operation ohne Ausführen von Software oder Firmware durchzuführen, implementiert, jedoch sind weitere Strukturen gleichermaßen geeignet. In einigen Beispielen implementiert der Codierer 216 die Codierungs- und/oder Anwendungsmittel.
  • Im in 2 veranschaulichten Beispiel enthält der Schlüsselgenerator 218 Mittel zum Erzeugen von Belegen, Erzeugen von Datenspeicherschlüsseln und/oder Berechnen von Zusammenfassungswerten. In diesem Beispiel sind die Erzeugungs- und/oder Berechnungsmittel durch einen beliebigen Prozessor, der strukturiert ist, die entsprechenden Operationen durch Ausführen von Software oder Firmware durchzuführen, oder eine beliebige Hardware-Schaltung (z. B. eine diskrete und/oder eine integrierte analoge und/oder digitale Schaltungsanordnung, eine FPGA, eine PLD, eine FPLD, eine ASIC, ein Komparator, ein Operationsverstärker (op-amp), eine Logikschaltung usw.), die strukturiert ist, die entsprechende Operation ohne Ausführen von Software oder Firmware durchzuführen, implementiert, jedoch sind weitere Strukturen gleichermaßen geeignet. In einigen Beispielen implementiert der Schlüsselgenerator 218 die Erzeugungs- und/oder Berechnungsmittel.
  • Im in 2 veranschaulichten Beispiel enthält der Objektaggregator 220 Mittel zum Beheben von Fehlern in Daten eines DSC-Objekts, Bestimmen, ob ein erstes und ein zweites DSC-Objekt zusammengefasst werden sollen, und/oder Anwenden von Umstellungen auf das erste und das zweite DSC-Objekt, um ein drittes DSC-Objekt zu erzeugen. In diesem Beispiel sind die Mittel zum Beheben von Fehlern, Bestimmen und/oder Anwenden durch einen beliebigen Prozessor, der strukturiert ist, die entsprechenden Operationen durch Ausführen von Software oder Firmware durchzuführen, oder eine beliebige Hardware-Schaltung (z. B. eine diskrete und/oder eine integrierte analoge und/oder digitale Schaltungsanordnung, eine FPGA, eine PLD, eine FPLD, eine ASIC, ein Komparator, ein Operationsverstärker (op-amp), eine Logikschaltung usw.), die strukturiert ist, die entsprechende Operation ohne Ausführen von Software oder Firmware durchzuführen, implementiert, jedoch sind weitere Strukturen gleichermaßen geeignet. In einigen Beispielen implementiert der Objektaggregator 220 die Mittel zum Beheben von Fehlern, Bestimmen und/oder Anwenden.
  • Im in 2 veranschaulichten Beispiel enthält der Vertrauenswurzelgenerator 222 Mittel zum Suchen einer geeigneten Vertrauenswurzel, Starten einer Vertrauenswurzelumgebung und/oder Anordnen eines verschlüsselten DSC-Objekt unter der Steuerung einer Speicherdatenpoolumgebung. In diesem Beispiel sind die Mittel zum Suchen, Starten und/oder Anordnen durch einen beliebigen Prozessor, der strukturiert ist, die entsprechenden Operationen durch Ausführen von Software oder Firmware durchzuführen, oder eine beliebige Hardware-Schaltung (z. B. eine diskrete und/oder eine integrierte analoge und/oder digitale Schaltungsanordnung, eine FPGA, eine PLD, eine FPLD, eine ASIC, ein Komparator, ein Operationsverstärker (op-amp), eine Logikschaltung usw.), die strukturiert ist, die entsprechende Operation ohne Ausführen von Software oder Firmware durchzuführen, implementiert, jedoch sind weitere Strukturen gleichermaßen geeignet. In einigen Beispielen implementiert der Vertrauenswurzelgenerator 222 die Mittel zum Suchen, Starten und/oder Anordnen.
  • Im in 2 veranschaulichten Beispiel enthält der Objektprozessor 224 Mittel zum Prüfen eines Besitzerzertifikatspfads, Bestimmen, ob ein DSC-Objekt Datenumwandlungswerkzeuge enthält, Laden der Werkzeuge, Bestimmen, ob eine Datei hochgeladen wurde, Bestimmen, ob Änderungen zu einer monolithischen Änderung reduziert werden sollen, Bestimmen, ob eine Datenumwandlung einen Ausgleich benötigt und Bestimmen, ob eine Prüfung und/oder eine Verfolgung durchgeführt werden soll. In diesem Beispiel sind die Bestimmungs- und/oder Prüfmittel durch einen beliebigen Prozessor, der strukturiert ist, die entsprechenden Operationen durch Ausführen von Software oder Firmware durchzuführen, oder eine beliebige Hardware-Schaltung (z. B. eine diskrete und/oder eine integrierte analoge und/oder digitale Schaltungsanordnung, eine FPGA, eine PLD, eine FPLD, eine ASIC, ein Komparator, ein Operationsverstärker (op-amp), eine Logikschaltung usw.), die strukturiert ist, die entsprechende Operation ohne Ausführen von Software oder Firmware durchzuführen, implementiert, jedoch sind weitere Strukturen gleichermaßen geeignet. In einigen Beispielen implementiert der Objektprozessor 224 die Bestimmungs- und/oder Prüfmittel.
  • Im in 2 veranschaulichten Beispiel enthält die Entschlüsselungsvorrichtung 226 Mittel zum Entschlüsseln eines DSC-Objekts. In diesem Beispiel sind die Entschlüsselungsmittel durch einen beliebigen Prozessor, der strukturiert ist, die entsprechenden Operationen durch Ausführen von Software oder Firmware durchzuführen, oder eine beliebige Hardware-Schaltung (z. B. eine diskrete und/oder eine integrierte analoge und/oder digitale Schaltungsanordnung, eine FPGA, eine PLD, eine FPLD, eine ASIC, ein Komparator, ein Operationsverstärker (op-amp), eine Logikschaltung usw.), die strukturiert ist, die entsprechende Operation ohne Ausführen von Software oder Firmware durchzuführen, implementiert, jedoch sind weitere Strukturen gleichermaßen geeignet. In einigen Beispielen implementiert die Entschlüsselungsvorrichtung 226 die Entschlüsselungsmittel.
  • 3A veranschaulicht ein Beispiel-DSC-Objekt 300, das durch den Beispielobjektmanager 112a von 2 (als Beispiel, oder durch einen der Beispielobjektmanager 112b-e von 1) erzeugt und/oder geändert werden kann. Das Beispiel-DSC-Objekt 300 enthält einen lokalen Beispiel-Merkle-Baum 302, lokale Beispieldatenobjekte 304, Beispielobjektmetadaten 306, ein lokales Beispielübergabeprotokoll 308 und ein Beispielüberarbeitungsprotokoll 310.
  • Der lokale Beispiel-Merkle-Baum 302 von 3A entspricht den Daten der Datei, mit der das DSC-Objekt 300 verbunden ist. Der Merkle-Baum vereinfacht die Integritätsprüfung über sich verändernde Daten. Ein Blattknoten des lokalen Merkle-Baums 302 ist eine Prüfsumme einer Einheit der Daten (z. B. ein Datenblock, ein Blob, ein Segment, ein Transaktionsdatensatz usw.). Die Zwischenknoten des lokalen Merkle-Baums 302 sind Kryptographieprüfsummen der Etiketten ihrer jeweiligen untergeordneten Knoten (z. B. die Blattknoten). Der lokale Beispiel-Merkle-Baum 302 ermöglicht eine schnelle Prüfung von Daten und jeglicher Veränderungen über den Daten, die gekennzeichnet, mit einer Prüfsumme versehen und kryptographisch in eine Wurzel eines Unterbaums des lokalen Merkle-Baums 302 integriert wurden. Obwohl das lokale Beispieldatenlieferkettenobjekt 300 den lokalen Beispiel-Merkle-Baum 302 enthält, kann eine beliebige hierarchische Sicherheitsstruktur verwendet werden.
  • Daten, die den lokalen Beispieldatenobjekten 304 und den Beispielobjektmetadaten 306 (z. B. Versionsnummern, Zugriffsbewilligungen, Zugriffsdatensätze, eine an einer davon vorgenommene Überarbeitung usw.) von 3 entsprechen, werden durch den Knoten des lokalen Beispiel-Merkle-Baums 302 widergespiegelt. Entsprechend bildet der Merkle-Baum ein System verbundener Daten- und Metadatendatensätze, die durch die entsprechenden Codes im lokalen Merkle-Baum 302 geschützt (z. B. signiert) sind, und spiegelt den Verlauf der Daten, die dem DSC-Objekt 300 entsprechen, wider.
  • Das Beispielüberarbeitungsprotokoll 310 von 3 enthält Informationen, die die Überarbeitungen verfolgen, die an den Daten (z. B. eine Datei), die am DSC-Objekt 300 angefügt sind, vorgenommen werden. Zum Beispiel werden dann, wenn die Daten eine Audiodatei sind und die Audiodatei durch einen Toningenieur bearbeitet wird, die bestimmten Bearbeitungen, die durch den Ingenieur vorgenommen werden, im Überarbeitungsprotokoll 310 dokumentiert. Das lokales Beispielübergabeprotokoll 308 entspricht Differenzversionen der Datei (z. B. eine gespeicherte Version nach einer oder mehreren Überarbeitungen der Datei). Einige oder alle Daten im Beispiel-DSC-Objekt 300 können unter Verwendung eines konsistenten prüfsummenbasierten verteilten Datenspeichers (z. B. ein Ceph-Dateisystem) oder einer verteilten Hochleistungsdatenbank (z. B. Couch DB, levelDB, RocksDB usw.) repliziert werden.
  • 3B veranschaulicht einen Beispielblockketten-Merkle-Baum (BC-Merkle-Baum) 312, der die Beispielblockkette 116 und/oder den Beispielobjektüberwachungsdienst 118 verwendet, um DSC-Objekte zu verfolgen/zu überwachen, wenn sie zwischen den Beispielverarbeitungsvorrichtungen 102, 104, 106, 108, 110 von 1 übergehen. Die Blöcke in 3B entsprechen Datensätzen verfolgter DSC-Objekte. Jeder Block entspricht einer Erstellung eines neuen DSC-Objekts (z. B. kann die Prüfsumme des Datensatzes eindeutig das Datenobjekt identifizieren oder wird dann, wenn es ein zusammengefasstes Objekt ist, der Block Prüfsummen des kombinierten Objekts enthalten) oder Bearbeitungen/Änderungen an einem bereits geschaffenen Datenobjekt (z. B. wird in diesem Fall das Datenobjekt durch seine Prüfsumme referenziert und die Natur der Änderung wird im Block aufgezeichnet).
  • Der Beispiel-BC-Merkle-Baum 312 enthält Transaktionsblöcke, die signierte Prüfsummen über die Zusammensetzungen enthalten, und jegliche Veränderungen (z. B. Umwandlungen), die an ihnen durchgeführt werden können. Der Beispiel-BC-Merkle-Baum wird durch die Beispielblockkette 116 und/oder den Beispielobjektüberwachungsdienst 118 geführt, um Protokolle zum Prüfen und Hinzufügen von Blöcken zum Beispiel-BC-Merkle-Baum 312 zu beachten. Zusätzlich wird der Beispiel-BC-Merkle-Baum 312 geführt, um beliebige intelligente Verträge im Prozess auszuführen, je nachdem, ob die Organisation ein öffentliches, privates oder gemischtes Blockkettensystem enthält.
  • Die lokalen Beispiel-DSC-Objekte 316, 318, 320 von 3B sind gleich strukturiert wie das lokale Beispiel-DSC-Objekt 300 von 3A. Im dargestellten Beispiel ist das lokale Beispiel-DSC-Objekt 316 (das z. B. dem oben beschriebenen Objekt A entspricht) mit dem Block n des BC Merkle-Baums 312 verbunden. Im dargestellten Beispiel ist unsicher, ob die weiteren lokalen Beispiel-DSC-Objekte 318, 320 (wie z. B. ein DSC-Objekt X und ein DSC-Objekt Y) eindeutig benannt und/oder unterschieden werden, bis beide in die Blockkette eingebracht wurden. Zum Beispiel kann eine erste Verarbeitungsvorrichtung (D1) ein Objekt X einbringen, unabhängig von einer zweiten Verarbeitungsvorrichtung (D2), die das Objekt Y einbringen kann. In einigen Beispielen können die Blockkette 116 und/oder der Beispielobjektüberwachungsdienst 118 Objekt X und Objekt Y unter Verwendung der Vorrichtungsnamen für die jeweiligen Vorrichtungen, die die entsprechenden DSC-Objekte einbringen, eindeutig machen (z. B. D1.X und D2.X, wobei D2.X = Objekt Y). Allerdings kann dann, wenn die DSC-Objekte nicht Eigentum der Einheit/der Vorrichtung, die die Blockkette aktualisiert hat, sind, dem Objekt sein eigener eindeutiger Name zugewiesen werden. In diesem Beispiel legt die relative Position den Namensbesitz fest, da Block 1 vor Block n auftritt. Das zusammengefasste Beispiel-DSC-Objekt 314 kann den Namen X zusichern, was darin resultiert, dass das lokale DSC-Objekt 318 einen verschiedenen Name finden muss. In weiteren Beispielen kann eine Einwandidentifizierungserstellung mit einem SSI-System (z. B. Sovrin.org) implementiert werden, wobei eine SSI-Blockkette verwendet wird, um den Besitz eines Objektnamens als eine Voraussetzung festzulegen, um die DSC in die DSC-Blockkette 116 einzubringen. Zusätzlich oder alternativ kann die Blockkette 116 verwendet werden, um DSC-Objekt-Namen durch Aufzeichnen und Prüfen vorhergehender Blöcke, die die doppelten Namen enthalten, festzulegen. Weil Namen eine Zusammenfassung von Medien sein können, können doppelte Namen weniger häufig auftreten, sofern Informationen der DSC-Objekte nicht identisch sind. Die Einzigartigkeit des Objektnamens bedeutet nicht notwendigerweise, dass eine Rechtsverletzung vorliegt. Weitere Analysen der DSC-Informationen können erforderlich sein.
  • Während eine Beispielweise des Implementierens des Beispielvideoverarbeitungssystems 100, des Beispielobjektmanagers 112a, der Beispielblockkette 116 und/oder des Beispielobjektüberwachungsdiensts 118 von 1 in 1 und/oder 2 veranschaulicht ist, können ein oder mehrere der Elemente, der Prozesse und/oder der Vorrichtungen, die in 1 und/oder 2 veranschaulicht sind, auf sonstige Weise kombiniert, abgeteilt, neuangeordnet, ausgelassen, beseitigt und/oder implementiert werden. Ferner können die Beispielkomponentenschnittstelle 200, die Beispielnetzschnittstelle 202, das Beispielfilter 204, der Beispieldateiprozessor 206, die Beispielverschlüsselungsvorrichtung 208, der Beispieldatenstrukturgenerator 210, der Beispielstellvertretergenerator 212, der Beispielcodierer 216, der Beispielschlüsselgenerator 218, der Beispielobjektaggregator 220, der Vertrauenswurzelgenerator 222, der Beispielobjektprozessor 224, die Beispielentschlüsselungsvorrichtung 226 und/oder im Allgemeinen der Beispielobjektmanager 112a, die Beispielblockkette 116 und/oder der Beispielobjektüberwachungsdienst 118 von 1 und/oder 2 durch Hardware, Software, Firmware und/oder eine beliebige Kombination von Hardware, Software und/oder Firmware implementiert werden. Somit könnten z. B. beliebige des Beispielfilters 204, des Beispieldateiprozessors 206, der Beispielverschlüsselungsvorrichtung 208, des Beispieldatenstrukturgenerators 210, des Beispielstellvertretergenerators 212, des Beispielcodierers 216, des Beispielschlüsselgenerators 218, des Beispielobjektaggregators 220, des Vertrauenswurzelgenerators 222, des Beispielobjektprozessors 224, der Beispielentschlüsselungsvorrichtung 226 und/oder im Allgemeinen des Beispielobjektmanagers 112a, der Beispielblockkette 116 und/oder des Beispielobjektüberwachungsdienstes 118 von 1 und/oder 2 durch eine oder mehrere analoge oder digitale Schaltung(en), Logikschaltungen, programmierbare Prozessor(en), programmierbare Steuereinheit(en), Graphikverarbeitungseinheit(en) (GPU(s)), digitale Signalprozessor(en) (DSP(s)), anwendungsspezifische integrierte Schaltung(en) (ASIC(s)), programmierbare Logikeinrichtung(en) (PLD(s)) und/oder feldprogrammierbare Logikeinrichtung(en) (FPLD(s)) implementiert werden. Wenn Vorrichtungs- oder Systemansprüche dieses Patents gelesen werden, um eine reine Software- und/oder Firmware-Implementierung abzudecken, sind das Beispielfilter 204 und/oder der Beispieldateiprozessor 206 und/oder die Beispielverschlüsselungsvorrichtung 208 und/oder der Beispieldatenstrukturgenerator 210 und/oder der Beispielstellvertretergenerator 212 und/oder der Beispielcodierer 216 und/oder der Beispielschlüsselgenerator 218 und/oder der Beispielobjektaggregator 220 und/oder Vertrauenswurzelgenerator 222 und/oder der Beispielobjektprozessor 224 und/oder die Beispielentschlüsselungsvorrichtung 226 und/oder im Allgemeinen der Beispielobjektmanager 112a und/oder die Beispielblockkette 116 und/oder der Beispielobjektüberwachungsdienst 118 von 1 und/oder 2 hiermit ausdrücklich derart definiert, dass sie eine nichttransitorische computerlesbare Speichervorrichtung oder Speicherplatte wie z. B. einen Datenspeicher, einen digitalen vielseitigen Datenträger (DVD), einen kompakten Datenträger (CD), einen Blu-Ray-Datenträger usw., die Software und/oder Firmware enthalten, enthalten. Nochmals ferner können das Beispielvideoverarbeitungssystem 100 und/oder der Beispielobjektmanager 112a, die Beispielblockkette 116 und/oder der Beispielobjektüberwachungsdienst 118 von 1 und/oder 2 ein oder mehrere Elemente, Prozesse und/oder Vorrichtungen zusätzlich zu oder statt denen, die in 1 und/oder 2 veranschaulicht sind, enthalten und/oder können mehr als eines von beliebigen oder allen der veranschaulichten Elemente, Prozesse und Vorrichtungen enthalten. Wie hierin verwendet, umfasst die Wortverbindung „in Kommunikation“, die Variationen davon enthält, eine direkte Kommunikation und/oder eine indirekte Kommunikation über eine oder mehrere Zwischenkomponenten und erfordert keine direkte physische (z. B. drahtgebundene) Kommunikation und/oder konstante Kommunikation, jedoch enthält vielmehr zusätzlich eine wahlweise Kommunikation in periodischen Intervallen, geplanten Intervallen, nichtperiodischen Intervallen und/oder einmaligen Ereignissen.
  • Ablaufpläne, die eine Beispiel-Hardware-Logik, maschinenlesbare Anweisungen, hardware-implementierte Zustandsmaschinen und/oder beliebige Kombinationen davon zum Implementieren des Beispielobjektmanagers 112a, der Beispielblockkette 116 und/oder des Beispielobjektüberwachungsdiensts 118 von 1 und/oder 2 repräsentieren, sind in 3-9 gezeigt. Die maschinenlesbaren Anweisungen können ein oder mehrere ausführbare Programme oder ein oder mehrere Abschnitte eines ausführbaren Programms zur Ausführung durch einen Computer-Prozessor wie z. B. der Prozessor 1012, 1012, der in der Beispielprozessorplattform 1000, 1100, die unten in Verbindung mit 10 und/oder 11 diskutiert wird, gezeigt ist, sein. Das Programm kann in Software verkörpert sein, die in einem nichttransitorischen computerlesbaren Speichermedium wie z. B. einem CD-ROM, einer Diskette, einer Festplatte, einer DVD, einem Blu-Ray-Datenträger oder einem Datenspeicher, der dem Prozessor 1012, 1112 zugeordnet ist, gespeichert ist, jedoch könnte das gesamte Programm und/oder Teile davon alternativ durch eine Vorrichtung außer dem Prozessor 912 ausgeführt werden und/oder in Firmware oder fest zugeordneter Hardware verkörpert sein. Ferner können, obwohl das Beispielprogramm unter Bezugnahme auf die Ablaufpläne, die in 3-9 veranschaulicht sind, beschrieben wird, alternativ viele weitere Verfahren zum Implementieren des Beispielobjektmanagers 112a, der Beispielblockkette 116 und/oder des Beispielobjektüberwachungsdiensts 118 verwendet werden. Zum Beispiel kann die Ausführungsreihenfolge der Blöcke geändert werden und/oder einige der beschriebenen Blöcke können geändert, entfernt oder kombiniert werden. Zusätzlich oder alternativ können beliebige oder alle Blöcke durch eine oder mehrere Hardware-Schaltungen (z. B. eine diskrete und/oder eine integrierte analoge und/oder digitale Schaltungsanordnung, ein FPGA, eine ASIC, ein Komparator, ein Operationsverstärker (op-amp), eine Logikschaltung usw.), die strukturiert ist, die entsprechende Operation ohne Ausführen von Software oder Firmware durchzuführen, implementiert sein.
  • Die maschinenlesbaren Anweisungen, die hier beschrieben werden, können in einem komprimierten Format und/oder einem verschlüsselten Format und/oder einem fragmentierten Format und/oder einem kompilierten Format und/oder einem ausführbaren Format und/oder einem verpackten Format usw. gespeichert sein. Maschinenlesbare Anweisungen wie hier beschrieben können als Daten (z. B. Abschnitte von Anweisungen, Code Repräsentationen von Code usw.) gespeichert sein, die zum Erstellen, Fertigen und/oder Herstellen maschinenausführbarer Anweisungen verwendet werden können. Zum Beispiel können die maschinenlesbaren Anweisungen fragmentiert und in einer oder mehreren Speichervorrichtungen und/oder Rechenvorrichtungen (z. B. Server) gespeichert werden. Die maschinenlesbaren Anweisungen können ein oder mehrere einer Installation, einer Änderung, einer Anpassung, eines Aktualisierens, eines Kombinierens, eines Ergänzens, eines Konfigurierens, einer Entschlüsselung, eines Dekomprimierens, eines Entpackens, einer Verteilung, einer Neuzuweisung, einer Kompilierung usw. erfordern, um sie durch eine Rechenvorrichtung und/oder eine sonstige Maschine direkt lesbar, interpretierbar und/oder ausführbar zu machen. Zum Beispiel können die maschinenlesbaren Anweisungen in mehreren Teilen gespeichert sein, die in getrennten Rechenvorrichtungen einzeln komprimiert, verschlüsselt und gespeichert werden, wobei die Teile dann, wenn sie entschlüsselt, dekomprimiert und kombiniert werden, einen Satz ausführbarer Anweisungen bilden, die ein Programm wie z. B. das hier beschriebene implementieren.
  • In einem weiteren Beispiel können die maschinenlesbaren Anweisungen in einem Zustand gespeichert werden, in dem sie durch einen Computer gelesen werden können, jedoch das Hinzufügen einer Bibliothek (z. B. eine dynamische Programmbibliothek (DLL)), eines Software-Entwicklungskits (SDK), einer Anwendungsprogrammierschnittstelle (API) usw. erfordern, um die Anweisungen in einer bestimmten Rechenvorrichtung oder einer weiteren Vorrichtung auszuführen. In einem weiteren Beispiel kann es erforderlich sein, die maschinenlesbaren Anweisungen zu konfigurieren (z. B. Speichern von Einstellungen, Dateneingabe, Aufzeichnen von Netzadressen usw.), bevor die maschinenlesbaren Anweisungen und/oder das eine oder die mehreren entsprechenden Programme insgesamt oder teilweise ausgeführt werden können. Somit ist beabsichtigt, dass die offenbarten maschinenlesbaren Anweisungen und/oder das eine oder die mehreren entsprechenden Programme vorgesehen sind, derartige maschinenlesbare Anweisungen und/oder ein oder mehrere Programme einzuschließen, ungeachtet des bestimmten Formats oder Zustands der maschinenlesbaren Anweisungen und/oder des einen oder der mehreren Programme, wenn sie gespeichert oder auf andere Weise in Ruhe oder auf dem Transportweg sind.
  • Die maschinenlesbaren Anweisungen, die hier beschrieben werden, können durch eine beliebige frühere, aktuelle oder zukünftige Befehlssprache, Skriptsprache, Programmiersprache usw. repräsentiert werden. Zum Beispiel können die maschinenlesbaren Anweisungen unter Verwendung einer der folgenden Sprachen repräsentiert werden: C, C++, Java, C#, Perl, Python, JavaScript, HyperText Markup Language (HTML), Structured Query Language (SQL), Swift usw.
  • Wie oben erwähnt wird, können die Beispielprozesse von 3-6 unter Verwendung ausführbarer Anweisungen (z. B. computer- und/oder maschinenlesbare Anweisungen) implementiert werden, die in einem nichttransitorischen computer- und/oder maschinenlesbaren Speichermedium wie z. B. einem Festplattenlaufwerk, einem Flash-Speicher, einem Festwertspeicher, einem kompakter Datenträger, einem digitalen vielseitigen Datenträger, einem Zwischenspeicher, einem Schreib-/Lese-Speicher und/oder einer sonstigen Speichervorrichtung oder Speicherplatte, in der Informationen für eine beliebige Dauer (z. B. für ausgedehnte Zeiträume, dauerhaft, für kurze Vorgänge, für vorübergehendes Puffern und/oder zum Zwischenspeichern der Informationen) gespeichert werden, gespeichert sind. Wie hierin verwendet ist der Begriff nichttransitorisches computerlesbares Medium ausdrücklich derart definiert, dass er einen beliebigen Typ einer computerlesbaren Speichervorrichtung und/oder Speicherplatte enthält und sich ausbreitende Signale ausschließt und Übertragungsmedien ausschließt.
  • „Enthalten‟ und „umfassen“ (und alle Formen und Zeitformen davon) werden hier als unbegrenzte Begriffe verwendet. Somit versteht sich, dass immer wenn ein Anspruch irgendeine Form von „enthalten“ oder „umfassen“ (z. B. umfasst, enthält, die umfasst, die enthält, die besitzt usw.) als eine Präambel oder in einer Anspruchsrezitation irgendeiner Art einsetzt, zusätzliche Elemente, Begriffe usw. vorhanden sein können, ohne aus dem Umfang des entsprechenden Anspruchs oder der entsprechenden Rezitation zu fallen. Wie hierin verwendet ist dann, wenn die Wortverbindung „mindestens“ als der Übergangsbegriff z. B. in einer Präambel eines Anspruchs verwendet wird, dieser auf dieselbe Weise unbegrenzt ist, wie die Begriffe „die umfassen“ und „die enthalten“ unbegrenzt sind. Der Begriff „und/oder“ bezieht sich dann, wenn er z. B. in einer Form wie z. B. A, B und/oder C verwendet wird, auf eine beliebige Kombination oder Untermenge von A, B, C wie z. B. (1) nur A, (2) nur B, (3) nur C, (4) A mit B, (5) A mit C, (6) B mit C und (7) A mit B und mit C. Wie hierin verwendet ist im Kontext des Beschreibens von Strukturen, Komponenten, Elementen, Gegenständen und/oder Dingen die Wortverbindung „mindestens eines von A und B“ vorgesehen, sich auf Implementierungen zu beziehen, die beliebige der Folgenden enthalten: (1) mindestens ein A, (2) mindestens ein B und (3) mindestens ein A und mindestens ein B. Entsprechend ist wie hierin verwendet im Kontext des Beschreibens von Strukturen, Komponenten, Elementen, Gegenständen und/oder Dingen, die Wortverbindung „mindestens eines von A oder B“ vorgesehen, sich auf Implementierungen zu beziehen, die ein beliebiges der Folgenden enthalten: (1) mindestens ein A, (2) mindestens ein B und (3) mindestens ein A und mindestens ein B. Wie hierin verwendet ist im Kontext des Beschreibens der Leistungsfähigkeit oder der Ausführung von Prozessen, Anweisungen, Aktionen, Aktivitäten und/oder Schritten die Wortverbindung „mindestens eines von A und B“ vorgesehen, auf Implementierungen Bezug zu nehmen, die beliebige der Folgenden enthalten: (1) mindestens ein A, (2) mindestens ein B und (3) mindestens ein A und mindestens ein B. Entsprechend ist wie hierin verwendet im Kontext des Beschreibens der Leistungsfähigkeit oder der Ausführung von Prozessen, Anweisungen, Aktionen, Aktivitäten und/oder Schritten die Wortverbindung „mindestens eines von A oder B“ vorgesehen, um auf Implementierungen Bezug zu nehmen, die beliebige der Folgenden enthalten: (1) mindestens ein A, (2) mindestens ein B und (3) mindestens ein A und mindestens ein B.
  • Wie hierin verwendet schließen Singularbezüge (z. B. „ein“, „eine“, „erste“, „zweite“ usw.) mehrere nicht aus. Der Begriff „ein“ oder „eine“ Einheit beziehen sich wie hierin verwendet auf eine oder mehrere dieser Einheit. Die Begriffe „ein“ (oder „eine“), „ein oder mehr“ und „mindestens ein“ können hier austauschbar verwendet werden. Darüber hinaus können, obwohl sie einzeln gelistet sind, mehrere Mittel, Elemente oder Verfahrensaktionen z. B. durch eine einzelne Einheit oder einen einzelnen Prozessor implementiert werden. Zusätzlich können, obwohl einzelne Merkmale in verschiedenen Beispielen oder Ansprüchen enthalten sein können, diese möglicherweise kombiniert werden und die Einbeziehung in verschieden Beispiele oder Ansprüche impliziert nicht, dass eine Kombination von Merkmalen nicht möglich und/oder vorteilhaft ist.
  • 4A-4C enthalten einen Beispielablaufplan, der maschinenlesbare Anweisungen 400 repräsentiert, die ausgeführt werden können, den Beispielobjektmanager 112a von 2 zu implementieren, um ein DSC-Objekt (z. B. das DSC-Objekt 300 von 3A) zu erzeugen. Die Beispielanweisungen 400 von 4A- 4C werden aus Sicht des Objektmanagers 112a von 2, der verwendet wird, um den Objektmanager 112a der Beispielverarbeitungsvorrichtung 102 von 1 zu implementieren, beschrieben. Allerdings können in weiteren Beispielen die Beispielanweisungen 400 ausgeführt werden, um die Objektmanager 112b-e einer der Beispielverarbeitungsvorrichtungen 104-110 von 1 zu implementieren, um DSC-Objekte zu erzeugen.
  • In Block 401 bestimmt der Beispieldateiprozessor 206, ob eine neue Datei erzeugt worden ist. Zum Beispiel kann die Komponentenschnittstelle 200 mit den weiteren Komponenten der Beispielverarbeitungsvorrichtung 102 interagieren, um zu bestimmen, ob eine neue Datei erzeugt worden ist. Wenn der Beispieldateiprozessor 206 bestimmt, dass keine neue Datei erzeugt worden ist (Block 401: NEIN), kehrt die Steuerung zu Block 402 zurück, bis eine neue Datei erzeugt wurde. Wenn der Beispieldateiprozessor 206 bestimmt, dass eine neue Datei erzeugt wurde (Block 401: JA), bestimmt der Beispieldateiprozessor 206, ob die Daten von der Datei gefiltert werden sollen (Block 402). In einigen Beispielen bestimmt der Dateiprozessor 206 auf der Grundlage von Anwender- und/oder Herstellerpräferenzen und/oder auf der Grundlage des Typs der erzeugten Datei usw., ob die Daten aus der Datei gefiltert werden sollen.
  • Wenn der Beispieldateiprozessor 206 bestimmt, dass die Daten aus der Datei nicht gefiltert werden sollen (Block 402: NEIN), fährt die Steuerung zu Block 406 fort. Wenn der Beispieldateiprozessor 206 bestimmt, dass die Daten aus der Datei gefiltert werden sollen (Block 402: JA), filtert das Beispielfilter 204 die Rohdaten der neuen Datei (Block 404). Wie die Daten gefiltert werden und/oder wie viele Daten gefiltert werden sollen, verwendet in einigen Beispielen Anwender- und/oder Herstellerpräferenzen als Grundlage. In Block 406 bestimmt der Beispieldateiprozessor 206, ob die Daten in der neuen Datei sensible Daten enthalten. In einigen Beispielen bestimmt der Dateiprozessor 206, dass die neue Datei sensible Daten enthält, wenn eine neue Datei als sensibel etikettiert sein kann und/oder wenn sie in einer Vorrichtung implementiert ist, die lediglich Dateien erstellt, die sensibel sind.
  • Wenn der Beispieldateiprozessor 206 bestimmt, dass die Daten in der neuen Datei keine sensiblen Daten enthalten (Block 406: NEIN), fährt die Steuerung zu Block 410 fort. Wenn der Beispieldateiprozessor 206 bestimmt, dass die Daten in der neuen Datei sensible Daten enthalten (Block 406: JA), anonymisiert die Beispielverschlüsselungsvorrichtung 208 die sensiblen Daten der neuen Datei (Block 408). Die Beispielverschlüsselungsvorrichtung 208 kann die neue Datei unter Verwendung einer beliebigen Anonymisierungstechnik anonymisieren. In Block 410 erzeugt der Beispieldatenstrukturgenerator 210 ein lokales Datenobjekt und Objektmetadaten, die der neuen Datei entsprechen. In Block 412 versieht die Beispielverschlüsselungsvorrichtung 208 das lokale Datenobjekt mit einer Prüfsumme unter Verwendung einer beliebigen Technik zum Versehen mit einer Prüfsumme. In Block 414 erzeugt die Beispielverschlüsselungsvorrichtung 208 eine Kryptographieprüfsumme des Etiketts des lokalen Datenobjekts unter Verwendung einer beliebigen kryptographischen Technik zum Versehen mit einer Prüfsumme. In Block 416 erzeugt der Beispieldatenstrukturgenerator 210 eine hierarchische Datenstruktur (z. B. eine Merkle-Baum-Struktur) für die neue Datei mit der Prüfsumme des lokalen Datenobjekts als einen Blattknoten und die Kryptographieprüfsumme des Etiketts als einen Zwischenniveauknoten.
  • In Block 418 erzeugt der Beispieldatenstrukturgenerator 210 ein lokales Übergabeprotokoll, um Versionen für die neue Datei zu verfolgen. In Block 420 erzeugt der Beispieldatenstrukturgenerator 210 ein Überarbeitungsprotokoll, um eine oder mehrere Überarbeitungen der neuen Datei zu verfolgen. In Block 422 bestimmt der Beispieldateiprozessor 206, ob das DSC-Objekt unter Verwendung einer selbstbestimmten Identität gesteuert wird. In einigen Beispielen kann ein Objekt unter Verwendung einer selbstbestimmten Identität auf der Grundlage von Anwender- und/oder Herstellerpräferenzen gesteuert werden. Wenn der Beispieldateiprozessor 206 bestimmt, dass das DSC-Objekt nicht unter Verwendung einer selbstbestimmten Identität gesteuert wird (Block 422: NEIN), fährt die Steuerung zu Block 428 fort. Wenn der Beispieldateiprozessor 206 bestimmt, dass das DSC-Objekt unter Verwendung einer selbstbestimmten Identität gesteuert wird (Block 422: JA), erhält die Beispielkomponentenschnittstelle 200 und/oder die Beispielnetzschnittstelle 202 ein Zertifikat von einem Anwender und/oder einer zertifizierenden Vorrichtung (Block 424). In Block 426 baut der Beispielstellvertretergenerator 212 eine Stellvertreteridentität auf der Grundlage des Zertifikats, das an die Steuereinheit der neuen Datei angepasst ist, auf. Die Stellvertreteridentität kann personenbezogene Daten im DSC-Objekt verschleiern.
  • SSI bedeutet, dass das Medium einer Einheit angehört, die die SSI zusichert (z. B. die Verarbeitungsvorrichtung 102, die das Medium erzeugt). Wenn der Medienbesitz zu einer weiteren Einheit (z. B. eine weitere Verarbeitungsvorrichtung 104 im Eigentum einer zweiten Einheit) senden wird, kann die weitere Einheit wünschen, eine neue Identität, eine, die den neuen Eigentümer identifiziert, zuzusichern. In einem derartigen Beispiel ist eine Stellvertreteridentität ein Alias, der verwendet wird, während der Medienbesitz senden wird. Der Stellvertreter kann ein neuer offizieller Name werden und der vorhergehende Name kann als erloschen markiert werden. Die Verwendung von Zertifikaten ist ein möglicher Weg, Medieneigentümer (z. B. unter Verwendung der Verarbeitungsvorrichtung 102 und/oder der Verarbeitungsvorrichtung 104) zu identifizieren und zu authentifizieren. Es ist möglich, dass Medieneigentümer SSI selbst verwenden, was in den Arbeitsablaufbeschreibungen schwer klarzumachen sein kann.
  • In Block 428 verpackt der Beispieldatenstrukturgenerator die hierarchische Datenstruktur, das lokale Datenobjekt, das einem Knoten der Datenstruktur entspricht, Objektmetadaten, das Überarbeitungsprotokoll und das lokale Übergabeprotokoll in ein lokales DSC-Objekt, das der erzeugten Datei, die in Block 401 detektiert wird, zugeordnet ist. In Block 430 bestimmt der Beispieldateiprozessor 206, ob die neue Datei einem bestimmten Format oder einer bestimmten Struktur entspricht. Wenn der Beispieldateiprozessor 206 bestimmt, dass die neue Datei nicht einem bestimmten Format oder einer bestimmten Struktur entspricht (Block 430: NEIN), fährt die Steuerung zu Block 434 fort. Wenn der Beispieldateiprozessor 206 bestimmt, dass die neue Datei einem bestimmten Format oder einer bestimmten Struktur entspricht (Block 430: JA), codiert der Beispielcodierer 216 das DSC-Objekt gemäß dem Format und/oder der Struktur (Block 432), wie oben in Verbindung mit 2 beschrieben ist.
  • In Block 434 packt der Beispieldatenstrukturgenerator 210 die Änderungsmanagementmetadaten über das DSC-Objekt. Zum Beispiel aktualisiert der Datenstrukturgenerator 210 die Metadaten der neuen Datei (z. B. über die Komponentenschnittstelle 200). In Block 436 bestimmt die Beispielverschlüsselungsvorrichtung 208, ob das DSC-Objekt Daten zur vollständigen Verschlüsselung (z. B. Archivklassenschlüssel, die in einem HDD, einem SSD, einem Band usw. gespeichert sind, Verschlüsselung mit speicherinternen Verschlüsselungsschlüsseln usw.) enthält. Wenn die Beispielverschlüsselungsvorrichtung 208 bestimmt, dass das DSC-Objekt keine Daten zur vollständigen Verschlüsselung enthält (Block 436: NEIN), fährt die Steuerung zu Block 340 fort. Wenn die Beispielverschlüsselungsvorrichtung 208 bestimmt, dass das DSC-Objekt Daten zur vollständigen Verschlüsselung enthält (Block 426: JA), führt die Beispielverschlüsselungsvorrichtung 208 eine vollständige Verschlüsselung an den Daten durch (Block 438). In Block 440 bestimmt die Beispielverschlüsselungsvorrichtung 208, ob das DSC-Objekt Daten zur homomorphen Verschlüsselung enthält. Wenn die Beispielverschlüsselungsvorrichtung 208 bestimmt, dass das DSC-Objekt keine Daten zur homomorphen Verschlüsselung enthält (Block 440: NEIN), fährt die Steuerung zu Block 344 fort. Wenn die Beispielverschlüsselungsvorrichtung 208 bestimmt, dass das DSC-Objekt Daten zur homomorphen Verschlüsselung enthält (Block 440: JA), führt die Beispielverschlüsselungsvorrichtung 208 eine homomorphe Verschlüsselung an den Daten auf der Grundlage des Teils der zu verschlüsselnden Daten durch (Block 442).
  • In Block 444 fügt der Beispieldatenstrukturgenerator 210 Datenumwandlungswerkzeuge zum DSC-Objekt hinzu. Die Umwandlungswerkzeuge, die hinzugefügt werden, können vom Typ der Datendatei, die erzeugt wurde, abhängen. In Block 446 wendet der Beispielcodierer 216 ein Datenserialisierungsformat auf das DSC-Objekt an, wie ferner oben in Verbindung mit 2 beschrieben ist. In Block 448 verbindet der Beispieldateiprozessor 206 die DSC mit der neuen Datei. Auf diese Weise wird dann, wenn die neue Datei aktualisiert und/oder zu einer weiteren Vorrichtung (z. B. über eine drahtgebundene oder eine drahtlose Verbindung) gesendet wird, das verbundene DSC-Objekt aktualisiert und der Verlauf der Datei wird durch die Beispielblockkette 116 und/oder den Objektüberwachungsdienst 118 auf der Grundlage des DSC-Objekts verfolgt.
  • In Block 450 bestimmt der Beispieldateiprozessor 206, ob das DSC-Objekt und/oder die Datei auf eine oder mehrere bestimmte Vorrichtungen beschränkt ist (z. B. auf der Grundlage von Anwender- und/oder Herstellerpräferenzen) . Wenn der Beispieldateiprozessor 206 bestimmt, dass das DSC-Objekt und/oder die Datei nicht auf eine oder mehrere bestimmte Vorrichtungen beschränkt ist (Block 450: NEIN), fährt die Steuerung zu Block 756 fort. Wenn der Beispieldateiprozessor 206 bestimmt, dass das DSC-Objekt und/oder die Datei auf eine oder mehrere bestimmte Vorrichtungen beschränkt ist (Block 450: JA), erzeugt der Beispielschlüsselgenerator 218 Belege für den Zugriff (Block 452). Der Beispielschlüsselgenerator 218 erzeugt den Beleg derart, dass er einen Schlüsselverpackungsschlüssel enthält. In Block 454 sendet die Beispielnetzschnittstelle 202 (z. B. über eine drahtgebundene oder eine drahtlose Verbindung) die Belege zu der einen oder den mehreren bestimmten Empfangsvorrichtungen. Auf diese Weise können die empfangenden Vorrichtungen unter Verwendung des Belegs auf die DSC-Objekte zugreifen. In Block 756 sendet die Beispielnetzschnittstelle 202 (z. B. über eine drahtgebundene oder eine drahtlose Verbindung) das verbundene DSC-Objekt mit der neuen Datei zu einer externen Vorrichtung (z. B. eine weitere Verarbeitungsvorrichtung 104, 106, 108, 110, die Blockkette 116 und/oder der Objektüberwachungsdienst 118, der die Datei anfordert).
  • 5 ist ein Beispielablaufplan, der maschinenlesbare Anweisungen 500 repräsentiert, die ausgeführt werden können, um den Beispielobjektmanager 112a von 2 zu implementieren, um eine sichere Umgebung in einer Verarbeitungsvorrichtung 102 aufzubauen. Allerdings können in weiteren Beispielen die Beispielanweisungen 500 ausgeführt werden, um den Objektmanager 112b-e einer der Beispielverarbeitungsvorrichtungen 104-110 von 1 zu implementieren, um eine sichere Umgebung in einer Verarbeitungsvorrichtung aufzubauen 104, 106, 108, 110.
  • In Block 502 findet der Vertrauenswurzelgenerator 222 eine geeignete Vertrauenswurzel. Zum Beispiel kann der Vertrauenswurzelgenerator 222 eine Bescheinigung von einer sendenden Vorrichtung (z. B. eine weitere Verarbeitungsvorrichtung 104, 106, 108, 110) vor der Verarbeitung der Daten von der sendenden Vorrichtung empfangen. Die Bescheinigung identifiziert die geeignete Vertrauenswurzel (z. B. eine oder mehrere Komponenten der Verarbeitungsvorrichtung). Die Vertrauenswurzelarchitektur könnte INTELTM-SGX als Grundlage verwenden, wobei die SGX-Enklave die Kopplungsungleichgewichtspunktzahl-Regressionsfunktionen (LDSC-Funktionen) sowie die Kryptoserialisierung, das Signieren und die Verschlüsselung implementiert. In Block 504 startet der Beispielvertrauenswurzelgenerator 222 die Vertrauenswurzelumgebung, die dem DSC-Objekt entspricht, in einer Speicherdatenpoolumgebung, die mit der Vertrauenswurzel verbunden ist. In Block 506 erzeugt der Beispielschlüsselgenerator 218 Datenspeicherschlüssel, um den Speicherdatenpool zu authentifizieren und/oder zu beglaubigen und/oder ein DSC-Objekt im Speicherdatenpool zu schützen. In Block 508 verschlüsselt der Beispielcodierer 216 das DSC-Objekt unter Verwendung des erzeugten Datenspeicherschlüssels. Zum Beispiel kann der Codierer 216 unter Verwendung von asymmetrischen Schlüsseln, symmetrischen Schlüsseln und/oder einem Peer-to-Peer-Schlüsselaustausch codieren. Die Beispielblockkette 116 und der Beispielobjektüberwachungsdienst 118 können Schlüsselmanagementdienste derart durchführen, dass weitere Verarbeitungsvorrichtungen das verschlüsselte DSC-Objekt entschlüsseln können. In Block 510 stellt der Beispielvertrauenswurzelgenerator 222 das verschlüsselte DSC-Objekt unter die Steuerung einer Speicherdatenpoolumgebung.
  • 6 ist ein Beispielablaufplan, der maschinenlesbare Anweisungen 600 repräsentiert, die ausgeführt werden können, um den Beispielobjektmanager 112a von 2 der Beispielverarbeitungsvorrichtung 102 und der Beispielverarbeitungsvorrichtung 104 zu implementieren, um zu bestimmen ob sich ein DSC-Objekt geändert hat und/oder ob die Herkunft des DSC-Objekts aufgetreten ist. Der Ablaufplan von 6 veranschaulicht einen Prozess, in dem eine Bescheinigung einen Computer (z. B. Software und/oder Firmware) beschreibt, der das DSC-Objekt manipuliert und ebenfalls das DSC-Objekt enthält. Eine Prüfeinrichtung durchläuft eine Kette von Bescheinigungswerten, die die Ausführungsumgebung eines Computers mit dem Datenobjekt verbinden. Der Austausch eines DSC-Objekts von der Verarbeitungsvorrichtung 102 zur Verarbeitungsvorrichtung 104 prüft die Kopplung des DSC-Objekts an die Verarbeitungsvorrichtung 102 und, dass kein Mittelsmann das DSC-Objekt als Teil des Austauschs geändert hat. In einigen Beispielen können die Beispielanweisungen 600 ausgeführt werden, um die Objektmanager 112a-e einer der Beispielverarbeitungsvorrichtungen 102-110 von 1 zu implementieren, um zu bestimmen, ob sich ein DSC-Objekt geändert hat und/oder ob die Herkunft des DSC-Objekts aufgetreten ist.
  • In Block 602 sendet die Beispielnetzschnittstelle 202 der Verarbeitungsvorrichtung 102 (z. B. über eine drahtgebundene oder eine drahtlose Verbindung) ein DSC-Objekt zur Beispielverarbeitungsvorrichtung 104. In Block 604 empfängt die Beispielnetzschnittstelle 202 der Verarbeitungsvorrichtung 104 das DSC-Objekt. In Block 606 sendet die Beispielnetzschnittstelle 202 (z. B. über eine drahtgebundene oder eine drahtlose Verbindung) eine Bescheinigungsanforderung zur Beispielverarbeitungsvorrichtung 102. Die Bescheinigungsanforderung ist eine Komponente einer vertrauenswürdigen Schicht, um eine Vertrauenswurzel zu verbinden, um das DSC-Objekt oder eine seiner Unterkomponenten, die die lokalen Merkle-Zahlwerte enthält, zu messen, wenn das DSC-Objekt sich zwischen der aktuellen und einer vorhergehenden Interaktion geändert hat.
  • In Block 608 empfängt die Beispielnetzschnittstelle 202 der Verarbeitungsvorrichtung 102 die Bescheinigungsanforderung. In Block 610 berechnet der Beispielschlüsselgenerator 218 einen Zusammenfassungswert des DSC-Objekts (z. B. unter Verwendung eines Prüfsummenalgorithmus (SHA2 oder MD5)). In Block 612 sendet die Beispielnetzschnittstelle 202 der Verarbeitungsvorrichtung 102 (z. B. über eine drahtgebundene oder eine drahtlose Verbindung) den Zusammenfassungswert zur Verarbeitungsvorrichtung 104. In Block 614 empfängt die Beispielnetzschnittstelle 202 der Verarbeitungsvorrichtung 104 den Zusammenfassungswert. In Block 616 bestimmt der Beispielobjektprozessor 224, ob der empfangene Zusammenfassungswert mit einem authentifizierten Zusammenfassungswert (der z. B. von der Blockkette 116 und/oder dem Objektüberwachungsdienst 118 stammen kann) übereinstimmt.
  • Wenn der Beispielobjektprozessor 224 bestimmt, dass der empfangene Zusammenfassungswert nicht mit dem authentifizierten Zusammenfassungswert übereinstimmt (Block 616: NEIN), bestimmt der Objektprozessor 224, dass sich das DSC-Objekt geändert hat (Block 618). Wenn der Beispielobjektprozessor 224 bestimmt, dass der empfangene Zusammenfassungswert mit dem authentifizierten Zusammenfassungswert übereinstimmt (Block 616: JA), bestimmt der Objektprozessor 224, dass sich das DSC-Objekt nicht geändert hat (Block 620). Wenn sich das Objekt geändert hat, könnte es einer Überarbeitung des DSC-Objekts, einer Beschädigung des DSC-Objekts, usw. entsprechen. Wenn der Objektprozessor 224 bestimmt, dass sich das DSC-Objekt geändert hat, kann der Objektprozessor 224 einen Alarm zur Blockkette 116 und/oder zum Objektüberwachungsdienst 118 senden oder kann eine weitere Untersuchung vornehmen. Eine Beglaubigung bestimmt die Vertrauenswürdigkeit des Computers, der die DSC-Objekte managt, die vor dem Annehmen eines DSC-Objekts festgelegt werden kann.
  • In Block 622 bestimmt der Beispielobjektprozessor 224 die Herkunft des DSC-Objekts auf der Grundlage eines Vertrauenswurzelzertifikats. Das Vertrauenswurzelzertifikat wird durch jede Vorrichtung veröffentlicht, wenn es in das Netz integriert wird. Entsprechend wird das Integrieren und/oder die Sicherheitsüberprüfung eines DSC-Objekts als ein Teil des Aufbauens der LDSC-Umgebung auf der Grundlage einer Vertrauenswurzel verwendet. Der Objektprozessor 224 bestimmt die Herkunft durch Prüfen des Vertrauenswurzelzertifikats oder eines weiteren Zertifikats in einem Zertifikatspfad, der das Vertrauenswurzelzertifikat enthält. Vertrauenswurzelzertifikate können zu einem Erstausrüster und/oder zu einem aktuellen Organisationseigentümer der Vertrauenswurzelkomponenten führen. Beide liefern eine Datenherkunft und legen einen aktuellen Verwahrungskontext fest. Der portable Datenpool ist auch ein Datenverwahrer. Der Verkäufer hat ein Vorrichtungszertifikat (z. B. eine ursprüngliche Vorrichtungskennung (IDevID)) oder ein vom Eigentümer ausgestelltes lokales Vorrichtungskennungszertifikat (LDevID-Zertifikat)) ausgestellt, das die Prüfeinrichtung bezüglich dessen informiert, was die Vertrauenswurzelsemantik ist. Eine Strategie in der Verbrauchsvorrichtung identifiziert, ob es angemessen ist, weiterhin mit dem DSC-Objekt zu arbeiten.
  • 7A-Fig. B veranschaulichen einen Beispielablaufplan, der maschinenlesbare Anweisungen 700 repräsentiert, die ausgeführt werden können, um den Beispielobjektmanager 112a von 2 zu implementieren, um ein empfangenes DSC-Objekt als Teil einer Übertragung des Besitzes eines DSC-Objekts von einem Computer im Besitz einer ersten Einheit zu einem zweiten Computer im Besitz einer zweiten Einheit zu ändern. Die Daten sind an den Computer gebunden und der Computer ist eindeutig mit einer Einheit verbunden, um sicherzustellen, dass die Datenverwahrung eindeutig ist. Allerdings können in weiteren Beispielen die Beispielanweisungen 700 ausgeführt werden, um die Objektmanager 112b-e einer der Beispielverarbeitungsvorrichtungen 104-110 von 1 zu implementieren, um ein empfangenes DSC-Objekt zu ändern.
  • In Block 702 bestimmt die Beispielnetzschnittstelle 202, ob ein Beleg von der Dateierstellungsvorrichtung erhalten wurde (z. B. die Verarbeitungsvorrichtung 102). Wenn die Beispielnetzschnittstelle 202 bestimmt, dass kein Beleg erhalten wurde (Block 702: NEIN), kehrt die Steuerung zu Block 702 zurück, bis ein Beleg empfangen wird. Wenn die Beispielnetzschnittstelle 202 bestimmt, dass ein Beleg erhalten wurde (Block 702: JA), prüft der Beispielobjektprozessor 224 den Besitzerzertifikatspfad mit einem öffentlichen Schlüssel, der im Beleg eingebettet ist (Block 704). In Block 706 erhält die Beispielnetzschnittstelle 202 eine Datei, die mit einem DSC-Objekt verbunden ist. In Block 708 entschlüsselt die Beispielentschlüsselungsvorrichtung 226 das DSC-Objekt auf der Grundlage davon, wie das DSC-Objekt verschlüsselt wurde. In Block 709 protokolliert der Beispieldatenstrukturgenerator 210 den DSC-Objektempfang im DSC-Objekt. Zum Beispiel kann der Datenstrukturgenerator 210 eine Zugriffsanzahl, die ein Teil eines lokalen Datenobjekts und/oder Metadaten sein kann, erhöhen.
  • In Block 710 bestimmt der Beispielobjektprozessor 224, ob das DSC-Objekt Datenumwandlungswerkzeuge enthält. Wenn der Beispielobjektprozessor 224 bestimmt, dass das DSC-Objekt keine Datenumwandlungswerkzeuge enthält (Block 710: NEIN), fährt die Steuerung zu Block 714 fort. Wenn der Beispielobjektprozessor 224 bestimmt, dass das DSC-Objekt Datenumwandlungswerkzeuge enthält (Block 710: JA), lädt der Beispielobjektprozessor 224 die Werkzeuge lokal bei der Verarbeitungsvorrichtung (Block 712). In Block 714 bestimmt der Beispielobjektprozessor 224, ob die Datei, die mit dem DSC-Objekt verbunden ist, aktualisiert worden ist (z. B. ein Anwender der Verarbeitungsvorrichtung die Datei aktualisiert hat). Wenn der Beispielobjektprozessor 224 bestimmt, dass die Datei nicht aktualisiert worden ist (Block 714: NEIN), kehrt die Steuerung zu Block 714 zurück, bis die Datei aktualisiert wird. Wenn der Beispielobjektprozessor 224 bestimmt, dass die Datei aktualisiert worden ist (Block 714: JA), erzeugt der Datenstrukturgenerator 210 ein lokales Datenobjekt und Objektmetadaten, die der Aktualisierung entsprechen (Block 716). In Block 718 versieht der Beispielcodierer 216 das lokale Datenobjekt mit einer Prüfsumme. In Block 720 erzeugt der Beispielcodierer 216 eine Kryptographieprüfsumme des Etiketts des lokalen Datenobjekts.
  • In Block 722 aktualisiert der Beispieldatenstrukturgenerator 210 die hierarchische Datenstruktur des DSC-Objekts mit der Prüfsumme des lokalen Datenobjekts als einen neuen Blattknoten und der Kryptographieprüfsumme als einen neuen Zwischenniveauknoten. In Block 724 aktualisiert der Beispieldatenstrukturgenerator 210 das lokale Übergabeprotokoll auf der Grundlage der Aktualisierung. In Block 726 erzeugt der Beispieldatenstrukturgenerator 210 das Überarbeitungsprotokoll auf der Grundlage der Aktualisierung. In Block 728 bestimmt der Beispielobjektprozessor 224, ob die Änderungen zu einer einzelnen monolithischen Änderung reduziert werden sollen. Wenn mehrere Änderungen durch dieselbe Einheit vorgenommen werden, können die Änderungen reduziert werden. Zum Beispiel wird dann, wenn ein Anwender mehrmals versucht, ein Wort richtig zu buchstabieren, bevor es ihm richtig gelingt, lediglich das endgültige Buchstabieren aufgezeichnet. Wenn der Beispieldatenstrukturgenerator 210 bestimmt, dass die Änderungen nicht reduziert werden sollen (Block 728: NEIN), fährt die Steuerung zu Block 732 fort. Änderungen sollten nicht reduziert werden, wenn Änderungen durch verschiedene Einheiten vorgenommen werden. Jede Änderung wird durch eine verschiedene Einheit vorgenommen und dann wieder mit dem DSC-Objekt zusammengeführt, was in einem neuen Medium C2 resultiert. Das Protokoll des DSC-Objekts zeichnet die Details über jede Einheit und welche Änderungen vorgenommen wurden, um die verschiedenen Versionen herzustellen, auf. Wenn der Beispieldatenstrukturgenerator 210 bestimmt, dass die Änderungen reduziert werden sollen (Block 728: JA), reduziert der Beispieldatenstrukturgenerator 210 die Änderungen zu einer einzelne monolithischen Änderung (Block 730).
  • In Block 732 bestimmt der Beispielobjektprozessor 224, ob die Datenumwandlung einen Ausgleich erfordert. Der Objektprozessor 224 bestimmt, dass ein Ausgleich der Datenumwandlung erforderlich sein kann, wenn das Eingabedatenobjekt und/oder verbundene Medien urheberrechtlich geschützt sind. Zum Beispiel bewertet dann, wenn das Medium urheberrechtlich geschützt ist, der Objektprozessor 224, ob die Umwandlung zu einer angemessenen Verwendung, einer zugelassenen Verwendung, einer nicht zugelassenen Verwendung oder einer weiteren Bezeichnungen passt. Einige Verwendungsbezeichnungen können Entgeldkompensationstransaktionen erfordern, weitere können eine Zugangskontrolle erfordern, während weitere eine verstärkte Protokollierung, Prüfung usw. erfordern können. Wenn der Beispielobjektprozessor 224 bestimmt, dass keine Datenumwandlung erforderlich ist (Block 732: NEIN), fährt die Steuerung zu Block 736 fort. Wenn der Beispielobjektprozessor 224 bestimmt, dass eine Datenumwandlung erforderlich ist (Block 732: JA), behebt der Beispielobjektaggregator 220 Fehler in den Daten des DSC-Objekts (Block 734). In Block 736 sendet die Beispielnetzschnittstelle 202 (z. B. über eine drahtgebundene oder eine drahtlose Verbindung) das aktualisierte DSC-Objekt zu einer weiteren Verarbeitungsvorrichtung, der Blockkette 116 und/oder dem Beispielobjektüberwachungsdienst 118.
  • 8 ist ein Beispielablaufplan, der maschinenlesbare Anweisungen 800 repräsentiert, die ausgeführt werden können, um den Beispielobjektmanager 112a von 2 der Beispielverarbeitungsvorrichtung 102 zu implementieren, um DSC-Datenobjekte zusammenzufassen. Allerdings können in weiteren Beispielen die Beispielanweisungen 800 ausgeführt werden, um die Objektmanager 112b-e von einer der Beispielverarbeitungsvorrichtungen 104-110 von 1 zu implementieren, um DSC-Datenobjekte zusammenzufassen.
  • In Block 802 erhält die Beispielnetzschnittstelle 202 ein erstes DSC-Datenobjekt und ein zweites DSC-Datenobjekt. In Block 804 bestimmt der Beispielobjektaggregator 220, ob das erste und das zweite DC-Objekt zusammengefasst werden sollen. Die Entscheidung, ob zusammengefasst werden soll, ist anwendungsabhängig. Zum Beispiel kann eine Edge-Funktion als ein Dienstablauf (FaaS-Ablauf) einen FaaS-Server kombiniert mit einer Edge-Orchestrierung und/oder einem Arbeitsablaufausführungsplan enthalten, die verwendet werden, um einen bestimmten Satz Umwandlungen zu implementieren. In einem derartigen Beispiel ist die Edge-Computing-Umgebung ein informationszentrisches Netz und/oder ein Namensfunktionsnetz, in dem Rechenknoten Interesse an verschiedenen DSC-Objekten zeigen, die durch das informationszentrische Netz und/oder das Namensfunktionsnetz zu den interessierten Knoten, die die Umwandlung/Zusammenfassung, zu deren Anwenden sie programmiert sind, anwenden, übermittelt werden. Wenn die Beispielnetzschnittstelle 202 bestimmt, dass das erste und das zweite DSC-Datenobjekte nicht zusammengefasst werden sollen (Block 804: NEIN), fährt die Steuerung zu Block 808 fort. Wenn die Beispielnetzschnittstelle 202 bestimmt, dass das erste und das zweite DSC-Datenobjekte zusammengefasst werden sollen (Block 804: JA), wendet das zusammengefasste Beispielobjekt 220 Umwandlungen an das erste und das zweite DSC-Datenobjekt an, um ein drittes DSC-Datenobjekt, das Informationen vom ersten und vom zweiten DSC-Objekt kombiniert, zu erzeugen (Block 806).
  • In Block 808 bestimmt der Beispielobjektprozessor 224, ob ein Prüfen und/oder ein Verfolgen des DSC-Objekts durchgeführt werden soll. Das Prüfen und/oder das Verfolgen kann periodisch, periodisch und/oder auf der Grundlage eines Auslösers durchgeführt werden. Wenn der Beispielobjektprozessor 224 bestimmt, dass kein Prüfen durchgeführt werden soll (Block 808: NEIN), endet die Steuerung. Wenn der Beispielobjektprozessor 224 bestimmt, dass ein Prüfen durchgeführt werden soll (Block 808: JA), erzeugt der Beispieldatenstrukturgenerator 210 Daten von untergeordneten Unterbäumen der hierarchische Datenstruktur des ersten, des zweiten und/oder des dritten Datenobjekts z. B. durch Hinzufügen eines Blattknotens zum Merkle-Baum des DSC-Objekts (Block 810) . Die Blattknoten bilden eine Folge, die streng geordnet ist. Für einen gegebenen Zwischenknoten im Baum existiert ein Unterbaum von Knoten, der ein Segment der Kette enthält. Der Wurzelknoten enthält die gesamte Kette. In Block 812 signiert der Beispielcodierer 216 die Daten der Unterbäume. In Block 814 sendet die Beispielnetzschnittstelle 202 (z. B. über eine drahtgebundene oder eine drahtlose Verbindung) die signierten Daten zu einer weiteren Verarbeitungsvorrichtung, der Blockkette 116 und/oder dem Beispielobjektüberwachungsdienst 118.
  • 9 ist ein Beispielablaufplan, der maschinenlesbare Anweisungen 900 repräsentiert, die ausgeführt werden können, um die Beispielblockkette 116 und/oder den Beispielobjektüberwachungsdienst 118 von 1 zu implementieren, um Änderungen an und/oder Zugriffe auf Daten, die mit einem oder mehreren DSC-Objekten verbunden sind, zu verfolgen.
  • In Block 902 erhält die Beispielblockkette 116 und/oder der Beispielobjektüberwachungsdienst 118 ein DSC-Objekt von einer der Verarbeitungsvorrichtungen 102-110. Zum Beispiel sendet dann, wenn neue Daten und ein entsprechendes neues DSC-Objekt erstellt werden, die Beispielverarbeitungsvorrichtung 102-110 das neu erzeugte DSC-Objekt zur Beispielblockkette 116 und/oder dem Beispielobjektüberwachungsdienst 118. Wie oben beschrieben ist, können die Beispielblockkette 116 und/oder der Beispielobjektüberwachungsdienst 118 ein Vorliegen des neuen DSC-Objekts unter Verwendung eines verteilten Übereinstimmungsalgorithmus erkennen.
  • In Block 904 erzeugen die Beispielblockkette 116 und/oder der Beispielobjektüberwachungsdienst 118 eine Blockkettenbaumstruktur (z. B. den Beispiel-BC-Merkle-Baum 312 von 3B) mit einem Block für das erhaltene DSC-Objekt. In Block 906 erhalten die Beispielblockkette 116 und/oder der Beispielobjektüberwachungsdienst 118 eine Änderung des DSC-Objekts, die z. B. einer Änderung, einem Zugriff, einer Anpassung usw. auf die Daten, die mit dem DSC-Objekt verbunden sind, entspricht. Zum Beispiel wird dann, wenn die Daten, die mit dem DSC-Objekt verbunden sind, von (A) einer Verarbeitungsvorrichtung, die die Daten erzeugt, zu (B) einer verschiedenen Verarbeitungsvorrichtung und/oder Einheit gesendet werden, das DSC-Objekt derart aktualisiert, dass es den Zugriff auf die Daten und/oder beliebige Änderungen an den Daten bei der verschiedenen Verarbeitungsvorrichtung und/oder Einheit widerspiegelt.
  • In Block 908 erzeugen die Beispielblockkette 116 und/oder der Beispielobjektüberwachungsdienst 118 einen Block, der der Änderung des DSC-Objekts entspricht. In Block 910 enthält die Beispielblockkette 116 und/oder der Beispielobjektüberwachungsdienst 118 den Block im BC Merkle-Baum 312 von 3B. Auf diese Weise werden die Änderungen, die Zugriffe usw., die den Daten, die mit dem DSC-Objekt verbunden sind, zugeordnet sind, im Beispiel-BC-Merkle-Baum 312 von 3B verfolgt. Entsprechend können die Beispielblockkette 116 und/oder der Beispielobjektüberwachungsdienst 118 den BC Merkle-Baum 312 von 3B verarbeiten, um die Verwendung und/oder die Änderungen von Daten in der Systemarchitektur 100 auf der Grundlage der DSC-Objekte des BC-Merkle-Baums 312 zu verfolgen, um Verträge durchzusetzen und/oder den Verlauf der Daten auf andere Weise zu überwachen.
  • In Block 912 bestimmen die Beispielblockkette 116 und/oder der Beispielobjektüberwachungsdienst 118, ob ein Alarm von einer der Verarbeitungsvorrichtungen 102-110 und/oder von einer beliebigen interessierten Partei erhalten wurde. Der Alarm löst die Beispielblockkette 116 und/oder den Beispielobjektüberwachungsdienst 118 derart aus, dass er den BC-Merkle-Baum 312 verarbeitet, um Informationen zu identifizieren, die der Verwendung der Daten, die im Alarm identifiziert wurden, entspricht. Wenn die Beispielblockkette 116 und/oder der Beispielobjektüberwachungsdienst 118 bestimmen, dass kein Alarm erhalten wurde (Block 912: NEIN), fährt die Steuerung zu Block 916 fort.
  • Wenn die Beispielblockkette 116 und/oder der Beispielobjektüberwachungsdienst 118 bestimmen, dass ein Alarm erhalten wurde (Block 912: JA), verarbeiten und/oder verfolgen die Beispielblockkette 116 und/oder der Beispielobjektüberwachungsdienst 118 die Daten, die im Alarm identifiziert werden, auf der Grundlage der Blockkettenbaumstruktur 914 (Block 914). Zum Beispiel können die Beispielblockkette 116 und/oder der Beispielobjektüberwachungsdienst 118 die Blöcke der Blockkettenbaumstruktur verarbeiten, um sicherzustellen, dass Zugriffe auf und/oder Änderungen an den Daten, die im Alarm identifiziert werden, berechtigt sind und/oder ob eine Gebühr bezahlt werden soll (z. B. auf der Grundlage einer Vereinbarung und/oder eines Vertrags). In einigen Beispielen ist kein Alarm erforderlich und die Beispielblockkette 116 und/oder der Beispielobjektüberwachungsdienst 118 können die Blockkette zum Überwachen und/oder für vertragliche Zwecke regelmäßig, unregelmäßig und/oder auf der Grundlage eines zusätzlichen oder alternativen Auslösers (z. B. wenn der BC-Merkle-Baum 312 aktualisiert wird) verarbeiten. In Block 916 senden die Beispielblockkette 116 und/oder der Beispielobjektüberwachungsdienst 118 einen authentifizierten Zusammenfassungswert, der einer Änderung an den Daten, die im Alarm identifiziert werden, entspricht, zu einer oder mehreren der Verarbeitungsvorrichtungen 102-108, wie ferner oben in Verbindung mit 6 beschrieben ist.
  • 10 ist ein Blockdiagramm einer Beispielprozessorplattform 1000, die strukturiert ist, die Anweisungen von 3-8 auszuführen, um den Objektmanager 112a von 2 und/oder die Objektmanager 112b-e von 1 zu implementieren. In einigen Beispielen kann die Prozessorplattform 1000 verwendet werden, um einen Edge-Knoten in einer Edge-Computing-Umgebung zu implementieren. Die Prozessorplattform 1000 kann z. B. ein Server, ein Personal Computer, eine Workstation, ein Internet-Plugin-Werkzeug, eine selbstlernende Maschine (z. B. ein neuronales Netz), eine mobile Vorrichtung (z. B. ein Mobiltelefon, ein Smartphone, ein Tablet wie z. B. ein iPad™), eine Internet-Vorrichtung oder ein sonstiger Typ einer Rechenvorrichtung sein.
  • Die Prozessorplattform 1000 des veranschaulichten Beispiels enthält einen Prozessor 1012. Der Prozessor 1012 des veranschaulichten Beispiels ist eine Hardware. Zum Beispiel kann der Prozessor 1012 durch eine oder mehrere integrierte Schaltungen, Logikschaltungen, Mikroprozessoren, GPUs, DSPs oder Steuereinheiten aus einer beliebigen gewünschten Familie oder von einem beliebigen gewünschten Hersteller implementiert werden. Der Hardware-Prozessor kann eine halbleiterbasierte (z. B. siliziumbasierte) Vorrichtung sein. In diesem Beispiel implementiert der Prozessor das Beispielfilter 204, den Beispieldateiprozessor 206, die Beispielverschlüsselungsvorrichtung 208, den Beispieldatenstrukturgenerator 210, den Beispielstellvertretergenerator 212, den Beispielcodierer 216, den Beispielschlüsselgenerator 218, den Beispielobjektaggregator 220, den Vertrauenswurzelgenerator 222, den Beispielobjektprozessor 224 und die Beispielentschlüsselungsvorrichtung 226.
  • Der Prozessor 1012 des veranschaulichten Beispiels enthält einen lokalen Datenspeicher 1013 (z. B. ein Zwischenspeicher). Der Prozessor 1012 des veranschaulichten Beispiels ist mit einem Hauptspeicher, der einen flüchtigen Speicher 1014 und einen nichtflüchtigen Speicher 1016 enthält, über einen Bus 1018 in Kommunikation. Der flüchtige Speicher 1014 kann durch synchronen dynamischen Schreib-/Lese-Speicher (SDRAM), dynamischen Schreib-/Lese-Speicher (DRAM), dynamischen RAMBUS®-Schreib-/Lese-Speicher (RDRAM®) und/oder einen sonstigen Typ einer Schreib-/Lese-Speichervorrichtung implementiert sein. Der nichtflüchtige Speicher 1016 kann durch einen Flash-Speicher und/oder einen sonstigen gewünschten Typ einer Datenspeichervorrichtung implementiert sein. Der Zugriff auf den Hauptspeicher 1014, 1016 wird durch einen Speicher-Controller gesteuert.
  • Die Prozessorplattform 1000 des veranschaulichten Beispiels enthält auch eine Schnittstellenschaltung 1020. Die Schnittstellenschaltung 1020 kann durch einen beliebigen Typ einer Schnittstellennorm wie z. B. eine Ethernet-Schnittstelle, einen universellen seriellen Bus (USB), eine Bluetooth®-Schnittstelle, eine Nahfeldkommunikationsschnittstelle (NFC-Schnittstelle) und/oder eine PCI-Express-Schnittstelle implementiert werden. In diesem Beispiel implementiert die Schnittstellenschaltung 1030 die Beispielnetzschnittstelle 202 von 2.
  • Im dargestellten Beispiel sind eine oder mehrere Eingabevorrichtungen 1022 mit der Schnittstellenschaltung 1020 verbunden. Die eine oder die mehreren Eingabevorrichtungen 1022 erlauben einem Anwender, Daten und/oder Anweisungen in den Prozessor 1012 einzugeben. Die eine oder die mehreren Eingabevorrichtungen können z. B. durch einen Audiosensor, ein Mikrofon, eine Kamera (Standbild oder Video), eine Tastatur, eine Taste, eine Maus, einen Berührungsbildschirm, ein Trackpad, einen Trackball, einen Isopoint und/oder ein Spracherkennungssystem implementiert werden.
  • Eine oder mehrere Ausgabevorrichtungen 1024 sind außerdem mit der Schnittstellenschaltung 1020 des veranschaulichten Beispiels verbunden. Die Ausgabevorrichtungen 1024 können z. B. durch Anzeigevorrichtungen (z. B. eine Leuchtdiode (LED), eine organische Leuchtdiode (OLED), eine Flüssigkristallanzeige (LCD), eine Kathodenstrahlröhrenanzeigevorrichtung (CRT-Anzeigevorrichtung), eine direkt schaltende Anzeigevorrichtung (IPS-Anzeigevorrichtung), einen Berührungsbildschirm usw.), eine taktile Ausgabevorrichtung, einen Drucker und/oder einen Lautsprecher implementiert werden. Die Schnittstellenschaltung 1020 des veranschaulichten Beispiels enthält somit typischerweise eine Graphiktreiberkarte, einen Graphiktreiberchip und/oder einen Graphiktreiberprozessor.
  • Die Schnittstellenschaltung 1020 des veranschaulichten Beispiels enthält außerdem eine Kommunikationsvorrichtung wie z. B. einen Sender, einen Empfänger, eine Sende-/Empfangseinrichtung, ein Modem, ein lokales Gateway, einen Drahtlos-Zugangspunkt und/oder eine Netzschnittstelle, um einen Datenaustausch mit externen Maschinen (z. B. Rechenvorrichtungen einer beliebigen Art) über ein Netz 1026 zu ermöglichen. Die Kommunikation kann z. B. über eine Ethernet-Verbindung, eine Verbindung über eine digitale Teilnehmerleitung (DSL), eine Telefonleitungsverbindung, ein Koaxialkabelsystem, ein Satellitensystem, ein Sichtlinien-Drahtlossystem, ein Mobiltelefonsystem usw. erfolgen.
  • Die Prozessorplattform 1000 des veranschaulichten Beispiels enthält außerdem eine oder mehrere Massenspeichervorrichtungen 1028 zum Speichern von Software und/oder Daten. Beispiele derartiger Massenspeichervorrichtungen 1028 enthalten Diskettenlaufwerke, Festplattenlaufwerke, Laufwerke für kompakte Datenträger, Laufwerke für Blu-Ray-Datenträger, Systeme redundanter Anordnungen unabhängiger Datenträger (RAID-Systeme) und Laufwerke für digitale vielseitige Datenträger (DVD-Laufwerke).
  • Die maschinenausführbaren Anweisungen 1032 von 3-8 können in der Massenspeichervorrichtung 1028, im flüchtigen Speicher 1014, im nichtflüchtigen Speicher 1016 und/oder in einem entnehmbaren nichttransitorischen computerlesbaren Speichermedium wie z. B. einer CD oder einer DVD gespeichert sein.
  • 11 ist ein Blockdiagramm einer Beispielprozessorplattform 1100, die strukturiert ist, die Anweisungen von 9 auszuführen, um die Beispielblockkette 116 und/oder den Beispielobjektüberwachungsdienst 118 von 1 zu implementieren. In einigen Beispielen kann die Prozessorplattform 1100 verwendet werden, um einen Edge-Knoten in einer Edge-Computing-Umgebung zu implementieren. Die Prozessorplattform 1100 kann z. B. ein Server, ein Personal Computer, eine Workstation, ein Internet-Plugin-Werkzeug, eine selbstlernende Maschine (z. B. ein neuronales Netz), eine mobile Vorrichtung (z. B. ein Mobiltelefon, ein Smartphone, ein Tablet wie z. B. ein iPad™), eine Internet-Vorrichtung oder ein sonstiger Typ einer Rechenvorrichtung sein.
  • Die Prozessorplattform 1100 des veranschaulichten Beispiels enthält einen Prozessor 1112. Der Prozessor 1112 des veranschaulichten Beispiels ist eine Hardware. Zum Beispiel kann der Prozessor 1112 durch eine oder mehrere integrierte Schaltungen, Logikschaltungen, Mikroprozessoren, GPUs, DSPs oder Steuereinheiten aus einer beliebigen gewünschten Familie oder von einem beliebigen gewünschten Hersteller implementiert werden. Der Hardware-Prozessor kann eine halbleiterbasierte (z. B. siliziumbasierte) Vorrichtung sein.
  • Der Prozessor 1112 des veranschaulichten Beispiels enthält einen lokalen Datenspeicher 1113 (z. B. ein Zwischenspeicher). Der Prozessor 1112 des veranschaulichten Beispiels ist mit einem Hauptspeicher, der einen flüchtigen Speicher 1114 und einen nichtflüchtigen Speicher 1116 enthält, über einen Bus 1118 in Kommunikation. Der flüchtige Speicher 1114 kann durch synchronen dynamischen Schreib-/Lese-Speicher (SDRAM), dynamischen Schreib-/Lese-Speicher (DRAM), dynamischen RAMBUS®-Schreib-/Lese-Speicher (RDRAM®) und/oder einen sonstigen Typ einer Schreib-/Lese-Speichervorrichtung implementiert sein. Der nichtflüchtige Speicher 1116 kann durch einen Flash-Speicher und/oder einen sonstigen gewünschten Typ einer Datenspeichervorrichtung implementiert sein. Der Zugriff auf den Hauptspeicher 1114, 1116 wird durch einen Speicher-Controller gesteuert.
  • Die Prozessorplattform 1100 des veranschaulichten Beispiels enthält auch eine Schnittstellenschaltung 1120. Die Schnittstellenschaltung 1120 kann durch einen beliebigen Typ einer Schnittstellennorm wie z. B. eine Ethernet-Schnittstelle, einen universellen seriellen Bus (USB), eine BluetoothO-Schnittstelle, eine Nahfeldkommunikationsschnittstelle (NFC-Schnittstelle) und/oder eine PCI-Express-Schnittstelle implementiert werden. In diesem Beispiel hat die Schnittstellenschaltung 1130 die Beispielnetzschnittstelle 202 von 2 implementiert.
  • Im dargestellten Beispiel sind eine oder mehrere Eingabevorrichtungen 1122 mit der Schnittstellenschaltung 1120 verbunden. Die eine oder die mehreren Eingabevorrichtungen 1122 erlauben einem Anwender, Daten und/oder Anweisungen in den Prozessor 1112 einzugeben. Die eine oder die mehreren Eingabevorrichtungen können z. B. durch einen Audiosensor, ein Mikrofon, eine Kamera (Standbild oder Video), eine Tastatur, eine Taste, eine Maus, einen Berührungsbildschirm, ein Trackpad, einen Trackball, einen Isopoint und/oder ein Spracherkennungssystem implementiert werden.
  • Außerdem sind eine oder mehrere Ausgabevorrichtungen 1124 mit der Schnittstellenschaltung 1120 des veranschaulichten Beispiels verbunden. Die Ausgabevorrichtungen 1124 können z. B. durch Anzeigevorrichtungen (z. B. eine Leuchtdiode (LED), eine organische Leuchtdiode (OLED), eine Flüssigkristallanzeige (LCD), eine Kathodenstrahlröhrenanzeigevorrichtung (CRT-Anzeigevorrichtung), eine direkt schaltende Anzeigevorrichtung (IPS-Anzeigevorrichtung), einen Berührungsbildschirm usw.), eine taktile Ausgabevorrichtung, einen Drucker und/oder einen Lautsprecher implementiert werden. Die Schnittstellenschaltung 1120 des veranschaulichten Beispiels enthält somit typischerweise eine Graphiktreiberkarte, einen Graphiktreiberchip und/oder einen Graphiktreiberprozessor.
  • Die Schnittstellenschaltung 1120 des veranschaulichten Beispiels enthält außerdem eine Kommunikationsvorrichtung wie z. B. einen Sender, einen Empfänger, eine Sende-/Empfangseinrichtung, ein Modem, ein lokales Gateway, einen Drahtlos-Zugangspunkt und/oder eine Netzschnittstelle, um einen Datenaustausch mit externen Maschinen (z. B. Rechenvorrichtungen einer beliebigen Art) über ein Netz 1126 zu ermöglichen. Die Kommunikation kann z. B. über eine Ethernet-Verbindung, eine Verbindung über eine digitale Teilnehmerleitung (DSL), eine Telefonleitungsverbindung, ein Koaxialkabelsystem, ein Satellitensystem, ein Sichtlinien-Drahtlossystem, ein Mobiltelefonsystem usw. erfolgen.
  • Die Prozessorplattform 1100 des veranschaulichten Beispiels enthält außerdem eine oder mehrere Massenspeichervorrichtungen 1128 zum Speichern von Software und/oder Daten. Beispiele derartiger Massenspeichervorrichtungen 1128 enthalten Diskettenlaufwerke, Festplattenlaufwerke, Laufwerke für kompakte Datenträger, Laufwerke für Blu-Ray-Datenträger, Systeme redundanter Anordnungen unabhängiger Datenträger (RAID-Systeme) und Laufwerke für digitale vielseitige Datenträger (DVD-Laufwerke).
  • Die maschinenausführbare Anweisungen 1132 von 9 können in der Massenspeichervorrichtung 1128, im flüchtigen Speicher 1114, im nichtflüchtigen Speicher 1116 und/oder in einem entnehmbaren nichttransitorischen computerlesbaren Speichermedium wie z. B. einem CD oder einem DVD gespeichert sein.
  • Aus dem Vorhergehenden wird begrüßt werden, dass Beispielverfahren, Beispielvorrichtungen und Beispielherstellungsgegenstände offenbart wurden, die eine Herkunft für Datenlieferketten bestimmen. Die offenbarten Verfahren, Vorrichtungen und Herstellungsgegenstände verbessern den Wirkungsgrad des Verwendens einer Rechenvorrichtung durch Ermöglichen des Verfolgens verschiedener Typen von Daten, wodurch Medienerstellern ermöglicht wird, Rechte an geistigem Eigentum in einem verteilten und dezentralen Datenökosystem zu schützen. Hier offenbarte Beispiele ermöglichen Medieneigentümern, Schlussfolgerungen, die durch AI-getriebene Einheiten erzeugt werden, unabhängig zu prüfen. Hier offenbarte Beispiele schaffen eine automatische Zusammenführung von Daten, die in neuen Zusammensetzungen, die durch eine Datenlieferkette verfolgt werden können, resultiert. Hier offenbarte Beispiele eine Recheninfrastruktur, die eine dezentrale Arbeitslast hosten kann und AI-Plattformsicherheitskomponenten zum Verbessern der Sicherheit des Systems und der Daten, die im System verarbeitet werden, schaffen kann. Die offenbarten Verfahren, Vorrichtungen und Herstellungsgegenstände sind entsprechend auf eine oder mehrere Verbesserungen im Arbeiten eines Computers gerichtet.
  • Hier werden Beispielverfahren, Beispielvorrichtungen, Beispielsysteme und Beispielherstellungsgegenstände offenbart, um die Herkunft für Datenlieferketten zu bestimmen. Ferner enthalten Beispiele und Kombinationen davon das Folgende: Beispiel 1 enthält ein nichttransitorisches computerlesbares Speichermedium, das Daten enthält, die in ausführbare Anweisungen konfiguriert werden können und dann, wenn sie konfiguriert und ausgeführt werden, einen oder mehrere Prozessoren veranlassen, mindestens in Reaktion darauf, dass Daten erzeugt werden, ein lokales Datenobjekt und Objektmetadaten, die den Daten entsprechen, zu erzeugen, das lokale Datenobjekt mit einer Prüfsumme zu versehen, eine Prüfsumme eines Etiketts des lokalen Datenobjekts zu erzeugen, eine hierarchische Datenstruktur für die Daten, die die Prüfsumme des lokalen Datenobjekts und die Prüfsumme des Etiketts des lokalen Datenobjekts enthalten, zu erzeugen, ein Datenlieferkettenobjekt, das die hierarchische Datenstruktur enthält, zu erzeugen und die Daten und das Datenlieferkettenobjekt zu einer Vorrichtung, die Zugriff auf die Daten angefordert hat, zu senden.
  • Beispiel 2 enthält das computerlesbare Speichermedium von Beispiel 1, wobei die Anweisungen den einen oder die mehreren Prozessoren veranlassen zum Codieren des Datenlieferkettenobjekts gemäß einem Format der Daten.
  • Beispiel 3 enthält das computerlesbare Speichermedium von Beispiel 1, wobei die Anweisungen den einen oder die mehreren Prozessoren veranlassen zum Verschlüsseln des Datenlieferkettenobjekts unter Verwendung einer homomorphen Verschlüsselung.
  • Beispiel 4 enthält das computerlesbare Speichermedium von Beispiel 1, wobei die Anweisungen den einen oder die mehreren Prozessoren veranlassen zum Hinzufügen eines Werkzeugs zum Umwandeln der Daten in das Datenlieferkettenobjekt.
  • Beispiel 5 enthält das computerlesbare Speichermedium von Beispiel 1, wobei die Anweisungen den einen oder die mehreren Prozessoren veranlassen, ein Datenserialisierungsformat auf das Datenlieferkettenobjekt anzuwenden.
  • Beispiel 6 enthält das computerlesbare Speichermedium von Beispiel 1, wobei die Anweisungen den einen oder die mehreren Prozessoren veranlassen, das Datenlieferkettenobjekt mit den Daten zu verbinden.
  • Beispiel 7 enthält das computerlesbare Speichermedium von Beispiel 1, wobei die Anweisungen den einen oder die mehreren Prozessoren veranlassen, das Datenlieferkettenobjekt zu aktualisieren, um einen Zugriff auf die Daten und/oder eine Umwandlung der Daten widerzuspiegeln.
  • Beispiel 8 enthält das computerlesbare Speichermedium von Beispiel 7, wobei die Anweisungen den einen oder die mehreren Prozessoren veranlassen zum Entschlüsseln des Datenlieferkettenobjekts unter Verwendung einer homomorphen Entschlüsselung.
  • Beispiel 9 enthält das computerlesbare Speichermedium von Beispiel 1, wobei die Anweisungen den einen oder die mehreren Prozessoren veranlassen zum Senden des Datenlieferkettenobjekts zu einer Blockkette und/oder einem Objektüberwachungsdienst, um (a) einen Vertrag, der den Daten entspricht, durchzusetzen und/oder (b) Überarbeitungen der Daten aufzuzeichnen und/oder (c) eine Datenherkunft durchzusetzen und/oder (d) die Daten zu verfolgen.
  • Beispiel 10 enthält eine Vorrichtung zum Erzeugen eines Datenlieferkettenobjekts, wobei die Vorrichtung einen Datenstrukturgenerator umfasst, der ausgelegt ist, in Reaktion darauf, dass Daten erzeugt werden, ein lokales Datenobjekt und Objektmetadaten, die den Daten entsprechen, zu erzeugen, das lokale Datenobjekt mit einer Prüfsumme zu versehen, eine Prüfsumme eines Etiketts des lokalen Datenobjekts zu erzeugen, eine hierarchische Datenstruktur für die Daten, die die Prüfsumme des lokalen Datenobjekts und die Prüfsumme des Etiketts des lokalen Datenobjekts enthalten, zu erzeugen, ein Datenlieferkettenobjekt, das die hierarchische Datenstruktur enthält, zu erzeugen und die Daten und das Datenlieferkettenobjekt zu einer Vorrichtung, die Zugriff auf die Daten angefordert hat, zu senden.
  • Beispiel 11 enthält die Vorrichtung von Beispiel 10, die ferner einen Codierer zum Codieren des Datenlieferkettenobjekts gemäß einem Format der Daten enthält.
  • Beispiel 12 enthält die Vorrichtung von Beispiel 10, wobei die Verschlüsselungsvorrichtung ausgelegt ist zum Verschlüsseln des Datenlieferkettenobjekts unter Verwendung einer homomorphen Verschlüsselung.
  • Beispiel 13 enthält die Vorrichtung von Beispiel 10, wobei der Datenstrukturgenerator ausgelegt ist zum Hinzufügen eines Werkzeugs zum Umwandeln der Daten in das Datenlieferkettenobjekt.
  • Beispiel 14 enthält die Vorrichtung von Beispiel 10, die ferner einen Codierer zum Anwenden eines Datenserialisierungsformats auf das Datenlieferkettenobjekt enthält.
  • Beispiel 15 enthält die Vorrichtung von Beispiel 10, die ferner einen Dateiprozessor zum Verbinden des Datenlieferkettenobjekts mit den Daten enthält.
  • Beispiel 16 enthält die Vorrichtung von Beispiel 10, wobei der Datenstrukturgenerator ausgelegt ist zum Aktualisieren des Datenlieferkettenobjekts, um einen Zugriff auf die Daten und/oder eine Umwandlung der Daten widerzuspiegeln.
  • Beispiel 17 enthält die Vorrichtung von Beispiel 16, die ferner eine Entschlüsselungsvorrichtung zum Entschlüsseln des Datenlieferkettenobjekts unter Verwendung einer homomorphen Entschlüsselung enthält.
  • Beispiel 18 enthält die Vorrichtung von Beispiel 10, wobei die Schnittstelle ausgelegt ist zum Senden des Datenlieferkettenobjekts zu einer Blockkette und/oder einem Objektüberwachungsdienst, um (a) einen Vertrag, der den Daten entspricht, durchzusetzen und/oder (b) Überarbeitungen der Daten aufzuzeichnen und/oder (c) eine Datenherkunft durchzusetzen und/oder (d) die Daten zu verfolgen.
  • Beispiel 19 enthält ein Verfahren zum Erzeugen eines Datenlieferkettenobjekts, wobei das Verfahren Folgendes umfasst: Erzeugen durch Ausführen einer Anweisung mit einem Prozessor in Reaktion darauf, dass Daten erzeugt werden, eines lokalen Datenobjekts und von Objektmetadaten, die den Daten entsprechen, Versehen durch Ausführen einer Anweisung mit dem Prozessor des lokalen Datenobjekts mit einer Prüfsumme, Erzeugen durch Ausführen einer Anweisung mit dem Prozessor einer Prüfsumme eines Etiketts des lokalen Datenobjekts, Erzeugen durch Ausführen einer Anweisung mit dem Prozessor einer hierarchischen Datenstruktur für die Daten, die die Prüfsumme des lokalen Datenobjekts und die Prüfsumme des Etiketts des lokalen Datenobjekts enthalten, Erzeugen durch Ausführen einer Anweisung mit dem Prozessor eines Datenlieferkettenobjekts, das die hierarchische Datenstruktur enthält, und Senden der Daten und des Datenlieferkettenobjekts zu einer Vorrichtung, die Zugriff auf die Daten angefordert hat.
  • Beispiel 20 enthält das Verfahren von Beispiel 19, das ferner ein Codieren des Datenlieferkettenobjekts gemäß einem Format der Daten enthält.
  • Beispiel 21 enthält das Verfahren von Beispiel 19, das ferner ein Verschlüsseln des Datenlieferkettenobjekts unter Verwendung einer homomorphen Verschlüsselung enthält.
  • Beispiel 22 enthält das Verfahren von Beispiel 19, das ferner ein Hinzufügen eines Werkzeugs zum Umwandeln der Daten in das Datenlieferkettenobjekt enthält.
  • Beispiel 23 enthält das Verfahren von Beispiel 19, das ferner ein Anwenden eines Datenserialisierungsformats auf das Datenlieferkettenobjekt enthält.
  • Beispiel 24 enthält das Verfahren von Beispiel 19, das ferner ein Verbinden des Datenlieferkettenobjekts mit den Daten enthält.
  • Beispiel 25 enthält das Verfahren von Beispiel 19, das ferner ein Aktualisieren des Datenlieferkettenobjekts enthält, um einen Zugriff auf die Daten und/oder eine Umwandlung der Daten widerzuspiegeln.
  • Beispiel 26 enthält das Verfahren von Beispiel 25, das ferner ein Entschlüsseln des Datenlieferkettenobjekts unter Verwendung einer homomorphen Entschlüsselung enthält.
  • Beispiel 27 enthält das Verfahren von Beispiel 19, das ferner ein Senden des Datenlieferkettenobjekts zu einer Blockkette und/oder einem Objektüberwachungsdienst enthält, um (a) einen Vertrag, der den Daten entspricht, durchzusetzen und/oder (b) Überarbeitungen der Daten aufzuzeichnen und/oder (c) eine Datenherkunft durchzusetzen und/oder (d) die Daten zu verfolgen.
  • Beispiel 28 enthält eine Vorrichtung zum Erzeugen eines Datenlieferkettenobjekts, wobei die Vorrichtung Folgendes enthält: Mittel zum Erzeugen in Reaktion darauf, dass Daten erzeugt werden, eines lokalen Datenobjekts und von Objektmetadaten, die den Daten entsprechen, Mittel zum Versehen des lokalen Datenobjekts mit einer Prüfsumme und Versehen eines Etiketts des lokalen Datenobjekts mit einer Prüfsumme, wobei die Erzeugungsmittel ausgelegt sind zum Erzeugen einer hierarchischen Datenstruktur für die Daten, die die Prüfsumme des lokalen Datenobjekts und die Prüfsumme des Etiketts des lokalen Datenobjekts enthalten, und Erzeugen eines Datenlieferkettenobjekts, das die hierarchische Datenstruktur enthält, und Mittel zum Senden der Daten und des Datenlieferkettenobjekts zu einer Vorrichtung, die Zugriff auf die Daten angefordert hat.
  • Beispiel 29 enthält die Vorrichtung von Beispiel 28, die ferner Mittel zum Codieren des Datenlieferkettenobjekts gemäß einem Format der Daten enthält.
  • Beispiel 30 enthält die Vorrichtung von Beispiel 28, die ferner Mittel zum Verschlüsseln des Datenlieferkettenobjekts unter Verwendung einer homomorphen Verschlüsselung enthält.
  • Beispiel 31 enthält die Vorrichtung von Beispiel 28, wobei die Erzeugungsmittel ausgelegt sind zum Hinzufügen eines Werkzeugs zum Umwandeln der Daten in das Datenlieferkettenobjekt.
  • Beispiel 32 enthält die Vorrichtung von Beispiel 28, die ferner Mittel zum Anwenden eines Datenserialisierungsformats auf das Datenlieferkettenobjekt enthält.
  • Beispiel 33 enthält die Vorrichtung von Beispiel 28, die ferner Mittel zum Verbinden des Datenlieferkettenobjekts mit den Daten enthält.
  • Beispiel 34 enthält die Vorrichtung von Beispiel 28, wobei die Erzeugungsmittel ausgelegt sind zum Aktualisieren des Datenlieferkettenobjekts, um einen Zugriff auf die Daten und/oder eine Umwandlung der Daten widerzuspiegeln.
  • Beispiel 35 enthält die Vorrichtung von Beispiel 34, die ferner Mittel zum Entschlüsseln des Datenlieferkettenobjekts unter Verwendung einer homomorphen Entschlüsselung enthält.
  • Beispiel 36 enthält die Vorrichtung von Beispiel 28, wobei die Sendemittel ausgelegt sind zum Senden des Datenlieferkettenobjekts zu einer Blockkette und/oder einem Objektüberwachungsdienst, um (a) einen Vertrag, der den Daten entspricht, durchzusetzen und/oder (b) Überarbeitungen der Daten aufzuzeichnen und/oder (c) eine Datenherkunft durchzusetzen und/oder (d) die Daten zu verfolgen.
  • Beispiel 37 enthält eine Vorrichtung zum Erzeugen eines Datenlieferkettenobjekts, wobei die Vorrichtung eine Prozessorschaltungsanordnung umfasst, und einen Datenspeicher, der Anweisungen enthält, die, wenn sie ausgeführt werden, die Prozessorschaltungsanordnung veranlassen zum Erzeugen in Reaktion darauf, dass Daten erzeugt werden, eines lokalen Datenobjekts und von Objektmetadaten, die den Daten entsprechen, Versehen des lokalen Datenobjekts mit einer Prüfsumme, Erzeugen einer Prüfsumme eines Etiketts des lokalen Datenobjekts, Erzeugen einer hierarchischen Datenstruktur für die Daten, die die Prüfsumme des lokalen Datenobjekts und die Prüfsumme des Etiketts des lokalen Datenobjekts enthalten, Erzeugen eines Datenlieferkettenobjekts, das die hierarchische Datenstruktur enthält, und Senden der Daten und des Datenlieferkettenobjekts zu einer Vorrichtung, die Zugriff auf die Daten angefordert hat.
  • Beispiel 38 enthält die Vorrichtung von Beispiel 37, wobei die Anweisungen die Prozessorschaltungsanordnung veranlassen zum Codieren des Datenlieferkettenobjekts gemäß einem Format der Daten.
  • Beispiel 39 enthält die Vorrichtung von Beispiel 37, wobei die Anweisungen die Prozessorschaltungsanordnung veranlassen zum Verschlüsseln des Datenlieferkettenobjekts unter Verwendung einer homomorphen Verschlüsselung.
  • Beispiel 40 enthält die Vorrichtung von Beispiel 37, wobei die Anweisungen die Prozessorschaltungsanordnung veranlassen zum Hinzufügen eines Werkzeugs zum Umwandeln der Daten in das Datenlieferkettenobjekt.
  • Beispiel 41 enthält die Vorrichtung von Beispiel 37, wobei die Anweisungen die Prozessorschaltungsanordnung veranlassen zum Anwenden eines Datenserialisierungsformats auf das Datenlieferkettenobjekt.
  • Beispiel 42 enthält die Vorrichtung von Beispiel 37, wobei die Anweisungen die Prozessorschaltungsanordnung veranlassen zum Verbinden des Datenlieferkettenobjekts mit den Daten.
  • Beispiel 43 enthält die Vorrichtung von Beispiel 37, wobei die Anweisungen die Prozessorschaltungsanordnung veranlassen zum Aktualisieren des Datenlieferkettenobjekts, um einen Zugriff auf die Daten und/oder eine Umwandlung der Daten widerzuspiegeln.
  • Beispiel 44 enthält die Vorrichtung von Beispiel 43, wobei die Anweisungen die Prozessorschaltungsanordnung veranlassen zum Entschlüsseln des Datenlieferkettenobjekts unter Verwendung einer homomorphen Entschlüsselung.
  • Beispiel 45 enthält die Vorrichtung von Beispiel 37, wobei die Anweisungen die Prozessorschaltungsanordnung veranlassen zum Senden des Datenlieferkettenobjekts zu einer Blockkette und/oder einem Objektüberwachungsdienst, um (a) einen Vertrag, der den Daten entspricht, durchzusetzen und/oder (b) Überarbeitungen der Daten aufzuzeichnen und/oder (c) eine Datenherkunft durchzusetzen und/oder (d) die Daten zu verfolgen.
  • Beispiel 46 enthält ein nichttransitorisches computerlesbares Speichermedium, das Daten enthält, die in ausführbare Anweisungen konfiguriert werden können und dann, wenn sie konfiguriert und ausgeführt werden, einen oder mehrere Prozessoren mindestens veranlassen zum Erzeugen eines Blocks, der einer Änderung eines Datenlieferkettenobjekts entspricht, Aufnehmen des Blocks, der der Änderung des Datenlieferkettenobjekts entspricht, in eine Blockkettenbaumstruktur und Verfolgen von Daten, die dem Datenlieferkettenobjekt entsprechen, auf der Grundlage der Blockkettenbaumstruktur.
  • Beispiel 47 enthält das computerlesbare Speichermedium von Beispiel 46, wobei die Anweisungen den einen oder die mehreren Prozessoren veranlassen zum Verfolgen der Daten in Reaktion auf einen Alarm.
  • Beispiel 48 enthält das computerlesbare Speichermedium von Beispiel 46, wobei die Anweisungen den einen oder die mehreren Prozessoren veranlassen zum Senden eines Authentifizierungzusammenfassungswerts zu einer Verarbeitungsvorrichtung, um zu identifizieren, dass das Datenlieferkettenobjekt sich geändert hat.
  • Beispiel 49 enthält das computerlesbare Speichermedium von Beispiel 46, wobei die Anweisungen den einen oder die mehreren Prozessoren veranlassen zum Verwenden intelligenter Verträge, um die Daten zu verfolgen.
  • Beispiel 50 enthält das computerlesbare Speichermedium von Beispiel 46, wobei der Block ein erster Block ist und die Anweisungen den einen oder die mehreren Prozessoren veranlassen zum Erkennen eines Vorliegens eines neuen Datenlieferkettenobjekts unter Verwendung eines verteilten Übereinstimmungsalgorithmus und Aufnehmen eines zweiten Blocks für die neue Datenlieferkette in die Blockkettenbaumstruktur.
  • Beispiel 51 enthält ein Verfahren, das ein Erzeugen durch Ausführen einer Anweisung mit einem Prozessor eines Blocks, der einer Änderung eines Datenlieferkettenobjekts entspricht, ein Hinzufügen durch Ausführen einer Anweisung mit dem Prozessor des Blocks, der einer Änderung des Datenlieferkettenobjekts entspricht, zu einer Blockkettenbaumstruktur und ein Verfolgen durch Ausführen einer Anweisung mit dem Prozessor von Daten, die dem Datenlieferkettenobjekt entsprechen, auf der Grundlage der Blockkettenbaumstruktur umfasst.
  • Beispiel 52 enthält das Verfahren von Beispiel 51, das ferner ein Verfolgen der Daten in Reaktion auf einen Alarm umfasst.
  • Beispiel 53 enthält das Verfahren von Beispiel 51, das ferner ein Senden eines Authentifizierungzusammenfassungswerts zu einer Verarbeitungsvorrichtung umfasst, um zu identifizieren, dass das Datenlieferkettenobjekt sich geändert hat.
  • Beispiel 54 enthält das Verfahren von Beispiel 51, wobei das Verfolgen auf der Grundlage intelligenter Verträge erfolgt.
  • Beispiel 55 enthält das Verfahren von Beispiel 51, wobei der Block ein erster Block ist, und umfasst ferner ein Erkennen eines Vorliegens eines neuen Datenlieferkettenobjekts unter Verwendung eines verteilten Übereinstimmungsalgorithmus und ein Aufnehmen eines zweiten Blocks für die neue Datenlieferkette in die Blockkettenbaumstruktur.
  • Beispiel 56 enthält eine Vorrichtung, die eine Prozessorschaltungsanordnung umfasst, und einen Datenspeicher, der Anweisungen enthält, die, wenn sie ausgeführt werden, die Prozessorschaltungsanordnung veranlassen zum Erzeugen eines Blocks, der einer Änderung eines Datenlieferkettenobjekts entspricht, Hinzufügen des Blocks, der der Änderung des Datenlieferkettenobjekts entspricht, zu einer Blockkettenbaumstruktur, und Verfolgen von Daten, die dem Datenlieferkettenobjekt entsprechen, auf der Grundlage der Blockkettenbaumstruktur.
  • Beispiel 57 enthält die Vorrichtung von Beispiel 56, wobei die Anweisungen die Prozessorschaltungsanordnung veranlassen zum Verfolgen der Daten in Reaktion auf einen Alarm.
  • Beispiel 58 enthält die Vorrichtung von Beispiel 56, wobei die Anweisungen die Prozessorschaltungsanordnung veranlassen zum Senden eines Authentifizierungzusammenfassungswerts zu einer Verarbeitungsvorrichtung, um zu identifizieren, dass das Datenlieferkettenobjekt sich geändert hat.
  • Beispiel 59 enthält die Vorrichtung von Beispiel 56, wobei die Anweisungen die Prozessorschaltungsanordnung veranlassen zum Verfolgen der Daten unter Verwendung intelligenter Verträge.
  • Beispiel 60 enthält die Vorrichtung von Beispiel 56, wobei der Block ein erster Block ist, und die Anweisungen die Prozessorschaltungsanordnung veranlassen zum Erkennen eines Vorliegens eines neuen Datenlieferkettenobjekts unter Verwendung eines verteilten Übereinstimmungsalgorithmus, und Aufnehmen eines zweiten Blocks für die neue Datenlieferkette in die Blockkettenbaumstruktur.
  • Obwohl hier bestimmte Beispielverfahren, Beispielvorrichtungen und Beispielherstellungsgegenstände offenbart wurden, ist der Deckungsumfang diese Patents nicht darauf beschränkt. Hingegen deckt dieses Patent alle Verfahren, Vorrichtungen und Herstellungsgegenstände ab, die billig in den Umfang der Ansprüche dieses Patents fallen.
  • Die folgenden Ansprüche werden hiermit durch diese Bezugnahme in diese genaue Beschreibung aufgenommen, wobei jeder Anspruch als eine getrennte Ausführungsform der vorliegenden Offenbarung eigenständig ist.

Claims (25)

  1. Vorrichtung zum Erzeugen eines Datenlieferkettenobjekts, wobei die Vorrichtung Folgendes umfasst: einen Datenstrukturgenerator zum Erzeugen in Reaktion darauf, dass Daten erzeugt werden, eines lokalen Datenobjekts und von Objektmetadaten, die den Daten entsprechen; eine Verschlüsselungsvorrichtung zum Versehen des lokalen Datenobjekts mit einer Prüfsumme und Erzeugen einer Prüfsumme eines Etiketts des lokalen Datenobjekts; wobei der Datenstrukturgenerator ausgelegt ist zum Erzeugen einer hierarchischen Datenstruktur für die Daten, die die Prüfsumme des lokalen Datenobjekts und die Prüfsumme des Etiketts des lokalen Datenobjekts enthalten; und Erzeugen eines Datenlieferkettenobjekts, das die hierarchische Datenstruktur enthält; und eine Schnittstelle zum Senden der Daten und des Datenlieferkettenobjekts zu einer Vorrichtung, die Zugriff auf die Daten angefordert hat.
  2. Vorrichtung nach Anspruch 1, die ferner einen Codierer enthält, um das Datenlieferkettenobjekt gemäß einem Format der Daten zu codieren.
  3. Vorrichtung nach einem der Ansprüche 1-2, wobei die Verschlüsselungsvorrichtung ausgelegt ist zum Verschlüsseln des Datenlieferkettenobjekts unter Verwendung einer homomorphen Verschlüsselung.
  4. Vorrichtung nach einem der Ansprüche 1-3, wobei der Datenstrukturgenerator ausgelegt ist zum Hinzufügen eines Werkzeugs zum Umwandeln der Daten in das Datenlieferkettenobjekt.
  5. Vorrichtung nach einem der Ansprüche 1-4, die ferner einen Codierer enthält, um ein Datenserialisierungsformat auf das Datenlieferkettenobjekt anzuwenden.
  6. Vorrichtung nach einem der Ansprüche 1-5, die ferner einen Dateiprozessor enthält, um das Datenlieferkettenobjekt mit den Daten zu verbinden.
  7. Vorrichtung nach Anspruch 1, wobei der Datenstrukturgenerator ausgelegt ist zum Aktualisieren des Datenlieferkettenobjekts, um einen Zugriff auf die Daten und/oder eine Umwandlung der Daten widerzuspiegeln.
  8. Vorrichtung nach Anspruch 7, die ferner eine Entschlüsselungsvorrichtung enthält, die zum Entschlüsseln des Datenlieferkettenobjekts unter Verwendung einer homomorphen Entschlüsselung ausgelegt ist.
  9. Vorrichtung nach einem der Ansprüche 1-8, wobei die Schnittstelle ausgelegt ist zum Senden des Datenlieferkettenobjekts zu einer Blockkette und/oder einem Objektüberwachungsdienst, um (a) einen Vertrag, der den Daten entspricht, durchzusetzen und/oder (b) Überarbeitungen der Daten aufzuzeichnen und/oder (c) eine Datenherkunft durchzusetzen und/oder (d) die Daten zu verfolgen.
  10. Verfahren zum Erzeugen eines Datenlieferkettenobjekts, wobei das Verfahren Folgendes umfasst: Erzeugen durch Ausführen einer Anweisung mit einem Prozessor in Reaktion darauf, dass Daten erzeugt werden, eines lokalen Datenobjekts und von Objektmetadaten, die den Daten entsprechen; Versehen durch Ausführen einer Anweisung mit dem Prozessor des lokalen Datenobjekts mit einer Prüfsumme; Erzeugen durch Ausführen einer Anweisung mit dem Prozessor einer Prüfsumme eines Etiketts des lokalen Datenobjekts; Erzeugen durch Ausführen einer Anweisung mit dem Prozessor einer hierarchischen Datenstruktur für die Daten, die die Prüfsumme des lokalen Datenobjekts und die Prüfsumme des Etiketts des lokalen Datenobjekts enthalten; Erzeugen durch Ausführen einer Anweisung mit dem Prozessor eines Datenlieferkettenobjekts, das die hierarchische Datenstruktur enthält; und Senden der Daten und des Datenlieferkettenobjekts zu einer Vorrichtung, die Zugriff auf die Daten angefordert hat.
  11. Verfahren nach Anspruch 10, das ferner ein Codieren des Datenlieferkettenobjekts gemäß einem Format der Daten enthält.
  12. Verfahren nach einem der Ansprüche 10-11, das ferner ein Verschlüsseln des Datenlieferkettenobjekts unter Verwendung einer homomorphen Verschlüsselung enthält.
  13. Verfahren nach einem der Ansprüche 10-12, das ferner ein Hinzufügen eines Werkzeugs zum Umwandeln der Daten in das Datenlieferkettenobjekt enthält.
  14. Verfahren nach einem der Ansprüche 10-13, das ferner ein Anwenden eines Datenserialisierungsformats auf das Datenlieferkettenobjekt enthält.
  15. Verfahren nach einem der Ansprüche 10-14, das ferner ein Verbinden des Datenlieferkettenobjekts mit den Daten enthält.
  16. Verfahren nach Anspruch 10, das ferner ein Aktualisieren des Datenlieferkettenobjekts enthält, um einen Zugriff auf die Daten und/oder eine Umwandlung der Daten widerzuspiegeln.
  17. Verfahren nach Anspruch 16, das ferner ein Entschlüsseln des Datenlieferkettenobjekts unter Verwendung einer homomorphen Entschlüsselung enthält.
  18. Verfahren nach einem der Ansprüche 10-17, das ferner ein Senden des Datenlieferkettenobjekts zu einer Blockkette und/oder einem Objektüberwachungsdienst enthält, um (a) einen Vertrag, der den Daten entspricht, durchzusetzen und/oder (b) Überarbeitungen der Daten aufzuzeichnen und/oder (c) eine Datenherkunft durchzusetzen und/oder (d) die Daten zu verfolgen.
  19. Nichttransitorisches computerlesbares Speichermedium, das Daten enthält, die in ausführbaren Anweisungen konfiguriert sein können und dann, wenn sie konfiguriert sind und ausgeführt werden, einen oder mehrere Prozessoren mindestens veranlassen zum Erzeugen in Reaktion darauf, dass Daten erzeugt werden, eines lokalen Datenobjekts und von Objektmetadaten, die den Daten entsprechen; Versehen des lokalen Datenobjekts mit einer Prüfsumme; Erzeugen einer Prüfsumme eines Etiketts des lokalen Datenobjekts; Erzeugen einer hierarchischen Datenstruktur für die Daten, die die Prüfsumme des lokalen Datenobjekts und die Prüfsumme des Etiketts des lokalen Datenobjekts enthalten; Erzeugen eines Datenlieferkettenobjekts, das die hierarchische Datenstruktur enthält; und Senden der Daten und des Datenlieferkettenobjekts zu einer Vorrichtung, die Zugriff auf die Daten angefordert hat.
  20. Computerlesbares Speichermedium nach Anspruch 19, wobei die Anweisungen den einen oder die mehreren Prozessoren veranlassen zum Codieren des Datenlieferkettenobjekts gemäß einem Format der Daten.
  21. Computerlesbares Speichermedium nach einem der Ansprüche 19-20, wobei die Anweisungen den einen oder die mehreren Prozessoren veranlassen zum Verschlüsseln des Datenlieferkettenobjekts unter Verwendung einer homomorphen Verschlüsselung.
  22. Computerlesbares Speichermedium nach einem der Ansprüche 19-21, wobei die Anweisungen den einen oder die mehreren Prozessoren veranlassen zum Hinzufügen eines Werkzeugs zum Umwandeln der Daten in das Datenlieferkettenobjekt.
  23. Computerlesbares Speichermedium nach einem der Ansprüche 19-22, wobei die Anweisungen den einen oder die mehreren Prozessoren veranlassen zum Anwenden eines Datenserialisierungsformats auf das Datenlieferkettenobjekt.
  24. Computerlesbares Speichermedium nach einem der Ansprüche 19-23, wobei die Anweisungen den einen oder die mehreren Prozessoren veranlassen zum Verbinden des Datenlieferkettenobjekts mit den Daten.
  25. Computerlesbares Speichermedium nach einem der Ansprüche 19-24, wobei die Anweisungen den einen oder die mehreren Prozessoren veranlassen zum Senden des Datenlieferkettenobjekts zu einer Blockkette und/oder einem Objektüberwachungsdienst, um (a) einen Vertrag, der den Daten entspricht, durchzusetzen und/oder (b) Überarbeitungen der Daten aufzuzeichnen und/oder (c) eine Datenherkunft durchzusetzen und/oder (d) die Daten zu verfolgen.
DE102020125476.8A 2019-12-20 2020-09-30 Verfahren und vorrichtungen zum bestimmen einer herkunft für datenlieferketten Pending DE102020125476A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/723,743 2019-12-20
US16/723,743 US11637687B2 (en) 2019-12-20 2019-12-20 Methods and apparatus to determine provenance for data supply chains

Publications (1)

Publication Number Publication Date
DE102020125476A1 true DE102020125476A1 (de) 2021-06-24

Family

ID=70325762

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020125476.8A Pending DE102020125476A1 (de) 2019-12-20 2020-09-30 Verfahren und vorrichtungen zum bestimmen einer herkunft für datenlieferketten

Country Status (3)

Country Link
US (1) US11637687B2 (de)
CN (1) CN113014536A (de)
DE (1) DE102020125476A1 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10963542B2 (en) * 2019-05-13 2021-03-30 Advanced New Technologies Co., Ltd. Blockchain-based image processing method and apparatus
US11165777B2 (en) 2019-05-30 2021-11-02 Bank Of America Corporation Controlling access to secure information resources using rotational datasets and dynamically configurable data containers
US11138328B2 (en) 2019-05-30 2021-10-05 Bank Of America Corporation Controlling access to secure information resources using rotational datasets and dynamically configurable data containers
US11153315B2 (en) * 2019-05-30 2021-10-19 Bank Of America Corporation Controlling access to secure information resources using rotational datasets and dynamically configurable data containers
US11682095B2 (en) * 2020-02-25 2023-06-20 Mark Coast Methods and apparatus for performing agricultural transactions
US11323264B2 (en) * 2020-07-30 2022-05-03 International Business Machines Corporation Validating tracked portions of received sensor data using computer cryptographic processing
US11496291B2 (en) * 2020-07-30 2022-11-08 International Business Machines Corporation Validating received sensor data using computer cryptographic processing
CN111930598B (zh) * 2020-08-28 2021-11-02 上海明牛云科技有限公司 基于区块链和大数据分析的信息处理方法及大数据平台
US20210012282A1 (en) * 2020-09-25 2021-01-14 Intel Corporation Decentralized data supply chain provenance
CN112202933B (zh) * 2020-12-08 2021-03-05 腾讯科技(深圳)有限公司 区块链网络的信息处理方法、装置及节点设备
US20210117555A1 (en) * 2020-12-23 2021-04-22 Intel Corporation Methods, systems, articles of manufacture and apparatus to certify multi-tenant storage blocks or groups of blocks
US11983284B2 (en) * 2021-01-19 2024-05-14 Arm Cloud Technology, Inc. Consent management methods
US20220272085A1 (en) * 2021-02-24 2022-08-25 International Business Machines Corporation Blockchain network identity management using ssi
US11755782B2 (en) 2021-06-06 2023-09-12 International Business Machines Corporation Validating primary subsets of received sensor data using computer cryptographic processing
US11276001B1 (en) * 2021-06-10 2022-03-15 Orbsurgical Ltd. Machine learning for interconnected surgical theater architecture
CN116628083B (zh) * 2023-04-27 2024-05-24 中国人民解放军战略支援部队信息工程大学 区块链交易数据扩容存储方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013101723A1 (en) * 2011-12-27 2013-07-04 Wellpoint, Inc. Method and system for data pattern matching, masking and removal of sensitive data
US9800911B2 (en) 2015-06-26 2017-10-24 Intel Corporation Technologies for selective content licensing and secure playback
US10693662B2 (en) * 2018-02-22 2020-06-23 Idlogiq Inc. Methods for secure serialization of supply chain product units
US11139956B2 (en) * 2018-05-24 2021-10-05 Dapper Labs Inc. Decentralized computation system architecture based on node specialization
US11880383B2 (en) * 2019-07-15 2024-01-23 Sap Se Federated data management between partner systems

Also Published As

Publication number Publication date
CN113014536A (zh) 2021-06-22
US20200136799A1 (en) 2020-04-30
US11637687B2 (en) 2023-04-25

Similar Documents

Publication Publication Date Title
DE102020125476A1 (de) Verfahren und vorrichtungen zum bestimmen einer herkunft für datenlieferketten
Lone et al. Forensic-chain: Blockchain based digital forensics chain of custody with PoC in Hyperledger Composer
DE112013000865B4 (de) Konsolidieren von unterschiedlichen Cloud-Dienst-Daten und -Verhaltensweisen auf der Grundlage von Vertrauensbeziehungen zwischen Cloud-Diensten
DE602004011282T2 (de) Versenden einer Herausgeber-Benutzungslizenz off-line in einem digitalen Rechtesystem
US20190123889A1 (en) Document flow tracking using blockchain
DE102021123128A1 (de) Mittels blockchains realisiertes datenmigrationsprüfprotokoll
DE112020005289B4 (de) Teilweise sortierte blockchain
DE102021207176A1 (de) Dezentrale datenversorgungskettenherkunft
DE112020005075B4 (de) Effiziente schwellenwertspeicherung von datenobjekten
DE112018007724T5 (de) Blockchain basierter Verifizierungsrahmen
White et al. Black block recorder: Immutable black box logging for robots via blockchain
DE102011077218B4 (de) Zugriff auf in einer Cloud gespeicherte Daten
DE112021004344T5 (de) Konsensdienst für Blockchain-Netzwerke
DE102009017221A1 (de) Information-Rights-Management
DE112021000688T5 (de) Indexstruktur für blockchain-ledger
DE112021001413T5 (de) Verwaltung eines privilegierten zugriffs mit geringer vertrauenswürdigkeit
US11290294B2 (en) Collaboration hub with blockchain verification
DE112021001671T5 (de) Netzübergreifendes bereitstellen von identitäten
DE102021122557A1 (de) Konformitätsmechanismen in blockchain-netzwerken
DE112021004008T5 (de) Validieren von verfolgten abschnitten von empfangenen sensordaten mithilfe von kryptographischer computerverarbeitung
Amelin et al. Prospects of blockchain-based information systems for the protection of intellectual property
US20160352707A1 (en) Content Protection for Extract, Transform, Load (ETL) Scripts
Kumar et al. An approach to Open-Source Software License Management using Blockchain-based Smart-Contracts
DE112021000219T5 (de) Konfliktfreie versionssteuerung
DE112021005625T5 (de) Automatisiertes zusammenführen von dlt-netzwerken