DE102021132317A1 - Teilen von daten zwischen verschiedenen dienstanbietern auf edge-ebene durch kollaborationskanäle - Google Patents

Teilen von daten zwischen verschiedenen dienstanbietern auf edge-ebene durch kollaborationskanäle Download PDF

Info

Publication number
DE102021132317A1
DE102021132317A1 DE102021132317.7A DE102021132317A DE102021132317A1 DE 102021132317 A1 DE102021132317 A1 DE 102021132317A1 DE 102021132317 A DE102021132317 A DE 102021132317A DE 102021132317 A1 DE102021132317 A1 DE 102021132317A1
Authority
DE
Germany
Prior art keywords
data
computer
computing systems
producer
shared
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
DE102021132317.7A
Other languages
English (en)
Inventor
Vito Losacco
Andrea Gianfelici
Pierfrancesco Poce
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.)
Kyndryl Inc
Original Assignee
Kyndryl Inc
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 Kyndryl Inc filed Critical Kyndryl Inc
Publication of DE102021132317A1 publication Critical patent/DE102021132317A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • 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
    • 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)
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Es wird eine Lösung zum Teilen von Daten zwischen verschiedenen Dienstanbietern vorgeschlagen. Ein entsprechendes Verfahren umfasst Einrichten (unter der Steuerung durch ein Kollaborations-Datenverarbeitungssystem) eines oder mehrerer Kollaborationskanäle; jeder Kollaborationskanal verläuft zwischen einem oder mehreren Erzeuger-Edge-Datenverarbeitungssystemen (welche die Daten einer oder mehrerer geteilter Kategorien bereitstellen) und einem oder mehreren Verbraucher-Edge-Datenverarbeitungssystemen (welche berechtigt sind, die Daten einer oder mehrerer geteilter Kategorien zu empfangen). Der jeweilige Kollaborationskanal wird dann vom jeweiligen Erzeuger-Edge-Datenverarbeitungssystem verwendet, um die Daten der entsprechenden geteilten Kategorien den Verbraucher-Edge-Datenverarbeitungssystemen bereitzustellen, die zu deren Empfang berechtigt sind.

