DE102021121267A1 - Verfahren, Systeme, Vorrichtungen und Erzeugnisse zur Verwaltung des Zugriffs auf dezentrale Data Lakes - Google Patents

Verfahren, Systeme, Vorrichtungen und Erzeugnisse zur Verwaltung des Zugriffs auf dezentrale Data Lakes Download PDF

Info

Publication number
DE102021121267A1
DE102021121267A1 DE102021121267.7A DE102021121267A DE102021121267A1 DE 102021121267 A1 DE102021121267 A1 DE 102021121267A1 DE 102021121267 A DE102021121267 A DE 102021121267A DE 102021121267 A1 DE102021121267 A1 DE 102021121267A1
Authority
DE
Germany
Prior art keywords
data lake
data
encryption key
service
key
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
DE102021121267.7A
Other languages
English (en)
Inventor
Kshitij Arun Doshi
Francesc Guim Bernat
Uzair Qureshi
Ned M. Smith
Timothy Verrall
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 DE102021121267A1 publication Critical patent/DE102021121267A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0872Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Es wird eine Vorrichtung zum Verwalten eines Data Lake offenbart. Eine offenbarte beispielhafte Vorrichtung beinhaltet einen Standortselektor zum Auswählen einer Edge-Einrichtung zum Speichern des Data Lake, einen Schlüsselgenerator zum Erzeugen eines Verschlüsselungschlüssels, der dem Data Lake entspricht, als Reaktion auf eine Angabe, dass ein Dienst autorisiert ist, auf den Data Lake zuzugreifen, und zum Erzeugen eines Schlüsselverpackungsschlüssels, der der Edge-Einrichtung entspricht, und einen Schlüsselverteiler zum Verpacken des Verschlüsselungsschlüssels unter Verwendung des Schlüsselverpackungsschlüssels und Verteilen des Verschlüsselungsschlüssels und des Schlüsselverpackungsschlüssels an die Edge-Einrichtung, wobei der Verschlüsselungsschlüssel dem Dienst auf der Edge-Einrichtung ermöglichen soll, auf den Data Lake zuzugreifen.