Description

  • HINTERGRUND
  • Die vorliegende Offenbarung betrifft das Gebiet der Informationstechnologie. Insbesondere betrifft die vorliegende Offenbarung das Teilen von Daten zwischen Dienstanbietern.
  • Der Hintergrund der vorliegenden Erfindung wird im Anschluss mit der Erörterung von Techniken eingeführt, die damit zusammenhängen. Wenn sich diese Erörterung jedoch auf Dokumente, Handlungen, Gegenstände und dergleichen bezieht, wird dadurch nicht behauptet oder dargestellt, dass die erörterten Techniken Teil des Standes der Technik oder gewöhnliches allgemeines Wissen auf dem für die vorliegende Offenbarung relevanten Gebiet sind.
  • Das Sammeln verschiedener Arten von Daten ist in verschiedenen (Software-)Anwendungen alltäglich. Insbesondere in Datenverarbeitungssystemen mit verteilter Architektur auf Grundlage von (Telekommunikations-)Netzwerken können die Daten lokal gesammelt werden und dann zu ihrer Verarbeitung aus ferngesendet werden. Ein typisches Beispiel ist eines im Internet, wobei Dienstanbieter die Daten sammeln, um entsprechende Dienste bereitzustellen; insbesondere werden im Fall von Cloud-(Computing-)Umgebungen die (Cloud-)Dienste von Cloud-(Dienst-)Anbietern auf Anforderung (mit einer aktuellen Implementierung, die für entsprechende Benutzer vollständig undurchsichtig ist) bereitgestellt, welche Datenverarbeitungsressourcen, die für deren Implementierung erforderlich sind, bereitstellen, konfigurieren und freigeben.
  • Dieser (zentralisierte) Ansatz erfordert jedoch das Senden aller Daten, die (lokal) gesammelt werden, über die Netzwerke zu ihrer (Fern-)Verarbeitung. Beispielsweise können die Daten im Internet zum Senden an die Dienstanbieter durch verschiedene Sammel-(Datenverarbeitungs-)Einheiten gesammelt werden. Insbesondere ist mit dem Aufkommen des Internet der Dinge (Internet of Things, loT) nahezu überall eine Fülle von loT-(Datenverarbeitungs-)Einheiten eingesetzt worden (welche Internet-Verbindungsmöglichkeiten für andere Objekte als Computer hinzufügen). Dies hat eine hohe Anzahl an neuen Anwendungen mit sich gebracht, welche das alltägliche Leben von jedermann immer mehr beherrschen.
  • In einer Edge-Architektur wird die Verarbeitung der gesammelten Daten physisch so nah wie möglich an den Rand der Netzwerke gebracht, wo sie benötigt wird. Die Edge-Architektur konzentriert dann die Verarbeitung soweit wie möglich lokal, bevor sie sie an die (entfernt angeordneten) Dienstanbieter delegiert. Auf diese Weise ist es möglich, eine entsprechende Latenzzeit (bewirkt durch das Fernsenden der Daten zu ihrer Verarbeitung) zu verkürzen, was bei kritischen Anwendungen besonders wichtig ist; außerdem fördert dies die Sicherheit und den Schutz der Daten.
  • Beispielsweise kann jeder Dienstanbieter ein Rechenzentrum (oder mehrere) aufweisen, welches seine Dienste zentral implementiert. Außerdem nutzt der Dienstanbieter eine Anzahl von Sammeleinheiten, welche die zu verarbeitenden Daten lokal sammeln; beispielsweise sind die Sammeleinheiten Sensoren des Dienstanbieters, die auf dem Gebiet eingesetzt werden, oder persönliche Einheiten der Benutzer, die bei dem Dienstanbieter registriert sind. Überdies weist der Dienstanbieter Edge-Server auf, welche am Rand des Netzwerks angeordnet sind, so dass sie sich in der Nähe einer Gruppe von entsprechenden Sammeleinheiten befinden. Jeder Edge-Server sammelt dann die Daten von den entsprechenden Sammeleinheiten und unterzieht sie lokal einer Vorverarbeitung; der Edge-Server lädt dann diese (vorverarbeiteten) Daten in das Rechenzentrum hoch, welches ihre Verarbeitung abschließt, wenn es erforderlich ist.
  • KURZDARSTELLUNG
  • In einem Aspekt der vorliegenden Erfindung umfasst ein Verfahren, ein Computerprogrammprodukt und ein System zum Teilen von Daten unter einer Mehrzahl von Dienstanbietern: (i) Empfangen einer Gruppe von Verfügbarkeitsbenachrichtigungen von einer Gruppe von zentralen Datenverarbeitungssystemen, wobei die Verfügbarkeitsbenachrichtigungen eine Verfügbarkeit eines Erzeuger-Datenverarbeitungssystems zum Teilen von Daten einer geteilten Kategorie und von Datenkategorien von Daten anzeigen, die für das Erzeuger-Datenverarbeitungssystem verfügbar sind; (ii) Empfangen von Berechtigungsbenachrichtigungen von der Gruppe der zentralen Datenverarbeitungssysteme, wobei die Berechtigungsbenachrichtigungen eine Berechtigung eines Verbraucher-Datenverarbeitungssystems zum Empfang der Daten der geteilten Kategorie anzeigen, die von einer Gruppe von Erzeuger-Datenverarbeitungssystemen eines entsprechenden Dienstanbieters bereitgestellt werden; und (iii) Einrichten einer Gruppe von Kollaborationskanälen zwischen der Gruppe von Erzeuger-Datenverarbeitungssystemen und einem Verbraucher-Datenverarbeitungssystem, das berechtigt ist, die Daten der geteilten Kategorie zu empfangen, zur Verwendung durch das Erzeuger-Datenverarbeitungssystem, um die Daten der geteilten Kategorie dem Verbraucher-Datenverarbeitungssystem des Kollaborationskanals bereitzustellen.
  • Figurenliste
  • Die Lösung der vorliegenden Offenbarung sowie weitere Merkmale und Vorteile davon sind am besten zu verstehen unter Bezugnahme auf die folgende detaillierte Beschreibung, die nicht beschränkend sein soll und in Verbindung mit den begleitenden Zeichnungen zu lesen ist (wobei zugunsten einer einfachen Darstellung entsprechende Elemente mit gleichen oder ähnlichen Bezugszeichen gekennzeichnet sind und deren Erläuterung nicht wiederholt wird und die Bezeichnung jeder Einheit im Allgemeinen verwendet wird, um sowohl ihren Typ als auch ihre Eigenschaften zu bezeichnen, wie den Wert, den Inhalt und die Darstellung).
  • Insbesondere:
    • zeigen 1A bis 1D die allgemeinen Prinzipien der Lösung gemäß einer Ausführungsform der vorliegenden Offenbarung;
    • zeigt 2 ein schematisches Blockschaubild einer Datenverarbeitungsinfrastruktur, in welcher die Lösung gemäß einer Ausführungsform der vorliegenden Offenbarung ausgeführt werden kann;
    • zeigt 3 die Haupt-Software-Komponenten, die verwendet werden können, um die Lösung gemäß einer Ausführungsform der vorliegenden Offenbarung zu implementieren; und
    • zeigen 4A bis 4C ein Aktivitätsschaubild, welches den Aktivitätsablauf in Bezug auf eine Implementierung der Lösung gemäß einer Ausführungsform der vorliegenden Offenbarung beschreibt.
  • DETAILLIERTE BESCHREIBUNG
  • Datenübertragungspraktiken, wie sie derzeit gehandhabt werden, umfassen das Sammeln einer riesigen Menge an Daten (Big Data). Während jedoch eine Datenverarbeitungskapazität der Dienstanbieter immer größer wird (so dass sie im Allgemeinen für diesen Zweck groß genug ist), ist die Bandbreite der Netzwerke nicht immer ausreichend. Infolge dessen können die Netzwerke verstopft werden und dann entsprechende Engpässe erzeugen, wodurch es unmöglich wird, akzeptable Übertragungsraten zu garantieren. Dies kann für die Leistungsfähigkeit kritischer Anwendungen, die zeitsensibel sind, schädlich sein.
  • Für eine Edge-Computing-Architektur zwingt das Erfordernis, sich die physische Nähe zunutze zu machen, jeden Dienstanbieter dazu, seine Sammeleinheiten in einer breiten Verteilung einzusetzen. Diese Ausbreitung der Sammeleinheiten bringt eine Steigerung der Kosten für den Dienstanbieter mit sich (zum Beispiel für das Installieren und Warten selbiger), und dann der entsprechenden Dienste, die von dem Dienstanbieter angeboten werden. Außerdem kann die entsprechende Verbreitung der Sammeleinheiten durch die verschiedenen Dienstanbieter eine entsprechende Umgebung beeinträchtigen, wo sie installiert werden können (zum Beispiel, wenn die Sammeleinheiten einen beträchtlichen visuellen Einfluss haben).
  • In jedem Fall begrenzt die unvermeidbare Beschränkung der Sammeleinheiten jedes Dienstanbieters (entweder aufgrund ökonomischer oder aufgrund physischer Beschränkungen) die Datenmenge, die gesammelt werden kann, entweder allgemein oder zumindest an bestimmten Stellen; dies spiegelt sich in einer entsprechenden Beschränkung einer Qualität der Ergebnisse wider, die durch die Verarbeitung der Daten erhalten werden, und dann der entsprechenden Dienste, die von dem Dienstanbieter angeboten werden.
  • Außerdem kann die Nutzung verschiedener Dienste, die von verschiedenen Dienstanbietern (auf Grundlage verschiedener Daten, die von deren Sammeleinheiten gesammelt werden) angeboten werden, problematisch sein. Beispielsweise ist die Zusammenstellung der Informationen, die von verschiedenen Dienstanbietern empfangen werden, zeitaufwändig; außerdem kann dieser Vorgang schwierig und/oder unzuverlässig sein, insbesondere wenn es unmöglich ist, die Vertrauenswürdigkeit der entsprechenden Daten sicherzustellen, die gesammelt wurden.
  • Hierin wird eine vereinfachte Zusammenfassung der vorliegenden Offenbarung gegeben, um ein grundlegendes Verständnis dieser zu geben; es ist jedoch der einzige Zweck dieser Zusammenfassung, einige Konzepte der Offenbarung in einer vereinfachten Form als eine Einleitung zu der folgenden detaillierteren Beschreibung einzuführen, und sie ist nicht als eine Bestimmung ihrer Schlüsselelemente oder als eine Abgrenzung ihres Umfangs auszulegen.
  • In allgemeinen Zügen beruht die vorliegende Offenbarung auf der Idee des Teilens von Daten zwischen verschiedenen Dienstanbietern auf Edge-Ebene über Kollaborationskanäle.
  • Insbesondere stellt eine Ausführungsform ein Verfahren zum Teilen von Daten zwischen verschiedenen Dienstanbietern bereit. Das Verfahren umfasst Einrichten (unter der Steuerung durch ein Kollaborations-Datenverarbeitungssystem) eines oder mehrerer Kollaborationskanäle; jeder Kollaborationskanal verläuft zwischen einem oder mehreren Erzeuger-Edge-Computing-Systemen (welche die Daten einer oder mehrerer geteilter Kategorien bereitstellen) und einem oder mehreren Verbraucher-Edge-Computing-Systemen (die berechtigt sind, die Daten einer oder mehrerer geteilter Kategorien zu empfangen). Der jeweilige Kollaborationskanal wird dann vom jeweiligen Erzeuger-Edge-Computing-System genutzt, um die Daten der entsprechenden geteilten Kategorien den Verbraucher-Edge-Computing-Systemen bereitzustellen, die berechtigt sind, sie zu empfangen.
  • In einem weiteren Aspekt wird ein Computerprogramm zum Implementieren des Verfahrens bereitgestellt.
  • In einem weiteren Aspekt wird ein entsprechendes Computerprogrammprodukt bereitgestellt.
  • In einem weiteren Aspekt wird ein entsprechendes System bereitgestellt.
  • Speziell werden eine oder mehrere Erscheinungsformen der vorliegenden Offenbarung in den unabhängigen Ansprüchen ausgeführt und vorteilhafte Merkmale davon werden in den abhängigen Ansprüchen ausgeführt, wobei der Wortlaut aller Ansprüche durch Verweis im Wortsinn hierin einbezogen ist (wobei jegliches vorteilhafte Merkmal, das in Bezug auf einen speziellen Aspekt angegeben wird, entsprechend für jeden anderen Aspekt gilt).
  • Bezug nehmend insbesondere auf 1A bis 1D, sind dort die allgemeinen Prinzipien der Lösung gemäß einer Ausführungsform der vorliegenden Offenbarung dargestellt.
  • Beginnend mit 1A, bieten eine Mehrzahl von Dienstanbietern 105, die auf der Edge-Architektur basieren, entsprechende Dienste (Datenverarbeitungsfunktionalitäten, welche mit der Zeit zu verschiedenen Zwecken durch verschiedene Benutzer wiederholt genutzt werden können) über ein (Telekommunikations-)Netzwerk 110 an. Zum Beispiel sind die Dienstanbieter 105 Cloud-(Dienst-)Anbieter, welche jeweils einen Pool von (Cloud-)Diensten anbieten, die durch virtuelle Datenverarbeitungsressourcen (die sehr schnell bereitgestellt, konfiguriert und freigegeben werden) implementiert werden, welche ihren Benutzern auf Anforderung zugewiesen werden, z.B. über das Internet im Fall eines öffentlichen Einsatzmodells.
  • Jeder Dienstanbieter 105 weist eine Mehrzahl von Sammel-(Datenverarbeitungs-)Einheiten 115 (beispielsweise dedizierte Sensoren oder persönliche Einheiten seiner Benutzer) auf; die Sammeleinheiten 115 werden verwendet, um Daten (oder Dimensionen) einer oder mehrerer (Daten-)Kategorien (z.B. Fotografien, Gesundheitsparameter, Umweltindikatoren usw.) zu sammeln. Der Dienstanbieter 105 weist ein oder mehrere Edge-Computing-Systeme auf, zum Beispiel Edge-Server 120. Jeder Edge-Server 120 ist an einem Rand des Netzwerks 110 derart angeordnet, dass er sich in enger (physischer) Nähe zu einer entsprechenden Gruppe von Sammeleinheiten 115 befindet (beispielsweise innerhalb von 1 bis 2 Hops davon entfernt, z.B. in der letzten Meile des Netzwerks 110); der Edge-Server 120 wird dann verwendet, um die Daten, die von der entsprechenden Gruppe von Sammeleinheiten 115 gesammelt werden, lokal vorzuverarbeiten. Der Dienstanbieter 105 weist ein zentrales Datenverarbeitungssystem auf, zum Beispiel ein zentrales Rechenzentrum 125 (oder mehrere). Das zentrale Rechenzentrum 125 (tiefer im Netzwerk 110 angeordnet) wird verwendet, wenn es erforderlich ist, um die Verarbeitung der (möglicherweise vorverarbeiteten) Daten, die von den Edge-Servern 120 dahin hochgeladen werden, abzuschließen.
  • Nun übergehend zu 1B, steuert bei der Lösung gemäß einer Ausführungsform der vorliegenden Offenbarung ein Kollaborations-Datenverarbeitungssystem, zum Beispiel ein Kollaborations-Server 130 (einer Kollaborationsstelle) ein Teilen der Daten, die von den verschiedenen Dienstanbietern lokal gesammelt wurden. Kurz ausgedrückt, jeder Dienstanbieter, der zum (lokalen) Teilen seiner Daten verfügbar ist, benachrichtigt entsprechend die Kollaborationsstelle. Insbesondere sendet ein (zentraler) Server des entsprechenden zentralen Rechenzentrums 125 (mit demselben Bezugszeichen gekennzeichnet), eine (Verfügbarkeits-)Benachrichtigung an den Kollaborations-Server 130, welche anzeigt, dass ein oder mehrere (Erzeuger-)Edge-Server des Dienstanbieters, differenziert gekennzeichnet mit dem Bezugszeichen 120p, verfügbar sind, um die Daten einer oder mehrerer (geteilter) Kategorien aus denjenigen Daten, die dafür verfügbar sind, zu teilen.
  • Nun übergehend zu 1C, benachrichtigen die Dienstanbieter die Kollaborationsstelle über Berechtigungen, die gewährt wurden, um Daten zu empfangen, die zwischen ihnen geteilt werden (gemäß einer Vereinbarung zwischen den entsprechenden Dienstanbietern). Insbesondere sendet der zentrale Server 125 (der die Daten eines oder mehrerer seiner Erzeuger-Edge-Server 120p teilt) eine (Berechtigungs-)Benachrichtigung an den Kollaborations-Server 130, welche anzeigt, dass ein oder mehrere (Verbraucher-)Edge-Server anderer Dienstanbieter, differenziert gekennzeichnet mit dem Bezugszeichen 120c, berechtigt sind, die Daten einer oder mehrerer Kategorien zu empfangen, die von einem oder mehreren seiner Erzeuger-Edge-Server 120 bereitgestellt werden (als Ergebnis dessen, dass entsprechende Vereinbarungen erreicht wurden).
  • Nun übergehend zu 1D, richtet der Kollaborations-Server 130 einen oder mehrere (Kollaborations-)Kanäle 135 zum (lokalen) Teilen der Daten ein. Insbesondere verläuft jeder Kollaborationskanal 135 (nur einer ist in der Figur dargestellt) zwischen einem oder mehreren Erzeuger-Edge-Servern 120p und einem oder mehreren Verbraucher-Edge-Servern 120c, die berechtigt sind, die Daten einer oder mehrerer entsprechender Kategorien zu empfangen. Beispielsweise wird der Kollaborationskanal 135 durch Zuordnen entsprechender Verschlüsselungsschlüssel zu den Verbraucher-Datenverarbeitungssystemen der jeweiligen Kategorie der Daten implementiert, die in dem jeweiligen Kollaborationskanal geteilt werden. Jeder Erzeuger-Edge-Server 120p ist mit allen Verschlüsselungsschlüsseln für die Kategorien der Daten versehen, die von ihm geteilt werden; jeder Verbraucher-Edge-Server 120c ist stattdessen nur mit den Verschlüsselungsschlüsseln für die Kategorien der Daten versehen, für deren Empfang er berechtigt ist. Der Kollaborationskanal 135 wird dann von den Erzeuger-Edge-Servern 120p verwendet, um die Daten (die lokal von seinen Sammeleinheiten 115 gesammelt wurden, möglicherweise nach deren Vorverarbeitung) den entsprechenden Verbraucher-Edge-Servern 120c bereitzustellen. Beispielsweise verschlüsselt jeder Erzeuger-Edge-Server 120p die Daten der zu teilenden Kategorien mit den entsprechenden Verschlüsselungsschlüsseln und sendet diese dann durch Rundsenden oder Gruppenadressierung an alle Verbraucher-Edge-Server 120c des Kommunikationskanals 135; jeder Verbraucher-Edge-Server 120c kann jedoch nur die Daten der Kategorien entschlüsseln, für deren Empfang er berechtigt ist (mittels der entsprechenden Verschlüsselungsschlüssel).
  • Die obige Lösung ermöglicht das Teilen von Daten unter verschiedenen Dienstanbietern auf der Ebene ihrer Edge-Server auf Peer-to-Peer-Weise (P2P).
  • Auf diese Weise ist es möglich, die Anzahl an Sammeleinheiten zu verringern, ohne die physische Nähe der Edge-Server dazu wesentlich zu beeinträchtigen; tatsächlich können die Verbraucher-Edge-Server nun die Daten der benötigten Kategorien ohne die entsprechenden Sammeleinheiten empfangen, indem die der Erzeuger-Edge-Server genutzt werden.
  • Die resultierende verringerte Verteilung der Sammeleinheiten begrenzt ihre Ausbreitung unter den Dienstanbietern (mit einer entsprechenden Einsparung für diese, was zu einer Verringerung der Kosten ihrer Dienste führen sollte) und ihre Verbreitung in der Umgebung (mit einer Verringerung aller visueller Beeinträchtigungen dadurch).
  • Außerdem ist es möglich, die Menge an Daten zu erhöhen, die für jeden Dienstanbieter verfügbar sind (zumindest an Stellen, wo ihm die entsprechenden Sammeleinheiten fehlen). Dies hat einen positiven Einfluss auf die Qualität der Ergebnisse, die durch die Verarbeitung der Daten erhalten werden, und dann der entsprechenden Dienste, die von dem Dienstanbieter angeboten werden.
  • Dies ermöglicht außerdem die Zusammenstellung der Daten, die von verschiedenen Dienstanbietern gesammelt werden, in einer zeiteffizienten und zuverlässigen Weise. Tatsächlich wird diese Operation bei den Verbraucher-Edge-Servern (und kurz nach dem Sammeln der Daten vor Ort durch die Sammeleinheiten der Verbraucher-/Erzeuger-Edge-Server) durchgeführt; überdies koordiniert der Kollaborations-Server die Zusammenarbeit zwischen den Edge-Servern der verschiedenen Dienstanbieter zentral, um sie zu garantieren (beispielsweise in Bezug auf Echtheit, Integrität, Nicht-Zurückweisung, Vertrauenswürdigkeit usw. der Daten, die geteilt werden).
  • Auf diese Weise ist es möglich, eine hohe Qualität und Zuverlässigkeit mit einer kurzen Reaktionszeit der Dienste zu haben (besonders wichtig für kritische Anwendungen).
  • Beispielsweise kann ein Kraftwerk Daten, die von einem Wetterdienst (welcher Wind, Temperatur, Regen usw. misst) gesammelt werden, und Daten, die von einem geologischen Dienst (welcher Schnee, Luftfeuchtigkeit, Eis, Feuer, seismische Wellen usw. misst) gesammelt werden, nutzen, um die Erzeugung von Strom zu planen (sogar ohne dedizierte Sammeleinheiten zu besitzen). Als ein anderes Beispiel kann ein Sicherheitsunternehmen eines Flughafens Daten, die von seinen Sammeleinheiten (welche biometrische Informationen von Personen bereitstellen, die sich verdächtig verhalten) gesammelt werden, mit ähnlichen Daten kombinieren, die von einer Bank empfangen werden, um mögliche Bedrohungen sofort zu erkennen (und dann unmittelbar einzuschreiten). Als ein weiteres Beispiel kann ein Smartphone Vitalparameter (z.B. Körpertemperatur, Blutdruck, Herzfrequenz usw.) seiner Benutzer sammeln und es kann Verschmutzungsdaten und Wetterdaten empfangen, die von entsprechenden Messgeräten in der Nähe der Benutzer gesammelt werden, und diese kombinieren, um mögliche Risiken für eine Gesundheit der Benutzer gemäß eventuellen Umgebungsbedingungen zu erkennen.
  • Nun Bezug nehmend auf 2, ist dort ein schematisches Blockschaubild einer Datenverarbeitungsinfrastruktur 200 dargestellt, in welcher die Lösung gemäß einer Ausführungsform der vorliegenden Offenbarung ausgeführt werden kann.
  • Die Datenverarbeitungsinfrastruktur 200 weist die Sammeleinheiten 115, die Edge-Server 120 und die zentralen Server 125 (der verschiedenen Dienstanbieter) und den Kollaborations-Server 130 auf, welche über das Netzwerk 110 untereinander verbunden sind.
  • Beispielsweise umfassen die Sammeleinheiten 115 loT-Einheiten, z.B. (herkömmlicherweise nicht Internet-fähige) andere Objekte als Computer, welche mit Internet-Verbindungsmöglichkeiten versehen sind. Insbesondere umfassen die Sammeleinheiten 115 Sensoren der entsprechenden Dienstanbieter (zum Sammeln von Daten spezieller Kategorien), welche in alltägliche Objekte (wie Haushaltsgeräte, Fahrzeuge, Werkzeuge usw.) eingebettet sind; zusätzlich oder alternativ umfassen die Sammeleinheiten 115 persönliche Einheiten der Benutzer der Dienstanbieter (zum Beispiel Smartphones, Tablets usw.), worauf eine oder mehrere Apps der Dienstanbieter installiert sind (zum Sammeln von Daten spezieller Kategorien über entsprechende Sensoren der persönlichen Einheiten). Die Edge-Server 120 können physische Maschinen sein, welche direkt mit (in der Figur nicht dargestellten) Zugangsanbietern verbunden sind, welche den entsprechenden Sammeleinheiten Zugang zum Internet gewähren (so dass sie sich in physischer Nähe dazu befinden). Die zentralen Server 125 können virtuelle Maschinen sein, welche in den (in der Figur nicht dargestellten) zentralen Rechenzentren der entsprechenden Dienstanbieter (irgendwo im Internet) implementiert sind. Der Kollaborations-Server 130 kann eine virtuelle Maschine sein, welche in einem (in der Figur nicht dargestellten) Rechenzentrum der Kollaborationsstelle implementiert ist.
  • Jede der obigen Datenverarbeitungsmaschinen (Sammeleinheiten 115, Edge-Server 120, zentrale Server 125 und Kollaborations-Server 130) umfasst mehrere Einheiten, welche über eine Busstruktur 205 mit einer oder mehreren Ebenen untereinander verbunden sind (mit einer Architektur, die entsprechend der Art der Datenverarbeitungsmaschine 115 bis 130 geeignet skaliert ist). Insbesondere stellen ein oder mehrere Mikroprozessoren (µP) 210 eine Logikfähigkeit der Datenverarbeitungsmaschine 115 bis 130 bereit; ein nicht-flüchtiger Speicher (ROM) 215 speichert grundlegenden Code für ein Urladen der Datenverarbeitungsmaschine 115 bis 130 und ein flüchtiger Speicher (RAM) 220 wird als ein Arbeitsspeicher von dem Mikroprozessor 210 verwendet. Die Datenverarbeitungsmaschine 115 bis 130 ist mit einem Massenspeicher 225 zum Speichern von Programmen und Daten versehen (zum Beispiel einem E2PROM für jede Sammeleinheit 115, redundanten SSDs für jeden Edge-Server 120 und Speichereinheiten für das entsprechende Rechenzentrum für jeden zentralen Server 125 und für den Kollaborations-Server 130). Außerdem umfasst die Datenverarbeitungsmaschine 115 bis 130 eine Anzahl von Steuerungen für Peripheriegeräte oder Eingabe/Ausgabe(E/A)-Einheiten 230; beispielsweise umfassen, soweit es für die vorliegende Offenbarung relevant ist, die Peripheriegeräte 230 jeder Sammeleinheit 115 einen Sensor zum Sammeln der Daten der entsprechenden Kategorie (z.B. eine Kamera, ein Thermometer, ein Hygrometer, ein Radar usw.), einen drahtlosen Netzwerkadapter des Wi-Fi-Typs und/oder einen Mobiltelefon-Sendeempfänger zum Zugreifen auf das Netzwerk 110 über Zugangspunkte bzw. Basisstationen, die Peripheriegeräte 230 jedes Edge-Servers 120 umfassen einen Netzwerkadapter zum Zugreifen auf das Netzwerk 110, die Peripheriegeräte 230 jedes zentralen Servers 120 und des Kollaborations-Servers 130 umfassen einen Netzwerkadapter zum Einstecken des zentralen Servers/des Kollaborations-Servers 125, 130 in das entsprechende Rechenzentrum und zum anschließenden Verbinden desselben mit einer Konsole des Rechenzentrums zu seiner Steuerung (zum Beispiel einen Personal-Computer, der auch mit einem Laufwerk zum Lesen/Beschreiben austauschbarer Speichereinheiten versehen ist, wie solchen des USB-Typs) und mit einem Switch/Router-Untersystem des Rechenzentrums für seinen Datenaustausch mit dem Netzwerk 110.
  • Nun Bezug nehmend auf 3, sind dort die Haupt-Software-Komponenten dargestellt, die verwendet werden können, um die Lösung gemäß einer Ausführungsform der vorliegenden Offenbarung zu implementieren.
  • Insbesondere werden alle Software-Komponenten (Programme und Daten) als Gesamtheit mit der Bezugszahl 300 bezeichnet. Die Software-Komponenten 300 werden typischerweise in dem Massenspeicher gespeichert und (zumindest teilweise) in den Arbeitsspeicher der betreffenden Datenverarbeitungsmaschine geladen, wenn die Programme zusammen mit einem Betriebssystem und möglichen anderen Anwendungsprogrammen (in der Figur nicht dargestellt) ablaufen. Die Programme werden anfänglich in dem Massenspeicher installiert, beispielsweise aus austauschbaren Speichereinheiten oder aus dem Netzwerk. Diesbezüglich kann jedes Programm ein Modul, ein Segment oder ein Code-Abschnitt sein, welches/welcher eine oder mehrere Anweisungen zum Implementieren der spezifizierten logischen Funktion aufweist.
  • Beginnend mit der jeweiligen Sammeleinheit 115 (in der Figur ist nur eine dargestellt), weist diese die folgenden Komponenten auf.
  • Ein Sensortreiber 303 steuert seinen Sensor (zum Sammeln der Daten der entsprechenden Kategorie) an; beispielsweise sind die Daten digitale Bilder, Messwerte der Temperatur, der Luftfeuchtigkeit, des Drucks usw. Der Sensortreiber 303 beschreibt einen Datenpuffer 306, welcher die Daten, die von dem Sensortreiber 303 gesammelt wurden, vorübergehend speichert. Ein Uploader 309 lädt diese Daten hoch, indem er sie aus dem Datenpuffer 306 ausliest und sie dann an den entsprechenden Edge-Server 120 sendet.
  • Nun übergehend zu dem Edge-Server 120 (in der Figur ist nur einer dargestellt), weist dieser die folgenden Komponenten auf.
  • Ein Kollektor 312 empfängt die Daten, die von den entsprechenden Sammeleinheiten 115 gesammelt worden sind (von dem Uploader 309 von jeder von diesen). Der Kollektor 312 beschreibt ein Datenrepository 315, welches die Daten speichert, die von den entsprechenden Sammeleinheiten 115 gesammelt worden sind. Ein Vorprozessor 318 vorverarbeitet diese Daten; zu diesem Zweck liest der Vorprozessor 318 das Datenrepository 315 aus, um die (Roh-)Daten abzurufen, wie sie empfangen wurden; außerdem beschreibt der Vorprozessor 318 das Datenrepository 315, um die so erhaltenen (vorverarbeiteten) Daten zu speichern. Beispielsweise sind die vorverarbeiteten Daten biometrische Parameter, die aus digitalen Bildern von Personen extrahiert werden, gefährliche Bedingungen auf Grundlage einer Kombination von Gesundheitsparametern von Personen und Umgebungsparametern ihrer Positionen usw. Ein Uploader 321 lädt die Rohdaten und/oder die vorverarbeiteten Daten hoch, indem er sie aus dem Datenrepository 321 ausliest und dann an den entsprechenden zentralen Server 125 sendet; außerdem (in der Figur nicht dargestellt) kann der Uploader 321 die vorverarbeiteten Daten (wenn sie bereits von Nutzen sind) auch an entsprechende in seiner Nähe befindliche Client-Einheiten senden, z.B. an die persönlichen Einheiten der entsprechenden Benutzer.
  • Bei der Lösung gemäß einer Ausführungsform der vorliegenden Offenbarung steuert eine Sharing-Engine 324 das Teilen der Daten, die bei dem Edge-Server 120 verfügbar sind (der Rohdaten, die von den entsprechenden Sammeleinheiten 115 gesammelt worden sind, und/oder der vorverarbeiteten Daten, die von dem Vorprozessor 318 erhalten worden sind). Zu diesem Zweck liest/beschreibt die Sharing-Engine 324 das Datenrepository 315 und ein Profilrepository 327. Das Profilrepository 327 enthält entsprechende (Kollaborations-)Profile zum Zugreifen auf die Kollaborationskanäle, für welche der Edge-Server 120 zugelassen ist (entweder als Erzeuger oder als Verbraucher). Beispielsweise umfasst jedes Kollaborationsprofil eine Liste der Kategorien der Daten, die über den Kollaborationskanal geteilt werden. Im Gegenzug weist die Liste einen Eintrag für jede dieser Kategorien auf. Der Eintrag speichert ein Rollen-Flag, welches anzeigt, ob der Edge-Server 120 der Erzeuger oder der Verbraucher dieser Daten ist, und den Verschlüsselungsschlüssel, der zu verwenden ist, um sie zu verschlüsseln (Erzeuger) oder zu entschlüsseln (Verbraucher) (wobei der Eintrag leer ist, wenn der Edge-Server 120 weder als Erzeuger noch als Verbraucher für die Kategorie zugelassen ist). Die Sharing-Engine 324 nutzt eine kryptographische Maschine 330, welche verwendet wird, um die Daten, die geteilt werden zu verschlüsseln/entschlüsseln. Die Sharing-Engine 324 tauscht mit der Sharing-Engine der anderen Edge-Server (in der Figur nicht dargestellt) des Kollaborationskanals, für welchen sie zugelassen ist, Daten aus.
  • Nun übergehend zu dem jeweiligen zentralen Server 125 (in der Figur ist nur einer dargestellt), weist dieser die folgenden Komponenten auf.
  • Ein Kollektor 333 empfängt die (rohen/vorverarbeiteten) Daten, die von den entsprechenden Edge-Servern 120 bereitgestellt worden sind (von dem Uploader 321 von jedem von diesen). Der Kollektor 333 beschreibt ein Datenrepository 336, welches diese Daten speichert. Ein Prozessor 339 verarbeitet die Daten (er führt im Fall von Rohdaten deren gesamte Verarbeitung durch oder er schließt im Fall von vorverarbeiteten Daten deren Verarbeitung ab); zu diesem Zweck liest der Prozessor 339 das Datenrepository 336 aus, um die (rohen/vorverarbeiteten) Daten abzurufen, wie sie empfangen wurden; außerdem beschreibt der Vorprozessor 339 das Datenrepository 336, um die so erhaltenen (verarbeiteten) Daten zu speichern. Beispielsweise sind die verarbeiteten Daten Identifikationsinformationen, welche sich auf verdächtige Personen beziehen, die anhand ihrer biometrischen Parameter erkannt werden, medizinische Informationen, die sich auf Patienten in gefährlichen Bedingungen beziehen, usw.; die verarbeiteten Daten können dann für jeden gewünschten Zweck genutzt werden, zum Beispiel um Handlungen zu koordinieren, die vorzunehmen sind, um die verdächtige Person unschädlich zu machen, um den Patienten medizinische Hilfe zu geben usw.
  • Bei der Lösung gemäß einer Ausführungsform der vorliegenden Offenbarung steuert eine Sharing-Engine 342 das Teilen von Daten durch die entsprechenden Edge-Server 120 über die entsprechenden Kollaborationskanäle (entweder um sie den (Verbraucher-)Edge-Servern 120 anderer Dienstanbieter bereitzustellen oder um sie von den (Erzeuger-)Edge-Servern 120 anderer Dienstanbieter zu empfangen). Zu diesem Zweck nutzt die Sharing-Engine 342 eine Discovery-Engine 345, welche verwendet wird, um die Daten zu erkennen, die zum Teilen verfügbar sind (veröffentlicht von dem Kollaborations-Server 130, wie im Folgenden beschrieben). Die Sharing-Engine 342 tauscht mit der Sharing-Engine jedes zentralen Servers 125 Daten aus, um das Teilen von Daten abzustimmen, die entweder bereitzustellen oder zu empfangen sind (in der Figur nicht dargestellt). Außerdem steuert die Sharing-Engine 342 die Sharing-Engine 324 jedes entsprechenden Edge-Servers 120.
  • Nun übergehend zu dem Kollaborations-Server 130, weist dieser die folgenden Komponenten auf.
  • Ein Sharing-Manager 348 verwaltet das Teilen von Daten zwischen den Edge-Servern 120 der verschiedenen Dienstanbieter. Zu diesem Zweck tauscht der Sharing-Manager 348 mit der Sharing-Engine 342 jedes zentralen Servers 125 Daten aus. Der Sharing-Manager 348 liest ein Dienstanbieterrepository 351 aus, welches die Dienstanbieter identifiziert, die bei der Kollaborationsstelle registriert sind. Beispielsweise weist das Dienstanbieterrepository 351 einen Eintrag für jeden Dienstanbieter auf; der Eintrag umfasst einen Namen des Dienstanbieters und eine Kennung seines zentralen Servers (z.B. Host-Name, IP-Adresse usw.). Der Sharing-Manager 348 steuert eine Veröffentlichungseinheit 354, welche ein Kategorieregister 357, ein Server-Register 360 und ein Kanalregister 363 beschreibt, die im Internet veröffentlicht werden. Das Kategorieregister 357 zeigt alle (geteilten) Kategorien der Daten an, die zum Teilen verfügbar sind. Beispielsweise weist das Kategorierepository 357 einen Eintrag für jede dieser Kategorien auf. Der Eintrag enthält einen Namen der Kategorie, eine Beschreibung davon (zum Beispiel digitale Bilder von Personen, Körper-/Umgebungstemperaturen, Blut-/Umgebungsdrücke usw.), einen Typ der entsprechenden Werte (zum Beispiel ganze Zahl, Buchstabe, Array usw.) und einen Typ der entsprechenden Daten (zum Beispiel roh, vorverarbeitet usw.). Das Server-Register 360 zeigt die (Erzeuger-)Edge-Server 120 an, welche zum Teilen ihrer Daten verfügbar sind (wie durch die Kollaborationsstelle anerkannt/bestätigt). Beispielsweise weist das Server-Repository 360 einen Eintrag für jeden dieser Edge-Server 120 auf. Der Eintrag umfasst eine Kennung des Edge-Servers 120 (zum Beispiel Host-Name, IP-Adresse usw.), den Namen des entsprechenden Dienstanbieters, eine Liste einer oder mehrerer verwalteter Kategorien (Spezies) von Daten, für deren Teilen der Edge-Server 120 verfügbar ist, und eine Liste der Kollaborationskanäle, für welche der Edge-Server 120 (als Erzeuger) zugelassen ist. Im Gegenzug weist die Liste dieser Spezies einen Eintrag für jeden von diesen auf. Der Eintrag speichert den Namen der Spezies, die Kategorie der entsprechenden Daten und eine oder mehrere (Daten-)Eigenschaften bezüglich der Daten, zum Beispiel eine Position des Edge-Servers 120 oder der entsprechenden Sammeleinheiten 115 (z.B. GPS-Koordinaten, eine geographische Bezeichnung und dergleichen), eine Genauigkeit, eine Sicherheitsstufe, eine Aktualisierungsregel usw. Das Kanalregister 363 zeigt die Kollaborationskanäle an, welche unter den Edge-Servern 120 der verschiedenen Dienstanbieter eingerichtet sind (zum Beispiel jeweils für ein entsprechendes Thema, wie z.B. Umgebung, Gesundheit, Sicherheit usw.). Beispielsweise weist das Kanalrepository 363 einen Eintrag für jeden Kollaborationskanal auf. Der Eintrag umfasst eine Liste der Kategorien der Daten, die in dem Kollaborationskanal geteilt werden, und eine Liste der (Erzeuger-)Edge-Server 120, welche diese Daten bereitstellen. Im Gegenzug weist die Liste dieser Edge-Server 120 einen Eintrag für jeden von diesen auf; der Eintrag speichert eine Liste der Kategorien der Daten, die von dem Edge-Server 120 in dem Kollaborationskanal bereitgestellt werden. Das Kategorieregister 357, das Server-Register 360 und das Kanalregister 363 werden von der Discovery-Engine 345 jedes zentralen Servers 125 ausgelesen; außerdem wird das Kanalregister 363 auch von der Sharing-Engine 324 jedes Edge-Servers 120 (in der Figur nicht dargestellt) ausgelesen.
  • Nun Bezug nehmend auf 4A bis 4C, ist dort ein Aktivitätsschaubild dargestellt, welches den Aktivitätsablauf in Bezug auf eine Implementierung der Lösung gemäß einer Ausführungsform der vorliegenden Offenbarung beschreibt.
  • Diesbezüglich kann jeder Block einer oder mehreren ausführbaren Anweisungen zum Implementieren der spezifizierten logischen Funktion auf den betreffenden Datenverarbeitungsmaschinen entsprechen. Insbesondere repräsentiert das Schaubild einen beispielhaften Prozess, welcher angewendet werden kann, um Daten zwischen den Edge-Servern verschiedener Dienstanbieter mit einem Verfahren 400 zu teilen.
  • Der Prozess gelangt vom Block 402 zum Block 404 auf der Spur des zentralen Servers eines allgemeinen Dienstanbieters, immer wenn seine Sharing-Engine einen (Verfügbarkeits-)Befehl zum Ändern der Verfügbarkeit eines Edge-Servers (oder mehrerer) des Dienstanbieters zum Teilen von Daten empfängt, die dafür verfügbar sind (zum Beispiel eingegeben durch einen Systemadministrator davon). Beispielsweise kann sich die Änderung auf das Hinzufügen eines (Erzeuger-)Edge-Servers, das Hinzufügen einer (geteilten) Kategorie (oder mehrerer) eines(Erzeuger-)Edge- Servers, deren Änderung, Löschung usw. beziehen. In Reaktion darauf sendet die Sharing-Engine eine entsprechende (Verfügbarkeits-)Benachrichtigung an den Kollaborations-Server (bezüglich der Erzeuger-Edge-Server und/oder der geteilten Kategorien). Der Prozess springt dann zum Block 402 zurück, wo auf einen nächsten Verfügbarkeitsbefehl gewartet wird.
  • Nun übergehend zu der Spur des Kollaborations-Servers, empfängt der Sharing-Manager im Block 406 diese Benachrichtigung. Der Sharing-Manager befiehlt dann im Block 408 der Veröffentlichungseinheit, das Kategorieregister und/oder das Server-Register entsprechend zu aktualisieren. Außerdem sendet der Sharing-Manager im Block 410 durch Rundsenden oder Gruppenadressierung dieselbe Benachrichtigung an die zentralen Server aller anderen Dienstanbieter, die bei der Kollaborationsstelle registriert sind (wie in dem entsprechenden Repository angezeigt). Der Prozess springt dann zum Block 406 zurück, wo auf eine nächste Benachrichtigung gewartet wird.
  • Nun übergehend zu der Spur des zentralen Servers jedes anderen Dienstanbieters, empfängt im Block 412 die Sharing-Engine diese Benachrichtigung. Der Aktivitätsablauf verzweigt sich im Block 414 gemäß seinem Inhalt. Wenn sich die Benachrichtigung auf die Änderung einer (angemeldeten) Kategorie (oder mehrerer) der Daten bezieht, die in einem Kollaborationskanal geteilt werden, für welchen ein oder mehrere (Verbraucher-)Edge-Server des Dienstanbieters für den Empfang zugelassen sind, benachrichtigt die Sharing-Engine im Block 416 jeden dieser Edge- Server, um zu ermöglichen, dass dessen Sharing-Engine dementsprechend reagiert, was in der Figur nicht dargestellt ist (zum Beispiel durch Anpassen an eine Änderung des Formats der Daten, die empfangen werden). Anderenfalls verzweigt sich der Aktivitätsablauf im Block 418 weiter. Wenn sich die Benachrichtigung auf das Hinzufügen einer (neuen) Kategorie (oder mehrerer) der Daten bezieht, die für ein Teilen durch den entsprechenden (Erzeuger-)Edge-Server (der möglicherweise ebenfalls hinzugefügt wurde) verfügbar geworden sind, verzweigt sich der Aktivitätsablauf im Block 420 gemäß einem entsprechenden Interesse des Dienstanbieters daran weiter. Wenn die Sharing-Engine einen Befehl zum Anmelden für die Kategorie der Daten empfängt, die von diesem Edge-Server bereitgestellt werden (beispielsweise eingegeben durch den Systemadministrator in Reaktion auf eine entsprechende Benachrichtigung, z.B. durch eine Sofortmitteilung oder eine eMail), wird der Prozess im Block 432 fortgesetzt (der im Folgenden beschrieben wird). Der Prozess springt dann zum Block 412 zurück, wo auf eine nächste Benachrichtigung aus dem Block 416, direkt aus dem Block 418 (wenn sich die Benachrichtigung nicht auf das Hinzufügen einer neuen Kategorie bezieht, für welche der Dienstanbieter nicht angemeldet ist) und nach dem Anfordern der Anmeldung für die neue Kategorie oder direkt, wenn der Dienstanbieter nicht daran interessiert ist, aus dem Block 420 gewartet wird.
  • Der Prozess gelangt vom Block 422 zum Block 424 auf der Spur des zentralen Servers eines allgemeinen Dienstanbieters (desselben wie oben zum Zweck der Vereinfachung), immer wenn seine Sharing-Engine einen Befehl zum Anmelden für eine Datenkategorie (oder mehrere) für einen (Verbraucher-)Edge-Server (oder mehrere) empfängt, welche nicht mit einer Sammeleinheit des Dienstanbieters zum Sammeln dieser Daten in Verbindung steht (zum Beispiel eingegeben durch den Systemadministrator). In Reaktion darauf sucht die Discovery-Engine in dem entsprechenden Register nach dieser Datenkategorie. Der Aktivitätsablauf verzweigt sich im Block 426 gemäß einem Ergebnis dieser Suche. Wenn die Kategorie erkannt worden ist (was bedeutet, dass die entsprechenden Daten von einem oder mehreren Edge-Servern der anderen Dienstanbieter zum Teilen angeboten werden), bestimmt die Discovery-Engine im Block 428 die Erzeuger-Edge-Server, welche die Daten der Kategorie anbieten, und die Kollaborationskanäle, wo dies bereits geschieht, falls vorhanden (durch Abfragen des Server-Registers und des Kanalregisters). Die Discovery-Engine bestimmt dann, ob Erzeuger-Edge-Server und mögliche Kollaborationskanäle existieren, welche spezielle Anforderungen erfüllen (die in einer oder mehreren Richtlinien definiert sind oder durch den Systemadministrator manuell eingegeben sind), beispielsweise in Bezug auf den entsprechenden Dienstanbieter, die Daten-Spezies usw.; wenn dies der Fall ist, wählt die Discovery-Engine einen besten von diesen aus (zum Beispiel für den nächstgelegenen Erzeuger-Edge-Server). Der Aktivitätsablauf verzweigt sich im Block 430 gemäß einem Ergebnis dieser Suche. Wenn ein geeigneter Erzeuger-Edge-Server gefunden worden ist, geht der Prozess zum Block 432 über; derselbe Punkt wird auch nach dem Block 420 erreicht, im Fall von Interesse des Dienstanbieters an der neuen Kategorie des (möglicherweise neuen) Erzeuger-Edge-Servers. In beiden Fällen gibt die Sharing-Engine nun eine Anforderung zum Teilen der entsprechenden Daten an den zentralen Server des Erzeuger-Edge-Servers aus.
  • Nun übergehend zu der Spur dieses zentralen Servers, empfängt im Block 434 die Sharing-Engine diese Anforderung. Dann wird eine Abstimmung zwischen den beiden zentralen Servern gestartet, wobei diese Abstimmung den Austausch einer oder mehrerer Mitteilungen mit entsprechenden Angeboten/Anforderungen durch den zentralen Server des Erzeuger-Edge-Servers im Block 436 und durch den zentralen Server des Verbraucher-Edge-Servers im Block 438 umfasst. Beispielsweise basiert die Abstimmung auf entsprechenden Anforderungen der beiden Dienstanbieter (die in einer oder mehreren Richtlinien definiert sind oder manuell durch deren Systemadministratoren eingegeben sind), zum Beispiel in Bezug auf entsprechende Eigenschaften der Daten, die bereitgestellt werden können und die zu empfangen sind, Gebühren, die für das Bereitstellen der Daten erforderlich sind und für das Empfangen der Daten angeboten werden, usw.). In der Spur des zentralen Servers des Verbraucher-Edge-Servers springt der Prozess dann zum Block 422 zurück, wo auf eine nächste Anmeldeanforderung aus dem Block 438, aus dem Block 426, wenn die Kategorie nicht erkannt worden ist (was bedeutet, dass die entsprechenden Daten von keinem Edge-Server der anderen Dienstanbieter zum Teilen angeboten werden), oder aus dem Block 430, wenn kein geeigneter Erzeuger-Edge-Server gefunden worden ist, gewartet wird. Unter der Annahme, dass zwischen den beiden Dienstanbietern eine Vereinbarung zum Teilen der Daten erreicht worden ist, benachrichtigt im Block 440 die Sharing-Engine des zentralen Servers des Erzeuger-Edge-Servers dementsprechend den Kollaborations-Server. Der Prozess springt dann zum Block 434 zurück, wo auf eine nächste Anforderung zum Teilen von Daten gewartet wird.
  • Nun übergehend zu der Spur des Kollaborations-Servers, empfängt im Block 442 der Sharing-Manager diese Benachrichtigung. In Reaktion darauf befiehlt der Sharing-Manager im Block 444 der Veröffentlichungseinheit, das Kanalregister dementsprechend zu aktualisieren. Insbesondere erzeugt die Veröffentlichungseinheit, falls erforderlich, einen neuen Kollaborationskanal (für den Erzeuger-Edge-Server); in jedem Fall fügt die Veröffentlichungseinheit die zu teilende Kategorie und den Verbraucher-Edge-Server zu dem Kollaborationskanal hinzu. Außerdem sendet der Sharing-Manager im Block 446 durch Rundsenden oder Gruppenadressierung dieselbe Benachrichtigung an die zentralen Server aller anderen Dienstanbieter, die bei der Kollaborationsstelle registriert sind (wie in dem entsprechenden Repository angezeigt). Die Sharing-Engine des zentralen Servers jedes anderen Dienstanbieters empfängt diese Benachrichtigung im Block 412, so dass sie dieselben Operationen durchführt, wie oben beschrieben. Der Sharing-Manager erzeugt dann im Block 448 den Verschlüsselungsschlüssel, der zu verwenden ist, um die Daten in dem Kollaborationskanal von dem Erzeuger- Edge-Server zu dem Verbraucher-Edge-Server zu teilen. Im Block 450 sendet der Sharing-Manager den Verschlüsselungsschlüssel an den zentralen Server des Erzeuger-Edge-Servers und an den zentralen Server des Verbraucher-Edge-Servers. Der Prozess springt dann zum Block 442 zurück, wo auf eine nächste Benachrichtigung gewartet wird.
  • Nun übergehend zu der Spur des zentralen Servers des Erzeuger-Edge-Servers, empfängt im Block 452 die Sharing-Engine den Verschlüsselungsschlüssel. In Reaktion darauf vollzieht die Sharing-Engine im Block 454 das entsprechende Teilen der Daten (Bereitstellung) auf dem Erzeuger-Edge-Server. Zu diesem Zweck sendet die Sharing-Engine eine entsprechende Benachrichtigung an den Erzeuger-Edge-Server, welche den Kollaborationskanal, die zu teilende Datenkategorie und den entsprechenden Verschlüsselungsschlüssel anzeigt. Der Prozess springt dann zum Block 452 zurück, wo auf eine nächste Benachrichtigung gewartet wird. Nun übergehend zu der Spur des Erzeuger-Edge-Servers, empfängt im Block 456 die Sharing-Engine diese Benachrichtigung. In Reaktion darauf aktualisiert die Sharing-Engine im Block 458 dementsprechend das Profilrepository. Der Prozess springt dann zum Block 456 zurück, wo auf eine nächste Benachrichtigung gewartet wird.
  • Gleichzeitig empfängt in der Spur des zentralen Servers des Verbraucher-Edge-Servers im Block 460 die Sharing-Engine ebenfalls den Verschlüsselungsschlüssel. In Reaktion darauf vollzieht die Sharing-Engine im Block 462 das entsprechende Teilen der Daten (Empfang) auf dem Erzeuger-Edge-Server. Zu diesem Zweck sendet die Sharing-Engine eine entsprechende Benachrichtigung an den Verbraucher-Edge-Server, welche den Kollaborationskanal, die Kategorie der Daten, die geteilt worden sind, und den entsprechenden Verschlüsselungsschlüssel anzeigt. Der Prozess springt dann zum Block 460 zurück, wo auf eine nächste Benachrichtigung gewartet wird. Nun übergehend zu der Spur des Verbraucher-Edge-Servers, empfängt im Block 464 die Sharing-Engine diese Benachrichtigung. In Reaktion darauf aktualisiert die Sharing-Engine im Block 466 dementsprechend das Profilrepository. Der Prozess springt dann zum Block 464 zurück, wo auf eine nächste Benachrichtigung gewartet wird.
  • Auf einem vollständig unabhängigen Weg gelangt der Prozess in der Spur jedes Verbraucher-Edge-Servers vom Block 468 zum Block 470, sobald ein (Aktualisierung-)Ereignis auftritt, welches die Aktualisierung der dafür verfügbaren Daten auslöst, die in einem entsprechenden Kollaborationskanal zu teilen sind (wie durch die entsprechende Aktualisierungsregel in dem Profilrepository angezeigt), beispielsweise periodisch, in Reaktion auf eine Änderung dieser usw. An diesem Punkt ruft die Sharing-Engine die zu teilenden Daten aus dem Datenrepository ab; beispielsweise ruft die Sharing-Engine für jede Kategorie der Daten, die zu teilen sind, den letzten verfügbaren Wert davon oder die letzten verfügbaren in einem vorgegebenen Zeitrahmen ab (wiederum wie durch die entsprechende Aktualisierungsregel angezeigt). Im Block 472 befiehlt die Sharing-Engine der Verschlüsselungsmaschine, die Daten jeder Kategorie mit den entsprechenden Verschlüsselungsschlüsseln zu verschlüsseln (die aus dem Profilrepository abgerufen werden). Im Block 474 erstellt die Sharing-Engine eine Aufzeichnung für das Teilen in dem Kollaborationskanal. Die Aufzeichnung umfasst die so erhaltenen (verschlüsselten) Daten für jede Kategorie (signiert mit einem privaten Schlüssel des Erzeuger-Edge-Servers), die Kennung des Erzeuger-Edge-Servers und ein digitales Zertifikat davon; die Sharing-Engine veröffentlicht die Aufzeichnung dann in dem Kollaborationskanal, beispielsweise durch Rundsenden oder Gruppenadressierung, für alle anderen Edge-Server des Kollaborationskanals (abgerufen aus dem entsprechenden Repository). Gleichzeitig kann die Sharing-Engine auch eine Anzeige der ausgeführten Aktivität in einem Protokoll speichern, welches zu Verfolgungszwecken mit dem entsprechenden zentralen Server geteilt wird. Der Prozess springt dann zum Block 468 zurück, wo auf ein nächstes Aktualisierungsereignis gewartet wird.
  • Nun übergehend zur Spur des jeweiligen Verbraucher-Edge-Servers, empfängt im Block 476 die Sharing-Engine jede Aufzeichnung, die in dem jeweiligen Kollaborationskanal geteilt worden ist, für welchen der Verbraucher-Edge-Server angemeldet ist. Im Block 478 verifiziert die Sharing-Engine gemäß seiner digitalen Signatur, dass die Aufzeichnung tatsächlich von einem Verbraucher-Edge-Server des Kollaborationskanals bereitgestellt worden ist (wie in dem Kanalrepository angezeigt). Unter der Annahme, dass die Aufzeichnung echt ist, befiehlt im Block 480 die Sharing-Engine der Verschlüsselungsmaschine, die Daten jeder Kategorie, für deren Empfang der Verbraucher-Edge-Server berechtigt ist, mit dem entsprechenden Verschlüsselungsschlüssel (wie in dem Profilrepository angezeigt) zu entschlüsseln. Im Block 482 speichert die Sharing-Engine die so erhaltenen (verschlüsselten) Daten in dem Datenrepository. Der Prozess springt dann zum Block 476 zurück, wo auf einen nächsten Empfang von Daten gewartet wird.
  • Auf diese Weise ist es möglich, das Teilen von Daten in jedem Kollaborationskanal zu unterscheiden. In der Tat können, auch wenn der Erzeuger-Edge-Server die Daten wahllos an alle Verbraucher-Edge-Server rundsendet, nur die Edge-Server die Daten entschlüsseln, die für deren Empfang berechtigt sind.
  • Natürlich kann der Fachmann viele logische und/oder physische Modifikationen und Änderungen an der vorliegenden Offenbarung vornehmen, um lokale und spezielle Anforderungen zu erfüllen. Insbesondere versteht es sich, dass, obwohl die vorliegende Offenbarung in Bezug auf eine oder mehrere Ausführungsformen mit einem bestimmten Maß an Genauigkeit beschrieben worden ist, verschiedene Auslassungen, Ersetzungen und Änderungen in der Form und in Einzelheiten sowie andere Ausführungsformen möglich sind. Insbesondere können verschiedene Ausführungsformen der vorliegenden Offenbarung auch ohne die speziellen Einzelheiten (z.B. die numerischen Werte) ausgeübt werden, die in der vorstehenden Beschreibung ausgeführt werden, um für ein gründlicheres Verständnis zu sorgen; umgekehrt können wohlbekannte Merkmale weggelassen oder vereinfacht worden sein, um die Beschreibung nicht aufgrund unnötiger Einzelheiten unverständlich werden zu lassen. Außerdem ist ausdrücklich beabsichtigt, dass spezielle Elemente und/oder Verfahrensschritte, die in Verbindung mit irgendeiner Ausführungsform in der vorliegenden Offenbarung beschrieben werden, als allgemeine Gestaltungsauswahl in jede andere Ausführungsform eingebaut werden können. Ferner sind Elemente, die in einer gleichen Gruppe und verschiedenen Ausführungsformen, Beispielen oder Alternativen vorgestellt werden, nicht als de facto äquivalent zueinander auszulegen (sondern sie sind getrennte und selbständige Einheiten). In jedem Fall sollte jeder numerische Wert als gemäß geltender Toleranzen modifiziert gelesen werden; insbesondere sollten, sofern nicht anders angegeben, die Begriffe „im Wesentlichen“, „etwa“, „ungefähr“ und Ähnliches als innerhalb von 10 %, vorzugsweise 5 % und noch mehr bevorzugt 1 % verstanden werden. Außerdem sollte jeder Bereich von numerischen Werten so verstanden werden, dass er ausdrücklich jede mögliche Zahl entlang dem Kontinuum innerhalb des Bereichs (einschließlich seiner Endpunkte) festlegt. Ordnungszahlen oder andere qualifizierende Ausdrücke werden lediglich als Kennzeichen verwendet, um Elemente mit der gleichen Bezeichnung zu unterscheiden, bedeuten jedoch von sich aus keine Priorität, Rangordnung oder Reihenfolge. Die Begriffe „umfassen“, „aufweisen“, „haben“, „enthalten“, „beinhalten“ und dergleichen sollen eine offene, nicht erschöpfende Bedeutung haben (nicht auf die angeführten Elemente beschränkt), die Begriffe „auf Grundlage von“, „in Abhängigkeit von“, „gemäß“, „Funktion von“ und dergleichen sollen eine nicht-ausschließliche Beziehung bedeuten (woran mögliche weitere Variablen beteiligt sind), der Begriff a/a soll als ein oder mehrere Elemente aufgefasst werden (sofern nicht ausdrücklich anders angegeben) und der Begriff „Mittel zum“ (oder jede Mittel-plus-Funktion-Formulierung) sollte als irgendeine Struktur aufgefasst werden, die dafür geeignet oder konfiguriert ist, die betreffende Funktion auszuführen.
  • Beispielsweise stellt eine Ausführungsform ein Verfahren zum Teilen von Daten zwischen einer Mehrzahl von Dienstanbietern bereit. Die Daten können jedoch Daten eines beliebigen Typs sein (zum Beispiel Rohdaten, vorverarbeitete Daten usw.) und sie können zwischen einer beliebigen Anzahl an Dienstanbietern eines beliebigen Typs (zum Beispiel solchen des Cloud-Typs, des SOA-Typs, des Client/Server-Typs usw.) geteilt werden.
  • In einer Ausführungsform weist jeder der Dienstanbieter eine Mehrzahl an Sammeleinheiten auf. Die Sammeleinheiten können jedoch beliebig viele und beliebigen Typs sein (zum Beispiel Sensoren der Dienstanbieter, persönliche Einheiten ihrer Benutzer usw.).
  • In einer Ausführungsform sind die Sammeleinheiten welche zum Sammeln von Daten einer oder mehrerer Datenkategorien. Die Datenkategorien können jedoch beliebig viele und beliebiger Art sein (zum Beispiel Teilkategorien, andere und zusätzliche Datenkategorien in Bezug auf die oben erwähnten).
  • In einer Ausführungsform weist jeder Dienstanbieter ein oder mehrere Edge-Datenverarbeitungssysteme auf. Die Edge-Datenverarbeitungssysteme können jedoch beliebig viele und beliebigen Typs sein (zum Beispiel physische Maschinen, virtuelle Maschinen usw.).
  • In einer Ausführungsform dient jedes der Edge-Datenverarbeitungssysteme der Vorverarbeitung von Daten, die dafür verfügbar sind, umfassend die Daten, die von einer entsprechenden Gruppe der Sammeleinheiten gesammelt worden sind. Jedoch können die Sammeleinheiten der Gruppe beliebig viele sein und in beliebiger Weise angeordnet sein (zum Beispiel direkt mit dem Edge-Datenverarbeitungssystem verbunden, über einen oder mehrere Hops usw.); außerdem können die Daten auf beliebige Weise vorverarbeitet werden (zum Beispiel mit Teiloperationen, anderen und zusätzlichen Operationen in Bezug auf die oben erwähnten).
  • In einer Ausführungsform weist jeder der Dienstanbieter ein zentrales Datenverarbeitungssystem zum Verarbeiten der Daten auf, die von den Edge-Datenverarbeitungssystemen bereitgestellt worden sind. Das zentrale Datenverarbeitungssystem kann jedoch eines eines beliebigen Typs sein (zum Beispiel eine virtuelle oder physische Maschine, die in einem Rechenzentrum implementiert ist, eine selbständige Maschine usw.); außerdem können die Daten auf beliebige Weise vorverarbeitet werden (zum Beispiel mit Teiloperationen, anderen und zusätzlichen Operationen in Bezug auf die oben erwähnten an Rohdaten, vorverarbeiteten Daten, Kombinationen davon usw.).
  • In einer Ausführungsform liegt jedes der Edge-Datenverarbeitungssysteme näher an den entsprechenden Sammeleinheiten als das zentrale Datenverarbeitungssystem. Der Abstand des Edge-Datenverarbeitungssystems und des zentralen Datenverarbeitungssystems von den Sammeleinheiten kann jedoch einen beliebigen Wert aufweisen (entweder relativ oder absolut, gemessen auf beliebige Weise, z.B. in physischen Abständen/Netzwerkabständen, Anzahl an Hops usw.).
  • In einer Ausführungsform umfasst das Verfahren die folgenden Schritte unter der Steuerung eines Kollaborations-Datenverarbeitungssystems. Das Kollaborations-Datenverarbeitungssystem kann jedoch eines eines beliebigen Typs sein (siehe unten).
  • In einer Ausführungsform umfasst das Verfahren Empfangen (durch das Kollaborations-Datenverarbeitungssystem) von Verfügbarkeitsbenachrichtigungen von einem oder mehreren der zentralen Datenverarbeitungssysteme. Die Verfügbarkeitsbenachrichtigungen können jedoch beliebig viele sein und auf beliebige Weise empfangen werden (zum Beispiel Befehle, Mitteilungen usw.).
  • In einer Ausführungsform zeigt jede der Verfügbarkeitsbenachrichtigungen eine Verfügbarkeit mindestens eines Erzeuger-Datenverarbeitungssystems (des Edge-Datenverarbeitungssystems des entsprechenden Dienstanbieters) zum Teilen der Daten mindestens einer geteilten Kategorie (der Datenkategorien der Daten, die für das Erzeuger-Datenverarbeitungssystem verfügbar sind) an. Jede Verfügbarkeitsbenachrichtigung kann sich jedoch auf beliebig viele Erzeuger-Datenverarbeitungssysteme und geteilte Kategorien beziehen und sie kann auf beliebige Weise definiert werden (zum Beispiel durch Teilinformationen, andere und zusätzliche Informationen in Bezug auf die oben angegebenen, entweder individuell oder in beliebiger Kombination davon).
  • In einer Ausführungsform umfasst das Verfahren Empfangen (durch das Kollaborations-Datenverarbeitungssystem) von Berechtigungsbenachrichtigungen von einem oder mehreren der zentralen Datenverarbeitungssysteme. Die Berechtigungsbenachrichtigungen können jedoch beliebig viele sein und auf beliebige Weise empfangen werden (zum Beispiel Befehle, Mitteilungen usw.).
  • In einer Ausführungsform zeigt jede der Berechtigungsbenachrichtigungen eine Berechtigung mindestens eines Verbraucher-Datenverarbeitungssystems (des Edge-Datenverarbeitungssystems der anderen Dienstanbieter) zum Empfangen der Daten mindestens einer der geteilten Kategorien an, die von mindestens einem der Erzeuger-Datenverarbeitungssysteme der entsprechenden Dienstanbieter bereitgestellt werden. Jede Berechtigungsbenachrichtigung kann sich jedoch auf beliebig viele Verbraucher-Datenverarbeitungssysteme und geteilte Kategorien beziehen und sie kann auf beliebige Weise definiert werden (zum Beispiel durch Teilinformationen, andere und zusätzliche Informationen in Bezug auf die oben angegebenen, entweder individuell oder in beliebiger Kombination davon); außerdem kann die Berechtigungsbenachrichtigung in Reaktion auf eine entsprechende Abstimmung zwischen den entsprechenden Dienstanbietern bereitgestellt werden, für jeden Dienstanbieter, der vorab definierte Bedingungen erfüllt, wahllos für alle Dienstanbieter usw.
  • In einer Ausführungsform umfasst das Verfahren Einrichten (durch das Kollaborations-Datenverarbeitungssystem) eines oder mehrerer Kollaborationskanäle. Die Kollaborationskanäle können jedoch beliebig viele und beliebigen Typs sein (zum Beispiel für Teilthemen, andere und zusätzliche Themen in Bezug auf die oben angegebenen, wobei jedes auf beliebige Weise vertrauenswürdig gemacht wird, z.B. nicht anfällig für Abhören und manipulationssicher, nur nicht anfällig für Abhören, nur manipulationssicher usw.).
  • In einer Ausführungsform verläuft jeder der Kollaborationskanäle zwischen einem oder mehreren der Erzeuger-Datenverarbeitungssysteme und einem oder mehreren der Verbraucher-Datenverarbeitungssysteme, die zum Empfang der Daten einer oder mehrerer der entsprechenden geteilten Kategorien berechtigt sind. Jeder Kollaborationskanal kann jedoch beliebig viele Erzeuger-Datenverarbeitungssysteme und Verbraucher-Datenverarbeitungssysteme umfassen und er kann verwendet werden, um Daten beliebig vieler geteilter Kategorien zu teilen.
  • In einer Ausführungsform dient jeder der Kollaborationskanäle der Verwendung durch jedes der Erzeuger-Datenverarbeitungssysteme des Kollaborationskanals zum Bereitstellen der Daten der entsprechenden geteilten Kategorien für die Verbraucher-Datenverarbeitungssysteme des Kollaborationskanals. Die Daten können jedoch auf beliebige Weise geteilt werden (zum Beispiel durch Rundsenden der Daten in verschlüsselter Form für deren Entschlüsselung nur durch die Verbraucher-Datenverarbeitungssysteme, die zu deren Empfang berechtigt sind, durch Senden der Daten nur an die Verbraucher-Datenverarbeitungssysteme, die zu deren Empfang berechtigt sind, usw.).
  • Weitere Ausführungsformen sehen weitere vorteilhafte Merkmale vor, welche jedoch in einer Grundimplementierung vollständig weggelassen werden.
  • Insbesondere umfasst das Verfahren in einer Ausführungsform Zuordnen (durch das Kollaborations-Datenverarbeitungssystem) entsprechender Verschlüsselungsschlüssel zu den Verbraucher-Datenverarbeitungssystemen jeder der geteilten Kategorien in jedem der Kollaborationskanäle. Die Verschlüsselungsschlüssel können jedoch welche beliebigen Typs sein (zum Beispiel symmetrische Schlüssel, asymmetrische Schlüssel usw.) und sie können auf beliebige Weise mit den geteilten Kategorien verbunden werden (zum Beispiel durch die Kollaborations-Datenverarbeitungssysteme, durch die entsprechenden zentralen Datenverarbeitungssysteme, wobei jedes Verbraucher-Datenverarbeitungssystem einen entsprechenden Verschlüsselungsschlüssel für jede seiner geteilten Kategorien oder einen gemeinsamen Verschlüsselungsschlüssel für all seine geteilten Kategorien jedes Verbraucher-Datenverarbeitungssystems aufweist, usw.).
  • In einer Ausführungsform dient jeder der Verschlüsselungsschlüssel der Verwendung durch das entsprechende Erzeuger-Datenverarbeitungssystem zum Verschlüsseln der Daten der geteilten Kategorie zu verschlüsselten Daten, die in dem Kollaborationskanal allen Verbraucher-Datenverarbeitungssystemen davon bereitzustellen sind. Daten können jedoch auf beliebige Weise verschlüsselt werden (zum Beispiel mit entsprechenden symmetrischen Schlüsseln, die mit den Verbraucher-Datenverarbeitungssystemen geteilt werden, mit öffentlichen Schlüsseln der Verbraucher-Datenverarbeitungssysteme usw.).
  • In einer Ausführungsform dient jeder der Verschlüsselungsschlüssel der Verwendung durch jedes der Verbraucher-Datenverarbeitungssysteme des Kollaborationskanals, die zum Empfang der Daten der geteilten Kategorie berechtigt sind, zum Entschlüsseln der verschlüsselten Daten. Die verschlüsselten Daten können jedoch auf beliebige Weise entschlüsselt werden (zum Beispiel mit demselben symmetrischen Schlüssel, der mit dem Erzeuger-Datenverarbeitungssystem geteilt wird, mit dem privaten Schlüssel des Verbraucher-Datenverarbeitungssystems usw.).
  • In einer Ausführungsform umfasst das Verfahren Erzeugender Verschlüsselungsschlüssel (durch das Kollaborations-Datenverarbeitungssystem). Es ist jedoch nicht die Möglichkeit ausgeschlossen, die Verschlüsselungsschlüssel auf beliebige andere Weise bereitzustellen (zum Beispiel durch Erzeugen selbiger durch die Verbraucher-Edge-Datenverarbeitungssysteme oder durch deren zentrale Datenverarbeitungssysteme, unter Verwendung bereits existierender Paare von privaten/öffentlichen Schlüsseln usw.).
  • In einer Ausführungsform umfasst das Verfahren Senden (durch das Kollaborations-Datenverarbeitungssystem) der Verschlüsselungsschlüssel der entsprechenden geteilten Kategorien an die zentralen Datenverarbeitungssysteme jedes der Erzeuger-Datenverarbeitungssysteme und jedes der Verbraucher-Datenverarbeitungssysteme, um sie an diese zu verteilen. Es ist jedoch nicht die Möglichkeit ausgeschlossen, die Verschlüsselungsschlüssel auf beliebige andere Weise auszutauschen (zum Beispiel Verteilen selbiger durch die Erzeuger-Edge-Datenverarbeitungssysteme, durch deren zentrale Datenverarbeitungssysteme usw.).
  • In einer Ausführungsform umfasst das Verfahren Empfangen (durch das Kollaborations-Datenverarbeitungssystem) jeder der Berechtigungsbenachrichtigungen in Reaktion auf eine Vereinbarung zwischen dem zentralen Datenverarbeitungssystem des entsprechenden Erzeuger-Datenverarbeitungssystems und dem zentralen Datenverarbeitungssystem des entsprechenden Verbraucher-Datenverarbeitungssystems, die Daten der entsprechenden geteilten Kategorie zu teilen. Die Vereinbarung kann jedoch auf beliebige Weise erreicht werden (zum Beispiel automatisch, mit Erfordernis einer manuellen Bestätigung, manuell, gemäß einer beliebigen Anzahl und einem beliebigen Typ von Anforderungen usw.).
  • In einer Ausführungsform umfasst das Verfahren Bereitstellen (durch das Kollaborations-Datenverarbeitungssystem) von Teilungsinformationen, umfassend eine Anzeige der Erzeuger-Datenverarbeitungssysteme und der entsprechenden geteilten Kategorien für die zentralen Datenverarbeitungssysteme. Die Teilungsinformationen können jedoch welche beliebigen Typs sein (zum Beispiel mit Teilinformationen, anderen und zusätzlichen Informationen in Bezug auf die oben angegebenen, entweder individuell oder in beliebiger Kombination davon) und sie können auf beliebige Weise bereitgestellt werden (zum Beispiel veröffentlicht, rundgesendet, gesendet usw.).
  • In einer Ausführungsform dienen die Teilungsinformationen der Verwendung durch jedes der zentralen Datenverarbeitungssysteme zum Erkennen der Erzeuger-Datenverarbeitungssysteme jeder der geteilten Kategorien, deren Daten von den Verbraucher-Datenverarbeitungssystemen des entsprechenden Dienstanbieters zu empfangen sind. Jedoch können die Erzeuger-Datenverarbeitungssysteme von Interesse auf beliebige Weise erkannt werden (zum Beispiel gemäß Teilanforderungen, anderen und zusätzlichen Anforderungen in Bezug auf die oben angegebenen, entweder individuell oder in beliebiger Kombination davon).
  • In einer Ausführungsform umfasst das Verfahren Veröffentlichen (durch das Kollaborations-Datenverarbeitungssystem) der Teilungsinformationen in Reaktion auf jede der Verfügbarkeitsbenachrichtigungen. Die Teilungsinformationen können jedoch auf beliebige Weise veröffentlicht werden (zum Beispiel in beliebig vielen Registern beliebigen Typs, an beliebiger geteilter Stelle, unter Verwendung eines Datenteildienstes usw.), auch nicht in Reaktion auf jede Verfügbarkeitsbenachrichtigung (zum Beispiel periodisch, nach einer beliebigen Änderung einer vorab definierten Menge usw.).
  • In einer Ausführungsform umfasst das Verfahren Rundsenden (durch das Kollaborations-Datenverarbeitungssystem) der Verfügbarkeitsbenachrichtigungen in Reaktion auf den Empfang dieser an die zentralen Datenverarbeitungssysteme. Die Verfügbarkeitsbenachrichtigungen können jedoch auf beliebige Weise rundgesendet werden (zum Beispiel wahllos, direkt usw.), auch nicht in Reaktion auf jede Verfügbarkeitsbenachrichtigung (zum Beispiel periodisch, nach einer beliebigen vorab definierten Anzahl davon usw.).
  • In einer Ausführungsform umfassen die Daten jeder der geteilten Kategorien die Daten, die von den entsprechenden Sammeleinheiten gesammelt worden sind, und/oder die Daten, die von den entsprechenden Erzeuger-Datenverarbeitungssystemen vorverarbeitet worden sind. Diese Daten können jedoch welche beliebigen Typs sein (zum Beispiel Rohdaten, die gesammelt und/oder empfangen werden, vorverarbeitete Daten, die empfangen und/oder aus gesammelten Rohdaten und/oder aus empfangenen vorverarbeiteten Daten erzeugt werden, usw.).
  • In einer Ausführungsform umfassen die Sammeleinheiten Sensoren der entsprechenden Dienstanbieter. Die Sensoren können jedoch beliebig viele und beliebigen Typs sein (zum Beispiel welche zum Erfassen eines beliebigen Werts, selbständige, in eine beliebige Einheit eingebettete, vom loT-Typ oder nicht usw.).
  • In einer Ausführungsform umfassen die Sammeleinheiten loT-Einheiten. Die loT-Einheiten können jedoch welche beliebigen Typs sein (zum Beispiel Teil-IoT-Einheiten, andere oder zusätzliche loT-Einheiten in Bezug auf die oben angegebenen, entweder individuell oder in beliebiger Kombination davon).
  • Einige Ausführungsformen der vorliegenden Erfindung betreffen ein Verfahren zum Teilen von Informationen zwischen zusammenarbeitenden loT-Edge-Servern verschiedener Dienstanbieter unter Verwendung eines vertrauenswürdigen Kollaborationssystems, wobei das Verfahren Regeln eines Registers für zusammenarbeitende Edge-Server, eines Kollaborationskanalregisters und eines Dimensionskategorieregisters durch die Kollaborationsstelle, Empfangen einer Anforderung zum Hinzufügen eines zusammenarbeitenden Edge-Servers zu dem Register für zusammenarbeitende Edge-Server von mindestens einem der Dienstanbieter durch die Kollaborationsstelle, Senden (z.B. durch Rundsenden) einer Benachrichtigung über den hinzugefügten zusammenarbeitenden Edge-Server durch die Kollaborationsstelle, Empfangen einer Anforderung zum Hinzufügen eines Kollaborationskanals zu dem Kollaborationskanalregister von einem oder mehreren der Dienstanbieter durch die Kollaborationsstelle, Senden (z.B. durch Rundsenden) einer Benachrichtigung über den hinzugefügten Kollaborationskanal an einen oder mehrere der Dienstanbieter durch die Kollaborationsstelle, Empfangen einer Anforderung zum Anmelden mindestens eines zusammenarbeitenden Edge-Servers an einem Kollaborationskanal von einem Dienstanbieter durch die Kollaborationsstelle, Empfangen einer Anforderung zum Hinzufügen einer Dimensionskategorie zu dem Dimensionskategorieregister/Ändern einer solchen von einem Dienstanbieter durch die Kollaborationsstelle und Senden einer Benachrichtigung (Rundsendung) über eine hinzugefügte/geänderte Dimensionskategorie an die Dienstanbieter durch die Kollaborationsstelle umfasst.
  • Im Allgemeinen gelten ähnliche Erwägungen, wenn die gleiche Lösung mit einem äquivalenten Verfahren implementiert wird (unter Anwendung ähnlicher Schritte mit den gleichen Funktionen mehrerer Schritte oder Teile davon, wobei einige nicht wesentliche Schritte weggelassen werden oder weitere optionale Schritte hinzugefügt werden); außerdem können die Schritte in einer anderen Reihenfolge, gleichzeitig oder (zumindest teilweise) überlappend ausgeführt werden.
  • In einer Ausführungsform wird ein Computerprogramm bereitgestellt, welches dafür konfiguriert ist zu bewirken, dass ein Datenverarbeitungssystem das oben beschriebene Verfahren ausführt. In einer Ausführungsform wird ein Computerprogrammprodukt bereitgestellt, welches ein oder mehrere computerlesbare Speichermedien umfasst, welche Programmanweisungen aufweisen, die zusammen darauf gespeichert sind; die Programmanweisungen sind von einem Datenverarbeitungssystem lesbar, um zu bewirken, dass das Datenverarbeitungssystem dasselbe Verfahren ausführt.
  • Das Computerprogramm kann jedoch als ein selbständiges Modul, als ein Plug-in für eine vorher existierende Software-Anwendung (zum Beispiel ein Steuermodul des Dienstanbieters) oder direkt darin implementiert sein. Außerdem kann das Computerprogramm auf einem beliebigen Datenverarbeitungssystem ausgeführt werden (siehe unten). In jedem Fall eignet sich die Lösung gemäß einer Ausführungsform der vorliegenden Offenbarung dazu, auch mit einer Hardware-Struktur (zum Beispiel durch elektronische Schaltungen, die in einem oder mehreren Chips eines Halbleitermaterials integriert sind) oder mit einer Kombination aus Software und Hardware implementiert zu werden, die geeignet programmiert oder auf andere Weise konfiguriert ist.
  • In einer Ausführungsform wird ein System bereitgestellt, welches Mittel umfasst, die dafür konfiguriert sind, die Schritte des oben beschriebenen Verfahrens auszuführen. In einer Ausführungsform wird ein System bereitgestellt, welches eine Schaltung (eine beliebige Hardware, die geeignet konfiguriert ist, zum Beispiel durch Software) zum Ausführen jedes Schritts des oben beschriebenen Verfahrens umfasst. Das System kann jedoch beliebig viele Datenverarbeitungsmaschinen beliebigen Typs (zum Beispiel physischen und/oder virtuellen Typs) umfassen und es kann in einer beliebigen Datenverarbeitungsumgebung verwendet werden, zum Beispiel auf Grundlage eines lokalen, eines Weitverkehrs-, eines globalen, eines zellulären oder eines Satelliten-Netzwerks, welches eine beliebige Art von Verbindungen (drahtgebunden und/oder drahtlos) nutzt; beispielsweise kann das System das Kollaborations-Datenverarbeitungssystem, jedes zentrale Datenverarbeitungssystem, jedes Edge-Datenverarbeitungssystem oder eine beliebige Kombination daraus sein.
  • Im Allgemeinen gelten ähnliche Erwägungen, wenn das System eine andere Struktur aufweist oder äquivalente Komponenten umfasst oder andere Betriebseigenschaften aufweist. In jedem Fall kann jede Komponente davon in mehrere Elemente getrennt werden oder zwei oder mehr Komponenten können zusammen zu einem einzigen Element kombiniert werden; außerdem kann jede Komponente kopiert werden, um die parallele Ausführung der entsprechenden Operationen zu unterstützen. Überdies muss, sofern nicht anders angegeben, jede Interaktion zwischen verschiedenen Komponenten im Allgemeinen nicht kontinuierlich sein und sie kann entweder direkt oder indirekt über eine oder mehrere Zwischeneinheiten erfolgen.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jeder möglichen technischen Detailstufe der Integration handeln. Das Computerprogrammprodukt kann ein computerlesbares Speichermedium (oder -medien) mit computerlesbaren Programmanweisungen darauf umfassen, um einen Prozessor dazu zu veranlassen, Erscheinungsformen der vorliegenden Erfindung auszuführen. Bei dem computerlesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch eine Einheit zur Ausführung von Anweisungen halten und speichern kann. Bei dem computerlesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste speziellerer Beispiele des computerlesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Compact-Disc-Nur-Lese-Speicher (CD-ROM), eine Digital Versatile Disc (DVD), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein computerlesbares Speichermedium soll in der Verwendung hierin nicht so aufgefasst werden, dass es sich um flüchtige Signale als solche handelt, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. Lichtimpulse, die ein Lichtwellenleiterkabel durchlaufen), oder durch einen Draht übertragene elektrische Signale. Hierin beschriebene computerlesbare Programmanweisungen können von einem computerlesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server umfassen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt computerlesbare Programmanweisungen aus dem Netzwerk und leitet die computerlesbaren Programmanweisungen zur Speicherung in einem computerlesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter. Bei den computerlesbaren Programmanweisungen zum Ausführen von Operationen der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten, Konfigurationsdaten für integrierte Schaltungen oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ oder ähnliche sowie prozedurorientierte Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die computerlesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art von Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gate-Arrays (FPGA, Field Programmable Gate Arrays) oder programmierbare Logik-Arrays (PLA, Programmable Logic Arrays) die computerlesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der computerlesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen individuell einzurichten, um Erscheinungsformen der vorliegenden Erfindung auszuführen. Erscheinungsformen der vorliegenden Erfindung werden hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Ablaufpläne und/oder der Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaubildern mittels computerlesbarer Programmanweisungen implementiert werden können. Diese computerlesbaren Programmanweisungen können einem Prozessor eines Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen Mittel zum Implementieren der in dem Block oder den Blöcken der Ablaufpläne und/oder der Blockschaubilder festgelegten Funktionen/Handlungen erzeugen. Diese computerlesbaren Programmanweisungen können auch auf einem computerlesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das computerlesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt umfasst, umfassend Anweisungen, welche Aspekte der in dem Block oder den Blöcken des Ablaufplans und/oder der Blockschaubilder angegebenen Funktion/Handlung implementieren. Die computerlesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer, der anderen programmierbaren Vorrichtung oder der anderen Einheit zu bewirken, um ein computerimplementiertes Verfahren zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block oder den Blöcken der Ablaufpläne und/oder der Blockschaubilder festgelegten Funktionen/Handlungen implementieren. Der Ablaufplan und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Implementierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in dem Ablaufplan oder den Blockschaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die einen oder mehrere ausführbare Anweisungen zum Implementieren der festgelegten logischen Funktion(en) aufweisen. In einigen alternativen Implementierungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren dargestellt stattfinden. Zwei nacheinander dargestellte Blöcke können zum Beispiel in Wirklichkeit als ein Schritt, gleichzeitig, im Wesentlichen gleichzeitig, in einer teilweise oder vollständig zeitlich überlappenden Weise ausgeführt werden oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaubilder und/oder des Ablaufplans sowie Kombinationen aus Blöcken in den Blockschaubildern und/oder dem Ablaufplan durch spezielle auf Hardware beruhende Systeme implementiert werden können, welche die festgelegten Funktionen oder Handlungen durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.

Claims (13)

  1. Computerimplementiertes Verfahren zum Teilen von Daten zwischen einer Mehrzahl von Dienstanbietern, wobei das Verfahren umfasst: Empfangen einer Gruppe von Verfügbarkeitsbenachrichtigungen von einer Gruppe von zentralen Datenverarbeitungssystemen, wobei die Verfügbarkeitsbenachrichtigungen eine Verfügbarkeit eines Erzeuger-Datenverarbeitungssystems zum Teilen von Daten einer geteilten Kategorie und von Datenkategorien von Daten anzeigen, die für das Erzeuger-Datenverarbeitungssystem verfügbar sind; Empfangen von Berechtigungsbenachrichtigungen von der Gruppe der zentralen Datenverarbeitungssysteme, wobei die Berechtigungsbenachrichtigungen eine Berechtigung eines Verbraucher-Datenverarbeitungssystems zum Empfang der Daten der geteilten Kategorie anzeigen, die von einer Gruppe von Erzeuger-Datenverarbeitungssystemen eines entsprechenden Dienstanbieters bereitgestellt werden; und Einrichten einer Gruppe von Kollaborationskanälen zwischen der Gruppe von Erzeuger-Datenverarbeitungssystemen und einem Verbraucher-Datenverarbeitungssystem, das berechtigt ist, die Daten der geteilten Kategorie zu empfangen, zur Verwendung durch das Erzeuger-Datenverarbeitungssystem, um die Daten der geteilten Kategorie dem Verbraucher-Datenverarbeitungssystem des Kollaborationskanals bereitzustellen.
  2. Computerimplementiertes Verfahren nach Anspruch 1, wobei: der entsprechende Dienstanbieter aufweist: (i) eine Mehrzahl von Sammeleinheiten zum Sammeln von Daten einer Gruppe von Datenkategorien; (ii) eine Gruppe von Edge-Datenverarbeitungssystemen zum Vorverarbeiten von Daten, umfassend die Daten, die von einer entsprechenden Gruppe der Sammeleinheiten gesammelt werden; und (iii) ein zentrales Datenverarbeitungssystem zum Verarbeiten der Daten, die von den Edge-Datenverarbeitungssystemen bereitgestellt werden; und die Edge-Datenverarbeitungssysteme physisch näher an den entsprechenden Sammeleinheiten liegen als an dem zentralen Datenverarbeitungssystem.
  3. Computerimplementiertes Verfahren nach Anspruch 1, ferner umfassend: Zuordnen einer Gruppe von Verschlüsselungsschlüsseln zu jeder der geteilten Kategorien mit einer Gruppe entsprechender Verbraucher-Datenverarbeitungssysteme in jedem der Kollaborationskanäle; wobei: die Verschlüsselungsschlüssel der Verwendung dienen durch: ein entsprechendes Erzeuger-Datenverarbeitungssystem zum Verschlüsseln der Daten der geteilten Kategorie zu verschlüsselten Daten, die in dem Kollaborationskanal der Gruppe entsprechender Verbraucher-Datenverarbeitungssysteme bereitzustellen sind, und die Gruppe entsprechender Verbraucher-Datenverarbeitungssysteme der Kollaborationskanäle, die zum Empfang der Daten der geteilten Kategorie berechtigt sind, zum Entschlüsseln der verschlüsselten Daten.
  4. Computerimplementiertes Verfahren nach Anspruch 3, ferner umfassend: Erzeugen der Gruppe von Verschlüsselungsschlüsseln, und Senden der Gruppe von Verschlüsselungsschlüsseln jeder der geteilten Kategorien an die Gruppe zentraler Datenverarbeitungssysteme zum Verteilen an entsprechende Erzeuger-Datenverarbeitungssysteme und entsprechende Verbraucher-Datenverarbeitungssysteme.
  5. Computerimplementiertes Verfahren nach Anspruch 1, ferner umfassend: Empfangen der Berechtigungsbenachrichtigungen erfolgt in Reaktion auf eine Vereinbarung zwischen einem zentralen Datenverarbeitungssystem eines entsprechenden Erzeuger-Datenverarbeitungssystems und einem zentralen Datenverarbeitungssystem eines entsprechenden Verbraucher-Datenverarbeitungssystems zum Teilen der Daten der geteilten Kategorie.
  6. Computerimplementiertes Verfahren nach Anspruch 1, ferner umfassend: Bereitstellen von Teilungsinformationen, umfassend eine Anzeige der Gruppe von Erzeuger-Datenverarbeitungssystemen und entsprechender geteilter Kategorien, für die Gruppe zentraler Datenverarbeitungssysteme zur Verwendung durch die Gruppe zentraler Datenverarbeitungssysteme zum Erkennen der Erzeuger-Datenverarbeitungssysteme jeder der geteilten Kategorien, deren Daten von den Verbraucher-Datenverarbeitungssystemen des entsprechenden Dienstanbieters zu empfangen sind.
  7. Computerimplementiertes Verfahren nach Anspruch 6, ferner umfassend: Veröffentlichen der Teilungsinformationen in Reaktion auf die jeweilige Verfügbarkeitsbenachrichtigung.
  8. Computerimplementiertes Verfahren nach Anspruch 6, ferner umfassend: Rundsenden der Verfügbarkeitsbenachrichtigung in Reaktion auf ein Empfangen einer Verfügbarkeitsbenachrichtigung an die zentralen Datenverarbeitungssysteme.
  9. Computerimplementiertes Verfahren nach Anspruch 1, wobei die Daten der geteilten Kategorie Daten, die von den entsprechenden Sammeleinheiten gesammelt werden, und/oder Daten umfassen, die von dem entsprechenden Erzeuger-Datenverarbeitungssystem vorverarbeitet sind.
  10. Computerimplementiertes Verfahren nach Anspruch 1, wobei die Sammeleinheiten Sensoren des entsprechenden Dienstanbieters umfassen.
  11. Computerimplementiertes Verfahren nach Anspruch 1, wobei die Sammeleinheiten loT-Einheiten umfassen.
  12. Computerprogrammprodukt zum Teilen von Daten zwischen einer Mehrzahl von Dienstanbietern, wobei das Computerprogrammprodukt ein computerlesbares Speichermedium aufweist, welches Programmanweisungen aufweist, die auf dem computerlesbaren Speichermedium gespeichert sind, wobei die Programmanweisungen von einem zusammenarbeitenden Datenverarbeitungssystem lesbar sind, um zu bewirken, dass das zusammenarbeitende Datenverarbeitungssystem das Verfahren nach einem der Ansprüche 1 bis 11 ausführt.
  13. Computersystem zum Teilen von Daten zwischen einer Mehrzahl von Dienstanbietern, wobei das Computersystem aufweist: einen Prozessorsatz; und ein computerlesbares Speichermedium; wobei: der Prozessorsatz so strukturiert, angeordnet, verbunden und/oder programmiert ist, dass er Programmanweisungen ablaufen lässt, die auf dem computerlesbaren Speichermedium gespeichert sind; und die Programmanweisungen, wenn sie von dem Prozessorsatz ausgeführt werden, bewirken, dass der Prozessorsatz das Verfahren nach einem der Ansprüche 1 bis 11 ausführt.