Description

  • TECHNISCHES GEBIET
  • Vorliegend beschriebene Ausführungsformen betreffen allgemein Datenverarbeitungs-, Netzwerkkommunikations-und Kommunikationssystemimplementierungen und insbesondere Verfahren, Systeme, Vorrichtungen und Erzeugnisse zum Verwalten des Zugriffs auf Data Lakes.
  • HINTERGRUND
  • Edge Computing (dezentrale Datenverarbeitung in der Peripherie bzw. am Rand eines Netzwerks) betrifft allgemein den Übergang von Datenverarbeitungs- und Speicherressourcen näher an Endpunkteinrichtungen (z.B. Verbraucher-Datenverarbeitungseinrichtungen, Benutzereinrichtungen usw.), um Gesamtbetriebskosten zu optimieren, Anwendungslatenz zu reduzieren, Dienstfähigkeiten zu verbessern und die Einhaltung von Sicherheits- oder Datenschutzanforderungen zu verbessern. Edge Computing kann in einigen Szenarien einen Cloud-ähnlichen verteilten Dienst bereitstellen. Infolgedessen wurden manche Implementierungen des Edge Computing als „Edge Cloud“ (Rand-Cloud) oder „Fog“ (Nebel) bezeichnet, da Rechenressourcen, die zuvor nur in großen entfernten Datenzentren verfügbar waren, näher an Endpunkte verlagert und zur Verwendung durch Verbraucher am „Rand“ (edge) des Netzwerks verfügbar gemacht werden.
  • Figurenliste
  • In den Zeichnungen, die nicht unbedingt maßstabsgetreu gezeichnet sind, können gleiche Bezugszeichen ähnliche Komponenten in verschiedenen Ansichten beschreiben. Gleiche Bezugsziffern mit verschiedenen angehängten Buchstaben können verschiedene Instanzen ähnlicher Komponenten repräsentieren. Einige Ausführungsformen sind beispielhaft und nicht einschränkend in den Figuren der begleitenden Zeichnungen veranschaulicht, in denen gilt:
    • 1 veranschaulicht einen Überblick über eine Edge-Cloud-Konfiguration für Edge Computing.
    • 2 veranschaulicht Betriebsschichten zwischen Endpunkten, einer Edge Cloud und Cloud-Computing-Umgebungen.
    • 3 veranschaulicht ein Blockschaubild einer beispielhaften Umgebung für Vernetzung und Dienste in einem Edge-Computing-System.
    • 4 veranschaulicht den Einsatz einer Virtual-Edge-Konfiguration in einem Edge-Computing-System, das zwischen mehreren Edge-Knoten und mehreren Mandanten betrieben wird.
    • 5 veranschaulicht verschiedene Datenverarbeitungsanordnungen, die Container in einem Edge-Computing-System einsetzen.
    • 6 veranschaulicht einen beispielhaften Datenverarbeitungs- und Kommunikationsnutzungsfall, der Mobilzugriff auf Anwendungen in einem beispielhaften Edge-Computing-System beinhaltet.
    • 7A ist ein Blockschaubild einer beispielhaften Implementierung eines beispielhaften Datenverarbeitungsknotens, der in einem der in 1-4 und/oder 6 veranschaulichten Edge-Computing-Systeme eingesetzt werden kann.
    • 7B ist ein weiteres Blockschaubild einer beispielhaften Implementierung eines beispielhaften Datenverarbeitungsknotens, der in einem der in 1-4 und/oder 6 veranschaulichten Edge-Computing-Systeme eingesetzt werden kann.
    • 8 veranschaulicht einen funktionsbasierten Echtzeitdienst-Edge-Workflow.
    • 9 veranschaulicht eine Übersicht über eine Mikro-Data-Lake-Registerarchitektur, die durch das Edge-Computing-System aus 2 implementiert werden kann.
    • 10 veranschaulicht ein Blockschaubild eines Data-Lake-Verwalters (data lake manager), der durch das Mikro-Data-Lake-Register aus 9 implementiert wird.
    • 11 veranschaulicht ein Blockdiagramm eines sekundären Verwalters, der durch das Mikro-Data-Lake-Register aus 9 implementiert wird.
    • 12 ist ein Flussdiagramm, das maschinenlesbare Anweisungen repräsentiert, die ausgeführt werden können, um den Data-Lake-Verwalter aus 9 und/oder 10 zu implementieren, um das Mikro-Data-Lake-Register aus 9 zu verwalten.
    • 13 ist ein Flussdiagramm, das maschinenlesbare Anweisungen repräsentiert, die ausgeführt werden können, um den Data-Lake-Verwalter aus 9 und/oder 10 zu implementieren, um eine Data-Lake-Region zu erzeugen.
    • 14 ist ein Flussdiagramm, das maschinenlesbare Anweisungen repräsentiert, die ausgeführt werden können, um den Data-Lake-Verwalter aus 9 und/oder 10 zu implementieren, um eine Data-Lake-Region zu entfernen.
    • 15 ist ein Flussdiagramm, das maschinenlesbare Anweisungen repräsentiert, die ausgeführt werden können, um den Data-Lake-Verwalter aus 9 und/oder 10 zu implementieren, um einer Data-Lake-Region einen Dienst hinzuzufügen.
    • 16 ist ein Flussdiagramm, das maschinenlesbare Anweisungen repräsentiert, die ausgeführt werden können, um den Data-Lake-Verwalter aus 9 und/oder 10 zu implementieren, um einen Dienst aus einer Data-Lake-Region zu entfernen.
    • 17 ist ein Flussdiagramm, das maschinenlesbare Anweisungen repräsentiert, die ausgeführt werden können, um den sekundären Verwalter aus 9 und/oder 11 zu implementieren, um Daten aus einer Data-Lake-Region an einen Dienst zu lesen.
    • 18 ist ein Flussdiagramm, das maschinenlesbare Anweisungen repräsentiert, die ausgeführt werden können, um den sekundären Verwalter aus 9 und/oder 11 zu implementieren, um Daten von einem Dienst in eine Data-Lake-Region zu schreiben.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Edge-Computing-Verwendungsfälle in Mobilnetzeinstellungen wurden zur Integration mit MEC- (Multi-Access Edge Computing, Vielfachzugriff-Edge-Computing) Ansätzen entwickelt, die auch als „Mobiles Edge Computing“ bezeichnet werden. MEC-Ansätze sind dazu ausgelegt, Anwendungsentwicklern und Inhaltsanbietern zu ermöglichen, auf Datenverarbeitungsfähigkeiten und eine Informationstechnologie- (IT-) Dienstumgebung in dynamischen Mobilnetzeinstellungen am Rand des Netzes zuzugreifen. Begrenzte Standards wurden von der European-Telecommunications-Standards-Institute-(ETSI-) Industriespezifikationsgruppe (ISG) in einem Versuch entwickelt, gemeinsame Schnittstellen für den Betrieb von MEC-Systemen, -Plattformen, -Hosts, -Diensten und -Anwendungen zu definieren.
  • Edge-Computing, MEC und verwandte Technologien versuchen, eine reduzierte Latenz, eine erhöhte Reaktionsfähigkeit und mehr verfügbare Rechenleistung bereitzustellen, als sie in herkömmlichen Cloud-Netz-Diensten und Weitverkehrsnetzverbindungen angeboten werden. Die Integration von Mobilität und dynamisch gestarteten Diensten in manche Fälle der Mobilitätsnutzung und der Vorrichtungsverarbeitung hat jedoch zu Einschränkungen und Bedenken hinsichtlich Orchestrierung, funktioneller Koordination und Ressourcenverwaltung geführt, insbesondere in komplexen Mobilitätseinstellungen, in denen viele Teilnehmer (Einrichtungen, Hosts, Mandanten, Dienstanbieter, Betreiber) involviert sind.
  • Auf ähnliche Weise sind IoT- (Internet of Things, Internet der Dinge) Netzwerke und -Einrichtungen dazu ausgelegt, eine verteilte Datenverarbeitungsanordnung aus einer Vielzahl von Endpunkten anzubieten. IoT-Einrichtungen sind physische oder virtualisierte Objekte, die in einem Netzwerk kommunizieren können und Sensoren, Aktoren und andere Eingabe-/Ausgabekomponenten beinhalten können, die verwendet werden können, um Daten zu sammeln oder Aktionen in einer realen Umgebung durchzuführen. IoT-Einrichtungen können beispielsweise Endpunkteinrichtungen mit geringem Leistungsverbrauch umfassen, die in alltägliche Dinge, wie Gebäude, Fahrzeuge, Pakete usw. eingebettet oder daran angebracht sind, um eine zusätzliche Ebene der künstlichen sensorischen Wahrnehmung dieser Dinge bereitzustellen. In letzter Zeit sind IoT-Einrichtungen immer beliebter geworden und daher haben sich Anwendungen, die diese Einrichtungen verwenden, vermehrt.
  • Der Einsatz verschiedener Edge-, Fog-, MEC-und IoT-Netze, -Einrichtungen und - Dienste hat eine Anzahl fortgeschrittener Verwendungsfälle und -szenarien eingeführt, die am und zum Rand des Netzes hin auftreten. Diese fortgeschrittenen Anwendungsfälle haben jedoch unter vielen anderen Problemen auch eine Reihe entsprechender technischer Herausforderungen betreffend Sicherheits-, Verarbeitungs-und Netzwerkressourcen, Dienstverfügbarkeit und Effizienz eingeführt. Eine solche Herausforderung besteht in Bezug auf das Verwalten des Zugriffs auf Daten, die in einem oder mehreren Data Lakes („Datenseen“) gespeichert sind, und das Verwalten des Erzeugens, Entfernens und/oder Modifizierens des einen oder der mehreren Data Lakes.
  • In den letzten Jahren wurde Datenanalyse zunehmend an Rändern (Edges) eines Netzwerks durchgeführt. Daten können typischerweise auf mehreren Ebenen (tiers) einer Edge landen, wobei jede Ebene Mobilfunkmasten, Vor-Ort-Geräte oder Cloudlets und/oder andere Edge-Einrichtungen beinhalten kann. Datenaufnahme- und Verarbeitungsfähigkeiten können auf jeder Ebene unterschiedlich sein und jede Ebene kann unterschiedliche Bandbreiten-, Latenz- und Verarbeitungsanforderungen aufweisen. Ferner können teilnehmende Instanzen (z.B. Mandanten) auf oder über einer oder über mehrere Ebenen der Edge verteilt landen, und jeder Mandant kann Zugriff auf Daten an anderen Edge-Einrichtungen des Netzwerks anfordern. Der Zugriff auf und die Verarbeitung von Daten in der Randumgebung ist hochdynamisch und entwickelt sich im Zeitverlauf. Von daher ermöglichen Randinfrastrukturen, die skalierbar sind, dass zunehmende Mengen und Typen von Daten verarbeitet werden, und ermöglichen, dass eine zunehmende Anzahl von Einrichtungen dynamisch mit dem Netzwerk verbunden wird.
  • Daten in der Randumgebung können in Data Lakes gespeichert werden. Wie hier verwendet, bezieht sich ein Data Lake auf einen Speicher und/oder ein Repository (Depot), der/das sowohl unstrukturierte (z.B. Roh-) Daten als auch strukturierte Daten in einem beliebigen Maßstab speichern kann. Eine Data-Lake-Region bezieht sich auf eine Region oder Partition des Data Lake, wobei jeder Data Lake in eine beliebige Anzahl von Data-Lake-Regionen variierender Größe partitioniert werden kann. Die einem Data-Lake entsprechenden Data-Lake-Regionen können über eine oder mehrere Edge-Einrichtungen hinweg gespeichert werden. Die Partitionierung des Data-Lake in Data-Lake-Regionen erhöht die Privatsphäre der darin gespeicherten Daten, da jedem Mandanten (z.B. Benutzer, Zugriff anfordernde Instanz usw.) nur Zugriff auf bestimmte Regionen des Data Lake gewährt werden kann. Zusätzlich kann eine Verschlüsselung und/oder Entschlüsselung von Daten auf Ebene einer individuellen Data-Lake-Region erfolgen, um zu vermeiden, dass ein gesamter entsprechender Data-Lake verschlüsselt und/oder entschlüsselt werden muss, wodurch Verarbeitungszeiten reduziert werden.
  • In der nachfolgenden Beschreibung sind beispielhafte Verfahren, Konfigurationen und zugehörige Vorrichtungen zum Verwalten der Erzeugung, Entfernung und/oder Modifikation von Data Lakes, die auf einer oder mehreren Edge-Einrichtungen gespeichert sind, offenbart. Ferner werden vorliegend offenbarte Beispiele verwendet, um den Zugriff einer oder mehrerer Edge-Instanzen (z.B. Dienste, Mandanten) auf die Data Lakes zu verwalten. Ein beispielhafter vorliegend offenbarter Data-Lake-Verwalter kann auf Grundlage einer Registrierungsprozedur eine Instanz zu einer Data-Lake-Region hinzufügen oder von dieser entfernen. Eine Registry (Registrierungsdatenbank, z.B. Mikro-Data-Lake-Registry) wird verwendet, um die autorisierten Instanzen und die Zugriffsebene, die jeder autorisierten Instanz gewährt wird, zu identifizieren. Vorteilhafterweise stellt die Registry eine erhöhte Sicherheit bereit und reduziert die Notwendigkeit, eine Instanz vor jedem Zugriff auf die Data-Lake-Region zu autorisieren, wodurch ein beschleunigter Zugriff auf die Daten bereitgestellt wird.
  • Beispielhafte Methoden und Konfigurationen, die vorliegend offenbart sind, können in Verbindung mit vielen Aspekten aktueller Netzwerksysteme genutzt werden, sind aber unter Bezugnahme auf Edge Cloud, IoT, Vielfachzugriff-Edge-Computing (MEC) und andere verteilte Datenverarbeitungsverwendungen bereitgestellt. Die folgenden Systeme und Methoden können in einer Vielzahl verteilter, virtualisierter oder verwalteter Edge-Computing-Systeme implementiert werden oder diese ergänzen. Dazu zählen Umgebungen, in denen Netzwerkdienste unter Verwendung von MEC- (Vielfachzugriff-Edge-Computing) oder 4G/5G-Funknetzkonfigurationen implementiert oder verwaltet werden, oder in drahtgebundenen Netzwerkkonfigurationen, an denen Faser-, Kupfer- und andere Verbindungen beteiligt sind. Ferner können Verarbeitungsaspekte durch die jeweiligen Datenverarbeitungskomponenten rechnerische Elemente involvieren, die sich in geografischer Nähe zu dem Benutzerendgerät oder anderen Endpunktstandorten befinden, wie ein Smartphone, eine Fahrzeug-Kommunikationskomponente, eine IoT-Einrichtung usw. Ferner können die vorliegend offenbarten Methoden andere Edge/MEC/IoT-Netzwerkkommunikationsstandards und -konfigurationen und andere Zwischenverarbeitungsinstanzen und -architekturen betreffen.
  • 1 ist ein Blockschaubild 100, das einen Überblick über eine Konfiguration für Edge-Computing zeigt, die eine Verarbeitungsschicht beinhaltet, die in vielen der folgenden Beispiele als „Edge Cloud“ bezeichnet wird. Wie gezeigt, befindet sich die Edge Cloud 110 gemeinsam an einem Randstandort, wie etwa einem Zugangspunkt oder einer Basisstation 140, einem lokalen Verarbeitungs-Hub 150 oder einer Zentrale 120, und kann somit mehrere Entitäten, Einrichtungen und Geräteinstanzen beinhalten. Die Edge Cloud 110 befindet sich viel näher an den Endpunkt- (Verbraucher- und Erzeuger-) Datenquellen 160 (z.B. autonome Fahrzeuge 161, Benutzereinrichtungen 162, Geschäfts- und Industriegerätschaften 163, Videoaufnahmeeinrichtungen 164, Drohnen 165, Einrichtungen intelligenter Städte und Gebäude 166, Sensoren und IoT-Einrichtungen 167 usw.) als das Cloud-Rechenzentrum 130. Rechen-, Kurz- und Langzeitspeicherressourcen, die an den Edges in der Edge Cloud 110 angeboten werden, sind kritisch für das Bereitstellen von Antwortzeiten mit ultraniedriger Latenz für Dienste und Funktionen, die durch die Endpunkt-Datenquellen 160 verwendet werden, sowie für das Reduzieren von Netzwerk-Backhaul-Verkehr von der Edge Cloud 110 zu dem Cloud-Rechenzentrum 130, wodurch neben anderen Vorteilen Energieverbrauch und Gesamtnetzwerknutzungen verbessert werden.
  • Berechnung, Kurz- und Langzeitspeicherung sind knappe Ressourcen und nehmen im Allgemeinen in Abhängigkeit vom Edge-Standort ab (wobei z.B. weniger Verarbeitungsressourcen an Verbraucher-Endpunkteinrichtungen verfügbar sind als an einer Basisstation, als an einer Zentrale). Je näher sich der Edge-Standort jedoch am Endpunkt (z.B. Benutzereinrichtung (UE, user equipment)) befindet, desto sind mehr Raum und Leistung häufig eingeschränkt. Somit versucht Edge-Computing, die Menge an Ressourcen, die für Netzwerkdienste benötigt werden, durch die Verteilung von mehr Ressourcen zu reduzieren, die sich sowohl geografisch als auch in der Netzwerkzugriffszeit näher befinden. Auf diese Weise versucht Edge Computing, die Rechenressourcen gegebenenfalls zu den Arbeitslastdaten zu bringen oder die Arbeitslastdaten zu den Rechenressourcen zu bringen.
  • Das Folgende beschreibt Aspekte einer Edge-Cloud-Architektur, die mehrere potentielle Einsätze abdeckt und Einschränkungen anspricht, die manche Netzwerkbetreiber oder Dienstanbieter in ihren eigenen Infrastrukturen aufweisen können. Hierzu zählen Variation von Konfigurationen basierend auf dem Edge-Standort (da Edges auf einer Basisstationsebene beispielsweise in einem Multi-Mandanten-Szenario eingeschränktere Leistungsfähigkeit und Fähigkeiten aufweisen können); Konfigurationen basierend auf der Art von Berechnungs-, Kurzzeitspeicher-, Langzeitspeicher-, Fabric-, Beschleunigungs- oder ähnlichen Ressourcen, die Edge-Standorten, Ebenen (tiers) von Standorten oder Gruppen von Standorten zur Verfügung stehen; die Dienst-, Sicherheits- und Verwaltungs- und Orchestrierungsfähigkeiten; und zugehörige Zielsetzungen zum Erreichen der Nutzbarkeit und Leistung von Enddiensten. Diese Einsätze können eine Verarbeitung in Netzwerkschichten bewerkstelligen, die in Abhängigkeit von Latenz-, Entfernungs- und Timing-Eigenschaften als „Near-Edge“-, „Close-Edge“-, „Local-Edge“-, „Middle-Edge“- oder „Far-Edge“-Schichten betrachtet werden können.
  • Edge-Computing ist ein sich entwickelndes Paradigma, bei dem Datenverarbeitung an oder näher zur „Edge“ (Rand) eines Netzwerks durchgeführt wird, typischerweise durch die Verwendung einer Rechenplattform (z.B. x86 oder ARM-Rechenhardwarearchitektur), die bei Basisstationen, Gateways, Netzwerkroutern oder anderen Einrichtungen implementiert ist, die sich viel näher an Endpunkteinrichtungen befinden, die die Daten erzeugen und verbrauchen. Edge-Gateway-Server können zum Beispiel mit Pools von Kurz- und Langzeitspeicherressourcen ausgestattet sein, um eine Berechnung in Echtzeit für Verwendungsfälle mit niedriger Latenz (z.B. autonomes Fahren oder Videoüberwachung) für verbundene Client-Einrichtungen durchzuführen. Oder als ein Beispiel können Basisstationen mit Rechen- und Beschleunigungsressourcen erweitert werden, um Dienstarbeitslasten für verbundene Benutzereinrichtungen direkt zu verarbeiten, ohne ferner Daten über Backhaul-Netzwerke zu kommunizieren. Oder als ein anderes Beispiel kann Zentralen-Netzwerkverwaltungshardware durch standardisierte Rechenhardware ersetzt werden, die virtualisierte Netzwerkfunktionen durchführt und Rechenressourcen für die Ausführung von Diensten und Verbraucherfunktionen für verbundene Einrichtungen anbietet. Innerhalb von Edge-Computing-Netzwerken kann es Szenarien in Diensten geben, in denen die Rechenressource zu den Daten „verschoben“ wird, sowie Szenarien, in denen die Daten zu der Rechenressource „verschoben“ werden. Oder als ein Beispiel können Basisstationsrechen-, Beschleunigungs- und Netzwerkressourcen Dienste bereitstellen, um gemäß Arbeitslastbedürfnissen nach Bedarf durch Aktivieren inaktiver Kapazität (Subskription, Kapazität nach Bedarf) zu skalieren, um Ausnahmefälle und Notfälle zu verwalten oder Langlebigkeit für eingesetzte Ressourcen über einen wesentlich längeren implementierten Lebenszyklus bereitzustellen.
  • 2 veranschaulicht Betriebsschichten zwischen Endpunkten, einer Edge Cloud und Cloud-Computing-Umgebungen. Insbesondere stellt 2 Beispiele für Rechennutzungsfälle 205 dar, die die Edge Cloud 110 unter mehreren veranschaulichenden Schichten des Netzwerk-Computing nutzen. Die Schichten beginnen bei einer EndpunktEinrichtungen und Dinge) Schicht 200, die auf die Edge Cloud 110 zugreift, um Datenerzeugungs-, Analyse- und Datenverbrauchsaktivitäten durchzuführen. Die Edge Cloud 110 kann mehrere Netzwerkschichten überspannen, wie etwa eine Edge-Einrichtungsschicht 210 mit Gateways, On-Premise-Servern oder Netzwerkgeräten (Knoten 215), die sich in physisch nahen Edge-Systemen befinden, eine Netzwerkzugangsschicht 220, umfassend Basisstationen, Funkverarbeitungseinheiten, Netzwerkhubs, regionale Rechenzentren (DC, data centers) oder lokale Netzwerkgeräte (Geräte 225); und beliebige Geräte, Einrichtungen oder Knoten, die sich dazwischen befinden (in Schicht 212, nicht ausführlich veranschaulicht). Die Netzwerkkommunikationen innerhalb der Edge Cloud 110 und zwischen den verschiedenen Schichten können über eine beliebige Anzahl von drahtgebundenen oder drahtlosen Medien stattfinden, einschließlich über Konnektivitätsarchitekturen und Technologien, die nicht dargestellt sind.
  • Beispiele für Latenz, die aus Netzwerkkommunikationsentfernungs- und Verarbeitungszeitbeschränkungen resultieren, können von weniger als einer Millisekunde (ms), wenn inmitten der Endpunktschicht 200, unter 5 ms an der Edge-Einrichtungsschicht 210, bis sogar zwischen 10 und 40 ms reichen, wenn mit Knoten der Netzwerkzugangsschicht 220 kommuniziert wird. Jenseits der Edge Cloud 110 befinden sich Kernnetzwerk- 230 und Cloud-Rechenzentrum- 240 Schichten, jeweils mit zunehmender Latenz (z.B. zwischen 50-60 ms an der Kernnetzwerkschicht 230 bis 100 oder mehr ms an der Cloud-Rechenzentrum-Schicht). Infolgedessen werden Operationen an einem Kernnetzwerk-Rechenzentrum 235 oder einem Cloud-Rechenzentrum 245 mit Latenzen von mindestens 50 bis 100 ms oder mehr nicht in der Lage sein, viele zeitkritische Funktionen der Verwendungsfälle 205 zu realisieren. Jeder dieser Latenzwerte wird zu Veranschaulichungs- und Kontrastzwecken bereitgestellt; es versteht sich, dass die Verwendung anderer Zugangsnetzwerkmedien und -technologien die Latenzen weiter reduzieren kann. Bei manchen Beispielen können jeweilige Teile des Netzwerks relativ zu einer Netzwerkquelle und einem Netzwerkziel als „Close-Edge“-, „Local-Edge“-, „Near-Edge“-, „Middle-Edge“- oder „Far-Edge“-Schichten kategorisiert sein. Beispielsweise kann aus der Perspektive des Kernnetzwerk-Rechenzentrums 235 oder eines Cloud-Rechenzentrums 245 ein Zentralen- oder Inhaltsdatennetzwerk als innerhalb einer „Near-Edge“-Schicht („near“ (nahe) an der Cloud, mit hohen Latenzwerten, wenn mit den Einrichtungen und Endpunkten der Nutzungsfälle 205 kommuniziert wird) befindlich betrachtet werden, wohingegen ein Zugangspunkt, eine Basisstation, ein On-Premise-Server oder ein Netzwerk-Gateway als innerhalb einer „Far-Edge“-Schicht („far“ (fern) von der Cloud entfernt, mit niedrigen Latenzwerten, wenn mit den Einrichtungen und Endpunkten der Nutzungsfälle 205 kommuniziert wird) befindlich betrachtet werden können. Es versteht sich, dass andere Kategorisierungen einer speziellen Netzwerkschicht als ein „Close“-, „Local“-, „Near“-, „Middle“- oder „Far“-Edge bildend auf Latenz, Entfernung, Anzahl von Netzwerksprüngen oder anderen messbaren Eigenschaften basieren können, wie sie von einer Quelle in einer beliebigen der Netzwerkschichten 200-240 gemessen werden können.
  • Die diversen Nutzungsfälle 205 können aufgrund mehrerer Dienste, die die Edge Cloud nutzen, auf Ressourcen unter Nutzungsdruck von eingehenden Strömen zugreifen. Um Ergebnisse mit niedriger Latenz zu erzielen, gleichen die Dienste, die innerhalb der Edge Cloud 110 ausgeführt werden, variierende Anforderungen in Bezug auf Folgendes aus: (a) Priorität (Durchsatz oder Latenz) und Dienstgüte (QoS: Quality of Service) (z.B. kann Verkehr für ein autonomes Auto eine höhere Priorität als ein Temperatursensor hinsichtlich der Antwortzeitanforderung aufweisen; oder eine Leistungsfähigkeitsempfindlichkeit/- engstelle kann an einer Rechen-/Beschleuniger-, Kurzzeitspeicher-, Langzeitspeicher- oder Netzwerkressource in Abhängigkeit von der Anwendung existieren); (b) Zuverlässigkeit und Widerstandsfähigkeit (z.B. müssen manche Eingangsströme bearbeitet und der Verkehr mit missionskritischer Zuverlässigkeit geleitet werden, wohingegen manche anderen Eingangsströme je nach Anwendung einen gelegentlichen Ausfall tolerieren können); und (c) physikalische Beschränkungen (z.B. Leistung, Kühlung und Formfaktor).
  • Die Ende-zu-Ende-Dienstansicht für diese Nutzungsfälle beinhaltet das Konzept eines Dienstflusses und ist mit einer Transaktion assoziiert. Die Transaktion gibt die Gesamtdienstanforderung für die Instanz an, die den Dienst beansprucht, sowie die assoziierten Dienste für die Ressourcen, Arbeitslasten, Arbeitsabläufe und Geschäftsfunktions- und Geschäftsebenenanforderungen. Die Dienste, die mit den beschriebenen „Begriffen“ ausgeführt werden, können in jeder Schicht auf eine Weise verwaltet werden, dass Echtzeit- und Laufzeitvertragskonformität für die Transaktion während des Lebenszyklus des Dienstes sichergestellt wird. Wenn eine Komponente in der Transaktion ihre vereinbarte SLA verfehlt, kann das System als Ganzes (Komponenten in der Transaktion) die Fähigkeit bereitstellen, (1) die Auswirkung der SLA-Verletzung zu verstehen und (2) andere Komponenten in dem System zu erweitern, um die gesamte Transaktions-SLA wiederaufzunehmen, und (3) Schritte zu implementieren, um Abhilfe zu schaffen.
  • Dementsprechend kann unter Berücksichtigung dieser Variationen und Dienstmerkmale Edge Computing innerhalb der Edge Cloud 110 die Fähigkeit bereitstellen, mehrere Anwendungen der Nutzungsfälle 205 (z.B. Objektverfolgung, Videoüberwachung, verbundene Autos usw.) in Echtzeit oder nahezu Echtzeit zu versorgen und auf diese zu reagieren und Anforderungen für ultraniedrige Latenz für diese mehreren Anwendungen zu erfüllen. Diese Vorteile ermöglichen eine ganz neue Klasse von Anwendungen (VNFs (Virtual Network Functions), FaaS (Function as a Service), Edge as a Service (EaaS), Standardprozesse usw.), die herkömmliches Cloud Computing aufgrund von Latenz oder anderen Einschränkungen nicht nutzen können.
  • Mit den Vorteilen von Edge Computing ergeben sich jedoch die folgenden Vorbehalte. Die am Rand befindlichen Einrichtungen sind häufig ressourcenbeschränkt, so dass Druck hinsichtlich der Nutzung von Randressourcen besteht. Typischerweise wird dies durch das Zusammenfassen (Pooling) von Kurz- und Langzeitspeicherressourcen zur Verwendung durch mehrere Benutzer (Mandanten) und Einrichtungen adressiert. Die Edge kann Leistungs- und Kühlungseinschränkungen unterliegen, so dass der Leistungsverbrauch durch die Anwendungen berücksichtigt werden muss, die die meiste Leistung verbrauchen. Es kann inhärente Leistung-Performance-Kompromisse in diesen gebündelten Speicherressourcen geben, da viele von ihnen wahrscheinlich neu entwickelte Speichertechnologien verwenden, wobei für mehr Leistung eine größere Speicherbandbreite erforderlich ist. Gleichermaßen sind verbesserte Sicherheit von Hardware und vertrauenswürdige Root-of-Trust-Funktionen ebenfalls erforderlich, da Edge-Standorte unbemannt sein können und sogar zugelassenen Zugriff benötigen können (z.B. wenn sie an einem Drittparteistandort untergebracht sind). Solche Probleme werden in der Edge Cloud 110 in einer Multi-Mandant-, Multi-Eigentümer- oder Multi-Zugriffseinstellung vergrößert, in der Dienste und Anwendungen von vielen Benutzern angefordert werden, insbesondere da die Netzwerknutzung dynamisch schwankt und sich die Zusammensetzung der mehreren Akteure, Verwendungsfälle und Dienste ändert.
  • Auf allgemeinerer Ebene kann ein Edge-Computing-System so beschrieben werden, dass es eine beliebige Anzahl von Einsätzen in den zuvor besprochenen Schichten umfasst, die in der Edge Cloud 110 arbeiten (Netzwerkschichten 200-240), die eine Koordination von Client- und verteilten Datenverarbeitungseinrichtungen bereitstellen. Ein oder mehrere Edge-Gateway-Knoten, ein oder mehrere Edge-Aggregationsknoten und ein oder mehrere Kernrechenzentren können über Schichten des Netzwerks verteilt sein, um eine Implementierung des Edge-Computing-Systems durch einen oder im Auftrag eines Telekommunikationsdienstanbieters („telco“) oder „TSP“ (telecommunication service provider)), Internet-der-Dinge-Dienstanbieters, Cloud-Dienstanbieters (CSP, cloud service provider), einer Unternehmensinstanz oder einer beliebigen anderen Anzahl von Instanzen bereitzustellen. Verschiedene Implementierungen und Konfigurationen des Edge-Computing-Systems können dynamisch bereitgestellt werden, wie etwa Orchestrierung zur Erfüllung von Dienstzielen.
  • Im Einklang mit den vorliegend bereitgestellten Beispielen kann ein Client-Rechenknoten als eine beliebige Art von Endpunktkomponente, -einrichtung, -gerät oder andere Sache ausgeführt sein, die in der Lage ist, als ein Produzent oder Verbraucher von Daten zu kommunizieren. Ferner bedeutet die Kennzeichnung „Knoten“ oder „Einrichtung“, wie sie in dem Edge-Computing-System verwendet wird, nicht notwendigerweise, dass ein solcher Knoten oder eine solche Einrichtung in einer Client- oder Agenten-/Minion-/Folgerrolle arbeitet; vielmehr beziehen sich beliebige der Knoten oder Einrichtungen in dem Edge-Computing-System auf einzelne Instanzen, Knoten oder Teilsysteme, die diskrete oder verbundene Hardware- oder Softwarekonfigurationen beinhalten, um die Edge Cloud 110 zu ermöglichen oder zu verwenden.
  • Von daher ist die Edge Cloud 110 aus Netzwerkkomponenten und Funktionsmerkmalen gebildet, die durch und innerhalb von Edge-Gateway-Knoten, Edge-Aggregationsknoten oder anderen Edge-Rechenknoten unter den Netzwerkschichten 210-230 betrieben werden. Die Edge-Cloud 110 kann somit als eine beliebige Art von Netzwerk umgesetzt sein, das Edge-Computing- und/oder Speicherressourcen bereitstellt, die sich in der Nähe von Funkzugangsnetz- (RAN-) fähigen Endpunkteinrichtungen (z.B. mobilen Datenverarbeitungseinrichtungen, IoT-Einrichtungen, intelligenten Einrichtungen usw.) befinden, die vorliegend besprochen werden. Mit anderen Worten kann die Edge Cloud 110 als ein „Rand“ gedacht werden, der die Endpunkteinrichtungen und traditionelle Netzwerkzugangspunkte, die als ein Eingangspunkt in Dienstanbieter-Kernnetze dienen, darunter Mobilträgernetze (z.B. „Global System for Mobile Communications“- (GSM-) Netze, Long-Term-Evolution- (LTE-) Netze, 5G/6G-Netze usw.), miteinander verbindet, während auch Speicher- und/oder Rechenfunktion bereitgestellt werden. Andere Arten und Formen von Netzwerkzugang (z.B. WiFi-, drahtlose Weitverkehrsnetzwerke, drahtgebundene Netzwerke einschließlich optischer Netzwerke) können anstelle von oder in Kombination mit solchen 3GPP-Trägernetzen ebenfalls verwendet werden.
  • Die Netzwerkkomponenten der Edge Cloud 110 können Server, Multi-Mandanten-Server, Geräterechenvorrichtungen und/oder eine beliebige andere Art von Datenverarbeitungseinrichtungen sein. Zum Beispiel kann die Edge Cloud 110 eine Geräterechenvorrichtung beinhalten, die eine eigenständige elektronische Einrichtung mit einem Gehäuse, einem Chassis, einer Verkleidung oder einer Verschalung ist. Unter Umständen kann das Gehäuse für Portabilität dimensioniert sein, so dass es von einem Menschen getragen und/oder versandt werden kann. Beispielhafte Gehäuse können Materialien beinhalten, die eine oder mehrere Außenflächen bilden, die Inhalte des Geräts teilweise oder vollständig schützen, wobei der Schutz Wetterschutz, Schutz in gefährlichen Umgebungen (z.B. EMI, Vibration, extreme Temperaturen) beinhalten kann und/oder Eintauchbarkeit ermöglichen kann. Beispielhafte Gehäuse können Stromkreise beinhalten, um Strom für stationäre und/oder tragbare Implementierungen bereitzustellen, wie etwa Wechselstromeingänge, Gleichstromeingänge, Wechselstrom-Gleichstrom- oder Gleichstrom-Wechselstrom-Wandler, Leistungsregler, Transformatoren, Ladeschaltkreise, Batterien, drahtgebundene Eingänge und/oder drahtlose Leistungseingänge. Beispielhafte Gehäuse und/oder Oberflächen davon können Montagehardware beinhalten oder mit dieser verbunden sein, um eine Befestigung an Strukturen, wie etwa Gebäuden, Telekommunikationsstrukturen (z.B. Masten, Antennenstrukturen usw.) und/oder Racks (z.B. Server-Racks, Blade-Befestigungen usw.), zu ermöglichen. Beispielhafte Gehäuse und/oder Oberflächen davon können einen oder mehrere Sensoren (z.B. Temperatursensoren, Vibrationssensoren, Lichtsensoren, Akustiksensoren, kapazitive Sensoren, Näherungssensoren usw.) tragen. Ein oder mehrere solcher Sensoren können in der Oberfläche enthalten, von dieser getragen oder anderweitig eingebettet und/oder an der Oberfläche des Geräts montiert sein. Beispielhafte Gehäuse und/oder Oberflächen davon können mechanische Konnektivität unterstützen, wie etwa Antriebshardware (z.B. Räder, Propeller usw.) und/oder Gelenkhardware (z.B. Roboterarme, schwenkbare Fortsätze usw.). Unter manchen Umständen können die Sensoren eine beliebige Art von Eingabeeinrichtungen beinhalten, wie etwa Benutzerschnittstellenhardware (z.B. Tasten, Schalter, Wählscheiben, Schieber usw.). Unter manchen Umständen beinhalten beispielhafte Gehäuse Ausgabeeinrichtungen, die in diesen enthalten, durch diese getragen, in diese eingebettet und/oder an diesen angebracht sind. Ausgabeeinrichtungen können Anzeigen, Touchscreens, Leuchten, LEDs, Lautsprecher, E/A-Ports (z.B. USB) usw. beinhalten. Unter manchen Umständen sind Edge-Einrichtungen Einrichtungen, die in dem Netzwerk für einen spezifischen Zweck (z.B. eine Verkehrsampel) präsentiert werden, können aber Verarbeitungs- und/oder andere Kapazitäten aufweisen, die für andere Zwecke genutzt werden können. Solche Edge-Einrichtungen können unabhängig von anderen vernetzten Einrichtungen sein und können mit einem Gehäuse versehen sein, das einen Formfaktor aufweist, der für seinen primären Zweck geeignet ist; aber dennoch für andere Rechenaufgaben verfügbar ist, die ihre primäre Aufgabe nicht stören. Edge-Einrichtungen umfassen auch Internet-der-Dinge-Einrichtungen. Die Geräterecheneinrichtung kann Hardware- und Softwarekomponenten beinhalten, um lokale Angelegenheiten, wie etwa Einrichtungstemperatur, Vibration, Ressourcenausnutzung, Aktualisierungen, Stromprobleme, physische und Netzwerksicherheit usw. zu verwalten. Beispielhafte Hardware zum Implementieren einer Geräterecheneinrichtung ist in Verbindung mit 7B (nachstehend ausführlicher beschrieben) beschrieben. Die Edge Cloud 110 kann auch einen oder mehrere Server und/oder einen oder mehrere Multi-Mandanten-Server beinhalten. Ein solcher Server kann ein Betriebssystem und eine virtuelle Datenverarbeitungsumgebung beinhalten. Eine virtuelle Datenverarbeitungsumgebung kann einen Hypervisor beinhalten, der eine oder mehrere virtuelle Maschinen, einen oder mehrere Container usw. verwaltet (erzeugt, einsetzt, vernichtet usw.). Solche virtuellen Datenverarbeitungsumgebungen stellen eine Ausführungsumgebung bereit, in der eine oder mehrere Anwendungen und/oder andere Software, Code oder Skripte ausgeführt werden können, während sie von einer oder mehreren anderen Anwendungen, Software, Code oder Skripten isoliert sind.
  • 3 veranschaulicht ein Blockschaubild einer beispielhaften Umgebung 300, in der verschiedene Client-Endpunkte 310 (in der Form von Mobileinrichtungen, Computern, autonomen Fahrzeugen, Geschäftsrechenanlagen, industriellen Verarbeitungsanlagen) Anfragen und Antworten mit der beispielhaften Edge Cloud 110 austauschen. Beispielsweise können Client-Endpunkte 310 Netzwerkzugang über ein drahtgebundenes Breitbandnetzwerk erhalten, indem Anfragen und Antworten 322 durch ein On-Premise- (Vor-Ort-) Netzwerksystem 332 ausgetauscht werden. Manche Client-Endpunkte 310, wie etwa mobile Datenverarbeitungseinrichtungen, können Netzwerkzugang über ein drahtloses Breitbandnetzwerk erhalten, indem Anfragen und Antworten 324 durch einen Zugangspunkt (z.B. Mobilfunkturm) 334 ausgetauscht werden. Manche Client-Endpunkte 310, wie etwa autonome Fahrzeuge, können Netzwerkzugang für Anfragen und Antworten 326 über ein drahtloses Fahrzeugnetzwerk durch ein Straßennetzwerksystem 336 erhalten. Unabhängig von der Art des Netzwerkzugangs kann der TSP jedoch Aggregationspunkte 342, 344 innerhalb der Edge Cloud 110 einsetzen, um Verkehr und Anfragen zu aggregieren. Somit kann der TSP innerhalb der Edge-Cloud 110 verschiedene Rechen- und Speicherressourcen einsetzen, wie etwa am Edge-Aggregationsknoten 340, um angeforderten Inhalt bereitzustellen. Die Edge-Aggregationsknoten 340 und andere Systeme der Edge Cloud 110 sind mit einem Cloud- oder Rechenzentrum 360 verbunden, das ein Backhaul-Netzwerk 350 verwendet, um Anfragen mit höherer Latenz von einem Cloud-/Rechenzentrum für Websites, Anwendungen, Datenbankserver usw. zu erfüllen. Zusätzliche oder konsolidierte Instanzen der Edge-Aggregationsknoten 340 und der Aggregationspunkte 342, 344, darunter solche, die auf einem einzigen Server-Framework eingesetzt werden, können ebenfalls innerhalb der Edge-Cloud 110 oder anderer Bereiche der TSP-Infrastruktur vorhanden sein.
  • 4 veranschaulicht Einsatz und Orchestrierung für virtuelle Edge-Konfigurationen über ein Edge-Computing-System hinweg, das zwischen mehreren Edge-Knoten und mehreren Mandanten betrieben wird. Insbesondere stellt 4 eine Koordination eines ersten Edge-Knotens 422 und eines zweiten Edge-Knotens 424 in einem Edge-Computing-System 400 dar, um Anfragen und Antworten für verschiedene Client-Endpunkte 410 (z.B. intelligente Städte/Gebäudesysteme, Mobileinrichtungen, Datenverarbeitungseinrichtungen, Geschäfts-/Logistiksysteme, Industriesysteme usw.) zu erfüllen, die auf verschiedene virtuelle Edge-Instanzen zugreifen. Hierbei stellen die virtuellen Edge-Instanzen 432, 434 Edge-Rechenfähigkeiten und Verarbeitung in einer Edge Cloud mit Zugriff auf ein Cloud-/Datenzentrum 440 für Anfragen mit höherer Latenz für Websites, Anwendungen, Datenbankserver usw. bereit. Die Edge-Cloud ermöglicht jedoch eine Koordination der Verarbeitung zwischen mehreren Edge-Knoten für mehrere Mandanten oder Instanzen.
  • In dem Beispiel von 4 beinhalten diese virtuellen Edge-Instanzen: eine erste virtuelle Edge 432, die einem ersten Mandanten (Mandant 1) angeboten wird, der eine erste Kombination von Edge-Speicherung, -Datenverarbeitung und -Diensten anbietet; und eine zweite virtuelle Edge 434, die eine zweite Kombination von Edge-Speicherung, - Datenverarbeitung und -Diensten anbietet. Die virtuellen Edge-Instanzen 432, 434 sind unter den Edge-Knoten 422, 424 verteilt und können Szenarien beinhalten, in denen eine Anfrage und Antwort von demselben oder von unterschiedlichen Edge-Knoten erfüllt werden. Die Konfiguration der Edge-Knoten 422, 424 zum Arbeiten auf verteilte, aber koordinierte Weise erfolgt auf Grundlage von Edge-Bereitstellungsfunktionen 450. Die Funktionalität der Edge-Knoten 422, 424 zum Bereitstellen eines koordinierten Betriebs für Anwendungen und Dienste unter mehreren Mandanten erfolgt auf Grundlage von Orchestrierungsfunktionen 460.
  • Es versteht sich, dass einige der Einrichtungen 410 Multi-Mandanten-Einrichtungen sind, wobei Mandant 1 innerhalb eines Mandant1-„Segments“ (slice) arbeiten kann, während ein Mandant 2 innerhalb eines Mandant2-„Segments“ arbeiten kann (und in weiteren Beispielen können zusätzliche oder Unter-Mandanten vorhanden sein; und jeder Mandant kann sogar spezifisch berechtigt und transaktional an einen spezifischen Satz von Merkmalen bis hin zu spezifischen Hardwaremerkmalen gebunden sein). Eine vertrauenswürdige Multi-Mandanten-Einrichtung kann ferner einen mandantenspezifischen kryptografischen Schlüssel enthalten, so dass die Kombination aus Schlüssel und Segment als eine „Root of Trust (RoT, Wurzel des Vertrauens) oder mandantenspezifische RoT angesehen werden kann. Eine RoT kann ferner dynamisch unter Verwendung einer DICE- (Device Identity Composition Engine) Architektur berechnet werden, so dass ein einzelner DIE-Hardwarebaustein verwendet werden kann, um geschichtete vertrauenswürdige Rechenbasiskontexte zum Schichten von Einrichtungsfähigkeiten (wie etwa ein frei programmierbares Gate-Array (FPGA)) zu konstruieren. Die RoT kann ferner für einen vertrauenswürdigen Rechenkontext verwendet werden, um einen „Fan-Out“ zu ermöglichen, der zum Unterstützen von Multi-Mandanten-Fähigkeit nützlich ist. Innerhalb einer Multi-Mandanten-Umgebung können die jeweiligen Edge-Knoten 422, 424 als Sicherheitsmerkmal-Durchsetzungspunkte für lokale Ressourcen arbeiten, die mehreren Mandanten pro Knoten zugewiesen sind. Zusätzlich können Mandantenlaufzeit- und Anwendungsausführung (z.B. in den Instanzen 432, 434) als ein Durchsetzungspunkt für ein Sicherheitsmerkmal dienen, das eine virtuelle Edge-Abstraktion von Ressourcen erzeugt, die potenziell mehrere physische Hosting-Plattformen überspannen. Schließlich können die Orchestrierungsfunktionen 460 an einer Orchestrierungsinstanz als ein Sicherheitsmerkmal-Durchsetzungspunkt zum Ordnen von Ressourcen entlang Mandantengrenzen arbeiten.
  • Edge-Computing-Knoten können Ressourcen (Speicher, Zentralverarbeitungseinheit (CPU), Grafikverarbeitungseinheit (GPU), Interruptsteuerung, Eingabe/Ausgabe- (E/A-) Steuerung, Speichersteuerung, Bussteuerung usw.) partitionieren, wobei jeweilige Partitionierungen eine RoT-Fähigkeit umfassen können und wobei Fan-Out und Schichtung gemäß einem DICE-Modell ferner auf Edge-Knoten angewendet werden können. Cloud-Computing-Knoten, die aus Containern, FaaS-Engines, Servlets, Servern oder einer anderen Berechnungsabstraktion bestehen, können gemäß einer DICE-Schichtungs- und Fan-Out-Struktur partitioniert werden, um jeweils einen RoT-Kontext zu unterstützen. Dementsprechend können die jeweiligen Einrichtungen 410, 422 und 440, die RoTs überspannen, die Einrichtung einer verteilten vertrauenswürdigen Rechenbasis (DTCB) koordinieren, so dass ein mandantenspezifischer virtueller vertrauenswürdiger sicherer Kanal, der alle Elemente Ende zu Ende verbindet, eingerichtet werden kann.
  • Ferner versteht es sich, dass ein Container daten- oder arbeitslastspezifische Schlüssel aufweisen kann, die seinen Inhalt vor einem vorherigen Edge-Knoten schützen. Als Teil der Migration eines Containers kann eine Pod-Steuerung an einem Quell-Edge-Knoten einen Migrationsschlüssel von einer Ziel-Edge-Knoten-Pod-Steuerung erhalten, wobei der Migrationsschlüssel zum Verpacken der containerspezifischen Schlüssel verwendet wird. Wenn der Container/Pod zum Ziel-Edge-Knoten migriert wird, wird der Entpackungsschlüssel der Pod-Steuerung offenbart, die dann die verpackten Schlüssel entschlüsselt. Die Schlüssel können nun zur Durchführung von Operationen an containerspezifischen Daten verwendet werden. Die Migrationsfunktionen können durch korrekt bestätigte Randknoten und Pod-Verwalter (wie oben beschrieben) angesteuert werden.
  • In weiteren Beispielen wird ein Edge-Computing-System erweitert, um Orchestrierung mehrerer Anwendungen durch die Verwendung von Containern (einer enthaltenen, einsetzbaren Softwareeinheit, die Code und benötigte Abhängigkeiten bereitstellt) in einer Umgebung mit mehreren Eigentümern und mehreren Mandanten bereitzustellen. Ein Multi-Mandanten-Orchestrator kann verwendet werden, um Schlüsselverwaltung, Vertrauensanker-Verwaltung und andere Sicherheitsfunktionen in Bezug auf die Bereitstellung und den Lebenszyklus des Konzepts des vertrauenswürdigen „Segments“ in 4 durchzuführen. Beispielsweise kann ein Edge-Computing-System dazu konfiguriert sein, Anfragen und Antworten für verschiedene Client-Endpunkte von mehreren virtuellen Edge-Instanzen (und von einem Cloud- oder Remote-Rechenzentrum) zu erfüllen. Die Verwendung dieser virtuellen Edge-Instanzen kann mehrere Mandanten und mehrere Anwendungen (z.B. Augmented Reality (AR)/Virtual Reality (VR), Unternehmensanwendungen, Inhaltslieferung, Gaming, Rechen-Auslagerung) gleichzeitig unterstützen. Ferner kann es mehrere Arten von Anwendungen innerhalb der virtuellen Edge-Instanzen geben (z.B. normale Anwendungen; latenzempfindliche Anwendungen; latenzkritische Anwendungen; Benutzerebenenanwendungen; Vernetzungsanwendungen usw.). Die virtuellen Edge-Instanzen können auch über Systeme mehrerer Eigentümer an unterschiedlichen geografischen Orten (oder jeweilige Rechensysteme und Ressourcen, die mehreren Eigentümern gemeinsam gehören oder gemeinsam verwaltet werden) verteilt sein.
  • Beispielsweise kann jeder der Edge-Knoten 422, 424 die Verwendung von Containern implementieren, wie etwa unter Verwendung eines Container-„Pod“ 426, 428, der eine Gruppe aus einem oder mehreren Containern bereitstellt. In einem Szenario, das einen oder mehrere Container-Pods verwendet, ist eine Pod-Steuerung oder ein Pod-Orchestrator für die lokale Steuerung und Orchestrierung der Container im Pod verantwortlich. Verschiedene Edge-Knotenressourcen (z.B. Speicherung, Berechnung, Dienste, dargestellt mit Hexagonen), die für die jeweiligen Edge-Segmente 432, 434 bereitgestellt werden, werden gemäß den Bedürfnissen jedes Containers partitioniert.
  • Bei der Verwendung von Container-Pods beaufsichtigt eine POD-Steuerung die Partitionierung und Zuordnung von Containern und Ressourcen. Die Pod-Steuerung empfängt Anweisungen von einem Orchestrator (z. B. dem Orchestrator 460), der die Steuerung darüber anweist, wie physische Ressourcen am besten und für welche Dauer zu partitionieren sind, wie durch Empfangen von Leistungskennzahl- (KPI-, key performance indicator) Zielen basierend auf SLA-Verträgen. Die Pod-Steuerung bestimmt, welcher Container welche Ressourcen und wie lange benötigt, um die Arbeitslast abzuschließen und die SLA zu erfüllen. Die Pod-Steuerung verwaltet auch Containerlebenszyklusoperationen, wie: Erzeugen des Containers, Versehen desselben mit Ressourcen und Anwendungen, Koordinieren von Zwischenergebnissen zwischen mehreren Containern, die gemeinsam an einer verteilten Anwendung arbeiten, Abbauen von Containern, wenn die Arbeitslast abgeschlossen ist, und dergleichen. Zusätzlich kann eine Pod-Steuerung in einer Sicherheitsrolle dienen, die eine Zuordnung von Ressourcen verhindert, bis sich der richtige Mandant authentifiziert, oder eine Bereitstellung von Daten oder einer Arbeitslast an einen Container verhindert, bis ein Bestätigungsergebnis erfüllt ist.
  • Auch bei der Verwendung von Container-Pods können dennoch Mandantengrenzen existieren, aber im Kontext jedes Pods von Containern. Falls jeder mandantenspezifische Pod eine mandantenspezifische Pod-Steuerung aufweist, gibt es eine gemeinsam genutzte Pod-Steuerung, die Ressourcenzuweisungsanfragen konsolidiert, um typische Ressourcenmangelsituationen zu vermeiden. Weitere Steuerungen können vorgesehen sein, um eine Bestätigung und Vertrauenswürdigkeit des Pods und der Pod-Steuerung zu gewährleisten. Beispielsweise kann der Orchestrator 460 lokalen Pod-Steuerungen, die eine Bestätigungsprüfung durchführen, eine Bestätigungsprüfungsrichtlinie bereitstellen. Falls eine Bestätigung eine Richtlinie für eine erste Mandanten-Pod-Steuerung, aber nicht eine zweite Mandanten-Pod-Steuerung erfüllt, dann könnte der zweite POD zu einem anderen Edge-Knoten migriert werden, der sie erfüllt. Alternativ dazu kann die Ausführung des ersten Pods erlaubt werden und eine andere gemeinsam genutzte Pod-Steuerung wird installiert und aufgerufen, bevor der zweite Pod ausgeführt wird.
  • 5 veranschaulicht zusätzliche Rechenanordnungen, die Container in einem Edge-Computing-System einsetzen. Als ein vereinfachtes Beispiel stellen die Systemanordnungen 510, 520 Situationen dar, in denen eine Pod-Steuerung (z.B. Containerverwalter 511, 521 und ein Containerorchestrator 531) dazu ausgelegt ist, containerisierte Pods, Funktionen und Functions-as-a-Service-Instanzen durch Ausführung über Rechenknoten (515 in Anordnung 510) oder separat containerisierte virtualisierte Netzwerkfunktionen durch Ausführung über Rechenknoten (523 in Anordnung 520) auszuführen. Diese Anordnung ist zur Verwendung mehrerer Mandanten in einer beispielhaften Systemanordnung 530 (unter Verwendung von Rechenknoten 537) angepasst, wobei containerisierte Pods (z.B. Pods 512), Funktionen (z.B. Funktionen 513, VNFs 522, 536) und Functions-as-a-Service-Instanzen (z.B. FaaS-Instanz 514) innerhalb virtueller Maschinen (z.B. VMs 534, 535 für Mandanten 532, 533) gestartet werden, die spezifisch für jeweilige Mandanten sind (abgesehen von der Ausführung virtualisierter Netzwerkfunktionen). Diese Anordnung ist ferner zur Verwendung in der Systemanordnung 540 angepasst, die Container 542, 543 oder die Ausführung der verschiedenen Funktionen, Anwendungen und Funktionen auf den Rechenknoten 544 bereitstellt, wie durch ein containerbasiertes Orchestrierungssystem 541 koordiniert.
  • Die in 5 dargestellten Systemanordnungen stellen eine Architektur bereit, die VMs, Container und Funktionen gleichermaßen hinsichtlich der Anwendungszusammensetzung behandelt (und resultierende Anwendungen sind Kombinationen dieser drei Bestandteile). Jeder Bestandteil kann die Verwendung einer oder mehrerer Beschleuniger- (FPGA-, ASIC-) Komponenten als lokales Backend beinhalten. Auf diese Weise können Anwendungen über mehrere Edge-Eigentümer aufgeteilt werden, koordiniert durch einen Orchestrator.
  • Im Kontext von 5 können die Pod-Steuerung/der Containerverwalter, der Containerorchestrator und einzelne Knoten einen Sicherheitsdurchsetzungspunkt bereitstellen. Die Mandantentrennung kann jedoch orchestriert werden, wobei sich die Ressourcen, die einem Mandanten zugewiesen sind, von Ressourcen unterscheiden, die einem zweiten Mandanten zugewiesen sind, aber Edge-Eigentümer kooperieren, um sicherzustellen, dass Ressourcenzuweisungen nicht über Mandantengrenzen hinweg geteilt werden. Oder Ressourcenzuweisungen könnten über Mandantengrenzen hinweg getrennt werden, da Mandanten eine „Verwendung“ über eine Subskriptions- oder Transaktions-/Vertragsbasis ermöglichen könnten. In diesen Zusammenhängen können Virtualisierungs-, Containerisierungs-, Enklaven- und Hardwarepartitionierungsschemata von Edge-Eigentümern verwendet werden, um den Mandantenzustand durchzusetzen. Andere Isolationsumgebungen können beinhalten: (dedizierte) Bare-Metal-Geräte, virtuelle Maschinen, Container, virtuelle Maschinen auf Containern oder Kombinationen davon.
  • In weiteren Beispielen können Aspekte von softwaredefinierter oder -gesteuerter Siliciumhardware und anderer konfigurierbarer Hardware mit den Anwendungen, Funktionen und Diensten eines Edge-Rechensystems integrieren. Softwaredefiniertes Silicium kann verwendet werden, um zu gewährleisten, dass mancher Ressourcen- oder Hardwarebestandteil einen Vertrag oder ein Service-Level-Agreement erfüllen kann, basierend auf der Fähigkeit des Bestandteils, einen Teil von sich selbst oder die Arbeitslast zu beheben (z.B. durch ein Upgrade, eine Rekonfiguration oder eine Bereitstellung neuer Merkmale innerhalb der Hardwarekonfiguration selbst).
  • Es versteht sich, dass die hierin erörterten Edge-Computing-Systeme und - Anordnungen bei verschiedenen Lösungen, Diensten und/oder Anwendungsfällen anwendbar sein können, die Mobilität involvieren. Als ein Beispiel zeigt 6 einen beispielhaften vereinfachten Fahrzeugberechnungs- und Kommunikationsanwendungsfall, der Mobilzugriff auf Anwendungen in einem beispielhaften Edge-Computing-System 600 involviert, das eine Edge-Cloud, wie etwa die Edge Cloud 110 aus 1, implementiert. In diesem Anwendungsfall können die jeweiligen Client-Rechenknoten 610 als fahrzeuginterne Rechensysteme (z. B. fahrzeuginterne Navigations- und/oder Infotainmentsysteme) ausgebildet sein, die sich in entsprechenden Fahrzeugen befinden, die mit den beispielhaften Edge-Gateway-Knoten 620 während des Durchfahrens einer Straße kommunizieren. Beispielsweise können sich die Edge-Gateway-Knoten 620 in einem Schrank am Straßenrand oder einer anderen Einhausung befinden, die in eine Struktur eingebaut ist, die einen anderen, separaten, mechanischen Nutzen aufweist und entlang der Straße, an Kreuzungen der Straße oder anderen Orten nahe der Straße platziert werden kann. Wenn jeweilige Fahrzeuge entlang der Straße fahren, kann die Verbindung zwischen ihrem Client-Rechenknoten 610 und einem bestimmten der Edge-Gateway-Knoten 620 propagieren, sodass eine konsistente Verbindung und ein konsistenter Kontext für den beispielhaften Client-Rechenknoten 610 aufrechterhalten werden. Gleichermaßen können mobile Edge-Knoten an den Diensten mit hoher Priorität oder gemäß den Durchsatz- oder Latenzauflösungsanforderungen für den zugrundeliegenden Dienst bzw. die zugrundeliegenden Dienste aggregieren (z.B. im Fall von Drohnen). Die jeweiligen Edge-Gateway-Vorrichtungen 620 beinhalten eine Menge an Verarbeitungs- und Speicherungsfähigkeiten, und daher können etwas Verarbeitung und/oder Speicherung von Daten für die Client-Rechenknoten 610 auf einem oder mehreren der Edge-Gateway-Knoten 620 durchgeführt werden.
  • Die Edge-Gateway-Knoten 620 können mit einem oder mehreren Edge-Ressourcenknoten 640 kommunizieren, die veranschaulichend als Rechenserver, Geräte oder Komponenten umgesetzt sind, die sich an oder in einer Kommunikationsbasisstation 642 (z.B. einer Basisstation eines Mobilfunknetzes) befinden. Wie vorstehend besprochen, beinhalten der eine oder die mehreren jeweiligen Edge-Ressourcenknoten 640 eine Menge an Verarbeitungs- und Speicherungsfähigkeiten, sodass etwas der Verarbeitung und/oder Speicherung von Daten für die Client-Rechenknoten 610 an dem einen oder den mehreren Edge-Ressourcenknoten 640 durchgeführt werden können. Zum Beispiel kann die Verarbeitung von Daten, die weniger dringend oder wichtig sind, durch den einen oder die mehreren Edge-Ressourcenknoten 640 durchgeführt werden, während die Verarbeitung von Daten, die eine höhere Dringlichkeit oder Wichtigkeit aufweisen, durch die Edge-Gateway-Einrichtungen 620 durchgeführt werden kann (in Abhängigkeit beispielsweise von den Fähigkeiten jeder Komponente oder Informationen in der Anfrage, die Dringlichkeit oder Wichtigkeit angeben). Basierend auf Datenzugriff, Datenposition oder Latenz kann die Arbeit auf Edge-Ressourcenknoten fortgesetzt werden, wenn sich die Verarbeitungsprioritäten während der Verarbeitungsaktivität ändern. Gleichermaßen können konfigurierbare Systeme oder Hardwareressourcen selbst aktiviert werden (z.B. durch einen lokalen Orchestrator), um zusätzliche Ressourcen bereitzustellen, um den neuen Bedarf zu erfüllen (z.B. Anpassen der Rechenressourcen an die Arbeitslastdaten).
  • Der eine oder die mehreren Edge-Ressourcenknoten 640 kommunizieren auch mit dem Kernrechenzentrum 650, das Rechenserver, Geräte und/oder andere Komponenten beinhalten kann, die sich an einem Zentralort (z.B. einer Zentrale eines Mobilfunkkommunikationsnetzes) befinden. Das beispielhafte Kernrechenzentrum 650 stellt ein Gateway zu der globalen Netzwerk-Cloud 660 (zum Beispiel dem Internet) für die Operationen der Edge Cloud 110 bereit, die von dem (den) Edge-Ressourcenknoten 640 und den Edge-Gateway-Einrichtungen 620 gebildet werden. Zusätzlich kann das Kernrechenzentrum 650 in einigen Beispielen eine Menge an Verarbeitungs- und Speicherfähigkeiten umfassen und daher kann eine gewisse Verarbeitung und/oder Speicherung von Daten für die Client-Recheneinrichtungen auf dem Kernrechenzentrum 650 durchgeführt werden (z.B. Verarbeitung mit niedriger Dringlichkeit oder Wichtigkeit oder hoher Komplexität).
  • Die Edge-Gateway-Knoten 620 oder der oder die Edge-Ressourcenknoten 640 können die Verwendung zustandsorientierter Anwendungen 632 und einer geografisch verteilten Datenbank 634 anbieten. Obwohl die Anwendungen 632 und die Datenbank 634 als horizontal in einer Schicht der Edge Cloud 110 verteilt veranschaulicht sind, versteht es sich, dass Ressourcen, Dienste oder andere Komponenten der Anwendung vertikal in der gesamten Edge Cloud verteilt sein können (einschließlich eines Teils der Anwendung, die an dem Client-Rechenknoten 610 ausgeführt wird, anderer Teile an den Edge-Gateway-Knoten 620 oder dem oder den Edge-Ressourcenknoten 640 usw.). Wie außerdem zuvor erwähnt, kann es auf jeder Ebene Peer-Beziehungen geben, um Dienstziele und Verpflichtungen zu erfüllen. Ferner können sich die Daten für einen spezifischen Client oder eine spezifische Anwendung basierend auf sich ändernden Bedingungen (z.B. basierend auf Beschleunigungsressourcenverfügbarkeit, Folgen der Autobewegung usw.) von Edge zu Edge bewegen. Beispielsweise kann basierend auf der „Abklingrate“ des Zugriffs eine Vorhersage zum Identifizieren des nächsten Eigentümers oder darüber, wann die Daten oder der Rechenzugriff nicht mehr praktikabel sein werden, getroffen werden. Diese und andere Dienste können genutzt werden, um die Arbeit abzuschließen, die notwendig ist, um die Transaktion konform und verlustfrei zu halten.
  • In weiteren Szenarien kann ein Container 636 (oder ein Pod von Containern) flexibel von einem der Edge-Knoten 620 zu anderen Edge-Knoten (z.B. einem anderen der Edge-Knoten 620, einem der Edge-Ressourcenknoten 640 usw.) migriert werden, sodass der Container mit einer Anwendung und Arbeitslast nicht rekonstituiert, neu kompiliert, neu interpretiert werden muss, damit Migration funktioniert. In solchen Szenarien kann es jedoch einige Abhilfe- oder „Swizzling“-Übersetzungsoperationen geben, die angewendet werden. Zum Beispiel kann sich die physische Hardware an dem einen oder den mehreren Edge-Ressourcenknoten 640 von der Hardware an dem einen oder den mehreren Edge-Ressourcenknoten 620 unterscheiden und daher wird die Hardware-Abstraktionsschicht (HAL), die die untere Edge des Containers bildet, erneut auf die physische Schicht des Ziel-Edge-Knotens abgebildet. Dies kann irgendeine Form einer späten Bindungstechnik beinhalten, wie etwa binäre Übersetzung der HAL von dem nativen Containerformat in das physische Hardwareformat, oder kann Abbildungsschnittstellen und -Operationen beinhalten. Eine POD-Steuerung kann verwendet werden, um die Schnittstellenabbildung als Teil des Containerlebenszyklus anzusteuern, was Migration zu/von verschiedenen Hardwareumgebungen beinhaltet.
  • Die Szenarien, die 6 umfasst, können verschiedene Arten von mobilen Edge-Knoten nutzen, wie einen Edge-Knoten, der in einem Fahrzeug (Auto/Lastkraftwagen/Straßenbahn/Eisenbahn) gehostet ist, oder eine andere mobile Einheit, da sich der Edge-Knoten zu anderen geografischen Orten entlang der Plattform, die ihn hostet, bewegen wird. Bei Fahrzeug-zu-Fahrzeug-Kommunikationen können einzelne Fahrzeuge sogar als Netzwerk-Edge-Knoten für andere Autos fungieren (z.B. um Zwischenspeichern, Berichterstellung, Datenaggregation usw. durchzuführen). Somit versteht es sich, dass die Anwendungskomponenten, die in verschiedenen Edge-Knoten bereitgestellt sind, in statischen oder mobilen Szenarien verteilt sein können, einschließlich Koordination zwischen einigen Funktionen oder Operationen an einzelnen Endpunkteinrichtungen oder den Edge-Gateway-Knoten 620, einigen anderen an dem oder den Edge-Ressourcenknoten 640 und anderen in dem Kernrechenzentrum 650 oder der globalen Netzwerk-Cloud 660.
  • In weiteren Konfigurationen kann das Edge-Computing-System FaaS-Rechenfähigkeiten durch die Verwendung jeweiliger ausführbarer Anwendungen und Funktionen implementieren. In einem Beispiel schreibt ein Entwickler Funktionscode (hier z.B. „Computercode“), der eine oder mehrere Computerfunktionen darstellt, und der Funktionscode wird auf eine FaaS-Plattform hochgeladen, die zum Beispiel durch einen Edge-Knoten oder ein Rechenzentrum bereitgestellt wird. Ein Auslöser, wie beispielsweise ein Dienstanwendungsfall oder ein Edge-Verarbeitungsereignis, initiiert die Ausführung des Funktionscodes mit der FaaS-Plattform.
  • In einem Beispiel für FaaS wird ein Container verwendet, um eine Umgebung bereitzustellen, in der Funktionscode (z.B. eine Anwendung, die durch einen Drittanbieter bereitgestellt werden kann) ausgeführt wird. Der Container kann eine beliebige Entität mit isolierter Ausführung sein, wie ein Prozess, ein Docker- oder Kubernetes-Container, eine virtuelle Maschine usw. Innerhalb des Edge-Computing-Systems werden verschiedene Rechenzentrum-, Edge- und Endpunkteinrichtungen (einschließlich Mobileinrichtungen) verwendet, um Funktionen „hochzufahren“ (z.B. Funktionshandlungen zu aktivieren und/oder zuzuweisen), die nach Bedarf skaliert werden. Der Funktionscode wird auf der physischen Infrastruktureinrichtung (z.B. Edge-Rechenknoten) und darunterliegenden virtualisierten Containern ausgeführt. Schließlich wird der Container auf der Infrastruktur als Reaktion darauf, dass die Ausführung abgeschlossen ist, „heruntergefahren“ (z.B. deaktiviert und/oder freigegeben).
  • Weitere Aspekte von FaaS können das Einsetzen von Edge-Funktionen auf eine Dienstart ermöglichen, die eine Unterstützung jeweiliger Funktionen beinhaltet, die Edge Computing als einen Dienst unterstützen (Edge-as-a-Service oder „EaaS“). Zusätzliche Merkmale von FaaS können beinhalten: eine granuläre Abrechnungskomponente, die Kunden (z.B. Computercodeentwicklern) ermöglicht, nur zu bezahlen, wenn ihr Code ausgeführt wird; gemeinsame Datenspeicherung zum Speichern von Daten zur Wiederverwendung durch eine oder mehrere Funktionen; Orchestrierung und Verwaltung zwischen einzelnen Funktionen; Funktionsausführungsverwaltung, Parallelität und Konsolidierung; Verwaltung von Container- und Funktionsspeicherräumen; Koordination von Beschleunigungsressourcen, die für Funktionen verfügbar sind; und Verteilung von Funktionen zwischen Containern (einschließlich „warmer“ Container, die bereits eingesetzt oder betrieben werden, gegenüber „kalten“, die Initialisierung, Einsatz oder Konfiguration erfordern).
  • Das Edge-Computing-System 600 kann einen Edge-Bereitstellungsknoten 644 umfassen oder mit diesem in Kommunikation stehen. Der Edge-Bereitstellungsknoten 644 kann Software, wie die beispielhaften computerlesbaren Anweisungen 782 von 7B, an verschiedene Empfangsteilnehmer zum Implementieren eines beliebigen der hierin beschriebenen Verfahren verteilen. Der beispielhafte Edge-Bereitstellungsknoten 644 kann durch einen beliebigen Computerserver, einen beliebigen Heimserver, ein beliebiges Inhaltsübermittlungsnetzwerk, einen beliebigen virtuellen Server, ein beliebiges Softwareverteilungssystem, eine beliebige zentrale Einrichtung, eine beliebige Speichereinrichtung, einen beliebigen Speicherknoten, eine beliebige Dateneinrichtung, einen beliebigen Cloud-Dienst usw. implementiert werden, der bzw. das bzw. die in der Lage ist, Softwareanweisungen (z.B. Code, Skripte, ausführbare Binärdateien, Container, Pakete, komprimierte Dateien und/oder Ableitungen davon) zu speichern und/oder an andere Recheneinrichtungen zu übertragen. Komponente(n) des beispielhaften Edge-Bereitstellungsknotens 644 können sich in einer Cloud, in einem lokalen Netzwerk, in einem Edge-Netzwerk, in einem Weitverkehrsnetzwerk, im Internet und/oder einem beliebigen anderen Standort befinden, der kommunikativ mit dem/den empfangenden Teilnehmer(n) gekoppelt ist. Die Empfangsteilnehmer können Konsumenten, Kunden, Assoziierte, Benutzer usw. der Instanz sein, die den Edge-Bereitstellungsknoten 644 besitzt und/oder betreibt. Zum Beispiel kann die Instanz, die den Edge-Bereitstellungsknoten 644 besitzt und/oder betreibt, ein Entwickler, ein Verkäufer und/oder ein Lizenzgeber (oder ein Kunde und/oder Verbraucher davon) von Softwareanweisungen wie der beispielhaften computerlesbaren Anweisungen 782 von 7B sein. Die Empfangsteilnehmer können Verbraucher, Dienstanbieter, Benutzer, Einzelhändler, OEMs usw. sein, die die Softwareanweisungen zur Verwendung und/oder zum Weiterverkauf und/oder zum Sublizenzieren erwerben und/oder lizenzieren.
  • In einem Beispiel beinhaltet der Edge-Bereitstellungsknoten 644 einen oder mehrere Server und eine oder mehrere Speichereinrichtungen. Die Speichereinrichtungen hosten computerlesbare Anweisungen, wie etwa die beispielhaften computerlesbaren Anweisungen 782 von 7B, wie unten beschrieben. Ähnlich den oben beschriebenen Edge-Gateway-Einrichtungen 620 stehen der eine oder die mehreren Server des Edge-Bereitstellungsknotens 644 in Kommunikation mit einer Basisstation 642 oder einer anderen Netzwerkkommunikationsinstanz. In einigen Beispielen reagieren der eine oder die mehreren Server auf Anfragen, um die Softwareanweisungen als Teil einer kommerziellen Transaktion an einen anfragenden Teilnehmer zu übertragen. Die Zahlung für die Lieferung, den Verkauf und/oder die Lizenz der Softwareanweisungen kann durch den einen oder die mehreren Server der Softwareverteilungsplattform und/oder über eine Zahlungsinstanz eines Dritten gehandhabt werden. Die Server ermöglichen Käufern und/oder Lizenzgebern, die computerlesbaren Anweisungen 782 von dem Edge-Bereitstellungsknoten 644 herunterzuladen. Zum Beispiel können die Softwareanweisungen, die den beispielhaften computerlesbaren Anweisungen 782 von 7B entsprechen können, auf die eine oder die mehreren beispielhaften Prozessorplattformen heruntergeladen werden, die die computerlesbaren Anweisungen 782 ausführen sollen, um die hierin beschriebenen Verfahren zu implementieren.
  • In manchen Beispielen können sich die Prozessorplattform(en), die die computerlesbaren Anweisungen 782 ausführen, physisch an verschiedenen geografischen Standorten, in verschiedenen gesetzlichen Zuständigkeitsbereichen usw. befinden. In manchen Beispielen bieten, übertragen und/oder erzwingen ein oder mehrere Server des Edge-Bereitstellungsknotens 644 periodisch Aktualisierungen der Softwareanweisungen (z.B. der beispielhaften computerlesbaren Anweisungen 782 von 7B), um sicherzustellen, dass Verbesserungen, Patches, Aktualisierungen usw. verteilt und auf die Softwareanweisungen angewendet werden, die an den Endbenutzereinrichtungen implementiert sind. In manchen Beispielen können unterschiedliche Komponenten der computerlesbaren Anweisungen 782 von unterschiedlichen Quellen und/oder an unterschiedliche Prozessorplattformen verteilt werden; zum Beispiel können unterschiedliche Bibliotheken, Plug-ins, Komponenten und andere Typen von Rechenmodulen, ob kompiliert oder interpretiert, von unterschiedlichen Quellen und/oder an unterschiedliche Prozessorplattformen verteilt werden. Zum Beispiel kann ein Teil der Softwareanweisungen (z.B. ein Skript, das an sich nicht ausführbar ist) von einer ersten Quelle verteilt werden, während ein Interpreter (der in der Lage ist, das Skript auszuführen) von einer zweiten Quelle verteilt werden kann.
  • In weiteren Beispielen können beliebige der Rechenknoten oder Einrichtungen, die unter Bezugnahme auf die vorliegenden Edge-Computing-Systeme und die vorliegende Umgebung erörtert wurden, basierend auf den in 7A und 7B dargestellten Komponenten erfüllt werden. Jeweilige Edge-Rechenknoten können als ein Typ von Einrichtung, Gerät, Computer oder anderem „Ding“ umgesetzt sein, der/die/das in der Lage ist, mit anderen Edge-, Vernetzungs- oder Endpunktkomponenten zu kommunizieren. Zum Beispiel kann eine Edge-Recheneinrichtung als ein Personalcomputer, Server, Smartphone, eine mobile Recheneinrichtung, ein Smartgerät, ein fahrzeuginternes Rechensystem (z.B. ein Navigationssystem), eine eigenständige Einrichtung mit einem Außengehäuse, einer Hülle usw. oder eine andere Einrichtung oder ein anderes System ausgebildet sein, die bzw. das in der Lage ist, die beschriebenen Funktionen durchzuführen.
  • 7A ist ein Blockschaubild einer beispielhaften Umsetzung eines beispielhaften Edge-Computing-Knotens 700, der eine Rechen-Engine (hierin auch als „Computing-Systemschaltungen“ bezeichnet) 702, ein Eingabe/Ausgabe-Subsystem (E/A-Subsystem) 708, eine Datenspeicherung 710, ein Kommunikationsschaltungssubsystem 712 und optional eine oder mehrere Peripherieeinrichtungen 714 beinhaltet. In anderen Beispielen können jeweilige Recheneinrichtungen andere oder zusätzliche Komponenten beinhalten, wie diejenigen, die üblicherweise in einem Computer zu finden sind (z.B. eine Anzeige, Peripherieeinrichtungen usw.). Zusätzlich dazu können bei einigen Beispielen eine oder mehrere der veranschaulichenden Komponenten in eine andere Komponente integriert sein oder anderweitig einen Teil davon bilden. Der beispielhafte Edge-Rechenknoten 700 der 7A kann in einem der in 1 bis 4 und/oder 6 veranschaulichten Edge-Computing-Systeme umgesetzt werden, um einen beliebigen Edge-Rechenknoten der 1 bis 4 und/oder 6 umzusetzen.
  • Der Rechenknoten 700 kann als ein beliebiger Typ von Engine, Einrichtung, oder Sammlung von Einrichtungen ausgeführt sein, die zum Durchführen verschiedener Rechenfunktionen in der Lage ist. In einigen Beispielen kann der Rechenknoten 700 als eine einzelne Einrichtung realisiert sein, wie etwa eine integrierte Schaltung, ein eingebettetes System, ein frei programmierbares Gate-Array (FPGA), ein Systemchip (SoC - System-on-a-Chip) oder ein anderes integriertes System oder eine andere integrierte Einrichtung. Im veranschaulichenden Beispiel umfasst der Rechenknoten 700 einen Prozessor 704 und einen Speicher 706 oder ist als solche realisiert. Der Prozessor 704 kann als eine beliebige Art von Prozessor realisiert sein, der in der Lage ist, die hier beschriebenen Funktionen (z.B. Ausführen einer Anwendung) durchzuführen. Der Prozessor 704 kann zum Beispiel als ein oder mehrere Mehrkernprozessoren, ein Mikrocontroller, eine Verarbeitungseinheit, eine spezialisierte oder Spezialverarbeitungseinheit oder ein anderer Prozessor oder eine andere Verarbeitungs-/Steuerschaltung realisiert sein.
  • In manchen Beispielen kann der Prozessor 704 als ein FPGA, eine anwendungsspezifische integrierte Schaltung (ASIC), rekonfigurierbare Hardware oder Hardwareschaltungsanordnung oder andere spezialisierte Hardware umgesetzt sein, diese beinhalten oder mit diesen gekoppelt sein, um eine Durchführung der hier beschriebenen Funktionen zu ermöglichen. In einigen Beispielen kann der Prozessor 704 auch als eine spezialisierte x-Verarbeitungseinheit (xPU) verkörpert sein, die auch als eine Datenverarbeitungseinheit (DPU), eine Infrastrukturverarbeitungseinheit (IPU) oder eine Netzwerkverarbeitungseinheit (NPU) bekannt ist. Eine derartige xPU kann als eine eigenständige Schaltung oder ein eigenständiges Schaltungsgehäuse verkörpert sein, innerhalb eines SOC integriert sein oder mit einer Vernetzungsschaltungsanordnung (z.B. in einer SmartNIC), einer Beschleunigungsschaltungsanordnung, Speichereinrichtungen oder KI-Hardware (z.B. GPUs oder programmierte FPGAs) integriert sein. Eine derartige xPU kann ausgelegt sein, um eine Programmierung zu empfangen, um einen oder mehrere Datenströme zu verarbeiten und spezifische Aufgaben und Handlungen für die Datenströme durchzuführen (wie Hosten von Mikrodiensten, Durchführen von Dienstverwaltung oder Orchestrierung, Organisieren oder Verwalten von Server- oder Datenzentrums-Hardware, Verwalten von vermaschten Dienstnetzwerken oder Sammeln und Verteilen von Telemetrie), außerhalb der CPU oder außerhalb von Allzweckverarbeitungshardware. Es versteht sich jedoch, dass eine xPU, ein SOC, eine CPU und andere Variationen des Prozessors 704 koordiniert miteinander arbeiten können, um viele Arten von Operationen und Anweisungen innerhalb und im Auftrag des Rechenknotens 700 auszuführen.
  • Der Speicher 706 kann als eine beliebige Art von flüchtigem (z.B. dynamischer Direktzugriffsspeicher (DRAM: Dynamic Random Access Memory) usw.) oder nichtflüchtigem Speicher oder nichtflüchtiger Datenspeicherung umgesetzt sein, der bzw. die in der Lage ist, die hier beschriebenen Funktionen durchzuführen. Flüchtiger Speicher kann ein Speichermedium sein, das Leistung zum Beibehalten des Zustands von durch das Medium gespeicherten Daten benötigt. Nichtbeschränkende Beispiele für flüchtigen Speicher können verschiedene Typen von Direktzugriffsspeicher (RAM), wie etwa DRAM oder statischen Direktzugriffsspeicher (SRAM), einschließen. Eine bestimmte Art von DRAM, die in einem Speichermodul verwendet werden kann, ist synchroner dynamischer Direktzugriffsspeicher (SDRAM: Synchronous Dynamic Random Access Memory).
  • Bei einem Beispiel ist die Speichereinrichtung eine blockadressierbare Speichereinrichtung, wie etwa jene, die auf NAND-oder NOR-Technologien basieren. Eine Speichereinrichtung kann auch eine dreidimensionale Koppelpunkt-Speichereinrichtung (z.B. Intel® 3D XPoint™-Speicher) oder andere byteadressierbare nichtflüchtige Speichereinrichtungen zum Schreiben an Ort und Stelle beinhalten. Die Speichereinrichtung kann sich auf den Die selbst und/oder auf ein gehäustes Speicherprodukt beziehen. In einigen Beispielen kann der 3D-Koppelpunkt-Speicher (z.B. Intel® 3D XPoint™-Speicher) eine transistorlose stapelbare Koppelpunkt-Architektur umfassen, bei der Speicherzellen am Schnittpunkt von Wortleitungen und Bitleitungen sitzen und individuell adressierbar sind, und bei der eine Bitspeicherung auf einer Änderung des Bulkwiderstands basiert. In einigen Beispielen kann der gesamte oder ein Teil des Speichers 706 in den Prozessor 704 integriert sein. Der Speicher 706 kann verschiedene Software und Daten speichern, die während des Betriebs verwendet werden, wie etwa eine oder mehrere Anwendungen, Daten, die durch die Anwendung(en) bearbeitet werden, Bibliotheken und Treiber.
  • Die Rechenschaltungsanordnung 702 ist über das E/A-Subsystem 708, das als Schaltungsanordnung und/oder Komponenten realisiert sein kann, kommunikativ mit anderen Komponenten des Rechenknotens 700 gekoppelt, um Eingabe/Ausgabe-Operationen mit der Rechenschaltungsanordnung 702 (z.B. mit dem Prozessor 704 und/oder dem Hauptspeicher 706) und anderen Komponenten der Rechenschaltungsanordnung 702 zu ermöglichen. Das E/A-Subsystem 708 kann zum Beispiel als Speichersteuerungs-Hubs, Eingabe/Ausgabe-Steuerungs-Hubs, integrierte Sensor-Hubs, Firmwareeinrichtungen, Kommunikationslinks (z.B. Punkt-zu-Punkt-Links, Busverbindungen, Drähte, Kabel, Lichtleiter, Leiterplattenbahnen usw.) und/oder andere Komponenten und Subsysteme umgesetzt sein oder diese anderweitig beinhalten, um die Eingabe/Ausgabe-Operationen zu erleichtern. In einigen Beispielen kann das E/A-Subsystem 708 einen Teil eines System-on-a-Chip (SoC) bilden und zusammen mit dem Prozessor 704 und/oder dem Speicher 706 und/oder anderen Komponenten der Rechenschaltungsanordnung 702 in die Rechenschaltungsanordnung 702 integriert sein.
  • Die eine oder mehreren veranschaulichenden Datenspeichereinrichtungen 710 können als ein beliebiger Typ von Einrichtungen ausgebildet sein, die zur kurzfristigen oder langfristigen Speicherung von Daten, wie zum Beispiel Arbeitsspeichereinrichtungen und Schaltkreise, Arbeitsspeicherkarten, Festplattenlaufwerke, Festkörperlaufwerke oder andere Datenspeichereinrichtungen konfiguriert sind. Individuelle Datenspeichereinrichtungen 710 können eine Systempartition beinhalten, die Daten und Firmwarecode für die Datenspeichereinrichtung 710 speichert. Einzelne Datenspeichereinrichtungen 710 können auch eine oder mehrere Betriebssystempartitionen umfassen, die Dateien und ausführbare Dateien für Betriebssysteme zum Beispiel in Abhängigkeit von dem Typ des Rechenknotens 700 speichern.
  • Die Kommunikationsschaltungsanordnung 712 kann als eine beliebige Kommunikationsschaltung oder -einrichtung oder eine Sammlung davon realisiert sein, die in der Lage ist, Kommunikationen über ein Netzwerk zwischen der Rechenschaltungsanordnung 702 und einer anderen Recheneinrichtung (z.B. einem Edge-Gateway eines implementierenden Edge-Computing-Systems) zu ermöglichen. Die Kommunikationsschaltungsanordnung 712 kann dazu konfiguriert sein, eine oder mehrere beliebige Kommunikationstechniken (z.B. drahtgebundene oder drahtlose Kommunikationen) und assoziierte Protokolle (z.B. ein zelluläres Vernetzungsprotokoll, wie etwa einen 3GPP-4G- oder 5G-Standard, ein Wireless-Local-Area-Network-Protokoll, wie etwa IEEE 802.11/Wi-Fi®, ein Wireless-Wide-Area-Network-Protokoll, Ethernet, Bluetooth®, Bluetooth Low Energy, ein IoT-Protokoll, wie etwa IEEE 802.15.4 oder ZigBee®, Low-Power-Wide-Area-Network- (LPWAN-) oder Low-Power-Wide-Area- (LPWA-) Protokolle usw.), um eine solche Kommunikation umzusetzen.
  • Die veranschaulichende Kommunikationsschaltungsanordnung 712 beinhaltet eine Netzwerkschnittstellensteuerung (NIC) 720, die auch als eine Host-Fabric-Schnittstelle (HFI: Host Fabric Interface) bezeichnet werden kann. Die NIC 720 kann als eine oder mehrere Addin-Karten, Tochterkarten, Netzwerkschnittstellenkarten, Controllerchips, Chipsätze oder andere Einrichtungen realisiert sein, die durch den Rechenknoten 700 verwendet werden können, um eine Verbindung mit einer anderen Recheneinrichtung (z.B. einem Edge-Gateway-Knoten) herzustellen. In einigen Beispielen kann die NIC 720 als ein Teil eines System-on-Chip (SoC) ausgebildet sein, das einen oder mehrere Prozessoren beinhaltet, oder in einem Multichip-Package enthalten sein, das auch einen oder mehrere Prozessoren enthält. In einigen Beispielen kann die NIC 720 einen lokalen Prozessor (nicht gezeigt) und/oder einen lokalen Speicher (nicht gezeigt) beinhalten, die beide lokal zur NIC 720 sind. In solchen Beispielen kann der lokale Prozessor der NIC 720 dazu in der Lage sein, eine oder mehrere der Funktionen der hier beschriebenen Rechenschaltungsanordnung 702 durchzuführen. Zusätzlich oder alternativ kann der lokale Speicher der NIC 720 in derartigen Beispielen in eine oder mehrere Komponenten des Client-Rechenknotens auf Platinenebene, Sockelebene, Chipebene und/oder anderen Ebenen integriert sein.
  • Zusätzlich kann in einigen Beispielen ein jeweiliger Rechenknoten 700 eine oder mehrere Peripherieeinrichtungen 714 beinhalten. Solche Peripherieeinrichtungen 714 können eine beliebige Art von Peripherieeinrichtung umfassen, die je nach der spezifischen Art des Rechenknotens 700 in einer Recheneinrichtung oder einem Server zu finden ist, wie etwa Audioeingabeeinrichtungen, eine Anzeige, andere Eingabe-/Ausgabeeinrichtungen, Schnittstelleneinrichtungen und/oder andere Peripherieeinrichtungen. In weiteren Beispielen kann der Rechenknoten 700 durch einen jeweiligen Edge-Rechenknoten (einerlei ob Client, Gateway oder Aggregationsknoten) in einem Edge-Computing-System oder ähnlichen Formen von Geräten, Computern, Subsystemen, Schaltungen oder anderen Komponenten realisiert sein.
  • In einem ausführlicheren Beispiel veranschaulicht 7B ein Blockschaubild eines Beispiels, bei dem der Edge-Rechenknoten 750 zum Ausführen der Anweisungen der 12, 13, 14, 15, 16, 17 und/oder 18 zum Implementieren der hierin beschriebenen Techniken (z.B. Operationen, Prozesse, Verfahren und Methodiken), wie etwa des Data-Lake-Verwalters 908 der 9 und/oder 10 und/oder des Sekundärverwalters 912 der 9 und/oder 11, strukturiert ist. Dieser Edge-Rechenknoten 750 stellt eine nähere Ansicht der jeweiligen Komponenten des Knotens 700 bereit, wenn als Recheneinrichtung (z.B. als eine Mobileinrichtung, eine Basisstation, ein Server, ein Gateway usw.) oder als Teil davon implementiert. Der Edge-Rechenknoten 750 kann beliebige Kombinationen der hierin erwähnten Hardware oder logischen Komponenten umfassen, und er kann eine beliebige Einrichtung, die mit einem Edge-Kommunikationsnetzwerk oder einer Kombination solcher Netzwerke verwendet werden kann, umfassen oder damit gekoppelt sein. Die Komponenten können als integrierte Schaltungen (ICs), Abschnitte davon, diskrete elektronische Einrichtungen oder andere Module, Befehlssätze, programmierbare Logik oder Algorithmen, Hardware, Hardwarebeschleuniger, Software, Firmware oder eine Kombination davon, die im Edge-Computing-Knoten 750 angepasst sind, oder als Komponenten, die anderweitig in einem Chassis eines größeren Systems integriert sind, implementiert sein. Beispielsweise kann der Edge-Computing-Knoten 750 ein Server, ein Personalcomputer, ein Arbeitsplatzrechner, eine selbstlernende Maschine (z.B. ein neuronales Netzwerk), eine mobile Einrichtung (z. B. ein Mobiltelefon, ein Smartphone, ein Tablet wie ein iPadTM), ein Organizer (PDA), ein Internetgerät, ein DVD-Player, ein CD-Player, ein digitaler Videorekorder, ein Blu-ray-Player, eine Spielekonsole, ein persönlicher Videorekorder, eine Set-Top-Box, ein Kopfhörer oder eine andere tragbare Einrichtung, eine Einrichtung des Internets der Dinge (IoT) oder ein beliebiger anderer Typ von Recheneinrichtung sein.
  • Die Edge-Computing-Einrichtung 750 kann eine Verarbeitungsschaltungsanordnung in der Form eines Prozessors 752 beinhalten, der ein Mikroprozessor, ein Mehrkernprozessor, ein Multithreadprozessor, ein Kleinstspannungsprozessor, ein eingebetteter Prozessor, eine xPU/DPU/IPU/NPU, eine Spezialverarbeitungseinheit, eine spezialisierte Verarbeitungseinheit oder andere bekannte Verarbeitungselemente sein kann. Der Prozessor 752 kann ein Teil eines Systemchips (SoC) sein, in dem der Prozessor 752 und andere Komponenten zu einer einzigen integrierten Schaltung oder einem einzigen Gehäuse ausgebildet sind, wie etwa die Edison™- oder Galileo™-SoC-Platinen der Intel Corporation, Santa Clara, Kalifornien. Als ein Beispiel kann der Prozessor 752 einen auf Intel®-Architektur Core™ basierenden CPU-Prozessor, wie einen Prozessor der Klasse Quark™, Atom™, i3, i5, i7, i9 oder MCU oder einen anderen derartigen Prozessor beinhalten, der von Intel® erhältlich ist. Eine beliebige Anzahl anderer Prozessoren kann jedoch verwendet werden, wie sie etwa von Advanced Micro Devices, Inc. (AMD®) in Sunnyvale, Kalifornien, erhältlich sind, ein MIPS®-basiertes Design der Firma MIPS Technologies, Inc. in Sunnyvale, Kalifornien, ein ARM®-basiertes Design, lizenziert von ARM Holdings, Ltd. oder einem Kunden davon, oder deren Lizenznehmern oder Anwendern. Die Prozessoren können Einheiten beinhalten, wie einen A5-A13-Prozessor von Apple® Inc., einen Snapdragon™-Prozessor von Qualcomm® Technologies, Inc., oder einen OMAP™-Prozessor von Texas Instruments, Inc. Der Prozessor 752 und die begleitende Schaltungsanordnung können in einem einzigen Sockelformfaktor, mehreren Sockelformfaktoren oder einer Vielfalt anderer Formate bereitgestellt sein, einschließlich in beschränkten Hardwarekonfigurationen oder Konfigurationen, die weniger als alle der in 7B gezeigten Elemente beinhalten. In diesem Beispiel implementiert der Prozessor 752 ein oder mehrere Strukturelemente, die unten beschrieben sind. Beispielsweise implementiert der beispielhafte Prozessor 752 aus 7B den beispielhaften Standortselektor 1002, den beispielhaften Dienstautorisierer 1004, den beispielhaften Schlüsselgenerator 1006, den beispielhaften Schlüsselverteiler 1008, die beispielhafte Data-Lake-Tabellensteuerung 1012 und die beispielhafte Timing-Steuerung 1010 von 10 unten und den beispielhaften Anweisungsanalysierer 1100, den beispielhaften Dienstidentifizierer 1102, den beispielhaften Datenabrufer 1104, den beispielhaften Schlüsselverwalter 1106, den beispielhaften Datenverschlüsseler 1108, den beispielhaften Datenentschlüsseler 1110 und den beispielhaften Datensender 1112 aus 11 unten.
  • Der Prozessor 752 kann über ein Interconnect (Zwischenverbindung) 756 (z.B. einen Bus) mit einem Systemspeicher 754 kommunizieren. Eine beliebige Anzahl an Speichereinrichtungen kann verwendet werden, um eine gegebene Menge an Systemspeicher bereitzustellen. Als Beispiele kann der Speicher 754 Direktzugriffsspeicher (RAM) gemäß einem JEDEC-Design (JEDEC: Joint Electron Devices Engineering Council) sein, wie etwa den DDR-oder mobilen DDDR-Standards (z. B. LPDDR, LPDDR2, LPDDR3 oder LPDDR4). In bestimmten Beispielen kann eine Speicherkomponente einem durch JEDEC veröffentlichten DRAM-Standard entsprechen, wie ESD79F für DDR-SDRAM, JESD79-2F für DDR2-SDRAM, JESD79-3F für DDR3-SDRAM, JESD79-4A für DDR4-SDRAM, JESD209 für Low-Power-DDR (LPDDR), JESD209-2 für LPDDR2, JESD209-3 für LPDDR3, und JESD209-4 für LPDDR4. Solche Standards (und ähnliche Standards) können als DDR-basierte Standards bezeichnet werden, und Kommunikationsschnittstellen der Speichereinrichtungen, die solche Standards implementieren, können als DDR-basierte Schnittstellen bezeichnet werden. In verschiedenen Implementierungen können die einzelnen Speichereinrichtungen beliebige einer Reihe von unterschiedlichen Gehäusetypen sein, wie Single Die Package (SDP), Dual Die Package (DDP) oder Quad Die Package (Q17P). Diese Einrichtungen können bei manchen Beispielen direkt auf eine Hauptplatine gelötet werden, um eine Lösung mit niedrigerem Profil bereitzustellen, während die Einrichtungen bei anderen Beispielen als ein oder mehrere Speichermodule konfiguriert sind, die wiederum durch einen gegebenen Verbinder mit der Hauptplatine gekoppelt sind. Eine beliebige Anzahl anderer Speicherimplementierungen kann verwendet werden, wie etwa andere Typen von Speichermodulen, z.B. Dual-Inline-Speichermodule (DIMMs) verschiedener Varianten, darunter microDIMMs oder MiniDIMMs, ohne darauf beschränkt zu sein.
  • Um eine dauerhafte Speicherung von Informationen, wie Daten, Anwendungen, Betriebssystemen und so weiter, bereitzustellen, kann eine Speicherung 758 auch über die Zwischenverbindung 756 an den Prozessor 752 gekoppelt sein. In einem Beispiel kann die Speicherung 758 über ein Festkörperlaufwerk (SSDD) implementiert sein. Andere Einrichtungen, die für die Speicherung 758 verwendet werden können, beinhalten Flash-Speicherkarten, wie etwa Secure Digital(SD)-Karten, microSD-Karten, eXtreme Digital(XD)-Bildkarten und dergleichen und Universal Serial Bus(USB)-Flash-Laufwerke. In einem Beispiel kann die Speichereinrichtung Speichereinrichtungen sein oder solche enthalten, die Chalkogenglas, NAND-Flashspeicher mit mehreren Schwellenpegeln, NOR-Flashspeicher, Phasenwechselspeicher (PCM) mit einem oder mehreren Pegeln, einen resistiven Speicher, Nanodrahtspeicher, ferroelektrischen Transistorspeicher mit Direktzugriff (FeTRAM), antiferroelektrischen Speicher, magnetoresistiven Speicher mit Direktzugriff (MRAM), der Memristortechnologie einbindet, resistiven Speicher auf Metalloxidbasis, Sauerstoffleerstellenbasis und Leiterbrückenarbeitsspeicher mit Direktzugriff (CB-RAM) oder Spin-Transfer-Torque(STT)-MRAM, eine Einrichtung auf Spintronik-Magnetübergang-Speicherbasis, eine Einrichtung auf Magnettunnelübergangsbasis (MTJ-Basis), eine Einrichtung auf Domänenwand- (DW-) und SOT- (Spin-Orbit-Transfer-) Basis, eine Speichereinrichtung auf Thyristorbasis oder eine Kombination von beliebigen der obigen oder einen anderen Speicher einsetzen.
  • Bei Niedrigleistungsimplementierungen kann die Speicherung 758 On-Die-Speicher oder Register sein, die mit dem Prozessor 752 assoziiert sind. In einigen Beispielen kann der Speicher 758 jedoch unter Verwendung eines Mikrofestplattenlaufwerks (HDD) implementiert sein. Ferner kann eine beliebige Anzahl neuer Technologien für die Speicherung 758 zusätzlich zu den, oder anstelle der, beschriebenen Technologien verwendet werden, wie etwa unter anderem Widerstandswechselspeicher, Phasenwechselspeicher, holografische Speicher oder chemische Speicher.
  • Die Komponenten können über die Zwischenverbindung 756 kommunizieren. Die Zwischenverbindung 756 kann eine beliebige Anzahl von Technologien beinhalten, einschließlich Industry Standard Architecture (ISA), extended ISA (EISA), Peripheral Component Interconnect (PCI), Peripheral Component Interconnect Extended (PCIx), PCI express (PCIe) oder eine beliebige Anzahl anderer Technologien. Die Zwischenverbindung 756 kann ein proprietärer Bus sein, der zum Beispiel in einem SoC-basierten System verwendet wird. Andere Bussysteme können enthalten sein, wie etwa unter anderem eine Inter-Integrated-Circuit- (I2C-) Schnittstelle, eine Serial-Peripheral-Interface- (SPI-) Schnittstelle, Punkt-zu-Punkt-Schnittstellen und ein Leistungsbus.
  • Die Zwischenverbindung 756 kann den Prozessor 752 mit einem Sendeempfänger 766 koppeln, um mit den verbundenen Edge-Einrichtungen 762 zu kommunizieren. Der Sendeempfänger 766 kann eine beliebige Anzahl von Frequenzen und Protokollen, wie beispielsweise 2,4-Gigahertz- (GHz-) Übertragungen gemäß dem Standard IEEE 802.15.4 u. a. unter Verwendung des BLE (Bluetooth® Low Energy)-Standards, wie von der Bluetooth® Special Interest Group definiert, oder des ZigBee®-Standards verwenden. Eine beliebige Anzahl von Funkgeräten, die für ein bestimmtes Drahtloskommunikationsprotokoll konfiguriert sind, kann für die Verbindungen zu den verbundenen Edge-Einrichtungen 762 verwendet werden. Zum Beispiel kann eine WLAN-Einheit (WLAN: Wireless Local Area Network) verwendet werden, um Wi-Fi®-Kommunikation gemäß dem IEEE 802.11-Standard (IEEE: Institute of Electrical and Electronics Engineers) zu implementieren. Außerdem kann Drahtlos-Weitverkehrskommunikation, z.B. gemäß einem zellenbasierten oder anderen Drahtlos-Weitverkehrsprotokoll über eine Drahtlos-Weitverkehrsnetzwerk- (WWAN-) Einheit stattfinden.
  • Der Drahtlosnetzwerk-Sendeempfänger 766 (oder mehrere Sendeempfänger) kann unter Verwendung mehrerer Standards oder Funkgeräte für Kommunikation mit unterschiedlicher Reichweite kommunizieren. Beispielsweise kann der Edge-Rechenknoten 750 mit nahen Einrichtungen, z.B. innerhalb von etwa 10 Metern, unter Verwendung eines lokalen Sendeempfängers basierend auf Bluetooth Low Energy (BLE) oder eines anderes Niedrigleistungsfunkgeräts kommunizieren, um Leistung zu sparen. Entferntere verbundene Edge-Einrichtungen 762, z.B. innerhalb von etwa 50 Metern, können über ZigBee® oder andere Mittelleistungsfunkgeräte erreicht werden. Beide Kommunikationstechniken können über ein einziges Funkgerät bei unterschiedlichen Leistungspegeln stattfinden, oder sie können über separate Sendeempfänger stattfinden, zum Beispiel einen lokalen Sendeempfänger, der BLE verwendet, und einen separaten Mesh-Sendeempfänger, der ZigBee® verwendet.
  • Ein Drahtlosnetzwerk-Sendeempfänger 766 (z.B. ein Funksendeempfänger) kann enthalten sein, um mit Einrichtungen oder Diensten in der Edge Cloud 795 über Lokal- oder Weitverkehrsnetzwerkprotokolle zu kommunizieren. Der Drahtlosnetzwerk-Sendeempfänger 766 kann ein LPWA-Sendeempfänger (LPWA - Low Power Wide Area) sein, der unter anderem den Standards IEEE 802.15.4 oder IEEE 802.15.4g entspricht. Der Edge-Computing-Knoten 750 kann über einen weiten Bereich unter Verwendung von LoRaWAN™ (Long Range Wide Area Network), das von Semtech und der LoRa Alliance entwickelt wurde, kommunizieren. Die hierin beschriebenen Techniken sind nicht auf diese Technologien beschränkt, sondern können mit einer beliebigen Anzahl von anderen Cloud-Sendeempfängern verwendet werden, die Kommunikationen mit großer Reichweite und niedriger Bandbreite implementieren, wie Sigfox, und anderen Technologien. Ferner können andere Kommunikationstechniken, wie beispielsweise Kanalspringen mit Zeitschlitzen, das in der Spezifikation IEEE 802.15.4e beschrieben ist, verwendet werden.
  • Es kann eine beliebige Anzahl anderer Funkkommunikationen und -protokolle zusätzlich zu den erwähnten Systemen für den Drahtlosnetzwerk-Sendeempfänger 766, wie hierin beschrieben, verwendet werden. Der Sendeempfänger 766 kann zum Beispiel einen zellularen Sendeempfänger umfassen, der Spreizspektrum- (SPA-/SAS-) Kommunikationen zum Implementieren von Hochgeschwindigkeitskommunikationen verwendet. Ferner kann eine beliebige Anzahl anderer Protokolle verwendet werden, wie etwa Wi-Fi®-Netzwerke für Mittelgeschwindigkeitskommunikationen und Bereitstellung von Netzwerkkommunikationen. Der Sendeempfänger 766 kann Funkgeräte umfassen, die mit einer beliebigen Anzahl von 3GPP-Spezifikationen (3GPP - Third Generation Partnership Project) kompatibel sind, wie etwa Kommunikationssystemen von Long Term Evolution (LTE) und der 5. Generation (5G), die am Ende der vorliegenden Offenbarung ausführlicher erörtert werden. Eine Netzwerkschnittstellensteuerung (NIC) 768 kann enthalten sein, um eine drahtgebundene Kommunikation zu Knoten der Edge Cloud 795 oder zu anderen Einrichtungen bereitzustellen, wie den angebundenen Edge-Einrichtungen 762 (die z.B. in einem vermaschten Netz arbeiten). Die drahtgebundene Kommunikation kann eine Ethernet-Verbindung bereitstellen oder kann auf anderen Arten von Netzwerken basieren, wie Controller Area Network (CAN), Local Interconnect Network (LIN), DeviceNet, ControlNet, Data Highway+, PROFIBUS oder PROFINET unter vielen anderen. Eine zusätzliche NIC 768 kann enthalten sein, um das Verbinden mit einem zweiten Netzwerk zu ermöglichen, wobei zum Beispiel eine erste NIC 768 Kommunikation mit der Cloud über Ethernet bereitstellt und eine zweite NIC 768 Kommunikation mit anderen Einrichtungen über eine andere Art von Netzwerk bereitstellt.
  • Angesichts der Vielfalt von Typen anwendbarer Kommunikationen von der Einrichtung zu einer anderen Komponente oder einem anderen Netzwerk kann eine anwendbare Kommunikationsschaltungsanordnung, die von der Einrichtung verwendet wird, jede beliebige oder mehrere der Komponenten 764, 766, 768 oder 770 umfassen oder durch diese realisiert sein. Dementsprechend können bei verschiedenen Beispielen anwendbare Mittel zum Kommunizieren (z.B. Empfangen, Senden usw.) durch eine solche Kommunikationsschaltungsanordnung ausgeführt sein.
  • Der Edge-Computing-Knoten 750 kann Beschleunigungsschaltungsanordnung 764 umfassen oder mit dieser gekoppelt sein, die durch einen oder mehrere Beschleuniger für künstliche Intelligenz (KI), einen neuronalen Rechenstick, neuromorphe Hardware, ein FPGA, eine Anordnung von GPUs, eine Anordnung aus xPUs/DPUs/IPU/NPUs, einen oder mehrere SoCs, eine oder mehrere CPUs, einen oder mehrere digitale Signalprozessoren, dedizierte ASICs oder anderen Formen spezialisierter Prozessoren oder Schaltungen realisiert sein kann, die zum Erfüllen einer oder mehrerer spezialisierter Aufgaben ausgelegt sind. Diese Aufgaben können KI-Verarbeitung (einschließlich Maschinenlern-, Trainings-, Inferenz- und Klassifizierungsoperationen), visuelle Datenverarbeitung, Netzwerkdatenverarbeitung, Objektdetektion, Regelanalyse oder dergleichen umfassen. Zu diesen Aufgaben können auch die an anderer Stelle in diesem Dokument erörterten spezifischen Edge-Computing-Aufgaben für Dienstverwaltung und Dienstoperationen gehören.
  • Die Zwischenverbindung 756 kann den Prozessor 752 mit einem Sensor-Hub oder einer externen Schnittstelle 770 koppeln, die zum Verbinden zusätzlicher Einrichtungen oder Subsysteme verwendet wird. Die Einrichtungen können Sensoren 772, wie etwa Beschleunigungsmesser, Füllstandsensoren, Durchflusssensoren, optische Lichtsensoren, Kamerasensoren, Temperatursensoren, Sensoren eines globalen Navigationssystems (z.B. GPS), Drucksensoren, Luftdrucksensoren und dergleichen umfassen. Der Hub oder die Schnittstelle 770 kann ferner zum Verbinden des Edge-Computing-Knotens 750 mit Aktoren 774, beispielsweise Leistungsschaltern, Ventil-Stellantrieben, einem Hörschallgenerator, einer optischen Warneinrichtung und dergleichen, verwendet werden.
  • In einigen optionalen Beispielen können verschiedene Eingabe/Ausgabe- (E/A-) Einrichtungen innerhalb des Edge-Computing-Knotens 750 vorhanden oder mit diesem verbunden sein. Beispielsweise kann eine Anzeige oder eine andere Ausgabeeinrichtung 784 enthalten sein, um Informationen, wie etwa Messwerte von Sensoren oder Positionen von Aktoren, darzustellen. Eine Eingabeeinrichtung 786, wie etwa ein Touchscreen oder eine Tastatur, kann enthalten sein, um eine Eingabe anzunehmen. Eine Ausgabeeinrichtung 784 kann eine beliebige Anzahl von Formen einer akustischen oder visuellen Anzeige umfassen, einschließlich einfacher visueller Ausgaben, wie etwa binärer Statusindikatoren (z.B. Leuchtdioden (LEDs)) und visueller Mehrzeichenausgaben, oder komplexere Ausgaben, wie etwa Anzeigebildschirme (z. B. Bildschirme mit Flüssigkristallanzeige (LCD)), wobei die Ausgabe von Zeichen, Grafiken, Multimediaobjekten und dergleichen aus dem Betrieb des Edge-Computing-Knotens 750 generiert oder erzeugt wird. Eine Anzeige- oder Konsolenhardware kann im Kontext des vorliegenden Systems verwendet werden, um eine Ausgabe bereitzustellen und eine Eingabe eines Edge-Computing-Systems zu empfangen; Komponenten oder Dienste eines Edge-Computing-Systems zu verwalten; einen Zustand einer Edge-Computing-Komponente oder eines Edge-Dienstes zu identifizieren, oder eine beliebige andere Anzahl von Verwaltungs- oder Administrationsfunktionen oder Dienstanwendungsfällen durchzuführen.
  • Eine Batterie 776 kann den Edge-Computing-Knoten 750 mit Strom versorgen, obwohl sie in Beispielen, in denen der Edge-Computing-Knoten 750 an einem festen Ort montiert ist, eine Stromversorgung aufweisen kann, die mit einem Stromnetz gekoppelt ist, oder die Batterie als Ausfallsicherheit oder für temporäre Funktionen verwendet werden kann. Die Batterie 776 kann eine Lithiumionenbatterie oder eine Metall-Luft-Batterie, wie eine Zink-Luft-Batterie, eine Aluminium-Luft-Batterie, eine Lithium-Luft-Batterie und dergleichen, sein.
  • Eine Batterieüberwachungseinheit/Ladeeinheit 778 kann in dem Edge-Computing-Knoten 750 enthalten sein, um den Ladezustand (SoCh) der Batterie 776, falls enthalten, zu verfolgen. Die Batterieüberwachungseinheit/Ladeeinheit 778 kann verwendet werden, um andere Parameter der Batterie 776 zu überwachen, um Ausfallvorhersagen zu liefern, wie etwa den Gesundheitszustand (SoH: State of Health) und den Funktionszustand (SoF: State of Function) der Batterie 776. Die Batterieüberwachungseinheit/Ladeeinheit 778 kann eine integrierte Batterieüberwachungsschaltung umfassen, wie etwa einen LTC4020 oder einen LTC2990 von Linear Technologies, einen ADT7488A von ON Semiconductor of Phoenix Arizona oder eine IC von der UCD90xxx Familie von Texas Instruments of Dallas, TX. Die Batterieüberwachungseinheit/Ladeeinheit 778 kann die Informationen über die Batterie 776 über die Zwischenverbindung 756 an den Prozessor 752 kommunizieren. Die Batterieüberwachungseinheit/Ladeeinheit 778 kann auch einen Analog-Digital-Wandler (ADC) beinhalten, der es dem Prozessor 752 ermöglicht, die Spannung der Batterie 776 oder den Stromfluss von der Batterie 776 direkt zu überwachen. Die Batterieparameter können verwendet werden, um Aktionen zu bestimmen, die der Edge-Computing-Knoten 750 durchführen kann, wie Übertragungsfrequenz, Maschennetzwerkbetrieb, Erfassungsfrequenz und dergleichen.
  • Ein Leistungsblock 780 oder eine andere Leistungsversorgung, die an ein Stromnetz gekoppelt ist, kann mit der Batterieüberwachungseinheit/Ladeeinheit 778 gekoppelt sein, um die Batterie 776 zu laden. In einigen Beispielen kann der Leistungsblock 780 durch einen Drahtlosleistungsempfänger ersetzt werden, um die Leistung drahtlos zu erhalten, zum Beispiel über eine Schleifenantenne in dem Edge-Computing-Knoten 750. Eine Drahtlos-Batterie-Ladeschaltung, wie unter anderem ein LTC4020-Chip von Linear Technologies in Milpitas, Kalifornien, kann in der Batterieüberwachungseinheit/Ladeeinheit 778 enthalten sein. Die spezifischen Ladeschaltungen können basierend auf der Größe der Batterie 776 und somit dem erforderlichen Strom ausgewählt werden. Das Aufladen kann unter anderem unter Verwendung des von der Airfuel Alliance veröffentlichten Airfuel-Standard, dem vom Wireless Power Consortium veröffentlichten Qi-Ladestandard oder dem von der Alliance for Wireless Power veröffentlichten Rezence-Ladestandard durchgeführt werden.
  • Die Speicherung 758 kann Anweisungen 782 in Form von Software, Firmware oder Hardwarebefehlen zum Implementieren der hierin beschriebenen Techniken beinhalten. Obwohl solche Anweisungen 782 als Codeblöcke gezeigt sind, die in dem Speicher 754 und der Speicherung 758 enthalten sind, versteht es sich, dass beliebige der Codeblöcke durch festverdrahtete Schaltungen ersetzt werden können, die zum Beispiel in einer anwendungsspezifischen integrierten Schaltung (ASIC: Application Specific Integrated Circuit) eingebaut sind.
  • In einem Beispiel können die Anweisungen 782, die über den Speicher 754, die Speicherung 758 oder den Prozessor 752 bereitgestellt werden, als ein nicht transitorisches maschinenlesbares Medium 760 verkörpert sein, das Code beinhaltet, um den Prozessor 752 anzuweisen, elektronische Operationen in dem Edge-Computing-Knoten 750 durchzuführen. Der Prozessor 752 kann über die Zwischenverbindung 756 auf das nicht transitorische maschinenlesbare Medium 760 zugreifen. Beispielsweise kann das nicht transitorische maschinenlesbare Medium 760 durch Einrichtungen verkörpert sein, die für die Speicherung 758 beschrieben sind, oder kann spezifische Speichereinheiten, wie optische Platten, Flash-Laufwerke oder eine beliebige Anzahl anderer Hardwareeinrichtungen, beinhalten. Das nicht transitorische, maschinenlesbare Medium 760 kann Anweisungen beinhalten, um den Prozessor 752 anzuweisen, eine spezifische Sequenz oder einen spezifischen Fluss von Handlungen durchzuführen, wie zum Beispiel in Bezug auf das eine oder die mehreren oben gezeigten Flussdiagramme und Blockschaubilder von Operationen und Funktionalität beschrieben. Wie hier verwendet, sind die Begriffe „maschinenlesbares Medium“ und „computerlesbares Medium“ austauschbar.
  • Auch können in einem spezifischen Beispiel die Anweisungen 782 auf dem Prozessor 752 (separat oder in Kombination mit den Anweisungen 782 des maschinenlesbaren Mediums 760) die Ausführung oder den Betrieb einer vertrauenswürdigen Ausführungsumgebung (TEE: Trusted Execution Environment) 790 konfigurieren. In einem Beispiel arbeitet das T-E 790 als ein geschützter Bereich, der für den Prozessor 752 zur sicheren Ausführung von Anweisungen und zum sicheren Zugriff auf Daten zugänglich ist. Verschiedene Implementierungen der TEE 790 und eines begleitenden sicheren Bereichs im Prozessor 752 oder im Speicher 754 können beispielsweise durch Verwendung von Intel® Software Guard Extensions (SGX) oder ARM® TrustZone® Hardwaresicherheitserweiterungen, Intel® Management Engine (ME) oder Intel® Converged Security Manageability Engine (CSME) bereitgestellt werden. Andere Aspekte von Sicherheitshärtung, Hardware-Root-of-Trust und vertrauenswürdigem oder geschütztem Betrieb können in der Einrichtung 750 durch die TEE 790 und den Prozessor 752 implementiert sein.
  • In weiteren Beispielen beinhaltet ein maschinenlesbares Medium auch irgendein greifbares Medium, das zum Speichern, Codieren oder Führen von Befehlen zur Ausführung durch eine Maschine imstande ist und das bewirkt, dass die Maschine beliebige einer oder mehrerer der Methodologien der vorliegenden Offenbarung durchführt, oder das zum Speichern, Codieren oder Führen von Datenstrukturen imstande ist, die von solchen Anweisungen genutzt werden oder damit assoziiert sind. Ein „maschinenlesbares Medium“ kann somit Festkörperspeicher und optische und magnetische Medien umfassen, ist jedoch nicht darauf beschränkt. Zu konkreten Beispielen für maschinenlesbare Medien zählen nichtflüchtiger Speicher, wie zum Beispiel Halbleiterspeichereinrichtungen (z.B. elektrisch programmierbarer Nur-Lese-Speicher (Electrically Programmable Read-Only Memory, EPROM), elektrisch löschbarer programmierbarer Nur-Lese-Speicher (Electrically Erasable Programmable Read-Only Memory, EEPROM)) und Flash-Speichereinrichtungen, Magnetplatten, wie zum Beispiel interne Festplatten und Wechselplatten, magnetooptische Platten und CD-ROM- und DVD-ROM-Disks. Die Anweisungen, die durch ein maschinenlesbares Medium ausgebildet sind, können ferner über ein Kommunikationsnetzwerk unter Verwendung eines Übertragungsmediums über eine Netzwerkschnittstelleneinrichtung übertragen oder empfangen werden, die ein beliebiges einer Anzahl von Übertragungsprotokollen (z.B. Hypertext Transfer Protocol (HTTP)) nutzt.
  • Ein maschinenlesbares Medium kann durch eine Speichereinrichtung oder eine andere Einrichtung bereitgestellt werden, die dazu in der Lage ist, Daten in einem nichtflüchtigen Format zu hosten. In einem Beispiel können auf einem maschinenlesbaren Medium gespeicherte oder anderweitig bereitgestellte Informationen Anweisungen repräsentieren, wie Anweisungen selbst oder ein Format, aus dem die Anweisungen abgeleitet werden können. Dieses Format, aus dem die Anweisungen abgeleitet werden können, kann Quellcode, codierte Anweisungen (z.B. in komprimierter oder verschlüsselter Form), verpackte Anweisungen (z.B. in mehrere Pakete aufgeteilt) oder dergleichen beinhalten. Die die Anweisungen darstellenden Informationen im maschinenlesbaren Medium können durch eine Verarbeitungsschaltungsanordnung in die Anweisungen zum Implementieren beliebiger der hierin erörterten Operationen verarbeitet werden. Zum Beispiel kann das Ableiten der Anweisungen aus den Informationen (z.B. Verarbeiten durch die Verarbeitungsschaltungsanordnung) Folgendes umfassen: Kompilieren (z.B. aus Quellcode, Objektcode usw.), Interpretieren, Laden, Organisieren (z.B. dynamisches oder statisches Verknüpfen), Codieren, Decodieren, Verschlüsseln, Entschlüsseln, Verpacken, Entpacken oder anderweitiges Verarbeiten der Informationen in die Anweisungen.
  • Bei einem Beispiel kann die Ableitung der Anweisungen Zusammenstellung, Kompilierung oder Interpretation der Informationen (z.B. durch die Verarbeitungsschaltungsanordnung) beinhalten, um die Anweisungen aus einem Zwischenformat oder vorverarbeiteten Format, das durch das maschinenlesbare Medium bereitgestellt wird, zu erzeugen. Wenn die Informationen in mehreren Teilen bereitgestellt werden, können sie kombiniert, entpackt und modifiziert werden, um die Anweisungen zu erzeugen. Die Informationen können sich zum Beispiel in mehreren komprimierten Quellcodepaketen (oder Objektcode oder ausführbarer Binär-Code usw.) auf einem oder mehreren Fernservern befinden. Die Quellcodepakete können verschlüsselt sein, wenn sie über ein Netzwerk übertragen werden, und können an einer lokalen Maschine falls notwendig entschlüsselt, dekomprimiert, assembliert (z.B. gelinkt) und compiliert oder interpretiert (z.B. in eine Bibliothek, selbständige ausführbare Datei usw.) werden und durch die lokale Maschine ausgeführt werden.
  • Die maschinenausführbaren Anweisungen 1200, 1300, 1400, 1500, 1600, 1700 und/oder 1800 aus 12, 13, 14, 15, 16, 17 und/oder 18 können in der Massenspeichereinrichtung 1028, im flüchtigen Speicher 1014, im nichtflüchtigen Speicher 1016 und/oder auf einem entfernbaren nicht transitorischen computerlesbaren Speichermedium wie einer CD oder DVD gespeichert sein.
  • 8 veranschaulicht einen beispielhaften funktionsbasierten Echtzeitdienst-Edge-Arbeitsablauf (z.B. Dienst-Edge-Arbeitsablauf) 800. Der beispielhafte Dienst-Edge-Arbeitsablauf 800 von 8 kann durch das Edge-Computing-System 400 von 4 implementiert werden. Der beispielhafte Dienst-Edge-Arbeitsablauf 800 zeigt eine erste Datenverarbeitungs-Pipeline (DPP) 802 und eine zweite DPP 804, die unterschiedliche Ketten von Diensten mit unterschiedlichen Netzwerkfunktionen implementieren. In manchen Beispielen sind die Netzwerkfunktionen der ersten DPP 802 und/oder der zweiten DPP 804 über einen oder mehrere Edge-Knoten (z.B. den ersten Edge-Knoten 422 und den zweiten Edge-Knoten 424 aus 4) verteilt. In dem veranschaulichten Beispiel aus 8 können sowohl die erste DPP 802 als auch die zweite DPP 804 eine mandantenspezifische Kette von Diensten bereitstellen. Zum Beispiel stellt die erste DPP 802 dem ersten Mandanten 432 aus 4 erste Dienste bereit und stellt die zweite DPP 804 dem zweiten Mandanten 434 zweite Dienste bereit.
  • Bei dem veranschaulichten Beispiel aus 8 sendet ein erster Client von den Client-Endpunkten 410 von 4 eine erste Anfrage an die erste DPP 802 und sendet ein zweiter Client von den Client-Endpunkten 410 eine zweite Anfrage an die zweite DPP 804. Als Reaktion führen der erste Edge-Knoten 422 und der zweite Edge-Knoten 424 die ersten Dienste und die zweiten Dienste basierend auf der Kette von Diensten aus, die jeweils der ersten DPP 802 und der zweiten DPP 804 entsprechen. In dem veranschaulichten Beispiel von 8 weisen die erste DPP 802 und die zweite DPP 804 erste virtuelle Netzwerkfunktionen (VNFs) 806 und zweite VNFs 808 auf. In einigen Beispielen entsprechen die ersten VNFs 806 einer Firewall VNF, die verwendet wird, um eine Sicherheitsschicht bereitzustellen und unnötigen Netzwerkverkehr entlang der Edge-Knoten 422, 424 zu verhindern. In einigen Beispielen ist jede der zweiten VNFs 808 eine vEPC- (Virtual Evolved Packet Core) VNF. In anderen Beispielen können sowohl die ersten VNFs 806 als auch die zweiten VNFs 808 ein beliebiger anderer Typ von VNF (z.B. Virusscanner, Spamschutz, Videoanalytik, Lastausgleich usw.) sein.
  • In vorliegend offenbarten Beispielen ist eine VNF ein Modul, das eine spezifische Netzwerkoperation auf niedriger Ebene (z.B. Paketverarbeitungsebene) durchführt, die zuvor in einem spezialisierten Multiprotokoll-Router in Hardware durchgeführt wurde. Insbesondere ist eine VNF ein Codestück, das üblicherweise wiederholt ausgeführt wird, wenn Pakete von einem Zubringer in die VNF fließen. Die VNF sendet dann Informationen (z.B. in Form von modifizierten und/oder abgeleiteten Paketen) an eine Nachfolger-VNF oder an eine Senke. In einigen Beispielen ist eine VNF an einer Streamingoperation beteiligt, die über einen Paketstrom durchgeführt wird, der die VNF durchläuft. In manchen Beispielen ist eine EPC- oder vEPC-VNF auf Operationen mit hohem Durchsatz und niedriger Latenz für Mobiltelekommunikation zugeschnitten. Andere beispielhafte VNFs beinhalten Lastausgleich und Autoskalierung von VNFs, DPI- (Deep Packet Inspection) VNFs, Abrechnungs- und Lade-vNFs, Encap-/Decapp-VNFs und/oder Protokollieren von VNFs. Manche beispielhafte VNFs entstehen im Kontext der Netzwerkfunktionsvirtualisierung (NFV), bei der Hardware-Netzwerkoperationen in Softwareemulationen der Hardware-Netzwerkoperationen umgewandelt werden. Die Motivation für NFV besteht darin, teure und sich langsam entwickelnde Hardware durch kostengünstige, hochelastische und sich schnell entwickelnde Kombinationen von Software, die auf schneller aber kostengünstiger Hardware läuft, zu ersetzen.
  • In dem veranschaulichten Beispiel aus 8 geht der Fluss der Datenverarbeitung für die erste DPP 802 und die zweite DPP 804 als Reaktion auf das Durchlaufen der ersten VNFs 806 und der zweiten VNFs 808 zu einem Satz von Funktionen 810 über (z.B. beispielhafte erste Funktionen 810A, beispielhafte zweite Funktionen 810B, beispielhafte dritte Funktionen 810C und beispielhafte vierte Funktionen 810D). In einigen Beispielen handelt es sich bei dem Satz von Funktionen 810 um Funktionen, die einen Strom von Bildern von dem ersten Client und dem zweiten Client der Client-Endpunkte 410 verarbeiten. Als Reaktion auf das Verarbeiten des Stroms von Bildern geht der Fluss der Datenverarbeitung für die erste DPP 802 und die zweite DPP 804 zu einer dritten VNF 812 über, bevor verarbeitete Daten zu einem oder mehreren Benutzern (z.B. dem ersten Client und/oder dem zweiten Client der Client-Endpunkte 410) zurückgegeben werden.
  • In dem veranschaulichten Beispiel von 8 können die ersten VNFs 806, die zweiten VNFs 808, die dritten VNFs 812 und der Satz von Funktionen 810 jeweils zwischen dem ersten Edge-Knoten 422 und dem zweiten Edge-Knoten 424 verteilt sein. In einigen Beispielen speichert und verwaltet das Edge-Computing-System 400 Zugriff auf einen oder mehrere Data Lakes basierend auf einer beispielhaften Edge-Architektur, die unten in Verbindung mit 9 beschrieben ist. In einigen Beispielen können einer oder mehrere der Dienste in der ersten DPP 802 und/oder der zweiten DPP 804 Daten von Data Lakes speichern und/oder abrufen, die an dem ersten Edge-Knoten 422 und/oder dem zweiten Edge-Knoten 424 gespeichert sind. Der eine oder die mehreren Dienste können während der Ausführung der ersten DPP 802 und/oder der zweiten DPP 804 auf einen Data Lake zugreifen (z.B. lesen und/oder schreiben). In manchen Beispielen steuert eine Verwaltungsinstanz (z.B. ein Edge Infrastructure Owner), welche Data Lakes und/oder Data-Lake-Regionen für jeden des einen oder der mehreren Dienste zugänglich sind.
  • 9 veranschaulicht einen Überblick über eine beispielhafte Mikro-Data-Lake-Registry-Architektur (z.B. Registry, Data Lake Registry) 900, die durch das Edge-Computing-System 400 aus 4 implementiert werden kann. Die beispielhafte Data-Lake-Registry-Architektur 900 von 9 weist eine beispielhafte erste Edge-Plattform (z.B. Edge-Knoten, Edge-Einrichtung) 902, eine beispielhafte zweite Edge-Plattform 904 und eine beispielhafte dritte Edge-Plattform 906 auf. Die beispielhafte erste Edge-Plattform 902 beinhaltet ferner einen beispielhaften Data-Lake-Verwalter 908, der in einem beispielhaften ersten Beschleuniger 910 implementiert ist und kommunikativ mit einem beispielhaften Netzwerk 911 gekoppelt ist. Die beispielhafte zweite Edge-Plattform 904 beinhaltet ferner einen beispielhaften sekundären Verwalter A 912A, eine beispielhafte Speicherung 914, die einen beispielhaften Data Lake 915 speichert, und einen beispielhaften zweiten Beschleuniger 916, der in der beispielhaften Speicherung 914 implementiert ist. Der beispielhafte Data Lake 915 weist eine beispielhafte Data-Lake-Region A (z.B. erste Data-Lake-Region) 917Aund eine beispielhafte Data-Lake-Region B (z.B. zweite Data-Lake-Region) 917B auf. Die beispielhafte dritte Edge-Plattform 906 beinhaltet ferner einen beispielhaften sekundären Verwalter B 912B, der in einer beispielhaften Netzwerkschnittstellensteuerung (NIC) 920 implementiert ist, und beinhaltet einen beispielhaften Dienst 922, der in einer beispielhaften zentralen Verarbeitungseinheit (CPU) 924 implementiert ist. In manchen Beispielen kann der Dienst 922 ein beliebiger der ersten VNFs 806, der zweiten VNFs 808, der dritten VNFs 812, eine oder mehrere des Satzes von Funktionen 810 von 8 und/oder Kombinationen davon sein.
  • Der beispielhafte Data Lake 915 beinhaltet Daten, die in der Data-Lake-Region A 917A und der Data-Lake-Region B 917B gespeichert sind. In dem veranschaulichten Beispiel sind sowohl die Data-Lake-Region A 917A als auch die Data-Lake-Region B 917B in der zweiten Edge-Plattform 904 gespeichert. In anderen Beispielen können die Data-Lake-Region A 917A und die Data-Lake-Region B 917B auf unterschiedlichen Edge-Plattformen gespeichert sein. Auf jede Data-Lake-Region in dem veranschaulichten Beispiel (z.B. die Data-Lake-Region A 917A und die Data-Lake-Region B 917B) kann durch einen entsprechenden Satz von Diensten zugegriffen werden, wobei der entsprechende Satz von Diensten durch den beispielhaften sekundären Verwalter A 912A dynamisch modifiziert werden kann (z.B. als Reaktion auf eine Anfrage durch den beispielhaften Data-Lake-Verwalter 908).
  • Der beispielhafte Data Lake 915 kann modifiziert werden, indem die Data-Lake-Regionen (z.B. die Data-Lake-Region A 917A und die Data-Lake-Region B 917B) innerhalb des Data Lake 915 erzeugt, entfernt, erweitert und/oder kontrahiert werden. In einigen Beispielen kann jede Data-Lake-Region ferner in kleinere Data-Lake-Regionen unterteilt sein. Falls zum Beispiel der beispielhafte Dienst 922 der dritten Edge-Plattform 906 autorisiert ist, auf nur einen Teil von Daten in der Data-Lake-Region A 917A zuzugreifen, kann der Data-Lake-Verwalter 908 die Data-Lake-Region A 917A in eine erste Region, die den Teil der Daten beinhaltet, und eine zweite Region, die verbleibende Daten aus der Data-Lake-Region A 917A beinhaltet, unterteilen. Von daher kann der Data-Lake-Verwalter 908 eine Granularität von Daten, die in dem Data Lake 915 gespeichert sind, steuern, um sicherzustellen, dass Zugriff auf die Daten nur für jene Instanzen (z.B. die beispielhafte dritte Edge-Plattform 906) verfügbar ist, die eine Erlaubnis zum Zugreifen auf die Daten aufweisen.
  • In dem veranschaulichten Beispiel von 9 implementiert die erste Edge-Plattform 902 den Data-Lake-Verwalter 908 zum Verwalten der Erzeugung, Modifikation und/oder Entfernung eines oder mehrerer Data Lakes (z.B. des Data Lake 915) und/oder Data-Lake-Regionen (z.B. der Data-Lake-Region A 917A und der Data-Lake-Region B 917B), die in der Data-Lake-Registry-Architektur 900 gespeichert sind. Ferner kann der beispielhafte Data-Lake-Verwalter 908 einen Dienst mit Zugriff auf den Data Lake 915 und/oder eine Region des Data Lake 915 (z.B. die Data-Lake-Region A 917A und/oder die Data-Lake-Region B 917B) hinzufügen und/oder entfernen. Der Data-Lake-Verwalter 908 wird über eine beispielhafte Data-Lake-Verwalter-Logik 926 gesteuert. Die Data-Lake-Verwalter-Logik 926 weist ferner eine beispielhafte Schlüsselerzeugungslogik 928, beispielhafte Data-Lake-Region-Operationen 930, beispielhafte erste Schnittstellen 932 und eine beispielhafte Data-Lake-Tabelle 934 auf.
  • Jeder Eintrag der Data-Lake-Tabelle 934 entspricht einer eindeutigen Data-Lake-Region (z.B. der Data-Lake-Region A 917A und/oder der Data-Lake-Region B 917B) in der Data-Lake-Registry-Architektur 900. Ein beispielhafter Eintrag der Data-Lake-Tabelle 934 weist eine beispielhafte Data-Lake-Region-ID 936, eine beispielhafte Dienst-ID 937, einen beispielhaften Schlüssel 938, beispielhafte Data-Lake-Speicherknoten 940 und einen beispielhaften Adressbereich 942 auf. Die beispielhafte Data-Lake-Region-ID 936 identifiziert eine spezielle Data-Lake-Region (z.B. die Data-Lake-Region A 917B oder die Data-Lake-Region B 917B) für den Data-Lake-Verwalter 908 und/oder einen beliebigen der anderen sekundären Data-Lake-Verwalter (z.B. den sekundären Verwalter A 912A, den sekundären Verwalter B 912B usw.). Die beispielhaften Dienst-IDs 937 identifizieren einen oder mehrere Dienste, die autorisiert sind, auf eine oder mehrere bestimmte Data-Lake-Regionen zuzugreifen. Der beispielhafte Schlüssel 938 beinhaltet einen Verschlüsselungsschlüssel, der zum Verschlüsseln und/oder Entschlüsseln von Daten in den speziellen Data-Lake-Regionen verwendet wird. Die beispielhaften Data-Lake-Speicherknoten 940 identifizieren die eine oder die mehreren Edge-Einrichtungen (z.B. die erste Edge-Plattform 902, die zweite Edge-Plattform 904 und/oder die dritte Edge-Plattform 906), die die Data-Lake-Region oder einen Teil der Data-Lake-Region speichern. Der beispielhafte Adressbereich 942 identifiziert einen Ort innerhalb der Edge-Einrichtungen, in dem die Data-Lake-Region gespeichert ist. In einigen Beispielen beinhaltet der beispielhafte Adressbereich 942 einen ersten Adressbereich innerhalb einer ersten Edge-Einrichtung und einen zweiten Adressbereich innerhalb einer zweiten Edge-Einrichtung.
  • Die beispielhafte erste Edge-Plattform 902 kann über die ersten Schnittstellen 932 mit der zweiten Edge-Plattform 904 und/oder der dritten Edge-Plattform 906 kommunizieren. Ferner kann der Data-Lake-Verwalter 908 eine Anfrage von einem beispielhaften Edge-Infrastruktur-Inhaber (EIO: Edge Infrastructure Owner) 935 über das Netzwerk 911 empfangen. Der EIO 935 kann ein Dienst sein, der Lebenszyklusverwaltungsoperationen durchführt und die Data Lakes und/oder Data-Lake-Regionen der Data-Lake-Registry-Architektur 900 verwaltet. Als Reaktion auf das Empfangen und/oder anderweitige Abrufen einer Anfrage von dem EIO 935 führt der Data-Lake-Verwalter 908 die Data-Lake-Region-Operationen 930 aus, um einen oder mehrere Data Lakes (z.B. den Data Lake 915) und/oder eine oder mehrere Data-Lake-Regionen (z.B. die Data-Lake-Region A 917A und/oder die Data-Lake-Region B 917B) in der Data-Lake-Registry-Architektur 900 zu erzeugen, zu modifizieren oder zu entfernen. In einigen Beispielen führt der Data-Lake-Verwalter 908 als Reaktion auf das Empfangen der Anfrage die Data-Lake-Region-Operationen 930 aus, um einen Dienst (z.B. den Dienst 922) zu einer Data-Lake-Region hinzuzufügen oder von dieser zu entfernen. In einigen Beispielen ist der Data-Lake-Verwalter 908 nicht innerhalb eines Beschleunigers (z.B. des Beschleunigers 910) implementiert. In solchen Beispielen kann der Data-Lake-Verwalter 908 stattdessen vollständig in Software implementiert und durch Allzweck-CPUs ausgeführt werden.
  • In dem veranschaulichten Beispiel von 9 implementiert die zweite Edge-Plattform 904 den sekundären Verwalter A 912A, um den Data Lake 915 zu speichern und zu verwalten. Der sekundäre Verwalter A 912A führt eine beispielhafte erste Data-Lake-Multi-Mandanten-Logik (z.B. erste Mandantenlogik) 944A aus, die einen beispielhaften ersten Teil 934A der Data-Lake-Tabelle 934, beispielhafte zweite Schnittstellen A 948A und beispielhafte erste Registrierungslogik 950A beinhaltet. Der erste Teil 934A beinhaltet Einträge der Data-Lake-Tabelle 934, die einer oder mehreren Data-Lake-Regionen entsprechen, die in der zweiten Edge-Plattform 904 gespeichert sind. Zum Beispiel kann der erste Teil 934A der Data-Lake-Tabelle 934 die Data-Lake-Region-IDs 936, die Dienst-IDs 937, die Schlüssel 938 und die Adressbereiche 942 beinhalten, die jeweils der Data-Lake-Region A 917 A und der Data-Lake-Region B 917B entsprechen. Die zweite Edge-Plattform 904 kann über die zweiten Schnittstellen A 948A mit der ersten Edge-Plattform 902 und/oder der dritten Edge-Plattform 906 kommunizieren.
  • In dem veranschaulichten Beispiel von 9 implementiert die dritte Edge-Plattform 906 den sekundären Verwalter B 912B, um den Zugriff auf den Data Lake 915 durch einen oder mehrere Dienste (z.B. den Dienst 922) in der Data-Lake-Registry-Architektur 900 zu verwalten. Der zweite Verwalter B 912B führt eine beispielhafte zweite Data-Lake-Multi-Mandanten-Logik (z.B. zweite Mandantenlogik) 944B aus, die einen beispielhaften zweiten Teil 934B der Data-Lake-Tabelle 934, beispielhafte zweite Schnittstellen B 948B und beispielhafte zweite Registrierungslogik 950B beinhaltet. Der sekundäre Verwalter B 912B ist in der NIC 920 implementiert, die in einigen Beispielen eine intelligente NIC sein kann. In solchen Beispielen kann die NIC 920 als ein Beschleuniger zum Erhöhen der Geschwindigkeit eines oder mehrerer Netzwerkprotokolle fungieren, erweiterte Datenverarbeitung bereitstellen und/oder Bestätigungen in einen Zugriffsstrom durch den Dienst 922 einfügen. Die dritte Edge-Plattform 906 kann über die zweiten Schnittstellen B 948B mit der ersten Edge-Plattform 902 und/oder der zweiten Edge-Plattform 904 kommunizieren.
  • In hier offenbarten Beispielen wird/werden der beispielhafte Data-Lake-Verwalter 908, der beispielhafte sekundäre Verwalter A 912A und/oder der beispielhafte sekundäre Verwalter B 912B durch eine Logikschaltung, wie etwa zum Beispiel einen Hardwareprozessor, implementiert. Zusätzlich oder alternativ dazu kann jedoch eine beliebige andere Art von Schaltkreis verwendet werden, wie etwa zum Beispiel eine oder mehrere analoge oder digitale Schaltungen, Logikschaltungen, ein oder mehrere programmierbare Prozessoren, eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASIC(s)), eine oder mehrere programmierbare Logikvorrichtungen (PLD(s)), eine oder mehrere frei programmierbare Logikvorrichtungen (FPLD(s)), ein oder mehrere Digitalsignalprozessoren (DSP(s), Grafikverarbeitungseinheiten (GPUs) usw.
  • 10 veranschaulicht ein Blockschaubild des Data-Lake-Verwalters 908, der durch die Data-Lake-Registry-Architektur 900 aus 9 implementiert wird. Das veranschaulichte Beispiel aus 10 veranschaulicht jedoch auch ein Blockschaubild einer beliebigen Anzahl von jeweiligen Data-Lake-Verwaltern, die an der beispielhaften Data-Lake-Registry-Architektur 900 aus 9 teilnehmen (z.B. der beispielhafte sekundäre Verwalter A 912A, der beispielhafte sekundäre Verwalter B 912B usw.). Alternativ dazu können der beispielhafte sekundäre Verwalter A 912A und/oder der beispielhafte sekundäre Verwalter B 912B durch das unten ausführlicher beschriebene veranschaulichte Beispiel aus 11 repräsentiert und/oder anderweitig implementiert werden. Der Data-Lake-Verwalter 908 weist einen beispielhaften Anfrageanalysierer 1000, einen beispielhaften Standortselektor 1002, einen beispielhaften Dienstautorisierer 1004, einen beispielhaften Schlüsselgenerator 1006, einen beispielhaften Schlüsselverteiler 1008, eine beispielhafte Timing-Steuerung 1010, eine beispielhafte Data-Lake-Tabellensteuerung 1012, die mit der Data-Lake-Tabelle 934 aus 9 gekoppelt ist, und einen beispielhaften Anweisungssender 1014 auf. In einigen Beispielen implementiert der Anfrageanalysierer 1000 Mittel zum Analysieren von Anfragen (manchmal als Anfrageanalysemittel bezeichnet). In einigen Beispielen implementiert der Standortselektor 1002 Mittel zum Auswählen eines Standorts (manchmal als ein Standortauswahlmittel bezeichnet). In einigen Beispielen implementiert der Dienstautorisierer 1004 Mittel zum Autorisieren eines Dienstes (manchmal als Dienstautorisierungsmittel bezeichnet). In einigen Beispielen implementiert der Schlüsselgenerator 1006 Mittel zum Erzeugen von Schlüsseln (manchmal als Schlüsselerzeugungsmittel bezeichnet). In einigen Beispielen implementiert der Schlüsselverteiler 1008 Mittel zum Verteilen von Schlüsseln (manchmal als Schlüsselverteilungsmittel bezeichnet). In einigen Beispielen implementiert die Timing-Steuerung 1010 Mittel zum Steuern eines Timings (manchmal als ein Timing-Steuermittel bezeichnet). In einigen Beispielen implementiert die Data-Lake-Tabellensteuerung 1012 Mittel zum Steuern einer Data-Lake-Tabelle (manchmal als Data-Lake-Tabellensteuermittel bezeichnet).
  • Der beispielhafte Anfrageanalysierer 1000 aus 10 empfängt und/oder ruft anderweitig eine Anfrage von dem EIO 935 aus 9 ab und bestimmt einen Typ der Anfrage. Beispielsweise bestimmt der Anfrageanalysierer 1000, ob die Anfrage darin besteht, einen Data Lake und/oder eine Data-Lake-Region hinzuzufügen, einen Data Lake und/oder eine Data-Lake-Region zu entfernen, einen Data Lake und/oder eine Data-Lake-Region zu modifizieren, einen Dienst zu der Data-Lake-Registry-Architektur 900 hinzuzufügen und/oder einen Dienst aus der Data-Lake-Registry-Architektur 900 zu entfernen. Als Reaktion auf das Bestimmen des Anfragetyps ruft und/oder weist der Anfrageanalysierer 1000 den Standortselektor 1002 und/oder den Dienstautorisierer 1004 und/oder den Schlüsselgenerator 1006 und/oder den Schlüsselverteiler 1008 und/oder die Timing-Steuerung 1010 und/oder die Data-Lake-Tabellensteuerung 1012 und/oder den Anweisungssender 1014 auf, die Anfrage auszuführen, wie unten ausführlicher beschrieben ist. Zusätzlich oder alternativ dazu kann der Anfrageanalysierer 1000 die Anfrage von einem Dienst (z.B. dem Dienst 922) und/oder von einer Edge-Plattform (z.B. der zweiten Edge-Plattform 904 und/oder der dritten Edge-Plattform 906) der Data-Lake-Registry-Architektur 900 empfangen.
  • Der Standortselektor 1002 wählt einen Standort eines Data Lakes (z.B. des Data Lake 915 aus 9) und/oder einer Data-Lake-Region (z.B. der Data-Lake-Region A 917A und/oder der Data-Lake-Region B 917B aus 9) unter einem oder mehreren Edge-Speicherstandorten (z.B. der ersten Edge-Plattform 902, der zweiten Edge-Plattform 904 und/oder der dritten Edge-Plattform 906 aus 9) aus. Als Reaktion darauf, dass der Anfrageanalysierer 1000 eine Anfrage von dem EIO 935 empfängt, eine neue Data-Lake-Region zu erzeugen, wählt der Standortselektor 1002 zum Beispiel einen oder mehrere der Data-Lake-Speicherknoten 940 aus, um die neue Data-Lake-Region zu speichern, und wählt ferner einen oder mehrere Adressbereiche 942 innerhalb der ausgewählten Data-Lake-Speicherknoten 940 aus. Der Standortselektor 1002 wählt zudem einen neuen Standort für eine existierenden Data-Lake-Region als Reaktion auf eine Anfrage von dem EIO 935 aus, die existierende Data-Lake-Region zu erweitern oder zu kontrahieren. In einigen Beispielen wählt der Standortselektor 1002 den Standort basierend auf Kriterien (z.B. Größe des Data Lake und/oder der Data-Lake-Region) aus, die in der Anfrage eingebettet sind.
  • In einigen Beispielen wird ein Standort eines Data Lake und/oder einer Data-Lake-Region basierend auf dem Typ der durchgeführten Anfrage- oder Abfrageverarbeitung bestimmt, wobei die Anfrage oder Abfrage den einen oder die mehreren Teile von Daten identifiziert, auf die zugegriffen werden muss. In einigen Beispielen entspricht eine Anfrage einem Teilnehmer, der sich in Frankreich befindet, und die Abfrage stammt aus Deutschland. Bei einem solchen Beispiel wird während des Prozesses des Durchführens der Abfrage der Teilnehmer als in Frankreich befindlich identifiziert und ein Teilnehmerdatensatz, der dem Teilnehmer entspricht, beinhaltet eine Regionen-ID für Frankreich. Von daher kann ein erster Data Lake in Frankreich basierend auf der Regionen-ID ausgewählt werden. Alternativ dazu kann für Beispiele, bei denen der Teilnehmerdatensatz lokal in einem zweiten Data Lake in Deutschland zwischengespeichert wird, der näher an dem Ort liegt, von dem die Abfrage stammt, der zweite Data Lake anstelle des ersten Data Lake ausgewählt werden. In anderen Beispielen werden Standorte von Data Lakes und/oder Data-Lake-Regionen basierend auf geopolitischen Faktoren ausgewählt (z.B. werden die Standorte aus einer Liste von Ländern ausgewählt, in denen es keine Abkommen zur gemeinsamen Nutzung von Informationen gibt). In einigen anderen Beispielen werden die Standorte basierend auf Zugang zu kostengünstigen Hosting-Standorten, Zugang zu kostengünstiger Leistung und Verfügbarkeit außerhalb der Spitzenzeit ausgewählt.
  • Der beispielhafte Dienstautorisierer 1004 bestimmt, ob ein Dienst (z.B. der Dienst 922 aus 9) autorisiert ist, auf eine oder mehrere der ausgewählten Data-Lake-Regionen (z.B. die Data-Lake-Region A 917A und/oder die Data-Lake-Region B 917B) in der Data-Lake-Registry-Architektur 900 zuzugreifen. Zum Beispiel bestimmt der Dienstautorisierer 1004, ob der Dienst 922 autorisiert ist, auf Grundlage von Bestätigungen, die durch die NIC 920 aus 9 eingefügt werden. In einigen Beispielen stellt der Dienstautorisierer 1004 einen Beleg (z.B. einen RFC8366-Beleg) bereit, um den Dienst 922 als eine autorisierte Instanz in der Data-Lake-Registry-Architektur 900 zu registrieren. In einigen Beispielen bestimmt der Dienstautorisierer 1004, auf welche der Data-Lake-Regionen der Dienst 922 autorisiert ist zuzugreifen, und die Zugriffsebene, die für jede der Data-Lake-Regionen gewährt wird. Zum Beispiel kann der Dienstautorisierer 1004 bestimmen, ob der Dienst 922 die Data-Lake-Region A 917A und/oder die Data-Lake-Region B 917B lesen und/oder modifizieren und/oder schreiben kann.
  • Der beispielhafte Schlüsselgenerator 1006 erzeugt Schlüssel zum Zugreifen auf eine oder mehrere Data-Lake-Regionen (z.B. die Data-Lake-Region A 917A und/oder die Data-Lake-Region B 917B) der Data-Lake-Registry-Architektur 900. In einigen Beispielen führt der Schlüsselgenerator 1006 aus 10 die Schlüsselerzeugungslogik 928 aus 9 aus, um einen regionsspezifischen symmetrischen Datenverschlüsselungsschlüssel (z.B. RDEK, Verschlüsselungsschlüssel) zu erzeugen, der jeder angefragten Data-Lake-Region entspricht. In einigen Beispielen erzeugt der Schlüsselgenerator 1006 eine RDEK als Reaktion auf die Erzeugung einer neuen Data-Lake-Region. Als Reaktion darauf, dass der Data-Lake-Verwalter 908 den Data Lake 915 aus 9 erzeugt, erzeugt der Schlüsselgenerator 1006 eine eindeutige RDEK, die jeder Data-Lake-Region entspricht, die in dem Data Lake 915 enthalten ist. Zum Beispiel erzeugt der Schlüsselgenerator 1006 einen ersten RDEK für die Data-Lake-Region A 917A und einen zweiten RDEK für die Data-Lake-Region B 917B, wobei sich der zweite RDEK vom ersten RDEK unterscheidet. Der Schlüsselgenerator 1006 kann auch einen neuen RDEK erzeugen, der der Data-Lake-Region A 917A und/oder der Data-Lake-Region B 917B entspricht, wenn der Dienst 922 entfernt wird. Zum Beispiel gewährleistet und/oder verwaltet der Schlüsselgenerator 1006 einen ordnungsgemäßen Zugriff auf einen oder mehrere Data Lakes und/oder eine Data-Lake-Region. Von daher kann, während der Dienst 922 autorisiert sein kann, auf eine bestimmte Data-Lake-Region zuzugreifen, ein solcher Zugriff als Reaktion darauf, dass der Dienst 922 keinen Zugriff mehr auf die Data-Lake-Region benötigt, widerrufen werden.
  • Zusätzlich dazu kann der Schlüsselgenerator 1006 einen noch feineren Grad an granulärer Steuerung der Data Lakes und/oder Data-Lake-Regionen ermöglichen, indem er einen mandantenspezifischen asymmetrischen Schlüsselverpackungsschlüssel (KWK, key wrapping key) für jeden Mandanten (z.B. den ersten Mandanten 232 und/oder den zweiten Mandanten 234 aus 2) erzeugt, der an der Data-Lake-Registry-Architektur 900 teilnimmt. In solchen Beispielen werden RDEKs unter Verwendung des entsprechenden KWK verpackt, um die RDEKs vor Verwendung durch nicht autorisierte Instanzen während der Bereitstellung und Speicherung der RDEKs zu schützen. In einigen Beispielen können KWKs an eine vertrauenswürdige Ausführungsumgebung (TEE) gebunden sein, wie etwa Trusted Domain Extensions (TDX), Software Guard Extensions (SGX) oder Root of Trust (z.B. DICE), so dass die RDEKs nur sichtbar sind, während sie sich innerhalb der TEE befinden. Edge-Einrichtungen können zum Beispiel Beschleuniger (z.B. den ersten Beschleuniger 910 und/oder den zweiten Beschleuniger 916 aus 9) innerhalb einer gehärteten Umgebung implementieren, um die Exposition der RDEKs gegenüber potentiellen Angreifern mit physischem Besitz der Edge-Einrichtungen zu reduzieren.
  • In einigen Beispielen kann der Schlüsselgenerator 1006 einen Ausgangswert erzeugen, der für eine Data-Lake-Region spezifisch ist. In solchen Beispielen wird der Ausgangswert verwendet, um einen RDEK abzuleiten, der für die Edge-Einrichtung spezifisch ist, auf der die Data-Lake-Region gespeichert ist. Der für die Edge-Einrichtung spezifische RDEK kann zum Ver-und/oder Entschlüsseln von Daten lokal auf der Edge-Einrichtung verwendet werden. In manchen Beispielen kann der Ausgangswert in manipulationssicherer Hardware der Edge-Einrichtung gespeichert werden, wie etwa einer physischen unklonbaren Funktion (PUF), um eine Exposition des Ausgangswerts als Reaktion auf einen physischen Angriff zu verhindern. Zusätzlich oder alternativ können Kopien von Daten, die in einer Data-Lake-Region gespeichert sind, an einem zweiten Standort (z.B. zweite Edge-Einrichtung oder zweite Data-Lake-Region) gespeichert werden, um sicherzustellen, dass die Daten im Fall eines physischen Angriffs auf die Edge-Einrichtung für Dienste zugänglich bleiben.
  • In einigen Beispielen erzeugt der Schlüsselgenerator 1006 einen homomorphen Verschlüsselungsschlüssel, der einer Data-Lake-Region (z.B. der Data-Lake-Region A 917A und/oder der Data-Lake-Region B 917B) entspricht. In solchen Beispielen greift ein Dienst (z.B. der Dienst 922) mit dem homomorphen Verschlüsselungsschlüssel zu und/oder führt Berechnungen mit Daten der Data-Lake-Region durch. Beispielsweise kann der Dienst 922 mit dem homomorphen Verschlüsselungsschlüssel Berechnungen an verschlüsselten Daten durchführen, ohne die Daten zuvor unter Verwendung eines RDEK zu entschlüsseln. In einigen solchen Beispielen werden resultierende Berechnungen an den Daten ebenfalls verschlüsselt. Für Beispiele, bei denen der Dienst 922 teilweisen Zugriff (z.B. nur homomorphen Zugriff) auf die Data-Lake-Region hat, wird dem Dienst 922 der homomorphe Verschlüsselungsschlüssel bereitgestellt. In solchen Beispielen kann der Dienst 922 Daten unter Verwendung des homomorphen Verschlüsselungsschlüssels entschlüsseln, entschlüsselt aber die Daten zum Lesen oder Schreiben in die Data-Lake-Region nicht vollständig. Insbesondere greift der beispielhafte Dienst 922 nur auf bestimmte Teile der Daten, bestimmte Werte der Daten und/oder verschlüsselte Daten aus der Data-Lake-Region zu. Alternativ dazu wird in Beispielen, in denen der Dienst 922 vollständigen Zugriff (z.B. lesen und/oder schreiben kann) auf die Data-Lake-Region hat, dem Dienst 922 sowohl der homomorphe Verschlüsselungsschlüssel als auch der RDEK, der der Data-Lake-Region entspricht, bereitgestellt. Von daher entschlüsselt der Dienst 922 die Daten aus der Data-Lake-Region zweimal, zuerst unter Verwendung des homomorphen Verschlüsselungsschlüssels, dann unter Verwendung des RDEK.
  • Der beispielhafte Schlüsselverteiler 1008 verteilt Schlüssel, die durch den Schlüsselgenerator 1006 erzeugt werden, an den einen oder die mehreren Edge-Speicherstandorte (z.B. die erste Edge-Plattform 902, die zweite Edge-Plattform 904 und/oder die dritte Edge-Plattform 906) der Data-Lake-Registry-Architektur 900. Für Beispiele, in denen der Dienst 922 autorisiert ist, auf die Data-Lake-Region A 917A zuzugreifen, sendet der Schlüsselverteiler 1008 als Reaktion darauf, dass der Schlüsselgenerator 1006 einen neuen RDEK für die Data-Lake-Region A 917A erzeugt, den neuen RDEK an die Edge-Einrichtung, die den Dienst 922 hostet (z.B. die dritte Edge-Plattform 906). Zusätzlich sendet der Schlüsselverteiler 1008 in solchen Beispielen den neuen RDEK an die zweite Edge-Plattform 904, die die Data-Lake-Region A 917A speichert, zur Verwendung durch den sekundären Verwalter A 912A zum Verschlüsseln und/oder Entschlüsseln von Daten der Data-Lake-Region A 917A. In einigen Beispielen bestimmt der Schlüsselverteiler 1008 als Reaktion darauf, dass ein neuer Dienst zu der Data-Lake-Registry-Architektur 900 hinzugefügt wird, einen Satz von RDEKs, die den Data-Lake-Regionen entsprechen, die für den neuen Dienst zugänglich sind, verpackt dann den Satz von RDEKs unter Verwendung eines KWK, der für den neuen Dienst durch den Schlüsselgenerator 1006 erzeugt wird. Der Schlüsselverteiler 1008 sendet sowohl den verpackten Satz von RDEKs als auch den KWK an die Edge-Einrichtung, die den neuen Dienst hostet. Zusätzlich oder alternativ dazu kann der Schlüsselverteiler 1008 einen homomorphen Verschlüsselungsschlüssel, der der Data-Lake-Region A 917A entspricht, an die Edge-Einrichtung, die den Dienst 922 hostet, und/oder an die zweite Edge-Plattform 904, die die Data-Lake-Region A 917A speichert, senden.
  • Die beispielhafte Timing-Steuerung 1010 bestimmt eine Dauer für eine oder mehrere Data-Lake-Regionen (z.B. die Data-Lake-Region A 917A und/oder die Data-Lake-Region B 917B) in der Data-Lake-Registry-Architektur 900. Zum Beispiel bestimmt die Timing-Steuerung 1010 eine Zeitdauer, die seit der Erzeugung der Data-Lake-Region A 917A verstrichen ist. Als Reaktion auf das Bestimmen, dass die Zeitdauer eine Schwellendauer überschreitet, die der Data-Lake-Region A 917A entspricht, bestimmt die Timing-Steuerung 1010, dass die Data-Lake-Region A 917A abgelaufen ist. Als Reaktion darauf, dass die Timing-Steuerung 1010 bestimmt, dass die Data-Lake-Region A 917A abgelaufen ist, kann der Data-Lake-Verwalter 908 verschiedene Maßnahmen ergreifen, um Data-Lake-Integrität und/oder -Sicherheit sicherzustellen, wie etwa Entfernen der Data-Lake-Region A 917A aus der Data-Lake-Registry-Architektur 900 über den in Verbindung mit 14 unten beschriebenen Prozess. In manchen Beispielen kann jede der Data-Lake-Regionen (z.B. die Data-Lake-Region A 917A und/oder die Data-Lake-Region B 917B) in der Data-Lake-Registry-Architektur 900 eine unterschiedliche Dauer (z.B. Schwellendauerwert) aufweisen. In anderen Beispielen kann die Data-Lake-Region A 917A eine unbestimmte Dauer aufweisen (z.B. wird die Data-Lake-Region A 917A nicht nach einer vorbestimmten Dauer entfernt). In solchen Beispielen kann die Timing-Steuerung 1010 die Data-Lake-Region A 917A aus der Data-Lake-Registry-Architektur 900 als Reaktion darauf entfernen, dass der Anfrageanalysierer 1000 eine Anfrage von dem EIO 935 empfängt.
  • Die beispielhafte Data-Lake-Tabellensteuerung 1012 erzeugt, entfernt und/oder modifiziert Einträge der Data-Lake-Tabelle 934. Als Reaktion darauf, dass der Anfrageanalysierer 1000 eine Anfrage von dem EIO 935 empfängt, eine neue Data-Lake-Region zu erzeugen, erzeugt die Data-Lake-Tabellensteuerung 1012 zum Beispiel einen neuen Eintrag mit Parametern, die der neuen Data-Lake-Region entsprechen. Die Parameter beinhalten unter anderem eine Data-Lake-Region-ID 936, einen Schlüssel 938 (z.B. RDEK und/oder homomorphen Verschlüsselungsschlüssel), der der neuen Data-Lake-Region entspricht, einen Standort der neuen Data-Lake-Region (z.B. ein oder mehrere Data-Lake-Speicherknoten 940 und Adressbereich 942) und Dienst-IDs 937, die Diensten mit Zugriff auf die neue Data-Lake-Region entsprechen. Alternativ kann die Data-Lake-Tabellensteuerung 1012 einen Eintrag aus der Data-Lake-Tabelle 934 als Reaktion darauf löschen, dass der Anfrageanalysierer 1000 eine Anfrage von dem EIO 935 empfängt, eine Data-Lake-Region zu entfernen. In einigen Beispielen kann die Data-Lake-Tabellensteuerung 1012 einen Eintrag in der Data-Lake-Tabelle 934 als Reaktion darauf modifizieren, dass ein Dienst zu einer Data-Lake-Region hinzugefügt oder aus dieser entfernt wird. Als Reaktion darauf, dass ein neuer Dienst zu der Data-Lake-Region A 917 A hinzugefügt wird, kann die Data-Lake-Tabellensteuerung 1012 zum Beispiel eine Dienst-ID 937 des neuen Dienstes zu dem Eintrag hinzufügen, der der Data-Lake-Region A 917A entspricht. Alternativ kann die Data-Lake-Tabellensteuerung 1012 als Reaktion darauf, dass ein abgelaufener Dienst aus der Data-Lake-Region A 917A entfernt wird, die Dienst-ID 937 des abgelaufenen Dienstes aus dem Eintrag entfernen. Die Data-Lake-Tabellensteuerung 1012 kann auch Einträge als Reaktion darauf modifizieren, dass der Schlüsselgenerator 1006 einen neuen RDEK für die Data-Lake-Region A 917A erzeugt, und/oder als Reaktion darauf, dass der Standortselektor 1002 einen Speicherort der Data-Lake-Region A 917A modifiziert (z.B. erweitert oder kontrahiert).
  • In manchen Beispielen kann die Data-Lake-Tabellensteuerung 1012 als Reaktion auf das Erzeugen, Entfernen und/oder Modifizieren eines oder mehrerer Einträge der Data-Lake-Tabelle 934 die Data-Lake-Tabelle 934 oder einen Teil der Data-Lake-Tabelle 934 zu jeder Edge-Plattform in der Data-Lake-Registry-Architektur 900 weiterleiten. Zusätzlich oder alternativ dazu kann die Data-Lake-Tabellensteuerung 1012 dazu konfiguriert und/oder anderweitig strukturiert sein, die Data-Lake-Tabelle 934 oder einen Teil der Data-Lake-Tabelle 934 periodisch (z.B. stündlich, täglich usw.) weiterzuleiten.
  • Der beispielhafte Anweisungssender 1014 überträgt Anweisungen und/oder Informationen an den sekundären Verwalter A 912A der zweiten Edge-Plattform 904 und/oder an den sekundären Verwalter B 912B der dritten Edge-Plattform 906. Als Reaktion darauf, dass der Anfrageanalysierer 1000 eine Anfrage von dem EIO 935 empfängt, die Data-Lake-Region A 917 A zu erzeugen, sendet der Anweisungssender 1014 Anweisungen an den sekundären Verwalter A 912A, Daten in der Data-Lake-Region A 917 A unter Verwendung eines entsprechenden RDEK, der durch den Schlüsselgenerator 1006 erzeugt wird, zu verschlüsseln. In anderen Beispielen sendet der Anweisungssender 1014 als Reaktion darauf, dass die Timing-Steuerung 1010 bestimmt, dass die Data-Lake-Region A 917A abgelaufen ist, Anweisungen an den zweiten Verwalter A 912A, Daten in der Data-Lake-Region A 917A zu entfernen und/oder zu löschen. In einigen Beispielen sendet der Anweisungssender 1014 als Reaktion darauf, dass der Anfrageanalysierer 1000 eine Anfrage von dem EIO 935 empfängt, einen Dienst (z.B. den Dienst 922) aus der Data-Lake-Region A 917A zu entfernen, Anweisungen an den zweiten Verwalter A 912A, Daten aus der Data-Lake-Region A 917A unter Verwendung eines aktuellen RDEK zu entschlüsseln und die Daten unter Verwendung eines neuen RDEK, der durch den Schlüsselverteiler 1008 verteilt wird, zu verschlüsseln. In anderen Beispielen kann der Anweisungssender 1014 den sekundären Verwalter A 917A und/oder den sekundären Verwalter B 917B anweisen, den Zugriff auf eine Data-Lake-Region vorübergehend auszusetzen und/oder Daten der Data-Lake-Region zu verschlüsseln oder zu entschlüsseln und/oder die Data-Lake-Tabelle 934, die in der zweiten Edge-Plattform 904 und/oder der dritten Edge-Plattform 906 gespeichert ist, zu aktualisieren.
  • Obwohl eine beispielhafte Art und Weise des Implementierens des Data-Lake-Verwalters 908 aus 9 in 10 veranschaulicht ist, können eines oder mehrere der in 10 veranschaulichten Elemente, Prozesse und/oder Einrichtungen kombiniert, geteilt, umgeordnet, weggelassen, eliminiert und/oder auf eine beliebige andere Weise implementiert werden. Ferner können der beispielhafte Anfrageanalysierer 1000, der beispielhafte Standortselektor 1002, der beispielhafte Dienstautorisierer 1004, der beispielhafte Schlüsselgenerator 1006, der beispielhafte Schlüsselverteiler 1008, die beispielhafte Timing-Steuerung 1010, die beispielhafte Data-Lake-Tabellensteuerung 1012, der beispielhafte Anweisungssender 1014 und/oder allgemeiner der beispielhafte Data-Lake-Verwalter 908 aus 10 durch Hardware, Software, Firmware und/oder eine beliebige Kombination von Hardware, Software und/oder Firmware implementiert werden. Somit könnten beispielsweise beliebige des beispielhaften Anfrageanalysierers 1000, des beispielhaften Standortselektors 1002, des beispielhaften Dienstautorisierers 1004, des beispielhaften Schlüsselgenerators 1006, des beispielhaften Schlüsselverteilers 1008, der beispielhaften Timing-Steuerung 1010, der beispielhaften Data-Lake-Tabellensteuerung 1012, des beispielhaften Anweisungssenders 1014 und/oder allgemeiner des beispielhaften Data-Lake-Verwalters 908 durch eine oder mehrere analoge oder digitale Schaltung(en), Logikschaltungen, programmierbare Prozessor(en), programmierbare Steuerung(en), Grafikverarbeitungseinheit(en) (GPU(s)), digitale Signalprozessor(en) (DSP(s)), anwendungsspezifische integrierte Schaltung(en) (ASIC(s)), programmierbare Logikeinrichtung(en) (PLD(s)) und/oder frei programmierbare Logikeinrichtung(en) (FPLD(s)) implementiert werden. Wenn beliebige der Vorrichtungs- oder Systemansprüche dieses Patents so gelesen werden, dass sie eine reine Software- und/oder Firmware-Implementierung abdecken, wird der beispielhafte Anfrageanalysierer 1000 und/oder der beispielhafte Standortselektor 1002 und/oder der beispielhafte Dienstautorisierer 1004 und/oder der beispielhafte Schlüsselgenerator 1006 und/oder der beispielhafte Schlüsselverteiler 1008 und/oder die beispielhafte Timing-Steuerung 1010 und/oder die beispielhafte Data-Lake-Tabellensteuerung 1012 oder der beispielhafte Anweisungssender 1014 hiermit ausdrücklich so definiert, dass sie eine nicht transitorische computerlesbare Speichereinrichtung oder Speicherplatte, wie etwa einen Speicher, eine DVD (Digital Versatile Disk), eine CD (Compact Disk), eine Blu-Ray-Disk usw. einschließlich der Software und/oder Firmware beinhalten. Ferner kann der beispielhafte Data-Lake-Verwalter 908 aus 9 ein oder mehrere Elemente, Prozesse und/oder Einrichtungen zusätzlich zu den oder anstelle der in 10 veranschaulichten beinhalten und/oder kann mehr als eines von beliebigen oder allen der veranschaulichten Elemente, Prozesse und Einrichtungen beinhalten. Wie hier verwendet, umfasst der Ausdruck „in Kommunikation“, einschließlich Variationen davon, direkte Kommunikation und/oder indirekte Kommunikation durch eine oder mehrere Zwischenkomponenten und erfordert keine direkte physische (z.B. drahtgebundene) Kommunikation und/oder konstante Kommunikation, sondern umfasst zusätzlich selektive Kommunikation in periodischen Intervallen, geplanten Intervallen, aperiodischen Intervallen und/oder einmaligen Ereignissen.
  • 11 veranschaulicht ein Blockschaubild eines beispielhaften sekundären Verwalters 912 (z.B. des sekundären Verwalters A 912A und/oder des sekundären Verwalters B 912B), der durch die Data-Lake-Registry-Architektur 900 aus 9 implementiert wird. In dem veranschaulichten Beispiel von 11 führt der sekundäre Verwalter 912 Anweisungen von dem Data-Lake-Verwalater 908 (z.B. dem primären Verwalter) und/oder von dem Dienst 922 aus, Daten aus dem Data Lake 915 von 9 zu verschlüsseln und/oder zu entschlüsseln. Der sekundäre Verwalter 912 weist die Data-Lake-Tabelle 934 aus 9, einen beispielhaften Anweisungsanalysierer 1100, einen beispielhaften Dienstidentifizierer 1102, einen beispielhaften Datenabrufer 1104, einen beispielhaften Schlüsselverwalter 1106, einen beispielhaften Datenverschlüsseler 1108, einen beispielhaften Datenentschlüsseler 1110 und einen beispielhaften Datensender 1112 auf. In einigen Beispielen implementiert der Anweisungsanalysierer 1100 Mittel zum Analysieren von Anweisungen (manchmal als Anweisungsanalysemittel bezeichnet). In einigen Beispielen implementiert der Dienstidentifizierer 1102 Mittel zum Identifizieren eines Dienstes (manchmal als Dienstidentifikationsmittel bezeichnet). In einigen Beispielen implementiert der Datenabrufer 1104 Mittel zum Abrufen von Daten (manchmal als Datenabrufmittel bezeichnet). In einigen Beispielen implementiert der Schlüsselverwalter 1106 Mittel zum Verwalten von Schlüsseln (manchmal als Schlüsselverwaltungsmittel bezeichnet). In einigen Beispielen implementiert der Datenverschlüsseler 1108 Mittel zum Verschlüsseln von Daten (manchmal als Datenverschlüsselungsmittel bezeichnet). In einigen Beispielen implementiert der Datenentschlüsseler 1110 Mittel zum Entschlüsseln von Daten (manchmal als Datenentschlüsselungsmittel bezeichnet). In einigen Beispielen implementiert der Datensender 1112 Mittel zum Übertragen von Daten (manchmal als Datenübertragungsmittel bezeichnet).
  • Im Betrieb empfängt der beispielhafte Anweisungsanalysierer 1100 Anweisungen von dem Data-Lake-Verwalter 908 und/oder von dem Dienst 922. Als Reaktion auf das Empfangen der Anweisungen ruft der Anweisungsanalysierer 1100 den Dienstidentifizierer 1102 und/oder den Datenabrufer 1104 und/oder den Schlüsselverwalter 1106 und/oder den Datenverschlüsseler 1108 und/oder den Datenentschlüsseler 1110 und/oder den Datensender 1112 an, die Anweisungen auszuführen. Die Anweisungen können Lesen von Daten aus einer Data-Lake-Region (z.B. der Data-Lake-Region A 917A und/oder der Data-Lake-Region B 917B aus 9) in den Dienst 922 und/oder Schreiben neuer Daten aus dem Dienst 922 in eine Data-Lake-Region und/oder erneutes Verschlüsseln von Daten in einer Data-Lake-Region als Reaktion darauf, dass der Data-Lake-Verwalter 908 einen neuen RDEK für die Data-Lake-Region erzeugt, beinhalten.
  • Der beispielhafte Dienstidentifizierer 1102 identifiziert einen Dienst (z.B. den Dienst 922), der aus einer Data-Lake-Region (z.B. der Data-Lake-Region A 917A und/oder der Data-Lake-Region B 917B) liest, schreibt und/oder anderweitig auf diese zugreift. Zum Beispiel bestimmt der Dienstidentifizierer 1102, ob der Dienst 922 autorisiert ist, auf die Data-Lake-Region A 917A zuzugreifen, indem er einen Eintrag der Data-Lake-Tabelle 934 identifiziert, der der Data-Lake-Region A 917A entspricht. Der Dienstidentifizierer 1102 identifiziert eine Dienst-ID 937, die dem Dienst 922 entspricht, bestimmt dann, ob die Dienst-ID 937 in dem Data-Lake-Tabelleneintrag enthalten ist, der der Data-Lake-Region A 917A entspricht. Als Reaktion auf das Bestimmen, dass der Data-Lake-Tabelleneintrag die Dienst-ID 937 beinhaltet, die dem Dienst 922 entspricht, bestimmt der Dienstidentifizierer 1102, dass der Dienst 922 autorisiert ist, auf die Data-Lake-Region A 917A zuzugreifen. Alternativ dazu bestimmt der Dienstidentifizierer 1102 als Reaktion darauf, dass der Dienstidentifizierer 1102 nicht in der Lage ist, die Dienst-ID 937 zu identifizieren und/oder die identifizierte Dienst-ID 937 in dem Data-Lake-Tabelleneintrag zu lokalisieren, dass der Dienst 922 nicht autorisiert ist, auf die Data-Lake-Region A 917A zuzugreifen, und verhindert somit, dass der Dienst 922 aus der Data-Lake-Region A 917A liest und/oder in diese schreibt.
  • Der beispielhafte Datenabrufer 1104 ruft Daten aus einer Data-Lake-Region (e.g., der Data-Lake-Region A 917A und/oder der Data-Lake-Region B 917B) und/oder von einem Dienst (z.B. dem Dienst 922) ab. In einigen Beispielen erhält der Datenabrufer 1104 einen Standort (z.B. Adressbereich 942) der Data-Lake-Region A 917A aus einem Eintrag der Data-Lake-Tabelle 934, der der Data-Lake-Region A 917A entspricht. Als Reaktion darauf, dass der Anweisungsanalysierer 1100 Anweisungen von dem Dienst 922 empfängt, Daten aus der Data-Lake-Region A 917A zu lesen, ruft der Datenabrufer 1104 zum Beispiel die Daten ab, die an dem Standort gespeichert sind, der der Data-Lake-Region A 917A entspricht. In anderen Beispielen ruft der Datenabrufer 1104 die Daten als Reaktion darauf ab, dass der Anweisungsanalysierer 1100 Anweisungen von dem Data-Lake-Verwalter 908 empfängt, die Daten in der Data-Lake-Region A 917A erneut zu verschlüsseln.
  • Der beispielhafte Schlüsselverwalter 1106 identifiziert einen Verschlüsselungsschlüssel (z.B. RDEK), der der Data-Lake-Region (z.B. der Data-Lake-Region A 917A und/oder der Data-Lake-Region B 917B) entspricht. In einigen Beispielen identifiziert und/oder ruft der Schlüsselverwalter 1106 als Reaktion darauf, dass der Anweisungsanalysierer 1100 Anweisungen von dem Dienst 922 empfängt, Daten aus der Data-Lake-Region A 917A zu lesen und/oder neue Daten in die Data-Lake-Region A 917A zu schreiben, einen aktuellen RDEK, der der Data-Lake-Region A 917 A entspricht, aus dem Eintrag der Data-Lake-Tabelle 934 ab, der der Data-Lake-Region A 917A entspricht. In solchen Beispielen sendet der Schlüsselverwalter 1106 den aktuellen RDEK als Reaktion darauf, dass der Dienst 922 neue Daten schreibt, an den Datenverschlüsseler 1108 und/oder sendet den aktuellen RDEK als Reaktion darauf, dass der Dienst 922 Daten liest, an den Datenentschlüsseler 1110. Bei anderen Beispielen empfängt der Schlüsselverwalter 1106 als Reaktion darauf, dass der Data-Lake-Verwalter 908 einen neuen RDEK erzeugt, der der Data-Lake-Region A 917A entspricht (z.B. um den Dienst 922 aus der Data-Lake-Region A 917A zu entfernen), den neuen RDEK von dem Data-Lake-Verwalter 908 zusätzlich zum Abrufen des aktuellen RDEK aus der Data-Lake-Tabelle 934. In solchen Beispielen sendet der Schlüsselverwalter 1106 den aktuellen RDEK an den Datenentschlüsseler 1110 und sendet den neuen RDEK an den Datenverschlüsseler 1108. In einigen Beispielen kann der Schlüsselverwalter 1106 als Reaktion auf die durch den Anweisungsanalysator 1100 empfangenen Anweisungen einen RDEK in der Data-Lake-Tabelle 934 hinzufügen, modifizieren und/oder löschen. Zusätzlich oder alternativ dazu kann der Schlüsselverwalter 1106 einen homomorphen Verschlüsselungsschlüssel, der der Data-Lake-Region A 917A und/oder der Data-Lake-Region B 917B entspricht, aus einem oder mehreren Einträgen der Data-Lake-Tabelle 934 identifizieren, empfangen und/oder anderweitig abrufen. In einigen solchen Beispielen kann der Schlüsselverwalter 1106 den homomorphen Verschlüsselungsschlüssel an den Datenentschlüsseler 1110 und/oder an den Datenverschlüsseler 1108 senden.
  • Der beispielhafte Datenverschlüsseler 1108 verschlüsselt Daten in einer Data-Lake-Region (z.B. der Data-Lake-Region A 917A und/oder der Data-Lake-Region B 917B). Als Reaktion darauf, dass der Dienst 922 neue Daten in die Data-Lake-Region A 917A schreibt, empfängt der Datenverschlüsseler 1108 zum Beispiel den RDEK, der der Data-Lake-Region A 917A entspricht, von dem Schlüsselverwalter 1106 und verschlüsselt die neuen Daten unter Verwendung des RDEK. Zusätzlich oder alternativ verschlüsselt der Datenverschlüsseler 1108 Daten in der Data-Lake-Region unter Verwendung des homomorphen Verschlüsselungsschlüssels von dem Schlüsselverwalter 1106.
  • Alternativ dazu entschlüsselt der beispielhafte Datenentschlüsseler 1110 Daten aus einer Data-Lake-Region (z.B. der Data-Lake-Region A 917A und/oder der Data-Lake-Region B 917B). Als Reaktion darauf, dass der Dienst 922 Daten aus der Data-Lake-Region A 917 A liest, empfängt der Datenentschlüsseler 1110 zum Beispiel die Daten von dem Datenabrufer 1104 und empfängt den aktuellen RDEK, der der Data-Lake-Region A 917A entspricht, von dem Schlüsselverwalter 1106 und entschlüsselt dann die Daten unter Verwendung des aktuellen RDEK. In einigen Beispielen entschlüsselt der Datenentschlüsseler 1110 als Reaktion darauf, dass der Data-Lake-Verwalter 908 den Dienst 922 aus der Data-Lake-Region A 917A entfernt, die Daten unter Verwendung des aktuellen RDEK, dann verschlüsselt der Datenverschlüsseler 1108 die Daten unter Verwendung des neuen RDEK, der von dem Schlüsselverwalter 1106 empfangen wird. In einigen Beispielen können der Datenverschlüsseler 1108 und/oder der Datenentschlüsseler 1110 innerhalb eines Beschleunigers (z.B. des ersten Beschleunigers 910 und/oder des zweiten Beschleunigers 916 aus 9) implementiert sein, um die Verschlüsselung und/oder Entschlüsselung von Daten zu beschleunigen. Zusätzlich oder alternativ dazu entschlüsselt der beispielhafte Datenentschlüsseler 1110 Daten in der Data-Lake-Region unter Verwendung des homomorphen Verschlüsselungsschlüssels von dem Schlüsselverwalter 1106.
  • Der Datensender 1112 sendet Daten zu und/oder von einer Data-Lake-Region (z.B. der Data-Lake-Region A 917A und/oder der Data-Lake-Region B 917B). Als Reaktion darauf, dass der Dienst 922 die Daten von der Data-Lake-Region A 917A anfordert, überträgt der Datensender 1112 zum Beispiel die durch den Datenentschlüsseler 1110 entschlüsselten Daten an den Dienst 922. Alternativ dazu überträgt der Datensender 1112 als Reaktion darauf, dass der Dienst 922 neue Daten in die Data-Lake-Region A 917A schreibt, die neuen Daten, die durch den Datenverschlüsseler 1108 verschlüsselt werden, an den Standort der Data-Lake-Region A 917A. In solchen Beispielen bestimmt der Datensender 1112 den Standort basierend auf dem Eintrag der Data-Lake-Tabelle 934, der der Data-Lake-Region A 917A entspricht.
  • Obwohl eine beispielhafte Art und Weise des Implementierens des sekundären Verwalters 912 aus 9 in 11 veranschaulicht ist, können eines oder mehrere der in 11 veranschaulichten Elemente, Prozesse und/oder Einrichtungen kombiniert, geteilt, umgeordnet, weggelassen, eliminiert und/oder auf eine beliebige andere Weise implementiert werden. Ferner kann der beispielhafte Anweisungsanalysierer 1100, der beispielhafte Dienstidentifizierer 1102, der beispielhafte Datenabrufer 1104, der beispielhafte Schlüsselverwalter 1106, der beispielhafte Datenverschlüsseler 1108, der beispielhafte Datenentschlüsseler 1110, der beispielhafte Datensender 1112 und/oder allgemeiner der beispielhafte sekundäre Verwalter 912 aus 11 durch Hardware, Software, Firmware und/oder eine beliebige Kombination von Hardware, Software und/oder Firmware implementiert werden. Somit könnten zum Beispiel beliebige des beispielhaften Anweisungsanalysierers 1100, des beispielhaften Dienstidentifizierers 1102, des beispielhaften Datenabrufers 1104, des beispielhaften Schlüsselverwalters 1106, des beispielhaften Datenverschlüsselers 1108, des beispielhaften Datenentschlüsselers 1110, des beispielhaften Datensenders 1112 und/oder allgemeiner des beispielhaften sekundären Verwalters 912 durch eine oder mehrere analoge oder digitale Schaltung(en), Logikschaltungen, programmierbare Prozessor(en), programmierbare Steuerung(en), Grafikverarbeitungseinheit(en) (GPU(s)), digitale Signalprozessor(en) (DSP(s)), anwendungsspezifische integrierte Schaltung(en) (ASIC(s)), programmierbare Logikeinrichtung(en) (PLD(s)) und/oder frei programmierbare Logikeinrichtung(en) (FPLD(s)) implementiert werden. Wenn beliebige der Vorrichtungs- oder Systemansprüche dieses Patents so gelesen werden, dass sie eine reine Software-und/oder Firmware-Implementierung abdecken, sind der beispielhafte Anweisungsanalysierer 1100 und/oder der beispielhafte Dienstidentifizierer 1102 und/oder der beispielhafte Datenabrufer 1104 und/oder der beispielhafte Schlüsselverwalter 1106 und/oder der beispielhafte Datenverschlüsseler 1108 und/oder der beispielhafte Datenentschlüsseler 1110 oder der beispielhafte Datensender 1112is/sind hiermit ausdrücklich so definiert, dass sie eine nicht transitorische computerlesbare Speichereinrichtung oder Speicherplatte, wie etwa einen Speicher, eine DVD (Digital Versatile Disk), eine CD (Compact Disk), eine Blu-Ray-Disk usw. einschließlich der Software und/oder Firmware, beinhalten. Ferner kann der beispielhafte sekundäre Verwalter 912 von 9 ein oder mehrere Elemente, Prozesse und/oder Einrichtungen zusätzlich zu den oder anstelle der in 11 veranschaulichten beinhalten und/oder kann mehr als eines von beliebigen oder allen der veranschaulichten Elemente, Prozesse und Einrichtungen beinhalten. Wie hier verwendet, umfasst der Ausdruck „in Kommunikation“, einschließlich Variationen davon, direkte Kommunikation und/oder indirekte Kommunikation durch eine oder mehrere Zwischenkomponenten und erfordert keine direkte physische (z.B. drahtgebundene) Kommunikation und/oder konstante Kommunikation, sondern umfasst zusätzlich selektive Kommunikation in periodischen Intervallen, geplanten Intervallen, aperiodischen Intervallen und/oder einmaligen Ereignissen.
  • Unter Bezugnahme auf 9 arbeiten der sekundäre Verwalter A 912A und der sekundäre Verwalter B 912B in Verbindung mit dem Data-Lake-Verwalter 908 (z.B. primärer Verwalter), um die Data-Lake-Registry-Architektur 900 zu verwalten. Zum Beispiel steuert der Data-Lake-Verwalter 908 das Erzeugen, Entfernen und/oder Modifizieren von Data Lakes und/oder Data-Lake-Regionen über die Edge-Plattformen (z.B. die erste Edge-Plattform 902, die zweite Edge-Plattform 904 und/oder die dritte Edge-Plattform 906) in der Data-Lake-Registry-Architektur 900 hinweg. Alternativ verwalten der sekundäre Verwalter A 912A und der sekundäre Verwalter B 912B Verschlüsselung und Entschlüsselung von Daten, die auf der zweiten Edge-Plattform 904 bzw. der dritten Edge-Plattform 906 gespeichert sind. In manchen Beispielen ist der Data-Lake-Verwalter 908 auf einem primären Edge-Knoten (z.B. der ersten Edge-Plattform 902) implementiert und einer der sekundären Verwalter 912 ist auf jeder zusätzlichen Edge-Plattform und/oder jedem sekundären Edge-Knoten in der Data-Lake-Registry-Architektur 900 implementiert.
  • In dem veranschaulichten Beispiel aus 9 kann der Data-Lake-Verwalter 908 eine neue Data-Lake-Region (z.B. die Data-Lake-Region A 917A) als Reaktion auf eine Anfrage von dem EIO 935 erzeugen. Zum Beispiel empfängt der Anfrageanalysierer 1000 aus 10 die Anfrage von dem EIO 935 und bestimmt, dass die Anfrage Anweisungen zum Erzeugen der Data-Lake-Region A 917A beinhaltet. Der Standortselektor 1002 von 10 definiert Data-Lake-Region-Parameter, die der Data-Lake-Region A 917A entsprechen. Zum Beispiel beinhalten die Data-Lake-Region-Paramenter eine Data-Lake-Region-ID 936, einen oder mehrere Data-Lake-Speicherknoten 940 und einen Adressbereich 942, der der Data-Lake-Region A 917A entspricht. Zum Beispiel kann der Data-Lake-Speicherknoten 940 die zweite Edge-Plattform 904 sein und der Adressbereich 942 kann einen Ort innerhalb des Speichers 914 definieren. In manchen Beispielen wählt der Standortselektor 1002 den Standort basierend auf verfügbarem Speicher in der einen oder den mehreren Edge-Plattformen und/oder basierend auf Anweisungen von dem EIO 935 aus.
  • Der Schlüsselgenerator 1006 aus 10 führt dann die Schlüsselerzeugungslogik 928 aus, um einen neuen RDEK zu erzeugen, der der neuen Data-Lake-Region entspricht. Der Schlüsselverteiler 1008 sendet den neuen RDEK an die Edge-Speicherknoten (z.B. die zweite Edge-Plattform 904), die die Data-Lake-Region A 917A speichert. In manchen Beispielen müssen neue Data-Lake-Regionen sorgfältig vor allgemeinem Zugriff geschützt werden und/oder vor bestimmten Einrichtungen geschützt werden. Beispielsweise enthalten manche Data Lakes und/oder Data-Lake-Regionen sensible Informationen, die, wenn sie unautorisierten Einrichtungen und/oder Personen ausgesetzt sind, rechtliche Vorschriften verletzen würden (z.B. General Data Protection Regulation (GDRP)). In manchen Beispielen weist der Anweisungssender 1014 aus 10 die zweite Edge-Plattform 904 an, Daten in der Data-Lake-Region A 917A unter Verwendung des neuen RDEK zu verschlüsseln. Von daher erleichtert eine bestimmte Verteilung des RDEK Bemühungen, eine oder mehrere Sicherheitsvorschriften (z.B. GCRP) zu erfüllen. Ferner erzeugt die Data-Lake-Tabellensteuerung 1012 aus 10 einen neuen Eintrag der Data-Lake-Tabelle 934, der der neuen Data-Lake-Region entspricht, wobei der neue Eintrag die Data-Lake-Region-Parameter und den neuen RDEK beinhaltet. In manchen Beispielen sendet die Data-Lake-Tabellensteuerung 1012 die Data-Lake-Tabelle 934 und/oder einen Teil (z.B. den ersten Teil 934A) der Data-Lake-Tabelle 934 an die Edge-Speicherknoten (z.B. die zweite Edge-Plattform 904). In manchen Beispielen kann die Timing-Steuerung 1010 aus 10 der Data-Lake-Region A 917A bei Erzeugung der Data-Lake-Region A 917A eine Dauer (z.B. Zeitdauer) zuweisen.
  • Zusätzlich oder alternativ kann der Data-Lake-Verwalter 908 eine existierende Data-Lake-Region (z.B. die Data-Lake-Region A 917A) erweitern oder kontrahieren. Zum Beispiel empfängt der Anfrageanalysierer 1000 eine Anfrage von dem EIO 935, die Data-Lake-Region A 917A zu erweitern. In solchen Beispielen definiert der Standortselektor 1002 einen neuen Adressbereich 942A innerhalb des Speichers 914 der zweiten Edge-Plattform 904. In manchen Beispielen entspricht der neue Adressbereich 942A einem Speicherort auf einer anderen Edge-Plattform (z.B. der ersten Edge-Plattform 902 und/oder der dritten Edge-Plattform 906). Die Data-Lake-Tabellensteuerung 1012 aktualisiert den Eintrag der Data-Lake-Tabelle 934, der der Data-Lake-Region A 917A entspricht, um den neuen Adressbereich 942A einzubeziehen. Für Beispiele, bei denen die existierende Data-Lake-Region zu einer neuen Edge-Plattform (z.B. die dritte Edge-Plattform 906) erweitert wird, identifiziert der Schlüsselverteiler 1008 den RDEK, der der Data-Lake-Region A 917A entspricht, basierend auf der Data-Lake-Tabelle 934 und überträgt den RDEK an die neue Edge-Plattform. Ferner aktualisiert die Data-Lake-Tabellensteuerung 1012 den Eintrag der Data-Lake-Tabelle 934, der der Data-Lake-Region A 917A entspricht, um die neue Edge-Plattform in die Data-Lake-Speicherknoten 940 einzubeziehen.
  • In dem veranschaulichten Beispiel aus 9 kann der Data-Lake-Verwalter 908 eine Data-Lake-Region (z.B. die Data-Lake-Region A 917A und/oder die Data-Lake-Region B 917B) aus der Data-Lake-Registry-Architektur 900 entfernen und/oder löschen. In einigen Beispielen wird die Data-Lake-Region nach Ablauf entfernt, was auftritt, nachdem eine Zeitdauer ab der Erzeugung der Data-Lake-Region verstrichen ist. In einigen Beispielen kann die Dauer, die der Data-Lake-Region entspricht, durch die Timing-Steuerung 1010 zum Zeitpunkt der Erzeugung der Data-Lake-Region bestimmt werden. In einigen Beispielen kann jede Data-Lake-Region in der Data-Lake-Registry-Architektur 900 eine unterschiedliche Dauer aufweisen. Zum Beispiel kann die Timing-Steuerung 1010 der Data-Lake-Region A 917A eine erste Dauer und der Data-Lake-Region B 917B eine zweite Dauer zuweisen, wobei sich die zweite Dauer von der ersten Dauer unterscheidet.
  • Als Reaktion darauf, dass die Timing-Steuerung 1010 bestimmt, dass eine Data-Lake-Region abgelaufen ist, kann der Anweisungssender 1014 teilnehmende Mandanten und/oder Dienste mit Zugriff auf die Data-Lake-Region darüber benachrichtigen, dass die Data-Lake-Region zu entfernen ist. In manchen Beispielen kann eine Kopie der Daten aus der Data-Lake-Region zu einem zweiten Standort in der Data-Lake-Registry-Architektur 900 vor dem Entfernen und/oder Löschen der Data-Lake-Region migriert werden. Um die Data-Lake-Region A 917A aus der zweiten Edge-Plattform 904 zu entfernen, weist der Anweisungssender 1014 den sekundären Verwalter A 912A an, bestehende Daten, die in der Data-Lake-Region A 917A gespeichert sind, zu löschen und den RDEK, der der Data-Lake-Region A 917A entspricht, aus dem ersten Teil 934A der Data-Lake-Tabelle 934 zu löschen. In einigen Beispielen kann die Data-Lake-Region A 917A mit neuen Daten überschrieben werden, anstatt dass der sekundäre Verwalter A 912A die existierenden Daten löscht. In manchen Beispielen aktualisiert die Data-Lake-Tabellensteuerung 1012 die Data-Lake-Tabelle 934, um den Eintrag der Data-Lake-Tabelle 934, der der Data-Lake-Region A 917A entspricht, zu löschen.
  • In dem veranschaulichten Beispiel aus 9 kann der Data-Lake-Verwalter 908 einen neuen Dienst zu einer Data-Lake-Region in der Data-Lake-Registry-Architektur 900 hinzufügen. Beispielsweise kann der Anfrageanalysierer 1000 eine Anfrage von dem EIO 935 empfangen, den Dienst 922 zu der Data-Lake-Region A 917A hinzuzufügen. In solchen Beispielen beinhaltet die Anfrage eine Dienst-ID 937 des Dienstes 922 und eine Data-Lake-Region-ID 936, die der Data-Lake-Region A 917A entspricht. Als Reaktion darauf, dass der Anfrageanalysierer 1000 die Anfrage empfängt, kann der Dienstautorisierer 1004 bestimmen, ob der Dienst 922 autorisiert ist, auf die Data-Lake-Region A 917A zuzugreifen. Zum Beispiel bestimmt der Dienstautorisierer 1004, ob dem Dienst 922 Zugriff gewährt wird, und/oder bestimmt die Zugriffsebene, die dem Dienst 922 gewährt wird, basierend auf Bestätigungen, die durch die NIC 920 implementiert werden.
  • In einigen Beispielen kann die NIC 920 einen Beleg (z.B. einen RFC8366-Beleg) erzeugen, der Instanzen identifiziert, die die Data-Lake-Region A 917A besitzen. Ein anderer Beleg kann verwendet werden, um Instanzen zu identifizieren, die Daten lesen und modifizieren können, und/oder Instanzen, die die Daten lesen, aber nicht modifizieren können. Zum Beispiel stellt die NIC 920 den Beleg einer teilnehmenden Instanz (z.B. des Dienstes 922) als Reaktion auf die Anfrage von dem EIO 935 bereit.
  • In manchen Beispielen beinhaltet die Data-Lake-Tabelle 934 eine Kennzeichnung für jede der Dienst-IDs 937, um die Zugriffsebene anzugeben, die dem Dienst 922 für die Data-Lake-Region A 917A gewährt wird. Zum Beispiel kann die Data-Lake-Tabelle 934 eine erste Kennzeichnung, um anzugeben, dass der Dienst 922 Daten aus der Data-Lake-Region A 917A lesen kann, eine zweite Kennzeichnung, um anzugeben, dass der Dienst 922 Daten in die Data-Lake-Region A 917A schreiben kann, und/oder eine dritte Kennzeichnung beinhalten, um anzugeben, dass der Dienst 922 Daten der Data-Lake-Region A 917A modifizieren kann.
  • Als Reaktion darauf, dass der Dienstautorisierer 1004 bestimmt, dass der Dienst 922 autorisiert ist, erhält die Data-Lake-Tabellensteuerung 1012 den RDEK, der der Data-Lake-Region A 917A entspricht, aus der Data-Lake-Tabelle 934. Der Schlüsselverteiler 1008 sendet den RDEK an die Edge-Einrichtung, die den Dienst 922 hostet (z.B. die dritte Edge-Plattform 906). Bei manchen Beispielen erzeugt der Schlüsselgenerator 1006 einen KWK, der dem Dienst 922 entspricht, und der Schlüsselverteiler 1008 verwendet den KWK, um den RDEK zu verpacken, bevor der RDEK an den Dienst 922 gesendet wird. In solchen Beispielen sendet der Schlüsselverteiler 1008 sowohl den verpackten RDEK als auch den KWK an den Dienst 922 und/oder an die dritte Edge-Plattform 906. In einigen Beispielen aktualisiert die Data-Lake-Tabellensteuerung 1012 einen Eintrag der Data-Lake-Tabelle 934, der der Data-Lake-Region A 917A entspricht, um die Dienst-ID 937 des Dienstes 922 einzubeziehen.
  • In einigen Beispielen kann der Data-Lake-Verwalter 908 einen Dienst (z.B. den Dienst 922) aus einer Data-Lake-Region (z.B. der Data-Lake-Region A 917A) entfernen. Zum Beispiel empfängt der Anfrageanalysierer 1000 eine Anfrage von dem EIO 935, den Dienst 922 aus der Data-Lake-Region A 917A zu entfernen. Natürlich bleiben, nachdem ein Dienst entfernt wurde, Bedenken bestehen, dass Einrichtungen, die diesen Dienst zuvor verwenden, immer noch Zugriff auf den Data Lake und/oder die Data-Lake-Region haben. Um solchen Bedenken zu begegnen, und als Reaktion darauf, dass der Anfrageanalysierer 1000 die Anfrage zum Entfernen des Dienstes 922 empfängt, erzeugt der Schlüsselgenerator 1006 einen neuen RDEK für die Data-Lake-Region A 917A, aus der der Dienst 922 zu entfernen ist. Der Schlüsselverteiler 1008 sendet den neuen RDEK an jeden Dienst, der aktuell an der Data-Lake-Region A 917A teilnimmt, außer an den Dienst 922, der entfernt wird. In einigen Beispielen benachrichtigt der Anweisungssender 1014 die teilnehmenden Dienste, vorübergehend den Zugriff auf die Data-Lake-Region A 917A auszusetzen. Als Reaktion darauf, dass die teilnehmenden Dienste den Zugriff aussetzen, sendet der Schlüsselverteiler 1008 den neuen RDEK an jede Edge-Speichereinrichtung, die die Data-Lake-Region A917A speichert (z.B. die zweite Edge-Plattform 904).
  • Der sekundäre Verwalter A 912A der zweiten Edge-Plattform 904 entschlüsselt beim Empfangen des neuen RDEK Daten von der Data-Lake-Region A 917A unter Verwendung eines aktuellen RDEK, der der Data-Lake-Region A 917A entspricht, und verschlüsselt die Daten unter Verwendung des neuen RDEK erneut. In solchen Beispielen können die Daten aus der Data-Lake-Region A 917A nicht mehr unter Verwendung des alten RDEK entschlüsselt werden und somit wird verhindert, dass der entfernte Dienst 922 aus der Data-Lake-Region A 917A liest und/oder in die Data-Lake-Region A 917A schreibt. Bei erneuter Verschlüsselung der Daten unter Verwendung des neuen RDEK benachrichtigt der Anweisungssender 1014 die teilnehmenden Dienste, dass der Zugriff auf die Data-Lake-Region A 917A wieder aufgenommen werden kann. In einigen Beispielen entfernt die Data-Lake-Tabellensteuerung 1012 die Dienst-ID 937 des Dienstes 922 aus dem Eintrag der Data-Lake-Tabelle 934, der der Data-Lake-Region A 917A entspricht.
  • In dem veranschaulichten Beispiel aus 9 ist der sekundäre Verwalter 912 aus 11 (z.B. der sekundäre Verwalter A 912A und/oder der sekundäre Verwalter B 912B) an sowohl der zweiten Edge-Plattform 904 als auch der dritten Edge-Plattform 906 implementiert, um Zugang zu dem Data Lake 915 durch einen oder mehrere Dienste (z.B. den Dienst 922) bereitzustellen. Zum Beispiel ermöglicht der sekundäre Verwalter 912, dass der Dienst 922 Daten aus einer Data-Lake-Region (z.B. der Data-Lake-Region A 917A) liest. In einem Beispiel sendet der Dienst 922 eine Anfrage an den Anweisungsanalysierer 1100 aus 11, Daten aus der Data-Lake-Region A 917A zu lesen, wobei die Anfrage die Data-Lake-Region-ID 936, die der Data-Lake-Region A 917A entspricht, und die Dienst-ID 937 des Dienstes 922 beinhaltet.
  • Als Reaktion darauf, dass der Anweisungsanalysierer 1100 die Anfrage empfängt, bestimmt der Dienstidentifizierer 1102 aus 11, ob der Dienst 922 autorisiert ist, aus der Data-Lake-Region A 917A zu lesen. Zum Beispiel identifiziert der Dienstidentifizierer 1102 den Eintrag der Datentabelle, der der Data-Lake-Region A 917A entspricht, und bestimmt, dass der Dienst 922 autorisiert ist, aus der Data-Lake-Region A 917A zu lesen, als Reaktion auf Bestimmen, dass der Eintrag die Dienst-ID 937 des Dienstes 922 beinhaltet und/oder eine Kennzeichnung beinhaltet, die eine Autorisierung zum Lesen von Daten angibt. Der Datenabrufer 1104 aus 11 ruft die Daten aus der Data-Lake-Region A 917A basierend auf dem Standort (z.B. den Data-Lake-Speicherknoten 940 und dem Adressbereich 942) ab, der in dem Eintrag der Data-Lake-Tabelle 934 identifiziert ist. Der Schlüsselverwalter 1106 aus 11 erhält aus dem Eintrag der Data-Lake-Tabelle 934 den der Data-Lake-Region A 917A entsprechenden RDEK. Der Datenentschlüsseler 1110 aus 11 empfängt die Daten von dem Datenabrufer 1104 und empfängt den RDEK von dem Schlüsselverwalter 1106 und entschlüsselt dann die Daten unter Verwendung des RDEK. Als Reaktion darauf, dass der Datenentschlüsseler 1110 die Daten entschlüsselt, überträgt der Datensender 1112 aus 11 die entschlüsselten Daten an den Dienst 922 zum Lesen. Zusätzlich oder alternativ kann der beispielhafte Datenentschlüsseler 1110 als Reaktion darauf, dass der Dienstidentifizierer 1102 bestimmt, dass der Dienst 922 homomorphen Zugriff auf die Data-Lake-Region A 917A hat, die Daten unter Verwendung des homomorphen Verschlüsselungsschlüssels von dem Schlüsselverwalter 1106 entschlüsseln.
  • In einigen Beispielen ermöglicht der sekundäre Verwalter 912 dem Dienst 922, neue Daten in die Data-Lake-Region A 917A zu schreiben. In einem Beispiel sendet der Dienst 922 eine Anfrage an den Anweisungsanalysierer 1100, neue Daten in die Data-Lake-Region A 917A zu schreiben, wobei die Anfrage die Data-Lake-Region-ID 936, die der Data-Lake-Region A 917A entspricht, die Dienst-ID 937 des Dienstes 922 und unverschlüsselte neue Daten, die durch den Dienst 922 geschrieben werden, beinhaltet. Als Reaktion darauf, dass der Anweisungsanalysierer 1100 die Anfrage empfängt, bestimmt der Dienstidentifizierer 1102, ob der Dienst 922 autorisiert ist, in die Data-Lake-Region A 917A zu schreiben. Zum Beispiel identifiziert der Dienstidentifizierer 1102 den Eintrag der Datentabelle, der der Data-Lake-Region A 917A entspricht, und bestimmt, dass der Dienst 922 autorisiert ist, in die Data-Lake-Region A 917A zu schreiben, als Reaktion auf Bestimmen, dass der Eintrag die Dienst-ID 937 des Dienstes 922 beinhaltet und/oder eine Kennzeichnung beinhaltet, die eine Autorisierung zum Schreiben von Daten angibt. Der Schlüsselverwalter 1106 erhält aus dem Eintrag der Data-Lake-Tabelle 934 den der Data-Lake-Region A 917A entsprechenden RDEK. Der Datenverschlüsseler 1108 empfängt die unverschlüsselten neuen Daten von dem Anweisungsanalysierer 1100 und empfängt den RDEK von dem Schlüsselverwalter 1106 und verschlüsselt dann die neuen Daten unter Verwendung des RDEK. Der Datensender 1112 sendet dann die verschlüsselten neuen Daten an die Data-Lake-Region A 917A zur Speicherung. Zusätzlich oder alternativ kann der beispielhafte Datenverschlüsseler 1108 als Reaktion darauf, dass der beispielhafte Dienstidentifizierer 1102 bestimmt, dass der Dienst 922 homomorphen Zugriff auf die Data-Lake-Region A 917A hat, die Daten unter Verwendung des homomorphen Verschlüsselungsschlüssels von dem Schlüsselverwalter 1106 verschlüsseln.
  • Flussdiagramme, die beispielhafte Hardwarelogik, maschinenlesbare Anweisungen, hardwareimplementierte Zustandsmaschinen und/oder eine beliebige Kombination aus diesen zum Implementieren des Datea-Lake-Verwalters 908 und/oder des sekundären Verwalters 912 aus 9 repräsentieren, sind in den 12, 13, 14, 15, 16, 17 und/oder 18 gezeigt. Die maschinenlesbaren Anweisungen können ein oder mehrere ausführbare Programme oder Teil(e) eines ausführbaren Programms zur Ausführung durch einen Computerprozessor und/oder eine Prozessorschaltungsanordnung, wie den Prozessor 752, der in der vorstehend in Verbindung mit 7B besprochenen beispielhaften Prozessorplattform 750 gezeigt ist, sein. Das Programm kann in Software umgesetzt sein, die auf einem nichtflüchtigen computerlesbaren Speichermedium gespeichert ist, wie etwa einer CD-ROM, einer Diskette, einer Festplatte, einer DVD, einer Blu-Ray-Disk oder einem mit dem Prozessor 752 assoziierten Speicher, aber das gesamte Programm und/oder Teile davon könnten alternativ dazu durch eine Einrichtung, bei der es sich nicht um den Prozessor 752 handelt, ausgeführt werden und/oder in Firmware oder dedizierter Hardware umgesetzt sein. Obwohl das beispielhafte Programm unter Bezugnahme auf das in 12, 13, 14, 15, 16, 17 und/oder 18 gezeigte Flussdiagramm beschrieben wird, können alternativ viele andere Verfahren zum Implementieren des beispielhaften Data-Lake-Verwalters 908 und/oder des sekundären Verwalters 912 verwendet werden. Beispielsweise kann die Reihenfolge der Ausführung der Blöcke geändert werden und/oder manche der beschriebenen Blöcke können geändert, entfernt oder kombiniert werden. Zusätzlich oder alternativ können beliebige oder alle der Blöcke durch einen oder mehrere Hardware-Schaltungen (z.B. diskrete und/oder integrierte analoge und/oder digitale Schaltungsanordnung, ein FPGA, einen ASIC, einen Komparator, einen Operationsverstärker (Op-Amp), einen Logik-Schaltung usw.) implementiert sein, die strukturiert sind, die entsprechende Operation ohne Ausführen von Software oder Firmware durchzuführen. Die Prozessorschaltungsanordnung kann an unterschiedlichen Netzwerkstandorten und/oder lokal an eine oder mehrere Einrichtungen (z.B. einen Mehrkernprozessor in einer einzigen Maschine, mehrere Prozessoren, die über ein Server-Rack verteilt sind usw.) verteilt sein.
  • Die hier beschriebenen maschinenlesbaren Anweisungen können in einem oder mehreren eines komprimierten Formats, eines verschlüsselten Formats, eines fragmentierten Formats, eines kompilierten Formats, eines ausführbaren Formats, eines verpackten Formats usw. gespeichert sein. Maschinenlesbare Anweisungen, wie sie hierin beschrieben sind, können als Daten oder eine Datenstruktur (z.B. Abschnitte von Anweisungen, Code, Darstellungen von Code usw.) gespeichert sein, die eingesetzt werden können, um maschinenlesbare Anweisungen zu erstellen, herzustellen und/oder zu erzeugen. Die maschinenlesbaren Anweisungen können zum Beispiel fragmentiert und auf einer oder mehreren Speichereinrichtungen und/oder Recheneinrichtungen (z.B. Servern) gespeichert sein, die sich an denselben oder unterschiedlichen Standorten eines Netzwerks oder einer Sammlung von Netzwerken (z.B. in der Cloud, in Edge-Einrichtungen usw.) befinden. Die maschinenlesbaren Anweisungen können eines oder mehrere von Installation, Modifikation, Adaptierung, Aktualisierung, Kombination, Ergänzung, Konfigurierung, Entschlüsselung, Dekomprimierung, Entpackung, Verteilung, Neuzuordnung, Kompilierung usw. erfordern, um sie direkt durch eine Recheneinrichtung und/oder eine andere Maschine lesbar, interpretierbar und/oder ausführbar zu machen. Zum Beispiel können die maschinenlesbaren Anweisungen in mehreren Teilen gespeichert sein, die einzeln komprimiert, verschlüsselt und auf separaten Recheneinrichtungen gespeichert sind, wobei die Teile, wenn sie entschlüsselt, dekomprimiert und kombiniert werden, einen Satz ausführbarer Anweisungen bilden, die eine oder mehrere Funktionen implementieren, die zusammen ein Programm wie das hier beschriebene bilden können.
  • In einem anderen Beispiel können die maschinenlesbaren Anweisungen in einem Zustand gespeichert werden, in dem sie durch eine Prozessorschaltungsanordnung gelesen werden können, aber Hinzufügen einer Bibliothek (z.B. einer Dynamic Link Bibliothek (DLL)), eines Softwareentwicklungskits (SDK), einer Anwendungsprogrammierungsschnittstelle (API) usw. erfordern, um die Anweisungen auf einer speziellen Recheneinrichtung oder einer anderen Einrichtung auszuführen. In einem anderen Beispiel müssen die maschinenlesbaren Anweisungen konfiguriert (z.B. Einstellungen gespeichert, Daten eingegeben, Netzwerkadressen aufgezeichnet usw.) werden, bevor die maschinenlesbaren Anweisungen und/oder das bzw. die entsprechende(n) Programm(e) gänzlich oder teilweise ausgeführt werden können. Somit können maschinenlesbare Medien, wie hierin verwendet, maschinenlesbare Anweisungen und/oder Programm(e) unabhängig von dem speziellen Format oder Zustand der maschinenlesbaren Anweisungen und/oder Programm(e) beinhalten, wenn sie gespeichert oder anderweitig in Ruhe oder im Durchgang sind.
  • Die hierin beschriebenen maschinenlesbaren Anweisungen können durch eine beliebige vergangene, aktuelle oder zukünftige Anweisungssprache, Skriptsprache, Programmiersprache usw. repräsentiert sein. Beispielsweise können die maschinenlesbaren Anweisungen unter Verwendung beliebiger der folgenden Sprachen repräsentiert sein: C, C++, Java, C#, Perl, Python, JavaScript, HyperText Markup Language (HTML), Structured Query Language (SQL), Swift usw.
  • Wie oben erwähnt, können die beispielhaften Prozesse aus 12, 13, 14, 15, 16, 17 und/oder 18 unter Verwendung von ausführbaren Anweisungen (z.B. computer- und/oder maschinenlesbaren Anweisungen) implementiert werden, die auf einem nicht transitorischen computer- und/oder maschinenlesbaren Medium wie einem Festplattenlaufwerk, einem Flashspeicher, einem Nur-Lese-Speicher, einer Compact Disk, einer Digital Versatile Disk, einem Zwischenspeicher, einem Direktzugriffsspeicher und/oder einer beliebigen anderen Speichereinrichtung oder Speicherplatte gespeichert sind, auf der Informationen für eine beliebige Dauer gespeichert sind (z.B. für längere Zeiträume, dauerhaft, für kurze Augenblicke, zum temporären Puffern und/oder zum Zwischenspeichern der Informationen). Wie hierin verwendet, wird der Begriff nicht transitorisches computerlesbares Medium ausdrücklich so definiert, dass er eine beliebige Art von computerlesbarer Speichereinrichtung und/oder Speicherplatte beinhaltet und sich ausbreitende Signale ausschließt und Übertragungsmedien ausschließt.
  • „Beinhaltend“ und „umfassend“ (und alle Formen und Zeitformen davon) werden hierin als offene Begriffe verwendet. Wann auch immer ein Anspruch eine beliebige Form von „beinhalten“ und „umfassen“ (z.B. umfasst, beinhaltet, umfassend, beinhaltend, aufweisend usw.) als eine Präambel oder in einer Anspruchsrezitation einer beliebigen Art einsetzt, soll somit verstanden werden, dass zusätzliche Elemente, Begriffe usw. vorhanden sein können, ohne außerhalb des Schutzumfangs des entsprechenden Anspruchs oder der entsprechenden Rezitation zu fallen. Wie hierin verwendet, wenn der Ausdruck „mindestens“ als der Übergangsausdruck in zum Beispiel einer Präambel eines Anspruchs verwendet wird, ist er auf die gleiche Art und Weise offen, wie der Begriff „umfassend“ und „beinhaltend“ offen ist. Der Begriff „und/oder“ bezieht sich, wenn er zum Beispiel in einer Form wie A, B und/oder C verwendet wird, auf eine beliebige Kombination oder Untermenge von A, B, C wie (1) A allein, (2) B allein, (3) C allein, (4) A mit B, (5) A mit C, (6) B mit C und (7) A mit B und mit C. Wie hier im Zusammenhang mit der Beschreibung von Strukturen, Komponenten, Gegenständen, Objekten und/oder Dingen verwendet wird, soll sich der Ausdruck „mindestens eines von A und B“ auf Implementierungen beziehen, die beliebige von (1) wenigstens einem A, (2) wenigstens einem B und (3) wenigstens einem A und wenigstens einem B beinhalten. Ebenso soll, wie hier im Kontext des Beschreibens von Strukturen, Komponenten, Elementen, Objekten und/oder Dingen verwendet, sich der Ausdruck „wenigstens eines von A oder B“ auf Implementierungen beziehen, die beliebige von (1) wenigstens einem A, (2) Mindestens einem B und (3) mindestens einem A und mindestens einem B beinhalten. Wie hier im Kontext der Beschreibung der Leistungsfähigkeit oder Ausführung von Prozessen, Anweisungen, Aktionen, Aktivitäten und/oder Schritten verwendet, soll sich der Ausdruck „mindestens eines von A und B“ auf Implementierungen beziehen, die beliebige von (1) mindestens einem A, (2) mindestens einem B, und (3) mindestens einem A und mindestens einem B beinhalten. Ebenso soll, wie hier im Zusammenhang mit der Beschreibung der Leistungsfähigkeit oder Ausführung von Prozessen, Anweisungen, Aktionen, Aktivitäten und/oder Schritten verwendet, sich der Ausdruck „mindestens eines von A oder B“ auf Implementierungen beziehen, die beliebige von (1) mindestens einem A, (2) mindestens einem B und (3) mindestens einem A und mindestens einem B beinhalten.
  • Wie hierin verwendet, schließen Bezüge im Singular (z.B. „ein“, „eine“, „erste/r/s“, „zweite/r/s“ usw.) keine Mehrzahl aus. Der Begriff „eine“ Instanz, wie hierin verwendet, bezieht sich auf eine oder mehrere dieser Instanz. Die Begriffe „ein“ (oder „eine“), „ein oder mehrere“ und „mindestens ein“ können hierin austauschbar verwendet werden. Obwohl einzeln aufgelistet, können ferner mehrere Mittel, Elemente oder Verfahrenshandlungen durch z.B. eine einzige Einheit oder einen einzigen Prozessor implementiert werden. Darüber hinaus, obwohl individuelle Merkmale in unterschiedlichen Beispielen oder Ansprüchen enthalten sein können, können diese möglicherweise kombiniert werden und die Aufnahme in verschiedene Beispiele oder Ansprüche bedeutet nicht, dass eine Kombination von Merkmalen nicht möglich und/oder vorteilhaft ist.
  • 12 ist ein Flussdiagramm, das maschinenlesbare Anweisungen 1200 repräsentiert, die ausgeführt werden können, um den beispielhaften Data-Lake-Verwalter 908 aus 9 und/oder 10 zu implementieren, um die Data-Lake-Registry-Architektur 900 aus 9 zu verwalten. Die beispielhaften Anweisungen 1200 aus 12 beginnen mit dem Installieren des beispielhaften Data-Lake-Verwalters 908 in und/oder Aufrufen durch die erste Edge-Plattform 902 aus 9 durch den EIO 935.
  • Bei Block 1202 bestimmt der beispielhafte Data-Lake-Verwalter 908, ob eine Data-Lake-Region erzeugt werden soll. Als Reaktion darauf, dass der Anfrageanalysierer 1000 zum Beispiel eine Anfrage von dem EIO 935 aus 9 empfängt, eine Data-Lake-Region zu erzeugen (z.B. gibt Block 1202 ein Ergebnis JA zurück), geht der Prozess 1200 zu Block 1204 über. Alternativ geht der Prozess 1200, als Reaktion darauf, dass der beispielhafte Anfrageanalysierer 1000 die Anfrage von dem EIO 935 nicht empfängt, eine Data-Lake-Region zu erzeugen (z.B. gibt Block 1202 ein Ergebnis NEIN zurück), zu Block 1206 über.
  • Bei Block 1204 erzeugt der beispielhafte Data-Lake-Verwalter 908 eine Data-Lake-Region, wie in Verbindung mit 13 unten beschrieben.
  • Bei Block 1206 bestimmt der beispielhafte Data-Lake-Verwalter 908, ob eine Data-Lake-Region in der Data-Lake-Registry-Architektur 900 entfernt werden soll. Als Reaktion darauf, dass der Anfrageanalysierer 1000 eine Anfrage von dem EIO 935 empfängt, eine Data-Lake-Region zu entfernen (z.B. gibt Block 1206 ein Ergebnis JA zurück), geht der Prozess 1200 zum Block 1208 über. Alternativ geht der Prozess 1200 als Reaktion darauf, dass der beispielhafte Anfrageanalysierer 1000 keine Anfrage von dem EIO 935 empfängt, eine Data-Lake-Region zu entfernen (z.B. gibt Block 1206 ein Ergebnis NEIN zurück), zu Block 1210 über.
  • Bei Block 1208 entfernt der beispielhafte Data-Lake-Verwalter 908 eine Data-Lake-Region, wie in Verbindung mit 14 unten beschrieben.
  • Bei Block 1210 bestimmt der beispielhafte Data-Lake-Verwalter 908, ob ein Dienst (z.B. der Dienst 922 aus 9) zu einer Data-Lake-Region in der Data-Lake-Registry-Architektur 900 hinzugefügt werden soll. Als Reaktion darauf, dass der Anfrageanalysierer 1000 eine Anfrage von dem EIO 935 empfängt, einen Dienst zu einer Data-Lake-Region hinzuzufügen (z.B. gibt Block 1210 ein Ergebnis JA zurück), geht der Prozess 1200 zum Block 1212 über. Alternativ geht der Prozess 1200, als Reaktion darauf, dass der beispielhafte Anfrageanalysierer 1000 keine Anfrage von dem EIO 935 empfängt, einen Dienst zu einer Data-Lake-Region hinzuzufügen (z.B. gibt Block 1210 ein Ergebnis NEIN zurück), zu Block 1214 über.
  • Bei Block 1212 fügt der beispielhafte Data-Lake-Verwalter 908 einen Dienst zu einer Data-Lake-Region hinzu, wie in Verbindung mit 15 unten beschrieben ist.
  • Bei Block 1214 bestimmt der beispielhafte Data-Lake-Verwalter 908, ob ein Dienst aus einer Data-Lake-Region entfernt werden soll. Als Reaktion darauf, dass der Anfrageanalsysierer 1000 eine Anfrage von dem EIO 935 empfängt, einen Dienst aus einer Data-Lake-Region zu entfernen (z.B. gibt Block 1214 ein Ergebnis JA zurück), geht der Prozess 1200 zum Block 1216 über. Alternativ geht der Prozess 1200, als Reaktion darauf, dass der beispielhafte Anfrageanalysierer 1000 keine Anfrage von dem EIO 935 empfängt, einen Dienst aus einer Data-Lake-Region zu entfernen (z.B. gibt Block 1214 ein Ergebnis NEIN zurück), zu Block 1218 über.
  • Bei Block 1216 entfernt der beispielhafte Data-Lake-Verwalter 908 einen Dienst aus einer Data-Lake-Region, wie in Verbindung mit 16 unten beschrieben.
  • Bei Block 1218 bestimmt der beispielhafte Data-Lake-Verwalter 908, ob das Überwachen der Data-Lake-Registry-Architektur 900 fortgesetzt werden soll. Als Reaktion darauf, dass der Anfrageanalysierer 1000 basierend auf dem Empfangen einer anderen Anfrage von dem EIO 935 (z.B. gibt Block 1218 ein Ergebnis JA zurück) bestimmt, das Überwachen der Data-Lake-Registry-Architektur 900 fortzusetzen, kehrt der Prozess 1200 zum Block 1202 zurück. Alternativ endet der Prozess 1200 als Reaktion darauf, dass der beispielhafte Anfrageanalysierer 1000 basierend auf dem Nichtempfangen einer anderen Anfrage von dem EIO 935 (z.B. gibt Block 1218 ein Ergebnis NEIN zurück) bestimmt, das Überwachen der Data-Lake-Registry-Architektur 900 nicht fortzusetzen.
  • 13 ist ein Flussdiagramm, das maschinenlesbare Anweisungen 1300 repräsentiert, die ausgeführt werden können, um den beispielhaften Data-Lake-Verwalter aus 9 und/oder 10 zu implementieren, um eine neue Data-Lake-Region (z.B. die Data-Lake-Region A 917A und/oder die Data-Lake-Region B 917B) in Verbindung mit Block 1304 aus 11 zu erzeugen. Die Anweisungen 1300 beginnen, wenn der beispielhafte Anfrageanalysierer 1000 des beispielhaften Data-Lake-Verwalters 908 eine Anfrage von dem EIO 935 empfängt, eine neue Data-Lake-Region zu erzeugen.
  • Bei Block 1302 definiert der beispielhafte Data-Lake-Verwalter 908 Data-Lake-Region-Parameter für die neue Data-Lake-Region. Der Standortselektor 1002 aus 10 definiert zum Beispiel die Data-Lake-Region-Parameter einschließlich einer Data-Lake-Region-ID 936, die der neuen Data-Lake-Region entspricht, eines oder mehrerer Data-Lake-Speicherknoten 940 zum Speichern der neuen Data-Lake-Region und eines Adressbereichs 942, der einen Speicherort innerhalb des einen oder der mehreren Data-Lake-Speicherknoten 940 definiert. In dem veranschaulichten Beispiel aus 9 beinhalten der eine oder die mehreren Data-Lake-Speicherknoten 940 die zweite Edge-Plattform 904 und der Adressbereich 942 ist ein Ort innerhalb des Speichers 914.
  • Bei Block 1304 erzeugt der beispielhafte Data-Lake-Verwalter 908 einen Verschlüsselungsschlüssel, der der neuen Data-Lake-Region entspricht. Zum Beispiel erzeugt der Schlüsselgenerator 1006 aus 10 einen RDEK, der der neuen Data-Lake-Region entspricht. In einigen Beispielen erzeugt der Schlüsselgenerator 1006 auch einen KWK zum Verpacken des RDEK.
  • Bei Block 1306 überträgt der beispielhafte Data-Lake-Verwalter 908 den Verschlüsselungsschlüssel zu der einen oder den mehreren Edge-Einrichtungen, die die neue Data-Lake-Region speichern. Zum Beispiel überträgt der Schlüsselverteiler 1008 den RDEK an den einen oder die mehreren Data-Lake-Speicherknoten 940, die durch den Standortselektor 1002 definiert werden. In einigen Beispielen überträgt der Schlüsselverteiler 1008 auch den KWK, der dem RDEK entspricht. In solchen Beispielen verpackt der Schlüsselverteiler 1008 den RDEK unter Verwendung des KWK vor dem Übertragen sowohl des RDEK als auch des KWK an die eine oder die mehreren Edge-Einrichtungen.
  • Bei Block 1308 weist der beispielhafte Data-Lake-Verwalter 908 die eine oder die mehreren Edge-Einrichtungen an, Daten der neuen Data-Lake-Region unter Verwendung des Verschlüsselungsschlüssels zu verschlüsseln. Zum Beispiel sendet der Anweisungssender 1014 Anweisungen an den sekundären Verwalter A 912A der zweiten Edge-Plattform 904, die Daten unter Verwendung des RDEK zu verschlüsseln. In manchen Beispielen ruft der Datenabrufer 1104 aus 11 Daten von dem Standort der neuen Data-Lake-Region ab, der durch den Standortselektor 1002 definiert wird. Der Datenverschlüsseler 1108 aus 11 verschlüsselt die Daten unter Verwendung des RDEK. In einigen Beispielen entpackt der Schlüsselverwalter 1106 aus 11 den RDEK unter Verwendung des KWK, bevor der Datenverschlüsseler 1108 die Daten verschlüsselt. In einigen Beispielen überträgt der Datensender 1112 aus 11 die verschlüsselten Daten zur Speicherung in der neuen Data-Lake-Region.
  • Bei Block 1310 speichert der beispielhafte Data-Lake-Verwalter 908 den Standort und den Verschlüsselungsschlüssel, die der neuen Data-Lake-Region entsprechen, in der Data-Lake-Tabelle 934 aus 9. Zum Beispiel erzeugt die Data-Lake-Tabellensteuerung 1012 einen neuen Eintrag der Data-Lake-Tabelle 934, der der neuen Data-Lake-Region entspricht, wobei der neue Eintrag die Data-Lake-Parameter (z.B. die Data-Lake-Region-ID 936, den einen oder die mehreren Data-Lake-Speicherknoten 940 und den Adressbereich 942), die bei Block 1302 definiert wurden, und den bei Block 1304 erzeugten RDEK beinhaltet.
  • Bei Block 1312 überträgt der beispielhafte Data-Lake-Verwalter 908 die Data-Lake-Tabelle 934 an die eine oder die mehreren Edge-Einrichtungen. Zum Beispiel überträgt die Data-Lake-Tabellensteuerung 1012 eine Kopie der Data-Lake-Tabelle 934 oder einen Teil (z.B. den ersten Teil 934A und/oder den zweiten Teil 934B) der Data-Lake-Tabelle 934 an die eine oder die mehreren Edge-Einrichtungen (z.B. die zweite Edge-Plattform 904), die die neue Data-Lake-Region speichern.
  • Bei Block 1314 bestimmt der beispielhafte Data-Lake-Verwalter 908, ob eine zusätzliche Data-Lake-Region erzeugt werden soll. Als Reaktion darauf, dass der Anfrageanalysierer 1000 eine weitere Anfrage von dem EIO 935 empfängt, dass eine weitere Data-Lake-Region erzeugt werden soll (Block 1314 gibt ein Ergebnis JA zurück), kehrt der Prozess 1300 zum Block 1302 zurück. Alternativ endet der Prozess 1300 als Reaktion darauf, dass der Anfrageanalysierer 1000 keine andere Anfrage von dem EIO 935 empfängt, dass eine andere Data-Lake-Region erzeugt werden soll (Block 1314 gibt ein Ergebnis NEIN zurück).
  • 14 ist ein Flussdiagramm, das maschinenlesbare Anweisungen 1400 repräsentiert, die ausgeführt werden können, um den beispielhaften Data-Lake-Verwalter aus 9 und/oder 10 zu implementieren, um in Verbindung mit dem Block 1208 aus 12 eine Data-Lake-Region zu entfernen. Die Anweisungen 1400 beginnen, wenn der beispielhafte Anfrageanalysierer 1000 des beispielhaften Data-Lake-Verwalters 908 eine Anfrage von dem EIO 935 empfängt, eine Data-Lake-Region (z.B. die Data-Lake-Region A 917A aus 9) aus der Data-Lake-Registry-Architektur 900 aus 9 zu entfernen.
  • Bei Block 1402 bestimmt der beispielhafte Data-Lake-Verwalter 908, ob die Data-Lake-Region A 917A abgelaufen ist. Zum Beispiel bestimmt die Timing-Steuerung 1010, dass die Data-Lake-Region A 917A abgelaufen ist, als Reaktion auf Bestimmen, dass eine Zeitdauer seit der Erzeugung der Data-Lake-Region A 917A verstrichen ist. In solchen Beispielen wird die Zeitdauer durch die Timing-Steuerung 1010 bestimmt, nachdem die Data-Lake-Region A 917A erzeugt wurde. Als Reaktion darauf, dass die Timing-Steuerung 1010 aus 10 bestimmt, dass die Data-Lake-Region A 917A abgelaufen ist (Block 1402 gibt ein Ergebnis JA zurück), geht der Prozess 1400 zu Block 1404 über. Alternativ endet der Prozess 1400 als Reaktion darauf, dass die Timing-Steuerung 1010 bestimmt, dass die Data-Lake-Region A 917A nicht abgelaufen ist (Block 1402 gibt ein Ergebnis NEIN zurück).
  • Bei Block 1404 benachrichtigt der beispielhafte Data-Lake-Verwalter 908 teilnehmende Mandanten, dass die Data-Lake-Region A 917A zu entfernen ist. Zum Beispiel benachrichtigt der Anweisungssender 1014 den einen oder die mehreren Dienste (z.B. den Dienst 922 aus 9), die gegenwärtig Zugriff auf die Data-Lake-Region A 917A haben, über eine Nachricht an eine oder mehrere Edge-Einrichtungen, die den Dienst 922 hosten. In manchen Beispielen kann die Nachricht die Data-Lake-Region-ID 936 der zu entfernenden Data-Lake-Region A 917A und/oder die Zeit, zu der die Data-Lake-Region A 917A zu entfernen ist, beinhalten.
  • Bei Block 1406 weist der beispielhafte Data-Lake-Verwalter 908 eine oder mehrere Edge-Einrichtungen, die die Data-Lake-Region A 917A speichern, an, Daten aus der Data-Lake-Region zu entfernen. Zum Beispiel sendet der Anweisungssender 1014 Anweisungen an den beispielhaften sekundären Verwalter A 912A, die Daten der Data-Lake-Region A 917A zu löschen und/oder die Daten an einen anderen Standort der zweiten Edge-Plattform 904 zu verschieben. In einigen Beispielen werden die Daten nicht gelöscht und der beispielhafte sekundäre Verwalter A 912 A wird stattdessen angewiesen, die Daten mit neuen Daten zu überschreiben.
  • Bei Block 1408 löscht der beispielhafte Data-Lake-Verwalter 908 Verschlüsselungsschlüssel, die der entfernten Data-Lake-Region A 917A entsprechen. Zum Beispiel weist der Anweisungssender 1014 den sekundären Verwalter A 912A an, einen RDEK zu löschen, der der entfernten Data-Lake-Region A 917A entspricht. Zusätzlich löscht die Data-Lake-Tabellensteuerung 1012 in manchen Beispielen einen Eintrag in der Data-Lake-Tabelle 934 aus 9, der der Data-Lake-Region A 917A entspricht. Der Prozess 1400 endet.
  • 15 ist ein Flussdiagramm, das maschinenlesbare Anweisungen 1500 repräsentiert, die ausgeführt werden können, um den beispielhaften Data-Lake-Verwalter aus 9 und/oder 10 zu implementieren, um einen Dienst (z.B. den Dienst 922 aus 9) zu einer Data-Lake-Region (z.B. der Data-Lake-Region A 917A aus 9) in Verbindung mit Block 1212 aus 12 hinzuzufügen. Die Anweisungen 1500 beginnen, wenn der beispielhafte Anfrageanalysierer 1000 des beispielhaften Data-Lake-Verwalters 908 eine Anfrage von dem EIO 935 empfängt, den Dienst 922 zu der Data-Lake-Region A 917A der Data-Lake-Registry-Architektur 900 aus 9 hinzuzufügen.
  • Bei Block 1502 identifiziert der beispielhafte Data-Lake-Verwalter 908 den hinzuzufügenden Dienst. Der Dienstautorisierer 1004 aus 10 identifiziert zum Beispiel die Dienst-ID 937 und/oder Berechtigungsnachweise des hinzuzufügenden Dienstes 922 auf Grundlage der von dem EIO 935 empfangenen Anfrage.
  • Bei Block 1504 bestimmt der beispielhafte Data-Lake-Verwalter 908, ob der Dienst 922 autorisiert ist, auf die Data-Lake-Region A 917A zuzugreifen. Zum Beispiel bestimmt der Dienstautorisierer 1004 basierend auf den Berechtigungsnachweisen des Dienstes 922, ob der Dienst 922 autorisiert ist. In einigen Beispielen verwendet der Dienstautorisierer 1004 einen Beleg (z.B. ein RFC8366), der dem Dienst entspricht, um zu bestimmen, dass der Dienst 922 autorisiert ist. In einigen Beispielen bestimmt der Dienstautorisierer 1004, ob der Dienst 922 autorisiert ist, aus der Data-Lake-Region A 917A zu lesen und/oder in diese zu schreiben und/oder diese zu modifizieren. In einigen Beispielen weist der Dienstautorisierer 1004 dem Dienst 922 eine Kennzeichnung zu, um die Zugriffsebene anzugeben, die dem Dienst 922 gewährt wird. Als Reaktion darauf, dass der beispielhafte Dienstautorisierer 1004 bestimmt, dass der Dienst 922 autorisiert ist (Block 1504 gibt ein Ergebnis JA zurück), geht der Prozess 1500 zu Block 1506 über. Alternativ geht der Prozess 1500 als Reaktion darauf, dass der beispielhafte Dienstautorisierer 1004 bestimmt, dass der Dienst 922 nicht autorisiert ist (Block 1504 gibt ein Ergebnis NEIN zurück), zu Block 1514 über.
  • Bei Block 1506 erzeugt der beispielhafte Data-Lake-Verwalter 908 einen Schlüsselverpackungsschlüssel (KWK). Zum Beispiel erzeugt der Schlüsselgenerator 1006 aus 10 den KWK, der dem Dienst 922 und/oder dem Mandanten entspricht, der den Dienst 922 hostet.
  • Bei Block 1508 verpackt der beispielhafte Data-Lake-Verwalter 908 einen Verschlüsselungsschlüssel, der der Data-Lake-Region entspricht, unter Verwendung des KWK, der durch den Schlüsselgenerator 1006 erzeugt wird. Zum Beispiel erhält der Schlüsselverteiler 1008 aus 10 einen RDEK, der der Data-Lake-Region A 917A entspricht, und verpackt dann den RDEK unter Verwendung des KWK. In solchen Beispielen erhält der Schlüsselverteiler 1008 den RDEK aus einem Eintrag der Data-Lake-Tabelle 934, der der Data-Lake-Region A 917A entspricht.
  • Bei Block 1510 überträgt der beispielhafte Data-Lake-Verwalter 908 den verpackten Verschlüsselungsschlüssel und den KWK an eine oder mehrere Edge-Einrichtungen. Zum Beispiel identifiziert der Schlüsselverteiler 1008 die eine oder die mehreren Edge-Einrichtungen (z.B. die zweite Edge-Plattform 904), die die Data-Lake-Region A 917A speichern, aus dem Eintrag der Data-Lake-Tabelle 934 und überträgt dann den verpackten RDEK und den KWK an die eine oder die mehreren Edge-Einrichtungen. Zusätzlich oder alternativ überträgt der beispielhafte Schlüsselverteiler 1008 den verpackten RDEK und den KWK an den Dienst 922 und/oder eine oder mehrere Edge-Einrichtungen, die den Dienst 922 hosten (z.B. die dritte Edge-Plattform 906). In einigen Beispielen kann der Schlüsselverteiler 1008 zusätzlich oder alternativ einen homomorphen Verschlüsselungsschlüssel, der der Data-Lake-Region A 917A entspricht, an die eine oder die mehreren Edge-Einrichtungen und/oder an den Dienst 922 übertragen.
  • Bei Block 1512 aktualisiert der beispielhafte Data-Lake-Verwalter 908 die Data-Lake-Tabelle 934. Zum Beispiel aktualisiert die Data-Lake-Tabellensteuerung 1012 aus 10 den Eintrag der Data-Lake-Tabelle 934, der der Data-Lake-Region A 917A entspricht. In einigen Beispielen wird der Eintrag der Data-Lake-Tabelle 934 aktualisiert, um die Dienst-ID 937 einzubeziehen, die dem Dienst 922 entspricht.
  • Bei Block 1514 bestimmt der beispielhafte Data-Lake-Verwalter 908, ob ein anderer Dienst zu der Data-Lake-Registry-Architektur 900 hinzugefügt werden soll. Als Reaktion darauf, dass der Anfrageanalysierer 1000 eine weitere Anfrage von dem EIO 935 empfängt, einen weiteren Dienst hinzuzufügen (Block 1514 gibt ein Ergebnis JA zurück), kehrt der Prozess 1500 zum Block 1502 zurück. Alternativ endet der Prozess 1500 als Reaktion darauf, dass der beispielhafte Anfrageanalysierer 1000 keine weitere Anfrage von dem EIO 935 empfängt, einen weiteren Dienst hinzuzufügen (Block 1514 gibt ein Ergebnis NEIN zurück).
  • 16 ist ein Flussdiagramm, das maschinenlesbare Anweisungen 1600 repräsentiert, die ausgeführt werden können, um den beispielhaften Data-Lake-Verwalter 908 aus 9 und/oder 10 zu implementieren, um einen Dienst (z.B. den Dienst 922 aus 9) aus einer Data-Lake-Region (z.B. der Data-Lake-Region A 917A aus 9) in Verbindung mit Block 1216 aus 12 zu entfernen. Die Anweisungen 1600 beginnen, wenn der beispielhafte Anfrageanalysierer 1000 aus 10 eine Anfrage von dem EIO 935 empfängt, den Dienst 922 aus der Data-Lake-Region A 917A zu entfernen.
  • Bei Block 1602 identifiziert der beispielhafte Data-Lake-Verwalter 908 den zu entfernenden Dienst 922. Der Dienstautorisierer 1004 aus 10 identifiziert zum Beispiel eine Dienst-ID 937, die dem Dienst 922 entspricht, basierend auf der Anfrage, die von dem EIO 935 empfangen wird. In einigen Beispielen identifiziert der Dienstautorisierer 1004 eine Data-Lake-Region-ID 936, die der Data-Lake-Region A 917A entspricht.
  • Bei Block 1604 erzeugt der beispielhafte Data-Lake-Verwalter 908 einen neuen Verschlüsselungsschlüssel für die Data-Lake-Region A 917A. Zum Beispiel erzeugt der Schlüsselgenerator 1006 einen neuen RDEK, der der Data-Lake-Region A 917A entspricht, wobei sich der neue RDEK von einem aktuellen RDEK unterscheidet, der der Data-Lake-Region A 917A entspricht.
  • Bei Block 1606 überträgt der beispielhafte Data-Lake-Verwalter 908 den neuen Verschlüsselungsschlüssel an aktuelle Teilnehmer der Data-Lake-Region A 917A. Zum Beispiel überträgt der Schlüsselverteiler 1008 den neuen RDEK an einen oder mehrere Dienste, die gegenwärtig Zugriff auf die Data-Lake-Region A 917A haben, und an eine oder mehrere Edge-Einrichtungen (z.B. die zweite Edge-Plattform 904), die die Data-Lake-Region A 917A speichern. In solchen Beispielen überträgt der Schlüsselverteiler 1008 den neuen RDEK nicht an den Dienst 922.
  • Bei Block 1608 benachrichtigt der beispielhafte Data-Lake-Verwalter 908 die aktuellen Teilnehmer, den Zugriff auf die Data-Lake-Region A 917A vorübergehend auszusetzen. Zum Beispiel sendet der Anweisungssender 1014 eine Nachricht an den einen oder die mehreren Dienste, die gegenwärtig Zugriff auf die Data-Lake-Region A 917A haben, um vorübergehend den Zugriff auf die Data-Lake-Region A 917A auszusetzen. In einigne Beispielen benachrichtigt der Anweisungssender 1014 die eine oder die mehreren Edge-Einrichtungen (z.B. die zweite Edge-Plattform 904), die die Data-Lake-Region A 917A speichern, vorübergehend Zugriffe auf die Data-Lake-Region A 917A zu verhindern.
  • Bei Block 1610 überträgt der beispielhafte Data-Lake-Verwalter 908 den neuen Verschlüsselungsschlüssel an die eine oder die mehreren Edge-Einrichtungen, die die Data-Lake-Region A 917A speichern. Zum Beispiel überträgt der Schlüsselverteiler 1008 den neuen RDEK an die eine oder die mehreren Edge-Einrichtungen, die die Data-Lake-Region A 917A speichern (z.B. die zweite Edge-Plattform 904), und an den einen oder die mehreren Dienste, die gegenwärtig Zugriff auf die Data-Lake-Region A 917A haben. In einigen Beispielen installieren die eine oder die mehreren Edge-Einrichtungen den neuen RDEK in einem Beschleuniger (z.B. dem ersten Beschleuniger 910 und/oder dem zweiten Beschleuniger 916 aus 9), um die Geschwindigkeit der Verschlüsselung und Entschlüsselung zu erhöhen.
  • Bei Block 1612 weist der beispielhafte Data-Lake-Verwalter 908 die eine oder die mehreren Edge-Einrichtungen an, Daten unter Verwendung des aktuellen Verschlüsselungsschlüssels zu entschlüsseln. Zum Beispiel sendet der Anweisungssender 1014 Anweisungen an den Anweisungsanalysierer 1100 aus 11, die Daten zu entschlüsseln. In solchen Beispielen ruft der Datenabrufer 1104 Daten aus der Data-Lake-Region A 917A ab, wobei der Datenabrufer 1104 den Standort der Daten basierend auf der Data-Lake-Tabelle 934 und der Data-Lake-Region-ID 936 bestimmt, die in Block 1602 identifiziert wurde. Der beispielhafte Schlüsselverwalter 1106 aus 11 erhält den aktuellen RDEK, der der Data-Lake-Region A 917A entspricht, aus der Data-Lake-Tabelle 934 und der beispielhafte Datenentschlüsseler 1110 aus 11 entschlüsselt die Daten unter Verwendung des aktuellen RDEK.
  • Bei Block 1614 weist der beispielhafte Data-Lake-Verwalter 908 die eine oder die mehreren Edge-Einrichtungen an, die Daten unter Verwendung des neuen Verschlüsselungsschlüssels erneut zu verschlüsseln. Beispielsweise sendet der Anweisungssender 1014 Anweisungen an den Anweisungsanalysierer 1100, die Daten unter Verwendung des bei Block 1504 erzeugten neuen RDEK erneut zu verschlüsseln. In solchen Beispielen verschlüsselt der Datenverschlüsseler 1108 aus 11 die Daten unter Verwendung des neuen RDEK und der Datensender 1112 aus 11 überträgt die verschlüsselten Daten zur Speicherung an dem Standort, der die Data-Lake-Region A 917A definiert.
  • Bei Block 1616 benachrichtigt der beispielhafte Data-Lake-Verwalter908 die aktuellen Teilnehmer, den Zugriff auf die Data-Lake-Region A 917A wieder aufzunehmen. Zum Beispiel benachrichtigt der Anweisungssender 1014 über eine Nachricht an den einen oder die mehreren Dienste, die gegenwärtig Zugriff auf die Data-Lake-Region A 917A haben, dass der Zugriff auf die Data-Lake-Region A 917A unter Verwendung des neuen RDEK wieder aufgenommen werden kann. Zusätzlich oder alternativ sendet der beispielhafte Anweisungssender 1014 die Nachricht an einen oder mehrere Edge-Speicherstandorte, die die Data-Lake-Region A 917A speichern, um das Zulassen von Zugriffen auf die Data-Lake-Region A 917A wieder aufzunehmen.
  • Bei Block 1618 bestimmt der beispielhafte Data-Lake-Verwalter 908, ob ein weiterer Dienst aus der Data-Lake-Registry-Architektur 900 entfernt werden soll. Als Reaktion darauf, dass der Anfrageanalysierer 1000 eine weitere Anfrage von dem EIO 935 empfängt, einen weiteren Dienst zu entfernen (Block 1618 gibt ein Ergebnis JA zurück), kehrt der Prozess 1600 zum Block 1602 zurück. Alternativ endet der Prozess 1600 als Reaktion darauf, dass der beispielhafte Anfrageanalysierer 1000 keine weitere Anfrage von dem EIO 935 empfängt, einen weiteren Dienst zu entfernen (Block 1618 gibt ein Ergebnis NEIN zurück).
  • 17 ist ein Flussdiagramm, das maschinenlesbare Anweisungen 1700 repräsentiert, die ausgeführt werden können, um den beispielhaften sekundären Verwalter 912 aus 9 und/oder 11 zu implementieren, um Daten aus einer Data-Lake-Region (z.B. der Data-Lake-Region A 917A aus 9) an einen Dienst (z.B. den Dienst 922 aus 9) zu lesen. Die Anweisungen 1700 beginnen, wenn der beispielhafte Anweisungsanalysierer 1100 aus 11 eine Anfrage von dem Dienst 922 empfängt, Daten aus der Data-Lake-Region A 917A zu lesen. In einigen Beispielen erhält der Anweisungsanalysierer 1100 aus der Anfrage die Dienst-ID 937, die dem Dienst 922 entspricht, und die Data-Lake-Region-ID 936, die der Data-Lake-Region A 917A entspricht.
  • Bei Block 1702 bestimmt der beispielhafte sekundäre Verwalter 912, ob der Dienst 922 autorisiert ist, Daten aus der Data-Lake-Region A 917A zu lesen. Zum Beispiel identifiziert der Dienstidentifizierer 1102 aus 11 einen Eintrag der Data-Lake-Tabelle 934, der der Data-Lake-Region A 917A entspricht, basierend auf der Data-Lake-Region-ID 936, die aus der Anfrage erhalten wird. Der beispielhafte Dienstidentifizierer 1102 bestimmt, ob der Eintrag der Data-Lake-Tabelle 934 die Dienst-ID 937, die dem Dienst 922 entspricht, und/oder eine Kennzeichnung beinhaltet, die eine Autorisierung zum Lesen von Daten aus der Data-Lake-Region A 917A anzeigt. Als Reaktion darauf, dass der beispielhafte Dienstidentifizierer 1102 bestimmt, dass der Dienst 922 autorisiert ist, Daten aus der Data-Lake-Region A 917A zu lesen (z.B. gibt Block 1702 ein Ergebnis JA zurück), geht der Prozess 1700 zu Block 1704 über. Alternativ endet der Prozess 1700 als Reaktion darauf, dass der beispielhafte Dienstidentifizierer 1102 bestimmt, dass der Dienst 922 nicht autorisiert ist, Daten aus der Data-Lake-Region A 917A zu lesen (z.B. gibt Block 1702 ein Ergebnis NEIN zurück).
  • Bei Block 1704 identifiziert der beispielhafte sekundäre Verwalter 912 einen Standort der Data-Lake-Region A 917A. Zum Beispiel identifiziert der Datenabrufer 1104 aus 11 die Data-Lake-Speicherknoten 940 und den Adressbereich 942, die der Data-Lake-Region A 917 A entsprechen, basierend auf dem Eintrag der Data-Lake-Tabelle 934.
  • Bei Block 1706 ruft der beispielhafte sekundäre Verwalter 912 Daten aus der Data-Lake-Region A 917A ab. Zum Beispiel ruft der Datenabrufer 1104 die Daten ab, die an dem in Block 1704 identifizierten Standort (z.B. den Data-Lake-Speicherknoten 940 und dem Adressbereich 942, die der Data-Lake-Region A 917A entsprechen) gespeichert sind. In einigen Beispielen sind die Daten verschlüsselte Daten.
  • Bei Block 1708 erhält der beispielhafte sekundäre Verwalter 912 einen Verschlüsselungsschlüssel, der der Data-Lake-Region A 917A entspricht. Zum Beispiel erhält der Schlüsselverwalter 1106 aus 11 einen RDEK, der der Data-Lake-Region A 917A entspricht, aus dem Eintrag der Data-Lake-Tabelle 934. Zusätzlich oder alternativ erhält der beispielhafte Schlüsselverwalter 1106 einen homomorphen Verschlüsselungsschlüssel, der der Data-Lake-Region A 917A entspricht.
  • Bei Block 1710 entschlüsselt der beispielhafte sekundäre Verwalter 912 die Daten aus der Data-Lake-Region A 917A unter Verwendung des Verschlüsselungsschlüssels. Zum Beispiel empfängt der Datenentschlüsseler 1110 aus 11 den RDEK von dem Schlüsselverwalter 1106 und entschlüsselt dann die durch den Datenabrufer 1104 abgerufenen Daten unter Verwendung des RDEK. Zusätzlich oder alternativ entschlüsselt der beispielhafte Datenentschlüsseler 1110 die Daten unter Verwendung des homomorphen Verschlüsselungsschlüssels, der der Data-Lake-Region A 917A entspricht.
  • Bei Block 1712 überträgt der beispielhafte sekundäre Verwalter 912 die entschlüsselten Daten an den Dienst 922. Zum Beispiel überträgt der Datensender 1112 aus 11 die entschlüsselten Daten an den Dienst 922 zum Lesen der Daten. Zusätzlich oder alternativ kann der beispielhafte Datensender 1112 die verschlüsselten Daten an den Dienst 922 übertragen, so dass eine Entschlüsselung der Daten durch den Dienst 922 anstelle des sekundären Verwalters 912 durchgeführt wird. Der Prozess 1700 endet.
  • 18 ist ein Flussdiagramm, das maschinenlesbare Anweisungen 1800 repräsentiert, die ausgeführt werden können, um den beispielhaften sekundären Verwalter 912 aus 9 und/oder 11 zu implementieren, um Daten in eine Data-Lake-Region (z.B. die Data-Lake-Region A 917A aus 9) von einem Dienst (z.B. dem Dienst 922 aus 9) zu schreiben. Die Anweisungen 1800 beginnen, wenn der beispielhafte Anweisungsanalysierer 1100 aus 11 eine Anfrage von dem Dienst 922 empfängt, Daten in die Data-Lake-Region A 917A zu schreiben. In manchen Beispielen erhält der Anweisungsanalysierer 1100 aus der Anfrage die Dienst-ID 937, die dem Dienst 922 entspricht, die Data-Lake-Region-ID 936, die der Data-Lake-Region A 917A entspricht, und unverschlüsselte Daten, die durch den Dienst 922 geschrieben werden. In einigen Beispielen verschlüsselt der Dienst 922 die geschriebenen Daten, bevor die Daten an den Anweisungsanalysierer 1100 gesendet werden.
  • Bei Block 1802 bestimmt der beispielhafte sekundäre Verwalter 912, ob der Dienst 922 autorisiert ist, Daten in die Data-Lake-Region A 917A zu schreiben. Zum Beispiel identifiziert der Dienstidentifizierer 1102 aus 11 einen Eintrag der Data-Lake-Tabelle 934, der der Data-Lake-Region A 917A entspricht, basierend auf der Data-Lake-Region-ID 936, die aus der Anfrage erhalten wird. Der beispielhafte Dienstidentifizierer 1102 bestimmt, ob der Eintrag der Data-Lake-Tabelle 934 die Dienst-ID 937, die dem Dienst 922 entspricht, und/oder eine Kennzeichnung beinhaltet, die eine Autorisierung zum Schreiben von Daten in die Data-Lake-Region A 917A anzeigt. Als Reaktion darauf, dass der beispielhafte Dienstidentifizierer 1102 bestimmt, dass der Dienst 922 autorisiert ist, Daten in die Data-Lake-Region A 917A zu schreiben (z.B. gibt Block 1802 ein Ergebnis JA zurück), geht der Prozess 1800 zu Block 1804 über. Alternativ endet der Prozess 1800 als Reaktion darauf, dass der beispielhafte Dienstidentifizierer 1102 bestimmt, dass der Dienst 922 nicht autorisiert ist, Daten in die Data-Lake-Region A 917A zu schreiben (z.B. gibt Block 1802 ein Ergebnis NEIN zurück).
  • Bei Block 1804 identifiziert der beispielhafte sekundäre Verwalter 912 einen Standort der Data-Lake-Region A 917A. Zum Beispiel identifiziert der Datenabrufer 1104 aus 11 die Data-Lake-Speicherknoten 940 und den Adressbereich 942, die der Data-Lake-Region A 917 A entsprechen, basierend auf dem Eintrag der Data-Lake-Tabelle 934.
  • Bei Block 1806 erhält der beispielhafte sekundäre Verwalter 912 einen Verschlüsselungsschlüssel, der der Data-Lake-Region A 917A entspricht. Zum Beispiel erhält der Schlüsselverwalter 1106 aus 11 einen RDEK, der der Data-Lake-Region A 917A entspricht, aus dem Eintrag der Data-Lake-Tabelle 934. Zusätzlich oder alternativ erhält der beispielhafte Schlüsselverwalter 1106 einen homomorphen Verschlüsselungsschlüssel, der der Data-Lake-Region A 917A entspricht.
  • Bei Block 1808 verschlüsselt der beispielhafte sekundäre Verwalter 912 die durch den Dienst 922 geschriebenen unverschlüsselten Daten unter Verwendung des Verschlüsselungsschlüssels. Zum Beispiel empfängt der Datenverschlüsseler 1108 aus 11 den RDEK von dem Schlüsselverwalter 1106 und die unverschlüsselten Daten von dem Anweisungsanalysierer 1100 und verschlüsselt dann die Daten unter Verwendung des RDEK. Zusätzlich oder alternativ verschlüsselt der beispielhafte Datenverschlüsseler 1108 die Daten unter Verwendung des homomorphen Verschlüsselungsschlüssels, der der Data-Lake-Region A 917A entspricht.
  • Bei Block 1810 überträgt der beispielhafte sekundäre Verwalter 912 die verschlüsselten Daten zur Speicherung an die Data-Lake-Region A 917A. Zum Beispiel überträgt der Datensender 1112 aus 11 die verschlüsselten Daten basierend auf dem Standort, der durch den Datenabrufer 1104 bei Block 1804 identifiziert wird, an die Data-Lake-Region A 917A. Der Prozess 1800 endet.
  • Aus dem Vorstehenden versteht es sich, dass beispielhafte Verfahren, Vorrichtungen und Erzeugnisse offenbart wurden, die die statische Natur bestehender Data-Lake-Verwaltungsmethoden verbessern. Im Gegensatz zu solchen statischen Data-Lake-Methoden erzeugen, entfernen und/oder modifizieren hier offenbarte Beispiele dynamisch Data Lakes, die in einer skalierbaren Edge-Umgebung mit mehreren Ebenen gespeichert sind, und verwalten sichere Zugriffe auf die Data Lakes. Offenbarte Verfahren, Vorrichtungen und Erzeugnisse verbessern die Effizienz der Verwendung einer Datenverarbeitungseinrichtung durch dynamisches Partitionieren der Data Lakes in eine Anzahl von Data-Lake-Regionen mit variierender Größe und Dauer. Somit können Data Lakes modifiziert werden, indem einzelne Data-Lake-Regionen hinzugefügt oder entfernt werden, wodurch die Zeit und Rechenkosten (z.B. Rechenanforderungen an Prozessoren, Bandbreitenanforderungen usw.) reduziert werden, die zur Verschlüsselung und Wiederverschlüsselung ganzer Data Lakes erforderlich sind. Ferner verbessern hier offenbarte beispielhafte Verfahren, Vorrichtungen und Erzeugnisse die Datensicherheit durch Verschlüsseln von Daten unter Verwendung regionsspezifischer Verschlüsselungsschlüssel, wodurch Zugriff auf die Daten durch nicht autorisierte Instanzen verhindert wird. Offenbarte Verfahren, Vorrichtungen und Erzeugnisse sind dementsprechend auf eine oder mehrere Verbesserungen der Funktionsweise eines Computers gerichtet.
  • Die folgenden Ansprüche werden hiermit durch diesen Bezug in die ausführliche Beschreibung aufgenommen, wobei jeder Anspruch für sich eine separate Ausführungsform der vorliegenden Offenbarung darstellt.
  • Vorliegend sind beispielhafte Verfahren, Vorrichtungen, Systeme und Erzeugnisse zum Verwalten von Zugriff auf dezentralisierte Data Lakes offenbart. Weitere Beispiele und Kombinationen davon beinhalten das Folgende: Beispiel 1 beinhaltet eine Vorrichtung zum Verwalten eines Data Lake. Die beispielhafte Vorrichtung beinhaltet einen Standortselektor zum Auswählen einer Edge-Einrichtung zum Speichern des Data Lake, einen Schlüsselgenerator zum Erzeugen eines Verschlüsselungschlüssels, der dem Data Lake entspricht, als Reaktion auf eine Angabe, dass ein Dienst autorisiert ist, auf den Data Lake zuzugreifen, und zum Erzeugen eines Schlüsselverpackungsschlüssels, der der Edge-Einrichtung entspricht, und einen Schlüsselverteiler zum Verpacken des Verschlüsselungsschlüssels unter Verwendung des Schlüsselverpackungsschlüssels und Verteilen des Verschlüsselungsschlüssels und des Schlüsselverpackungsschlüssels an die Edge-Einrichtung, wobei der Verschlüsselungsschlüssel dem Dienst auf der Edge-Einrichtung ermöglichen soll, auf den Data Lake zuzugreifen.
  • Beispiel 2 beinhaltet die Vorrichtung nach Beispiel 1, wobei die Edge-Einrichtung eine erste Edge-Einrichtung ist, wobei der Data Lake eine erste Data-Lake-Region und eine zweite Data-Lake-Region beinhaltet, wobei die erste Data-Lake-Region auf der ersten Edge-Einrichtung gespeichert ist und die zweite Data-Lake-Region auf der ersten Edge-Einrichtung und/oder einer zweiten Edge-Einrichtung gespeichert ist.
  • Beispiel 3 beinhaltet den Gegenstand eines oder mehrerer der Beispiele 1 und/oder 2 und beinhaltet optional eine Data-Lake-Tabellensteuerung zum Erzeugen einer Data-Lake-Tabelle, wobei ein Eintrag der Data-Lake-Tabelle eine Data-Lake-ID, die dem Data Lake entspricht, und/oder eine Dienst-ID, die dem Dienst entspricht, und/oder den Verschlüsselungsschlüssel, und/oder eine Edge-Einrichtungskennung, die der Edge-Einrichtung entspricht, und/oder einen Adressbereich des Data Lake in der Edge-Einrichtung umfasst.
  • Beispiel 4 beinhaltet den Gegenstand eines oder mehrerer der Beispiele 1 bis 3 und beinhaltet optional einen Dienstautorisierer, um zu bestimmen, ob der Dienst autorisiert ist, auf den Data Lake zuzugreifen, wobei die Data-Lake-Tabellensteuerung den Eintrag der Data-Lake-Tabelle basierend auf einem Ergebnis der Bestimmung aktualisiert.
  • Beispiel 5 beinhaltet den Gegenstand eines oder mehrerer der Beispiele 1 bis 4 und optional ist der Verschlüsselungsschlüssel ein erster Verschlüsselungsschlüssel, wobei der Dienstautorisierer bestimmen soll, dass der Dienst nicht mehr autorisiert ist, auf den Data Lake zuzugreifen, der Schlüsselgenerator einen zweiten Verschlüsselungsschlüssel erzeugen soll, der sich von dem ersten Verschlüsselungsschlüssel unterscheidet, der Schlüsselverteiler den zweiten Verschlüsselungsschlüssel an die Edge-Einrichtung verteilen soll, die Edge-Einrichtung anweisen soll, Daten aus dem Data Lake unter Verwendung des ersten Verschlüsselungsschlüssels zu entschlüsseln, und die Edge-Einrichtung anweisen soll, die Daten unter Verwendung des zweiten Verschlüsselungsschlüssels erneut zu verschlüsseln, und die Data-Lake-Tabellensteuerung den ersten Verschlüsselungsschlüssel und die Dienstkennung aus dem Eintrag der Data-Lake-Tabelle entfernen und den zweiten Verschlüsselungsschlüssel zu dem Eintrag der Data-Lake-Tabelle hinzufügen soll.
  • Beispiel 6 beinhaltet den Gegenstand eines oder mehrerer der Beispiele 1 bis 5, wobei optional die Edge-Einrichtung den Verschlüsselungsschlüssel unter Verwendung des Schlüsselverpackungsschlüssels entpacken soll, existierende Daten aus dem Data Lake unter Verwendung des Verschlüsselungsschlüssels entschlüsseln soll, neue Daten, die durch den Dienst geschrieben werden, unter Verwendung des Verschlüsselungsschlüssels verschlüsseln soll und die neuen Daten im Data Lake speichern soll.
  • Beispiel 7 beinhaltet den Gegenstand eines oder mehrerer der Beispiele 1 bis 6 und beinhaltet optional eine Timing-Steuerung, um basierend auf einer Zeitdauer zu bestimmen, ob der Data Lake abgelaufen ist, und als Reaktion auf das Bestimmen, dass der Data Lake abgelaufen ist, die Edge-Einrichtung anzuweisen, den Verschlüsselungsschlüssel und Daten aus dem Data Lake zu löschen.
  • Beispiel 8 beinhaltet ein Verfahren zum Verwalten eines Data Lakes. Das beispielhafte Verfahren beinhaltet Auswählen einer Edge-Einrichtung zum Speichern des Data Lake, als Reaktion auf eine Angabe, dass ein Dienst autorisiert ist, auf den Data Lake zuzugreifen, erfolgendes Erzeugen eines Verschlüsselungsschlüssels, der dem Data Lake entspricht, und Erzeugen eines Schlüsselverpackungsschlüssels, der der Edge-Einrichtung entspricht, Verpacken des Verschlüsselungsschlüssels unter Verwendung des Schlüsselverpackungsschlüssels, und Verteilen des Verschlüsselungschlüssels und des Schlüsselverpackungsschlüssels an die Edge-Einrichtung, wobei der Verschlüsselungsschlüssel dem Dienst auf der Edge-Einrichtung ermöglichen soll, auf den Data Lake zuzugreifen.
  • Beispiel 9 beinhaltet das Verfahren des Beispiels 8, wobei die Edge-Einrichtung eine erste Edge-Einrichtung ist, wobei der Data Lake eine erste Data-Lake-Region und eine zweite Data-Lake-Region beinhaltet, wobei die erste Data-Lake-Region auf der ersten Edge-Einrichtung gespeichert ist und die zweite Data-Lake-Region auf der ersten Edge-Einrichtung und/oder einer zweiten Edge-Einrichtung gespeichert ist.
  • Beispiel 10 beinhaltet den Gegenstand eines oder mehrerer der Beispiele 8 und/oder 9 und beinhaltet optional Erzeugen einer Data-Lake-Tabelle, wobei ein Eintrag der Data-Lake-Tabelle eine Data-Lake-ID, die dem Data Lake entspricht, und/oder eine Dienst-ID, die dem Dienst entspricht, und/oder den Verschlüsselungsschlüssel, und/oder eine Edge-Einrichtungskennung, die der Edge-Einrichtung entspricht, und/oder einen Adressbereich des Data Lake in der Edge-Einrichtung umfasst.
  • Beispiel 11 beinhaltet den Gegenstand eines oder mehrerer der Beispiele 8 bis 10 und beinhaltet optional Bestimmen, ob der Dienst autorisiert ist, auf den Data Lake zuzugreifen, und Aktualisieren des Eintrags der Data-Lake-Tabelle basierend auf einem Ergebnis der Bestimmung.
  • Beispiel 12 beinhaltet den Gegenstand eines oder mehrerer der Beispiele 8 bis 11, wobei optional der Verschlüsselungsschlüssel ein erster Verschlüsselungsschlüssel ist, und beinhaltet ferner Bestimmen, dass der Dienst nicht mehr autorisiert ist, auf den Data Lake zuzugreifen, Erzeugen eines zweiten Verschlüsselungsschlüssels, der sich von dem ersten Verschlüsselungsschlüssel unterscheidet, Verteilen des zweiten Verschlüsselungsschlüssels an die Edge-Einrichtung, Anweisen der Edge-Einrichtung, Daten aus dem Data Lake unter Verwendung des ersten Verschlüsselungsschlüssels zu entschlüsseln, Anweisen der Edge-Einrichtung, die Daten unter Verwendung des zweiten Verschlüsselungsschlüssels erneut zu verschlüsseln, Entfernen des ersten Verschlüsselungsschlüssels und der Dienstkennung aus dem Eintrag der Data-Lake-Tabelle und Hinzufügen des zweiten Verschlüsselungsschlüssels zu dem Eintrag der Data-Lake-Tabelle.
  • Beispiel 13 beinhaltet den Gegenstand eines oder mehrerer der Beispiele 8 bis 12 und beinhaltet optional Entpacken des Verschlüsselungsschlüssels unter Verwendung des Schlüsselverpackungsschlüssels, Entschlüsseln vorhandener Daten aus dem Data Lake unter Verwendung des Verschlüsselungsschlüssels, Verschlüsseln neuer Daten, die durch den Dienst geschrieben werden, unter Verwendung des Verschlüsselungsschlüssels und Speichern der neuen Daten in dem Data Lake.
  • Beispiel 14 beinhaltet den Gegenstand eines oder mehrerer der Beispiele 8 bis 13 und beinhaltet optional basierend auf einer Zeitdauer erfolgendes Bestimmen, ob der Data Lake abgelaufen ist, und als Reaktion auf das Bestimmen, dass der Data Lake abgelaufen ist, erfolgendes Anweisen der Edge-Einrichtung, den Verschlüsselungsschlüssel und Daten aus dem Data Lake zu löschen.
  • Beispiel 15 beinhaltet ein nicht transitorisches computerlesbares Speichermedium, das Anweisungen umfasst, die bei Ausführung bewirken, dass ein Prozessor als Reaktion auf eine Angabe, dass ein Dienst autorisiert ist, auf den Data Lake zuzugreifen, zumindest eine Edge-Einrichtung auswählt, um einen Data Lake zu speichern, einen Verschlüsselungschlüssel erzeugt, der dem Data Lake entspricht, und einen Schlüsselverpackungsschlüssel erzeugt, der der Edge-Einrichtung entspricht, den Verschlüsselungsschlüssel unter Verwendung des Schlüsselverpackungsschlüssels verpackt und den Verschlüsselungsschlüssel und den Schlüsselverpackungsschlüssel an die Edge-Einrichtung verteilt, wobei der Verschlüsselungsschlüssel dem Dienst auf der Edge-Einrichtung ermöglichen soll, auf den Data Lake zuzugreifen.
  • Beispiel 16 beinhaltet das nicht transitorische computerlesbare Speichermedium des Beispiels 15, wobei die Edge-Einrichtung eine erste Edge-Einrichtung ist, wobei der Data-Lake eine erste Data-Lake-Region und eine zweite Data-Lake-Region beinhaltet, wobei die erste Data-Lake-Region auf der ersten Edge-Einrichtung gespeichert ist und die zweite Data-Lake-Region auf der ersten Edge-Einrichtung und/oder einer zweiten Edge-Einrichtung gespeichert ist.
  • Beispiel 17 beinhaltet den Gegenstand eines oder mehrerer der Beispiele 15 und/oder 16 und optional bewirken die Anweisungen bei Ausführung, dass der Prozessor eine Data-Lake-Tabelle erzeugt, wobei ein Eintrag der Data-Lake Tabelle eine Data-Lake-ID, die dem Data Lake entspricht, und/oder eine Dienst-ID, die dem Dienst entspricht, und/oder den Verschlüsselungsschlüssel, und/oder eine Edge-Einrichtungskennung, die der Edge-Einrichtung entspricht, und/oder einen Adressbereich des Data Lake in der Edge-Einrichtung umfasst.
  • Beispiel 18 beinhaltet den Gegenstand eines oder mehrerer der Beispiele 15 bis 17, und optional bewirken die Anweisungen bei Ausführung, dass der Prozessor bestimmt, ob der Dienst autorisiert ist, auf den Data Lake zuzugreifen, und den Eintrag der Data-Lake-Tabelle basierend auf einem Ergebnis der Bestimmung aktualisiert.
  • Beispiel 19 beinhaltet den Gegenstand eines oder mehrerer der Beispiele 15 bis 18 und optional ist der Verschlüsselungsschlüssel ein erster Verschlüsselungsschlüssel, wobei die Anweisungen bei Ausführung veranlassen, dass der Prozessor bestimmt, dass der Dienst nicht mehr autorisiert ist, auf den Data Lake zuzugreifen, einen zweiten Verschlüsselungsschlüssel erzeugt, der sich von dem ersten Verschlüsselungsschlüssel unterscheidet, den zweiten Verschlüsselungsschlüssel an die Edge-Einrichtung verteilt, die Edge-Einrichtung anweist, Daten aus dem Data Lake unter Verwendung des ersten Verschlüsselungsschlüssels zu entschlüsseln, die Edge-Einrichtung anweist, die Daten unter Verwendung des zweiten Verschlüsselungsschlüssels erneut zu verschlüsseln, den ersten Verschlüsselungsschlüssel und die Dienstkennung aus dem Eintrag der Data-Lake-Tabelle entfernt und den zweiten Verschlüsselungsschlüssel zu dem Eintrag der Data-Lake-Tabelle hinzufügt.
  • Beispiel 20 beinhaltet den Gegenstand eines oder mehrerer der Beispiele 15 bis 19, wobei optional die Anweisungen bei Ausführung bewirken, dass der Prozessor den Verschlüsselungsschlüssel unter Verwendung des Schlüsselverpackungsschlüssels entpackt, existierende Daten aus dem Data Lake unter Verwendung des Verschlüsselungsschlüssels entschlüsselt, neue Daten, die durch den Dienst geschrieben werden, unter Verwendung des Verschlüsselungsschlüssels verschlüsselt und die neuen Daten im Data Lake speichert.
  • Beispiel 21 beinhaltet den Gegenstand eines oder mehrerer der Beispiele 15 bis 20 und optional bewirken die Anweisungen bei Ausführung, dass der Prozessor basierend auf einer Zeitdauer bestimmt, ob der Data Lake abgelaufen ist, und als Reaktion auf das Bestimmen, dass der Data Lake abgelaufen ist, die Edge-Einrichtung anweist, den Verschlüsselungsschlüssel und Daten aus dem Data Lake zu löschen.
  • Beispiel 22 beinhaltet eine Vorrichtung zum Verwalten eines Data Lake. Die beispielhafte Vorrichtung beinhaltet Mittel zum Auswählen eines Orts zum Auswählen einer Edge-Einrichtung zum Speichern des Data Lake, Mittel zum Erzeugen von Schlüsseln, um als Reaktion auf eine Anzeige, dass ein Dienst autorisiert ist, auf den Data Lake zuzugreifen, einen Verschlüsselungsschlüssel zu erzeugen, der dem Data Lake entspricht, und einen Schlüsselverpackungsschlüssel zu erzeugen, der der Edge-Einrichtung entspricht, und Mittel zum Verteilen von Schlüsseln, um den Verschlüsselungsschlüssel unter Verwendung des Schlüsselverpackungsschlüssels zu verpacken und den Verschlüsselungsschlüssel und den Schlüsselverpackungsschlüssel an die Edge-Einrichtung zu verteilen, wobei der Verschlüsselungsschlüssel dem Dienst auf der Edge-Einrichtung ermöglichen soll, auf den Data Lake zuzugreifen.
  • Beispiel 23 beinhaltet die Vorrichtung nach Beispiel 22, wobei die Edge-Einrichtung eine erste Edge-Einrichtung ist, wobei der Data Lake eine erste Data-Lake-Region und eine zweite Data-Lake-Region beinhaltet, wobei die erste Data-Lake-Region auf der ersten Edge-Einrichtung gespeichert ist und die zweite Data-Lake-Region auf der ersten Edge-Einrichtung und/oder einer zweiten Edge-Einrichtung gespeichert ist.
  • Beispiel 24 beinhaltet den Gegenstand eines oder mehrerer der Beispiele 22 und/oder 23 und beinhaltet optional Mittel zum Steuern einer Data-Lake-Tabelle, um eine Data-Lake-Tabelle zu erzeugen, wobei ein Eintrag der Data-Lake-Tabelle eine Data-Lake-ID, die dem Data Lake entspricht, und/oder eine Dienst-ID, die dem Dienst entspricht, und/oder den Verschlüsselungsschlüssel, und/oder eine Edge-Einrichtungskennung, die der Edge-Einrichtung entspricht, und/oder einen Adressbereich des Data Lake in der Edge-Einrichtung umfasst.
  • Beispiel 25 beinhaltet den Gegenstand eines oder mehrerer der Beispiele 22 bis 24 und beinhaltet optional Mittel zum Autorisieren eines Dienstes, um zu bestimmen, ob der Dienst autorisiert ist, auf den Data Lake zuzugreifen, wobei die Data-Lake-Tabellen-Steuermittel den Eintrag der Data-Lake-Tabelle basierend auf einem Ergebnis der Bestimmung aktualisieren sollen.
  • Beispiel 26 beinhaltet den Gegenstand eines oder mehrerer der Beispiele 22 bis 25 und optional ist der Verschlüsselungsschlüssel ein erster Verschlüsselungsschlüssel, wobei das Dienstautorisierungsmittel bestimmen soll, dass der Dienst nicht mehr autorisiert ist, auf den Data Lake zuzugreifen, Schlüsselerzeugungsmittel einen zweiten Verschlüsselungsschlüssel erzeugen soll, der sich von dem ersten Verschlüsselungsschlüssel unterscheidet, das Schlüsselverteilungsmittel den zweiten Verschlüsselungsschlüssel an die Edge-Einrichtung verteilen soll, die Edge-Einrichtung anweisen soll, Daten aus dem Data Lake unter Verwendung des ersten Verschlüsselungsschlüssels zu entschlüsseln, und die Edge-Einrichtung anweisen soll, die Daten unter Verwendung des zweiten Verschlüsselungsschlüssels erneut zu verschlüsseln, und das Data-Lake-Tabellen-Steuerungsmittel den ersten Verschlüsselungsschlüssel und die Dienstkennung aus dem Eintrag der Data-Lake-Tabelle entfernen und den zweiten Verschlüsselungsschlüssel zu dem Eintrag der Data-Lake-Tabelle hinzufügen soll.
  • Beispiel 27 beinhaltet den Gegenstand eines oder mehrerer der Beispiele 22 bis 26, wobei optional die Edge-Einrichtung den Verschlüsselungsschlüssel unter Verwendung des Schlüsselverpackungsschlüssels entpacken soll, existierende Daten aus dem Data Lake unter Verwendung des Verschlüsselungsschlüssels entschlüsseln soll, neue Daten, die durch den Dienst geschrieben werden, unter Verwendung des Verschlüsselungsschlüssels verschlüsseln soll und die neuen Daten im Data Lake speichern soll.
  • Beispiel 28 beinhaltet den Gegenstand eines oder mehrerer der Beispiele 22 bis 27 und beinhaltet optional Mittel zur Timing-Steuerung, um basierend auf einer Zeitdauer zu bestimmen, ob der Data Lake abgelaufen ist, und als Reaktion auf das Bestimmen, dass der Data Lake abgelaufen ist, die Edge-Einrichtung anzuweisen, den Verschlüsselungsschlüssel und Daten aus dem Data Lake zu löschen.
  • Beispiel 29 ist ein Edge-Computing-Gateway, das Verarbeitungsschaltungen zum Ausführen eines beliebigen der Beispiele 8 bis 14 umfasst.
  • Beispiel 30 ist eine Basisstation, die eine Netzwerkschnittstellenkarte und Verarbeitungsschaltungen zum Ausführen eines beliebigen der Beispiele 8 bis 14 umfasst.
  • Beispiel 31 ist ein computerlesbares Medium, das Anweisungen zum Ausführen eines der Beispiele 8 bis 14 umfasst.
  • Obwohl gewisse beispielhafte Verfahren, Vorrichtungen und Erzeugnisse hier offenbart wurden, ist der Schutzumfang dieses Patents nicht darauf beschränkt. Vielmehr deckt dieses Patent alle Verfahren, Vorrichtungen und Erzeugnisse ab, die angemessen in den Schutzumfang der Ansprüche dieses Patents fallen.

Claims (25)

  1. Vorrichtung zum Verwalten eines Data Lake, wobei die Vorrichtung Folgendes umfasst: einen Standortselektor zum Auswählen einer Edge-Einrichtung zum Speichern des Data Lake, einen Schlüsselgenerator, um als Reaktion auf eine Angabe, dass ein Dienst autorisiert ist, auf den Data Lake zuzugreifen: einen Verschlüsselungsschlüssel zu erzeugen, der dem Data Lake entspricht, und einen Schlüsselverpackungsschlüssel zu erzeugen, der der Edge-Einrichtung entspricht, und einen Schlüsselverteiler, um: den Verschlüsselungsschlüssel unter Verwendung des Schlüsselverpackungsschlüssels zu verpacken und den Verschlüsselungsschlüssel und den Schlüsselverpackungsschlüssel an die Edge-Einrichtung zu verteilen, wobei der Verschlüsselungsschlüssel dem Dienst auf der Edge-Einrichtung ermöglichen soll, auf den Data Lake zuzugreifen.
  2. Vorrichtung nach Anspruch 1, wobei die Edge-Einrichtung eine erste Edge-Einrichtung ist, wobei der Data Lake eine erste Data-Lake-Region und eine zweite Data-Lake-Region beinhaltet, wobei die erste Data-Lake-Region auf der ersten Edge-Einrichtung gespeichert ist und die zweite Data-Lake-Region auf der ersten Edge-Einrichtung und/oder einer zweiten Edge-Einrichtung gespeichert ist.
  3. Vorrichtung nach einem der vorhergehenden Ansprüche, ferner umfassend eine Data-Lake-Tabellensteuerung zum Erzeugen einer Data-Lake-Tabelle, wobei ein Eintrag der Data-Lake-Tabelle eine Data-Lake-Kennung, die dem Data Lake entspricht, und/oder eine Dienstkennung, die dem Dienst entspricht, und/oder den Verschlüsselungsschlüssel, und/oder eine Edge-Einrichtungskennung, die der Edge-Einrichtung entspricht, und/oder einen Adressbereich des Data Lake in der Edge-Einrichtung umfasst.
  4. Vorrichtung nach Anspruch 3, die ferner einen Dienstautorisierer aufweist, um zu bestimmen, ob der Dienst autorisiert ist, auf den Data Lake zuzugreifen, wobei die Data-Lake-Tabellensteuerung den Eintrag der Data-Lake-Tabelle basierend auf einem Ergebnis der Bestimmung aktualisieren soll.
  5. Vorrichtung nach Anspruch 4, wobei der Verschlüsselungsschlüssel ein erster Verschlüsselungsschlüssel ist, und wobei: der Dienstautorisierer bestimmen soll, dass der Dienst nicht mehr autorisiert ist, auf den Data Lake zuzugreifen, der Schlüsselgenerator einen zweiten Verschlüsselungsschlüssel erzeugen soll, der sich von dem ersten Verschlüsselungsschlüssel unterscheidet, der Schlüsselverteiler: den zweiten Verschlüsselungsschlüssel an die Edge-Einrichtung verteilen soll; die Edge-Einrichtung anweisen soll, Daten aus dem Data Lake unter Verwendung des ersten Verschlüsselungsschlüssels zu entschlüsseln, und die Edge-Einrichtung anweisen soll, die Daten unter Verwendung des zweiten Verschlüsselungsschlüssels erneut zu verschlüsseln, und die Data-Lake-Tabellensteuerung: den ersten Verschlüsselungsschlüssel und die Dienstkennung aus dem Eintrag der Data-Lake-Tabelle entfernen soll und den zweiten Verschlüsselungsschlüssel zu dem Eintrag der Data-Lake-Tabelle hinzufügen soll.
  6. Vorrichtung nach einem der vorhergehenden Ansprüche, wobei die Edge-Einrichtung: den Verschlüsselungsschlüssel unter Verwendung des Schlüsselverpackungsschlüssels entpacken soll, bestehende Daten aus dem Data Lake unter Verwendung des Verschlüsselungsschlüssels entschlüsseln soll, neue Daten, die von dem Dienst geschrieben werden, unter Verwendung des Verschlüsselungsschlüssels verschlüsseln soll und die neuen Daten in dem Data Lake speichern soll.
  7. Vorrichtung nach einem der vorhergehenden Ansprüche, die ferner eine Timing-Steuerung beinhaltet, um: basierend auf einer Zeitdauer zu bestimmen, dass der Data Lake abgelaufen ist, und als Reaktion auf das Bestimmen, dass der Data Lake abgelaufen ist, die Edge-Einrichtung anzuweisen, den Verschlüsselungsschlüssel und Daten aus dem Data Lake zu löschen.
  8. Verfahren zum Verwalten eines Data Lake, wobei das Verfahren Folgendes umfasst: Auswählen einer Edge-Einrichtung zum Speichern des Data Lake, als Reaktion auf eine Angabe, dass ein Dienst autorisiert ist, auf den Data Lake zuzugreifen: Erzeugen eines Verschlüsselungsschlüssels, der dem Data Lake entspricht, und Erzeugen eines Schlüsselverpackungsschlüssels, der der Edge-Einrichtung entspricht, Verpacken des Verschlüsselungsschlüssels unter Verwendung des Schlüsselverpackungsschlüssels, und Verteilen des Verschlüsselungschlüssels und des Schlüsselverpackungsschlüssels an die Edge-Einrichtung, wobei der Verschlüsselungsschlüssel dem Dienst auf der Edge-Einrichtung ermöglichen soll, auf den Data Lake zuzugreifen.
  9. Verfahren nach Anspruch 8, wobei die Edge-Einrichtung eine erste Edge-Einrichtung ist, wobei der Data Lake eine erste Data-Lake-Region und eine zweite Data-Lake-Region beinhaltet, wobei die erste Data-Lake-Region auf der ersten Edge-Einrichtung gespeichert ist und die zweite Data-Lake-Region auf der ersten Edge-Einrichtung und/oder einer zweiten Edge-Einrichtung gespeichert ist.
  10. Verfahren nach einem der Ansprüche 8 bis 9, ferner umfassend Erzeugen einer Data-Lake-Tabelle, wobei ein Eintrag der Data-Lake-Tabelle eine Data-Lake-Kennung, die dem Data Lake entspricht, und/oder eine Dienstkennung, die dem Dienst entspricht, und/oder den Verschlüsselungsschlüssel, und/oder eine Edge-Einrichtungskennung, die der Edge-Einrichtung entspricht, und/oder einen Adressbereich des Data Lake in der Edge-Einrichtung umfasst.
  11. Verfahren nach Anspruch 10, ferner umfassend Bestimmen, ob der Dienst autorisiert ist, auf den Data Lake zuzugreifen, und Aktualisieren des Eintrags der Data-Lake-Tabelle basierend auf einem Ergebnis der Bestimmung.
  12. Verfahren nach Anspruch 11, wobei der Verschlüsselungsschlüssel ein erster Verschlüsselungsschlüssel ist, und das ferner Folgendes umfasst: Bestimmen, dass der Dienst nicht mehr autorisiert ist, auf den Data Lake zuzugreifen, Erzeugen eines zweiten Verschlüsselungsschlüssels, der sich von dem ersten Verschlüsselungsschlüssel unterscheidet, Verteilen des zweiten Verschlüsselungsschlüssels an die Edge-Einrichtung, Anweisen der Edge-Einrichtung, Daten aus dem Data Lake unter Verwendung des ersten Verschlüsselungsschlüssels zu entschlüsseln, Anweisen der Edge-Einrichtung, die Daten unter Verwendung des zweiten Verschlüsselungsschlüssels erneut zu verschlüsseln, Entfernen des ersten Verschlüsselungsschlüssels und der Dienstkennung aus dem Eintrag der Data-Lake-Tabelle und Hinzufügen des zweiten Verschlüsselungsschlüssels zu dem Eintrag der Data-Lake-Tabelle.
  13. Verfahren nach einem der Ansprüche 8 bis 12, das ferner Folgendes umfasst: Entpacken des Verschlüsselungsschlüssels unter Verwendung des Schlüsselverpackungsschlüssels, Entschlüsseln bestehender Daten aus dem Data Lake mit dem Verschlüsselungsschlüssel, Verschlüsseln neuer von dem Dienst geschriebener Daten unter Verwendung des Verschlüsselungsschlüssels und Speichern der neuen Daten in dem Data Lake.
  14. Verfahren nach einem der Ansprüche 8 bis 13, das ferner Folgendes umfasst: Bestimmen, ob der Data Lake abgelaufen ist, basierend auf einer Zeitdauer, und als Reaktion auf das Bestimmen, dass der Data Lake abgelaufen ist, Anweisen der Edge-Einrichtung, den Verschlüsselungsschlüssel und Daten aus dem Data Lake zu löschen.
  15. Computerlesbares Speichermedium, das Anweisungen umfasst, die bei Ausführung bewirken, dass ein Prozessor zumindest: eine Edge-Einrichtung zum Speichern eines Data Lake auswählt, als Reaktion auf eine Anzeige, dass ein Dienst autorisiert ist, auf den Data Lake zuzugreifen: einen Verschlüsselungsschlüssel erzeugt, der dem Data Lake entspricht, und einen Schlüsselverpackungsschlüssel erzeugt, der der Edge-Einrichtung entspricht, und den Verschlüsselungsschlüssel unter Verwendung des Schlüsselverpackungsschlüssels verpackt und den Verschlüsselungsschlüssel und den Schlüsselverpackungsschlüssel an die Edge-Einrichtung verteilt, wobei der Verschlüsselungsschlüssel dem Dienst auf der Edge-Einrichtung ermöglichen soll, auf den Data Lake zuzugreifen.
  16. Computerlesbares Speichermedium nach Anspruch 15, wobei die Edge-Einrichtung eine erste Edge-Einrichtung ist, wobei der Data Lake eine erste Data-Lake-Region und eine zweite Data-Lake-Region beinhaltet, wobei die erste Data-Lake-Region auf der ersten Edge-Einrichtung gespeichert ist und die zweite Data-Lake-Region auf der ersten Edge-Einrichtung und/oder einer zweiten Edge-Einrichtung gespeichert ist.
  17. Computerlesbares Speichermedium nach einem der Ansprüche 15 bis 16, wobei die Anweisungen bei Ausführung bewirken, dass der Prozessor eine Data-Lake-Tabelle erzeugt, wobei ein Eintrag der Data-Lake-Tabelle eine Data-Lake-Kennung, die dem Data Lake entspricht, und/oder eine Dienstkennung, die dem Dienst entspricht, und/oder den Verschlüsselungsschlüssel, und/oder eine Edge-Einrichtungskennung, die der Edge-Einrichtung entspricht, und/oder einen Adressbereich des Data Lake in der Edge-Einrichtung umfasst.
  18. Computerlesbares Speichermedium nach Anspruch 17, wobei die Anweisungen bei Ausführung bewirken, dass der Prozessor bestimmt, ob der Dienst autorisiert ist, auf den Data Lake zuzugreifen, und den Eintrag der Data-Lake-Tabelle basierend auf einem Ergebnis der Bestimmung aktualisiert.
  19. Computerlesbares Speichermedium nach Anspruch 18, wobei der Verschlüsselungsschlüssel ein erster Verschlüsselungsschlüssel ist und wobei die Anweisungen bei Ausführung bewirken, dass der Prozessor: bestimmt, dass der Dienst nicht mehr autorisiert ist, auf den Data Lake zuzugreifen, einen zweiten Verschlüsselungsschlüssel erzeugt, der sich von dem ersten Verschlüsselungsschlüssel unterscheidet, den zweiten Verschlüsselungsschlüssel an die Edge-Einrichtung verteilt, die Edge-Einrichtung anweist, Daten aus dem Data Lake unter Verwendung des ersten Verschlüsselungsschlüssels zu entschlüsseln, die Edge-Einrichtung anweist, die Daten unter Verwendung des zweiten Verschlüsselungsschlüssels erneut zu verschlüsseln, den ersten Verschlüsselungsschlüssel und die Dienstkennung aus dem Eintrag der Data-Lake-Tabelle entfernt und den zweiten Verschlüsselungsschlüssel zu dem Eintrag der Data-Lake-Tabelle hinzufügt.
  20. Computerlesbares Speichermedium nach einem der Ansprüche 15 bis 19, wobei die Anweisungen bei Ausführung bewirken, dass der Prozessor: den Verschlüsselungsschlüssel unter Verwendung des Schlüsselverpackungsschlüssels entpackt, bestehende Daten aus dem Data Lake unter Verwendung des Verschlüsselungsschlüssels entschlüsselt, neue Daten, die von dem Dienst geschrieben werden, unter Verwendung des Verschlüsselungsschlüssels verschlüsselt und die neuen Daten in dem Data Lake speichert.
  21. Computerlesbares Speichermedium nach einem der Ansprüche 15 bis 20, wobei die Anweisungen bei Ausführung bewirken, dass der Prozessor: basierend auf einer Zeitdauer bestimmt, dass der Data Lake abgelaufen ist, und als Reaktion auf das Bestimmen, dass der Data Lake abgelaufen ist, die Edge-Einrichtung anweist, den Verschlüsselungsschlüssel und Daten aus dem Data Lake zu löschen.
  22. Vorrichtung zum Verwalten eines Data Lake, wobei die Vorrichtung Folgendes umfasst: Mittel zum Auswählen eines Ortes zum Auswählen einer Edge-Einrichtung zum Speichern des Data Lake; Mittel zum Erzeugen von Schlüsseln, um als Reaktion auf eine Angabe, dass ein Dienst autorisiert ist, auf den Data Lake zuzugreifen: einen Verschlüsselungsschlüssel zu erzeugen, der dem Data Lake entspricht, und einen Schlüsselverpackungsschlüssel zu erzeugen, der der Edge-Einrichtung entspricht, und Mittel zum Verteilen von Schlüsseln, um: den Verschlüsselungsschlüssel unter Verwendung des Schlüsselverpackungsschlüssels zu verpacken und den Verschlüsselungsschlüssel und den Schlüsselverpackungsschlüssel an die Edge-Einrichtung zu verteilen, wobei der Verschlüsselungsschlüssel dem Dienst auf der Edge-Einrichtung ermöglichen soll, auf den Data Lake zuzugreifen.
  23. Vorrichtung nach einem der vorhergehenden Ansprüche, ferner umfassend Mittel zum Steuern einer Data-Lake-Tabelle zum Erzeugen einer Data-Lake-Tabelle, wobei ein Eintrag der Data-Lake-Tabelle eine Data-Lake-Kennung, die dem Data Lake entspricht, und/oder eine Dienstkennung, die dem Dienst entspricht, und/oder den Verschlüsselungsschlüssel, und/oder eine Edge-Einrichtungskennung, die der Edge-Einrichtung entspricht, und/oder einen Adressbereich des Data Lake in der Edge-Einrichtung umfasst.
  24. Vorrichtung nach Anspruch 23, die ferner Mittel zum Autorisieren eines Dienstes aufweist, um zu bestimmen, ob der Dienst autorisiert ist, auf den Data Lake zuzugreifen, wobei das Data-Lake-Tabellen-Steuerungsmittel den Eintrag der Data-Lake-Tabelle basierend auf einem Ergebnis der Bestimmung aktualisieren soll.
  25. Vorrichtung nach Anspruch 24, wobei der Verschlüsselungsschlüssel ein erster Verschlüsselungsschlüssel ist, und wobei: das Dienstautorisierungsmittel bestimmen soll, dass der Dienst nicht mehr autorisiert ist, auf den Data Lake zuzugreifen, das Schlüsselerzeugungsmittel einen zweiten Verschlüsselungsschlüssel erzeugen soll, der sich von dem ersten Verschlüsselungsschlüssel unterscheidet, das Schlüsselverteilungsmittel: den zweiten Verschlüsselungsschlüssel an die Edge-Einrichtung verteilen soll, die Edge-Einrichtung anweisen soll, Daten aus dem Data Lake unter Verwendung des ersten Verschlüsselungsschlüssels zu entschlüsseln, und die Edge-Einrichtung anweisen soll, die Daten unter Verwendung des zweiten Verschlüsselungsschlüssels erneut zu verschlüsseln, und das Data-Lake-Tabellen-Steuerungsmittel: den ersten Verschlüsselungsschlüssel und die Dienstkennung aus dem Eintrag der Data-Lake-Tabelle entfernen soll und den zweiten Verschlüsselungsschlüssel zu dem Eintrag der Data-Lake-Tabelle hinzufügen soll.
DE102021121267.7A 2020-09-25 2021-08-16 Verfahren, Systeme, Vorrichtungen und Erzeugnisse zur Verwaltung des Zugriffs auf dezentrale Data Lakes Pending DE102021121267A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/032,824 2020-09-25
US17/032,824 US20210014047A1 (en) 2020-09-25 2020-09-25 Methods, systems, apparatus, and articles of manufacture to manage access to decentralized data lakes

Publications (1)

Publication Number Publication Date
DE102021121267A1 true DE102021121267A1 (de) 2022-03-31

Family

ID=74102073

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021121267.7A Pending DE102021121267A1 (de) 2020-09-25 2021-08-16 Verfahren, Systeme, Vorrichtungen und Erzeugnisse zur Verwaltung des Zugriffs auf dezentrale Data Lakes

Country Status (3)

Country Link
US (1) US20210014047A1 (de)
CN (1) CN114268428A (de)
DE (1) DE102021121267A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11894984B2 (en) 2017-11-27 2024-02-06 Lacework, Inc. Configuring cloud deployments based on learnings obtained by monitoring other cloud deployments
US11818156B1 (en) * 2017-11-27 2023-11-14 Lacework, Inc. Data lake-enabled security platform
US11620307B2 (en) * 2021-06-07 2023-04-04 Snowflake Inc. Stage replication in a cloud data lake
CN114880524A (zh) * 2022-05-05 2022-08-09 深圳艾灵网络有限公司 基于数据湖的数据通信方法、电子设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8996887B2 (en) * 2012-02-24 2015-03-31 Google Inc. Log structured volume encryption for virtual machines
US10904201B1 (en) * 2013-10-11 2021-01-26 Cisco Technology, Inc. Updating distributed caches in network devices in the event of virtual machine changes in a virtualized network environment
US10686765B2 (en) * 2017-04-19 2020-06-16 International Business Machines Corporation Data access levels
US11157633B1 (en) * 2019-06-26 2021-10-26 Amazon Technologies, Inc. Digital content delivery system
US11263310B2 (en) * 2019-11-26 2022-03-01 Red Hat, Inc. Using a trusted execution environment for a proof-of-work key wrapping scheme that verifies remote device capabilities
US11196548B1 (en) * 2020-07-02 2021-12-07 International Business Machines Corporation Hypervisor protected key

Also Published As

Publication number Publication date
CN114268428A (zh) 2022-04-01
US20210014047A1 (en) 2021-01-14

Similar Documents

Publication Publication Date Title
US11669368B2 (en) Multi-tenant data protection in edge computing environments
DE102021209145A1 (de) Verfahren und vorrichtung zum koordinieren von edge-plattformen
DE102022203247A1 (de) Disintermedierte Attestierung in einem MEC-Service-MESH-Framework
DE102021207160A1 (de) Verfahren und einrichtung zur verwaltung der dienstgüte in bezug auf service-level-agreements in einer rechenvorrichtung
DE102021209282A1 (de) Verfahren, einrichtungen und systeme zur gemeinsamen nutzung von rechenressourcen zwischen edge-rechenknoten unter verwendung eines overlay-managers
DE102021210705A1 (de) Intelligente datenweiterleitung in edge-netzen
DE102021210882A1 (de) Erweitertes peer-to-peer (p2p) mit edge-vernetzung
DE102021121267A1 (de) Verfahren, Systeme, Vorrichtungen und Erzeugnisse zur Verwaltung des Zugriffs auf dezentrale Data Lakes
DE102021117809A1 (de) Einrichtungen, Systeme, Fabrikate und Verfahren zur Datenlebenszyklusverwaltung in einer Edge-Umgebung
DE112020007229T5 (de) Föderiertes mec-framework für kraftfahrzeugdienste
DE102021207176A1 (de) Dezentrale datenversorgungskettenherkunft
DE102021209019A1 (de) Kontinuierliches testen, integrieren und einsatzverwaltung für edge-computing
DE102021209043A1 (de) Methods and apparatus to select a location of execution of a computation
DE102022203249A1 (de) Mehrfachzugriff-edge-computing- (mec-) fahrzeug-zu-alles-(v2x-) interoperabilitätsunterstützung für mehrere v2x-nachrichtenbroker
DE102022212395A1 (de) Ende-zu-ende-netzwerk-slicing (ens) vom ran- zum kernnetz für kommunikationen der nächsten generation (ng)
EP4156637B1 (de) Softwaredefinierte vernetzung mit berechnungen unterwegs
DE102021212974A1 (de) Automatische eskalation von vertrauensnachweisen
DE102022203111A1 (de) Auf netzwerkfluss basierende hardwarezuweisung
DE102022121227A1 (de) Dynamische slice-rekonfiguration während fafo(fault-attack-failure-outage)-ereignissen
EP3975028A1 (de) Inline-verwaltung kryptografischer daten mit einmaliger berührung
DE102021211772A1 (de) Verfahren und einrichtung zur ermöglichung von sicherem multikohärentem poolspeicher in einem edge-netzwerk
DE102022208684A1 (de) Verfahren und einrichtung für resilienz mithilfe digitaler zwillinge
DE102021210707A1 (de) Biometrische sicherheit für edge-plattformverwaltung
DE112021003825T5 (de) Föderiertes lernen für mehrfachzugang-funkressourcenverwaltungsoptimierungen
US20230018191A1 (en) Service roaming between edge computing platforms