DE102021132317.7A 2020-12-14 2021-12-08 Teilen von daten zwischen verschiedenen dienstanbietern auf edge-ebene durch kollaborationskanäle Pending DE102021132317A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/120,571 US11463250B2 (en) 2020-12-14 2020-12-14 Sharing data among different service providers at edge level through collaboration channels
US17/120,571 2020-12-14

Publications (1)

Publication Number Publication Date
DE102021132317A1 true DE102021132317A1 (de) 2022-06-15

Family

ID=79269878

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021132317.7A Pending DE102021132317A1 (de) 2020-12-14 2021-12-08 Teilen von daten zwischen verschiedenen dienstanbietern auf edge-ebene durch kollaborationskanäle

Country Status (5)

Country Link
US (1) US11463250B2 (de)
JP (1) JP2022094308A (de)
CN (1) CN114629902A (de)
DE (1) DE102021132317A1 (de)
GB (1) GB2605679B (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210224109A1 (en) * 2020-01-16 2021-07-22 Cisco Technology, Inc. Systems and methods for orchestrating cloud resources
CN117094687B (zh) * 2023-10-20 2024-01-26 湖南腾琨信息科技有限公司 基于元宇宙的设备精细化管理平台及构建方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8812590B2 (en) 2011-04-29 2014-08-19 International Business Machines Corporation Asset sharing within an enterprise using a peer-to-peer network
US20130151624A1 (en) * 2011-12-12 2013-06-13 International Business Machines Corporation Context-Sensitive Collaboration Channels
TWI638131B (zh) 2013-06-17 2018-10-11 普雷茨特光電有限公司 用於獲取距離差之光學量測裝置及光學量測方法
EP2890084B1 (de) * 2013-12-31 2018-04-18 Thales Nederland B.V. Datensicherungssystem und -verfahren
US9848035B2 (en) 2015-12-24 2017-12-19 Intel Corporation Measurements exchange network, such as for internet-of-things (IoT) devices
US10397594B2 (en) 2017-04-28 2019-08-27 Hewlett Packard Enterprise Development Lp Real-time processing of IoT data
CN107833139B (zh) * 2017-11-23 2021-08-24 深圳壹账通智能科技有限公司 交易数据处理方法、装置、计算机设备及存储介质
US20190034716A1 (en) * 2017-12-28 2019-01-31 Intel Corporation Privacy-preserving demographics identification
US11026090B2 (en) * 2018-01-08 2021-06-01 All Purpose Networks, Inc. Internet of things system with efficient and secure communications network
CN108282333B (zh) * 2018-03-02 2020-09-01 重庆邮电大学 工业云环境下多边缘节点协作模式下数据安全共享方法
US10567269B2 (en) * 2018-03-14 2020-02-18 International Business Machines Corporation Dynamically redirecting affiliated data to an edge computing device
US10880743B1 (en) * 2018-06-05 2020-12-29 Equinix, Inc. Interconnection and activation for internet of things devices in multi-tenant data center facilities
US11315024B2 (en) * 2018-06-25 2022-04-26 Kyndryl, Inc. Cognitive computing systems and services utilizing internet of things environment
US11038895B2 (en) 2018-09-28 2021-06-15 Intel Corporation Trust management mechanisms
US10757757B2 (en) * 2018-09-28 2020-08-25 Intel Corporation MEC-based distributed computing environment with multiple edge hosts and user devices
CN109274745B (zh) * 2018-09-28 2021-07-30 石家庄良村热电有限公司 一种边缘节点优化计算的物联网系统和方法
CN110099367A (zh) 2019-04-26 2019-08-06 河南工学院 基于边缘计算的车联网安全数据分享方法
US11388054B2 (en) * 2019-04-30 2022-07-12 Intel Corporation Modular I/O configurations for edge computing using disaggregated chiplets
WO2020245835A1 (en) * 2019-06-07 2020-12-10 Telefonaktiebolaget Lm Ericsson (Publ) Allocation of fog node resources
CN112565325B (zh) * 2019-09-26 2022-09-23 华为云计算技术有限公司 镜像文件管理方法、装置及系统、计算机设备、存储介质
US11582601B2 (en) * 2020-05-06 2023-02-14 Cisco Technology, Inc. Zero-touch deployment (ZTD) of cellular IoT devices and associated trust model
CN111610735A (zh) * 2020-05-08 2020-09-01 安徽三音电子科技有限公司 一种室内环境智能监控系统
US11539796B2 (en) * 2020-07-08 2022-12-27 Bank Of America Corporation System for intelligent sensor data transfer and device manipulation leveraging quantum optimization engine

Also Published As

Publication number Publication date
JP2022094308A (ja) 2022-06-24
GB2605679B (en) 2023-05-31
GB2605679A (en) 2022-10-12
GB202117669D0 (en) 2022-01-19
CN114629902A (zh) 2022-06-14
US20220191009A1 (en) 2022-06-16
US11463250B2 (en) 2022-10-04

Similar Documents

Publication Publication Date Title
DE112018004471B4 (de) Zugreifen auf gateway-verwaltungskonsole
DE112017005040T5 (de) Betriebssystem und Verfahren auf Container-Grundlage
DE112017007963T5 (de) Identitätsüberprüfung unter verwendung von biometrischen daten und nicht umkehrbaren funktionen über eine blockchain
DE102021132317A1 (de) Teilen von daten zwischen verschiedenen dienstanbietern auf edge-ebene durch kollaborationskanäle
DE112010003464B4 (de) Modifikation von Zugangskontrolllisten
DE112016004969T5 (de) Erzeugen und veröffentlichen validierter standortinformationen
DE10392481T5 (de) System und Verfahren zur Überprüfung eines empfangenen digitalen Inhalts
DE202012013473U1 (de) Vorhersage von Ebene und Position in Innenbereichen
DE112011100626T5 (de) Sichere, richtlinienbasierte Kommunikationssicherheit und File-Sharing über gemischte Medien, gemischte Kommunikationsmodalitäten und erweiterbar auf Cloud-Computing, wie beispielsweise serviceorientierte Architektur (SOA)
DE60018094T2 (de) Verfahren und system zum schutz vor dem eindringen in einer kommunikationsvorrichtung
DE112017007393T5 (de) System und verfahren für netzwerkvorrichtungssicherheits- und vertrauenswertbestimmung
DE102014114005A1 (de) Risikobeurteilung von Interaktionen von Anwendungen für mobile Einheiten aufgrund von Reputation
DE202013012493U1 (de) Stufen der Datenspeicherung für Webanwendungen und Browser-Erweiterungen
DE102016102434A1 (de) Selektives Bereitstellen von Inhalten an innerhalb einer virtuellen Umfangslinie befindlicher Benutzer
DE102016204698A1 (de) Verbessern des Erkennens von Steganographie am Perimeter
DE112020005071B4 (de) Verfahren für eine datenschutzgerechte anomalie-erkennung im iot
DE112018004350T5 (de) Zugreifen auf gateway-verwaltungskonsole
DE102016105062A1 (de) Nähengestützte Berechtigungsprüfung für einheitenübergreifend verteilte Daten
DE112016002392T5 (de) Autorisierung in einem verteilten System unter Verwendung von Zugriffssteuerungslisten und Gruppen
DE102018115492A1 (de) Standortnachweis unter Verwendung vonNahbereichsaufzeichnungen und Distributed-Ledger-Technologie
DE102016102295A1 (de) Sicherer Authentifizierungsmechanismus mittels Quick-Response-Codes
DE112011103580T5 (de) Verfahren, sichere Einheit, System und Computerprogrammprodukt für das sichere Verwalten des Benutzerzugriffs auf ein Dateisystem
DE112021005364T5 (de) Abwehr von gezielten datenbankangriffen durch dynamische generierung von honeypot-datenbankantworten
DE102011077513A1 (de) Verfahren zur sicheren Verarbeitung von Daten
DE112022000280T5 (de) Identitätsautorität

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: KYNDRYL, INC., NEW YORK, US

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION, ARMONK, US