DE112020000881B4 - Delegieren von cloud-seitigen rollen an einheiten - Google Patents

Delegieren von cloud-seitigen rollen an einheiten Download PDF

Info

Publication number
DE112020000881B4
DE112020000881B4 DE112020000881.9T DE112020000881T DE112020000881B4 DE 112020000881 B4 DE112020000881 B4 DE 112020000881B4 DE 112020000881 T DE112020000881 T DE 112020000881T DE 112020000881 B4 DE112020000881 B4 DE 112020000881B4
Authority
DE
Germany
Prior art keywords
network
data
quality information
new entity
area
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.)
Active
Application number
DE112020000881.9T
Other languages
English (en)
Other versions
DE112020000881T5 (de
Inventor
Akira Saito
Hayato Uenohara
Satoshi Yokoyama
Gaku Yamamoto
Sanehiro Furuichi
Norie Iwasaki
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112020000881T5 publication Critical patent/DE112020000881T5/de
Application granted granted Critical
Publication of DE112020000881B4 publication Critical patent/DE112020000881B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/10Scheduling measurement reports ; Arrangements for measurement reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • H04W4/026Services making use of location information using location based information parameters using orientation information, e.g. compass
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Computerimplementiertes Verfahren, aufweisend:Empfangen von Netzqualitätsinformationen für ein Netz von einer oder mehreren Einheiten;Feststellen, dass das Netz in einem Bereich, von dem die Netzqualitätsinformationen empfangen wurden, nicht verfügbar ist; undfür eine neue Einheit,Vorhersagen eines Bewegungspfads der neuen Einheit;Feststellen auf Grundlage des Bewegungspfads, dass die neue Einheit im Begriff ist, in den Bereich einzutreten, in dem das Netz nicht verfügbar ist;Feststellen, dass die neue Einheit vom Netzwerk wegen einer Nichtverfügbarkeit des Netzwerkes in dem Bereich, der zum dem Bewegungspfad gehört, getrennt wird;für jedes Software-Modul eine Mehrzahl von Software-ModulesAusführen einen Metalogik um festzustellen, ob das Software-Modul basierend auf Netzwerkqualitätsinformationen ausgewählt wird, wobei die Metalogik Regeln aufweist, und wobei die Software-Module Logik aufweisen, um eine Datenverarbeitungsfunktion auf Daten auszuführen; undin Reaktion auf die Feststellung, dass das Software-Modul ausgewählt wird, Hinzufügen des Software-Moduls zu einer Untermenge von SoftwareModulen, die an die neue Einheit gesendet werden, undSenden des einen oder der mehreren Softwaremodule und der Daten an die neue Einheit, wobei die neue Einheit das eine oder die mehreren Softwaremodule ausführt, um eine oder mehrere Erkenntnisse aus den Daten während eines Aufenthaltes in dem Bereich, in dem das Netzwerk nicht erreichbar ist, zu erzeugen.

Description

  • ERFINDUNGSGEBIET
  • Ausführungsformen der Erfindung betreffen das Delegieren von Cloud-seitigen Rollen an Einheiten, während ein Netz zwischen einem Cloud-Knoten und den Einheiten für die Datenübertragung nicht verfügbar ist.
  • HINTERGRUND
  • Das Internet der Dinge (Internet of Things, loT) kann als Netzwerk von Einheiten beschrieben werden, die Software und Hardware zur Datenübertragung miteinander aufweisen. Das bedeutet, dass die Einheiten (z.B. ein Thermostat in einem Haus oder ein Navigationssystem in einem Auto) Daten austauschen können.
  • Ein Cloud-Knoten kann als Computer in einer Cloud-Infrastruktur beschrieben werden.
  • Mit der zunehmenden Verbreitung der loT-Technologie sind Systeme entstanden, in denen ein Cloud-Knoten Daten von loT-Einheiten sammelt und diese verarbeitet. Zudem steuert der Cloud-Knoten die loT-Einheiten.
  • Andererseits verliert eine mobile loT-Einheit wie z.B. ein vernetztes Fahrzeug manchmal die Verbindung zu einem Netz, das für die Verbindung mit dem Cloud-Knoten verwendet wird, oder leidet aufgrund von geografischen Merkmalen, der Umgebung, Funkwellenbedingungen usw. unter einer instabilen Verbindung zum Netz. Unter solchen Bedingungen könnte der Benutzer der loT-Einheit einen Dienst nicht nutzen, der vom Cloud-Knoten bereitgestellt wird.
  • Um einen Dienst auf einer loT-Einheit unter Bedingungen aufrechtzuerhalten, unter denen das Netz nicht verwendet werden kann, werden alle oder einige der Funktionen des Cloud-Knotens in der Einheit ausgeführt. In einem solchen Fall werden Prozesse möglicherweise nicht ausgeführt, die von Daten, die von einer anderen loT-Einheit gesendet wurden, oder vom Ergebnis einer in der Cloud durchgeführten Analyse abhängen.
  • In diesem Zusammenhang ist bereits ein Dokument bekannt. Das Dokument US 2016 / 0 044 127 A1 beschreibt eine Erkennung von potenziellen Inhalten, die einem Nutzer eines Computersystems zugeordnet werden können sowie ein Auswählen aus dem potenziellen Inhalten, um es in einem Cache eines Speichers des Computersystems zu speichern. Auf diese Weise kann ein Nutzer des Computersystems auf diese zwischengespeicherten Inhalte zugreifen, auch wenn keine Netzwerkverbindung besteht.
  • Kurzdarstellung
  • Gemäß bestimmten Ausführungsformen ist ein computerimplementiertes Verfahren zum Delegieren von Cloud-seitigen Rollen an Einheiten vorgesehen. Das computerimplementierte Verfahren weist Operationen auf. Netzqualitätsinformationen für ein Netz werden von einer oder mehreren Einheiten empfangen. Es wird festgestellt, dass das Netz in einem Bereich, von dem die Netzqualitätsinformationen empfangen wurden, nicht verfügbar ist. Für eine neue Einheit wird ein Bewegungspfad der neuen Einheit vorhergesagt. Es wird auf Grundlage des Bewegungspfads festgestellt, dass die neue Einheit in den Bereich eintreten wird. Ein oder mehrere Softwaremodule und Daten werden identifiziert. Das eine oder die mehreren Softwaremodule und die Daten werden an die neue Einheit gesendet, wobei die neue Einheit das eine oder die mehreren Softwaremodule ausführt, um eine oder mehrere Erkenntnisse aus den Daten zu erzeugen. Dies ermöglicht es der Einheit vorteilhafterweise, das eine oder die mehreren Softwaremodule weiterhin auszuführen, um eine oder mehrere Erkenntnisse aus den Daten zu erzeugen und beispielsweise eine Route vorherzusagen, selbst wenn das Netz nicht verfügbar ist.
  • Gemäß weiteren Ausführungsformen ist ein Computerprogrammprodukt zum Delegieren von Cloud-seitigen Rollen an Einheiten vorgesehen. Das Computerprogrammprodukt weist ein computerlesbares Speichermedium mit darin verkörpertem Programmcode auf, wobei der Programmcode von mindestens einem Prozessor ausführbar ist, um Operationen auszuführen. Netzqualitätsinformationen für ein Netz werden von einer oder mehreren Einheiten empfangen. Es wird festgestellt, dass das Netz in einem Bereich, von dem die Netzqualitätsinformationen empfangen wurden, nicht verfügbar ist. Für eine neue Einheit wird ein Bewegungspfad der neuen Einheit vorhergesagt. Es wird auf Grundlage des Bewegungspfads festgestellt, dass die neue Einheit in den Bereich eintreten wird. Ein oder mehrere Softwaremodule und Daten werden identifiziert. Das eine oder die mehreren Softwaremodule und die Daten werden an die neue Einheit gesendet, wobei die neue Einheit das eine oder die mehreren Softwaremodule ausführt, um eine oder mehrere Erkenntnisse aus den Daten zu erzeugen. Dies ermöglicht es der Einheit vorteilhafterweise, das eine oder die mehreren Softwaremodule weiterhin auszuführen, um eine oder mehrere Erkenntnisse aus den Daten zu erzeugen und beispielsweise eine Route vorherzusagen, selbst wenn das Netz nicht verfügbar ist.
  • Gemäß noch weiteren Ausführungsformen ist ein Computersystem zum Delegieren von Cloud-seitigen Rollen an Einheiten vorgesehen. Das Computersystem weist einen oder mehrere Prozessoren, einen oder mehrere computerlesbare Speicher und eine oder mehrere computerlesbare materielle Speichereinheiten; und Programmanweisungen auf, die auf mindestens einer der einen oder mehreren computerlesbaren materiellen Speichereinheiten gespeichert sind, um von mindestens einem des einen oder der mehreren Prozessoren über mindestens einen des einen oder der mehreren Speicher ausgeführt zu werden, um Operationen auszuführen. Netzqualitätsinformationen für ein Netz werden von einer oder mehreren Einheiten empfangen. Es wird festgestellt, dass das Netz in einem Bereich, von dem die Netzqualitätsinformationen empfangen wurden, nicht verfügbar ist. Für eine neue Einheit wird ein Bewegungspfad der neuen Einheit vorhergesagt. Es wird auf Grundlage des Bewegungspfads festgestellt, dass die neue Einheit in den Bereich eintreten wird. Ein oder mehrere Softwaremodule und Daten werden identifiziert. Das eine oder die mehreren Softwaremodule und die Daten werden an die neue Einheit gesendet, wobei die neue Einheit das eine oder die mehreren Softwaremodule ausführt, um eine oder mehrere Erkenntnisse aus den Daten zu erzeugen. Dies ermöglicht es der Einheit vorteilhafterweise, das eine oder die mehreren Softwaremodule weiterhin auszuführen, um eine oder mehrere Erkenntnisse aus den Daten zu erzeugen und beispielsweise eine Route vorherzusagen, selbst wenn das Netz nicht verfügbar ist.
  • In weiteren Ausführungsformen werden die Netzqualitätsinformationen an die neue Einheit gesendet, wobei nach dem Senden der Netzqualitätsinformationen an die neue Einheit die neue Einheit die Netzqualitätsinformationen verwendet, um festzustellen, dass sich die Netzqualität verbessert hat, wenn sich die Einheit entlang des Bewegungspfads zu einem neuen Bereich bewegt. Auf diese Weise kann die neue Einheit vorteilhafterweise bestimmen, wann das Netz verfügbar sein wird, damit die neue Einheit mit einem Cloud-Knoten Daten austauschen kann.
  • In noch weiteren Ausführungsformen werden mit den Netzqualitätsinformationen Zeitreihendaten erzeugt, wobei die Netzqualitätsinformationen die Netzbandbreite und die Netzlatenz beinhalten. Unter Verwendung der Zeitreihendaten werden eine durchschnittliche Netzbandbreite und eine durchschnittliche Latenz bestimmt. Aus der durchschnittlichen Netzbandbreite und der durchschnittlichen Netzlatenz wird eine Netzqualitätsbewertung des Bereichs erzeugt, wobei die Netzqualitätsbewertung verwendet wird, um festzustellen, dass das Netz in dem Bereich nicht verfügbar ist, von dem die Netzqualitätsinformationen empfangen wurden. Dies ermöglicht vorteilhafterweise ein Erzeugen einer Netzqualitätsbewertung (mit den Zeitreihendaten) zu unterschiedlichen Zeitpunkten unter Verwendung der Netzbandbreite und der Netzlatenz.
  • In weiteren Ausführungsformen wird die Netzqualitätsbewertung mit einem Umgebungskoeffizienten multipliziert. Dies ermöglicht es vorteilhafterweise, dass die Netzqualitätsbewertung Umgebungsfaktoren berücksichtigt.
  • In noch weiteren Ausführungsformen werden das eine oder die mehreren Softwaremodule und die Daten nach einer gewissen Zeitspanne von der neuen Einheit gelöscht. Dies ermöglicht dem Cloud-Knoten vorteilhafterweise, diese Zeitspanne festzulegen, und ermöglicht es der Einheit, das eine oder die mehreren Softwaremodule und die Daten zu löschen, um den lokalen Speicherplatz zu verbessern.
  • In weiteren Ausführungsformen sendet die neue Einheit Sensorinformationen von einer oder mehreren Sensoreinheiten an einen Cloud-Knoten. So können Echtzeitdaten von der neuen Einheit an den Cloud-Knoten gesendet werden.
  • In noch weiteren Ausführungsformen ist die neue Einheit eine Internet-der-Dinge-Einheit (loT, „Internet of Things“). Dies ermöglicht es loT-Einheiten vorteilhafterweise, Ausführungsformen der Erfindung zu implementieren. In bestimmten Ausführungsformen ist eine Software-as-a-Service (SaaS) zum Ausführen der Operationen für das Verfahren konfiguriert. Dies ermöglicht vorteilhafterweise, dass die Operationen als Dienst in einer Cloud-Umgebung angeboten werden.
  • Figurenliste
  • Es wird nun auf die Zeichnungen Bezug genommen, in denen gleiche Bezugszeichen stets entsprechende Teile wiedergeben:
    • 1 zeigt in einem Blockschaubild eine Datenverarbeitungsumgebung gemäß bestimmten Ausführungsformen.
    • 2 zeigt in einem Blockschaubild weitere Details einer Datenverarbeitungsumgebung gemäß bestimmten Ausführungsformen.
    • 3 zeigt einen Ablauf zum Aktualisieren des Netzqualitätsinformations-Speichers in dem Cloud-Knoten gemäß bestimmten Ausführungsformen.
    • 4 zeigt einen Ablauf zum Vorhersagen einer Netzstörung und zum Starten einer Synchronisierung in dem Cloud-Knoten gemäß bestimmten Ausführungsformen.
    • 5 zeigt einen Ablauf zum Synchronisieren von Daten und Erzeugen von Erkenntnissen unter Verwendung von Softwaremodulen in einer Einheit gemäß bestimmten Ausführungsformen.
    • 6 zeigt eine Logiktabelle in einem Logikspeicher gemäß bestimmten Ausführungsformen.
    • 7 zeigt eine Datentabelle in einem Datenspeicher gemäß bestimmten Ausführungsformen.
    • 8 zeigt einen Netzqualitätsinformations-Speicher gemäß bestimmten Ausführungsformen.
    • 9 zeigt eine Karte gemäß bestimmten Ausführungsformen.
    • 10A und 10B zeigen in einem Ablaufplan Operationen zum Auswählen eines oder mehrerer Softwaremodule, von Daten und Netzqualitätsinformationen in einem Cloud-Knoten gemäß bestimmten Ausführungsformen.
    • 11A und 11B zeigen in einem Ablaufplan Operationen zum Aktualisieren eines Netzqualitätsinformations-Speichers in einem Cloud-Knoten gemäß bestimmten Ausführungsformen.
    • 12 zeigt in einem Ablaufplan Operationen zum Senden einer oder mehrerer Erkenntnisse von einer Einheit an einen Cloud-Dienst in einem Cloud-Knoten gemäß bestimmten Ausführungsformen.
    • 13 zeigt in einem Ablaufplan Operationen zum Senden von Sensordaten von einer Einheit an einen Cloud-Dienst in einem Cloud-Knoten gemäß bestimmten Ausführungsformen.
    • 14 zeigt in einem Ablaufplan Operationen zum Verarbeiten eines Befehls in einer Einheit gemäß bestimmten Ausführungsformen.
    • 15 zeigt eine beispielhafte Route gemäß bestimmten Ausführungsformen.
    • 16A, 16B, 16C und 16D zeigen einen Ablauf für die beispielhafte Route gemäß bestimmten Ausführungsformen.
    • 17A und 17B zeigen eine Analyse im Cloud-Knoten für die beispielhafte Route gemäß bestimmten Ausführungsformen.
    • 18 zeigt einen Rechenknoten gemäß bestimmten Ausführungsformen.
    • 19 zeigt eine Cloud-Computing-Umgebung gemäß bestimmten Ausführungsformen.
    • 20 zeigt Abstraktionsmodellschichten gemäß bestimmten Ausführungsformen.
  • DETAILLIERTE BESCHREIBUNG
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden zu Zwecken der Veranschaulichung angegeben, sind aber nicht als erschöpfend oder auf die offenbarten Ausführungsformen beschränkt anzusehen. Viele Modifikationen und Varianten sind für Fachleute offensichtlich, ohne vom Umfang und Geist der beschriebenen Ausführungsformen abzuweichen. Die hier verwendete Terminologie wurde ausgewählt, um die Prinzipien der Ausführungsformen, die praktische Anwendung oder die technische Verbesserung gegenüber Technologien, die am Markt vorhanden sind, am besten zu beschreiben oder anderen Fachleuten zu ermöglichen, die hierin offenbarten Ausführungsformen zu verstehen.
  • Bestimmte Ausführungsformen betreffen Einheiten wie Internet-der-Dinge-Einheiten (loT, „Internet of Things“) oder andere mobile Einheiten in Fahrzeugen. Bestimmte Ausführungsformen sagen die Möglichkeit einer Netzunterbrechung auf einer geplanten Route anhand von Netzqualitätsinformationen an allen Standorten und an einem aktuellen Standort einer Einheit voraus. Dann delegieren bestimmte Ausführungsformen eine oder mehrere der Datenverarbeitungsfunktionen des Cloud-Knotens an die Einheit. Die Datenverarbeitungsfunktionen werden von Softwaremodulen ausgeführt.
  • Wenn die Funktionen delegiert werden, wählen bestimmte Ausführungsformen Softwaremodule (d.h. Logik zum Ausführen der Datenverarbeitungsfunktionen) und Daten aus, die zum Verarbeiten in einem vom Netz getrennten Bereich erforderlich sind, und synchronisieren sie vom Cloud-Knoten zur Einheit, so dass der Dienst in der Einheit während einer bestimmten Zeitspanne aufrechterhalten werden kann, nachdem das Netz vorübergehend nicht verfügbar wurde. Das Netz kann in einem Bereich als nicht verfügbar eingestuft werden, wenn das Netz in diesem Bereich instabil ist (wenn die Einheit in einem Bereich dieses Netzes z.B. keine Verbindung zum Cloud-Knoten herstellen und Daten senden oder Befehle empfangen kann) oder wenn das Netz in diesem Bereich getrennt ist.
  • 1 zeigt in einem Blockschaubild eine Datenverarbeitungsumgebung gemäß bestimmten Ausführungsformen. In 1 wird ein Cloud-Dienst 102 von einem Cloud-Knoten 100 bereitgestellt. Der Cloud-Dienst 102 (auf der Cloud-Seite) kann über ein Netz 190 mit Einheiten 152a ... 152n Daten austauschen. Die Auslassungszeichen und die Verwendung von „a“ und „n“ zeigen an, dass eine beliebige Anzahl von Einheiten mit dem Cloud-Dienst 102 Daten austauschen können.
  • Jede der Einheiten 152a ... 152n ist netzfähig. Das heißt, dass jede der Einheiten 152a ... 152n mit dem Cloud-Dienst 102 im Cloud-Knoten 100 über das Netz 190 Daten austauschen kann. In bestimmten Ausführungsformen können die Einheiten 152a ... 152n miteinander Daten austauschen. In bestimmten Ausführungsformen sind die Einheiten 152a ... 152n loT-Einheiten oder mobile Einheiten, die mit dem Cloud-Knoten 100 und in einigen Fällen miteinander Daten austauschen können.
  • 2 zeigt in einem Blockschaubild weitere Details einer Datenverarbeitungsumgebung gemäß bestimmten Ausführungsformen. Insbesondere zeigt 2 weitere Details des Cloud-Dienstes 102 und der Einheit 152a. Jede Einheit 152a ... 152n, die über das Netz 190 mit dem Cloud-Dienst 102 Daten austauscht, enthält die Komponenten, die für die Einheit 152a in 2 gezeigt sind.
  • Die Einheit 152a beinhaltet einen oder mehrere Sensoren 158 zum Sammeln von Daten in Echtzeit. In bestimmten Ausführungsformen sind einer oder mehrere der Sensoren 158 Wettersensoren, die beispielsweise Temperatur, Feuchtigkeit, Atmosphärendruck usw. erfassen. In bestimmten Ausführungsformen sind einer oder mehrere der Sensoren 158 fahrzeuginterne Sensoren, die beispielsweise Geschwindigkeit, Beschleunigung, GPS-Position („Global Positioning System“) usw. erfassen. In bestimmten Ausführungsformen werden Daten, die von einer Sensoreinheit 158 in der Einheit 152a erzeugt wurden, in einem Datenprozessor 160 verarbeitet, und dann werden die verarbeiteten Daten über einen Cloud-Datenverarbeitungs-Proxy 162 und einen Datensender 164 an einen Datenempfänger 110 des Cloud-Dienstes 102 gesendet.
  • Der Cloud-Dienst 102 auf der Cloud-Seite verarbeitet gesammelte Daten und stellt einen Dienst für die Dienstbenutzer bereit. Zusätzlich gibt der Cloud-Dienst 102 über einen Befehlssender 108 einen Befehl an die Einheit 152a aus und kann die Sensoreinheit 158 in der Einheit 152a steuern.
  • Der Datenempfänger 110 auf der Cloud-Seite überträgt von der Einheit 152a empfangene Daten an einen Datenprozessor 106 und stellt Informationen über die Standorte der Einheit 152a und Informationen über die Bedingungen des Netzes (z.B. die Netzbandbreite und eine Netzlatenz) einem Netzqualitätsinformations-Aktualisierer („Info-Aktualisierer“) 112 bereit.
  • In bestimmten Ausführungsformen stellen mehrere Einheiten 152a ... 152n Daten von Sensoren dem Cloud-Dienst 102 bereit und der Netzqualitätsinformations-Aktualisierer 112 empfängt Standorte der Einheiten 152a ... 152n und Informationen über die Bedingungen des Netzes von den mehreren Einheiten 152a ... 152n. Wenn später eine Teilmenge der Netzqualitätsinformationen an eine der mehreren Einheiten 152a ... 152n gesendet wird, enthält die Teilmenge der Netzqualitätsinformationen Informationen über die Bedingungen des Netzes von den mehreren Einheiten 152a ... 152n.
  • Der Netzqualitätsinformations-Aktualisierer 112 verwendet vom Datenempfänger 110 empfangene Informationen, um Netzqualitätsinformationen und Standortinformationen zu aktualisieren. Der Netzqualitätsinformations-Aktualisierer 112 speichert auch die aktualisierten Netzqualitätsinformationen und Standortinformationen in einem Netzqualitätsinformations-Speicher („Info-Speicher“) 114.
  • Die Netzqualitätsinformationen können als Abbildung bzw. Kartierung beschrieben werden. Es wird eine Kartierung erstellt, die den erreichten Grad an Netzqualität und einen Ort angibt, an dem dieser Grad erreicht wurde. Die Kartierung wird aus den Standortinformationen der Einheit 152a, von der Daten empfangen wurden, der Netzbandbreite und der Netzlatenz erstellt.
  • In bestimmten Ausführungsformen werden die Netzqualitätsinformationen auf Grundlage von Netzinformationen konfiguriert, die von vielen Einheiten 152a... 152n gesammelt wurden. Wenn jede der Einheiten 152a ... 152n Daten sendet, kann diese Einheit 152a ... 152n Informationen über einen Bereich hinzufügen, in dem die Einheit 152a ... 152n keine Verbindung zum Netz 190 zum Senden der Daten herstellen konnte. In bestimmten Ausführungsformen können die Netzqualitätsinformationen an jedem der Orte von einer externen Organisation wie beispielsweise einem Netzbetreiber erfasst werden.
  • In bestimmten Ausführungsformen können die Einheiten 152a ... 152n Fahrzeugnavigationseinheiten sein, die sich in Fahrzeugen befinden. Die Fahrzeuge können Autos, Boote, Flugzeuge, Motorräder, Fahrräder usw. sein. Die Fahrzeugnavigationseinheiten können dedizierte Datenübertragungseinheiten sein.
  • Der Netzqualitätsinformations-Aktualisierer 112 sendet Standortinformationen der Einheit 152a an einen Netzqualitätsprädiktor 116.
  • Der Netzqualitätsprädiktor 116 sagt die Netzqualität in der Nähe der Einheit 152a auf Grundlage der empfangenen Standortinformationen und zusätzlicher Informationen im Netzqualitätsinformations-Speicher 114 voraus. Wenn der Netzqualitätsprädiktor 116 vorhersagt, dass die Netzqualität unter einen Netzqualitätsschwellenwert fällt, bestimmt der Netzqualitätsprädiktor 116, dass Datenverarbeitungsfunktionen in dem Cloud-Knoten 100 an die Einheit 152a delegiert werden sollen. In bestimmten Ausführungsformen beruht der Netzqualitätsschwellenwert beispielsweise auf Funkfeldintensität, Paketverlustquote, Jitter, Latenz usw. Beispiele für die Datenverarbeitungsfunktionen beinhalten beispielsweise Bilderkennung, numerische Analyse von Sensordaten, Fahrverhaltensanalyse usw.
  • Wenn der Netzqualitätsprädiktor 116 feststellt, dass Verarbeitungsfunktionen delegiert werden sollen, weist der Netzqualitätsprädiktor 116 einen Synchronisierungsmanager 118 an, eine Synchronisierung durchzuführen.
  • Der Synchronisierungsmanager 118 wählt Softwaremodule und Daten zum Ausführen der Verarbeitungsfunktionen in der Einheit 152a in dem Bereich, in dem die Verarbeitungsfunktionen delegiert werden, aus einem Logikspeicher 104 (in dem von der Cloud-Seite für die Datenverarbeitung verwendete Softwaremodule gespeichert werden) und einem Datenspeicher 120 (in dem von der Cloud-Seite zur Datenverarbeitung verwendete Daten gespeichert werden) aus. Dann sendet der Synchronisierungsmanager 118 die ausgewählten Softwaremodule an einen Logiksynchronisator 124 und sendet die ausgewählten Daten an einen Datensynchronisator 126. Zusätzlich wählt der Synchronisierungsmanager 118 Informationen aus dem Netzqualitätsinformations-Speicher 114 auf der Cloud-Seite aus und sendet die Informationen an einen Netzqualitätsinformations-Synchronisator 122. In bestimmten Ausführungsformen werden die Informationen aus dem Netzqualitätsinformations-Speicher 114 auf Grundlage eines Standorts der Einheit 152a, die die Informationen erhalten soll, und eines Bewegungspfads dieser Einheit 152a ausgewählt.
  • Der Logiksynchronisator 124 sendet die ausgewählten Softwaremodule an einen Logiksynchronisator 170 in der Einheit 152a. Die Softwaremodule können Programmcode oder Regeln sein, die von dem Cloud-Datenverarbeitungs-Proxy 162 in der Einheit 152a ausgeführt werden. In bestimmten Ausführungsformen ist eine Teilkomponente des Cloud-Datenverarbeitungs-Proxy 162 eine Regel-Engine und führt die Softwaremodule aus. In bestimmten Ausführungsformen können mehreren Softwaremodulen Prioritäten zugewiesen werden, und ein Softwaremodul mit höherer Priorität kann abhängig von den Bedingungen der Einheit 152a selektiv gesendet werden.
  • Der Synchronisierungsmanager 118 kann für jedes Softwaremodul und die zugehörigen Daten eine gültige Lebensdauer festlegen. Sobald die Lebensdauer endet, verfällt jedes Softwaremodul und die zugehörigen Daten und werden automatisch von der Einheit 152a gelöscht.
  • Der Datensynchronisator 126 sendet die ausgewählten Daten an einen Datensynchronisator 176 in der Einheit 152a. Die Daten können Daten von einer anderen Einheit beinhalten und können auch die Ergebnisse der Analyse beinhalten, die in dem Cloud-Knoten 100 durchgeführt wurde.
  • Der Netzqualitätsinformations-Synchronisator 122 sendet die ausgewählten Netzqualitätsinformationen an den Netzqualitätsinformations-Synchronisator 166 in der Einheit 152a.
  • Der Logiksynchronisator 170 sendet ein empfangenes Softwaremodul an einen Logikanwender 172. Der Logikanwender 172 wendet das Softwaremodul in einem Cloud-Datenverarbeitungs-Proxy 162 an. Der Logikanwender 172 kann das Softwaremodul auch in einem Logikspeicher 174 speichern, und das Softwaremodul kann abhängig von den Bedingungen geändert werden.
  • Der Datensynchronisator 176 speichert empfangene Daten in einem Datenspeicher 178.
  • Der Netzqualitätsinformations-Synchronisator 166 speichert empfangene Informationen in einem Netzqualitätsinformations-Speicher 168.
  • Der Cloud-Datenverarbeitungs-Proxy 162 führt das Softwaremodul aus, um eine oder mehrere Erkenntnisse aus Daten zu erzeugen („zu erhalten“ oder „zu ermitteln“). Der Cloud-Datenverarbeitungs-Proxy 162 kann die eine oder mehreren Erkenntnisse in dem Datenspeicher 178 speichern.
  • Wenn ein Befehl als Ergebnis der Datenverarbeitung ausgegeben werden soll, sendet der Cloud-Datenverarbeitungs-Proxy 162 den Befehl an einen Befehlsausführer 156.
  • Der Cloud-Datenverarbeitungs-Proxy 162 bestimmt aus Informationen in dem Netzqualitätsinformations-Speicher 168, ob eine Datenübertragung mit dem Cloud-Knoten 100 an dem aktuellen Standort versucht werden soll. Wenn der Cloud-Datenverarbeitungs-Proxy 162 bestimmt, dass eine Datenübertragung versucht werden soll, sendet der Cloud-Datenverarbeitungs-Proxy 162 Erkenntnisse, die in dem Datenspeicher 178 als Ergebnis der Datenverarbeitung durch den Cloud-Datenverarbeitungs-Proxy 162 gespeichert sind, über einen Daten-Sender 164 an den Cloud-Knoten 100.
  • In bestimmten Ausführungsformen können Erkenntnissen Prioritäten zugewiesen werden und Erkenntnisse mit höherer Priorität können übertragen werden, ohne dass andere Erkenntnisse übertragen werden oder bevor andere Erkenntnisse übertragen werden. Wenn sich die Einheit 152a beispielsweise dem nächsten vom Netz getrennten Bereich nähert, können Erkenntnisse mit hoher Priorität an den Cloud-Knoten 100 übertragen werden.
  • Wenn der Cloud-Knoten 100 eine erneute Verbindung der Einheit 152a erfasst, bricht der Cloud-Knoten 100 die Funktionsdelegierung auf Grundlage einer neuen Bestimmung durch den Netzqualitätsprädiktor 116 ab.
  • Der Netzqualitätsprädiktor 116 und der Qualitätsinformationsaktualisierer 112 können eine Häufigkeit von Aktualisierungen in Abhängigkeit von den Bedingungen ändern und es ermöglichen, eine Häufigkeit von Aktualisierungen gemäß einer tatsächlichen Umgebung festzulegen. Eine tatsächliche Umgebung kann als die Stabilität der Netzverbindung um die Einheit 152a herum zu einem aktuellen Zeitpunkt beschrieben werden. Bestimmte Ausführungsformen passen die Aktualisierungsfrequenz auf Grundlage der Netzstabilität in einem Bereich dynamisch an, die vom Standort der Einheit 152a und ihrer Umgebung abhängt.
  • Insbesondere kann die Häufigkeit der Datenübertragung von einer Einheit 152a erhöht werden, die sich in der Nähe eines Bereichs befindet, in dem die Netzverbindung nicht verfügbar ist, um die Genauigkeit der Vorhersage der Instabilität der Netzverbindung in diesem Bereich zu verbessern.
  • 3 zeigt einen Ablauf 300 zum Aktualisieren des Netzqualitätsinformations-Speichers 114 in dem Cloud-Knoten 100 gemäß bestimmten Ausführungsformen. Zu Beginn senden Einheit 1 und Einheit 2 Daten an den Datenempfänger 110. Der Datenempfänger 110 sendet Daten an den Datenprozessor 106. Der Datenprozessor 106 verarbeitet die Daten, speichert die verarbeiteten Daten in dem Datenspeicher 120 und sendet einen Befehl über den Befehlssender 108 an jede der Einheiten (Einheit 1 und Einheit 2). In bestimmten Ausführungsformen ist der Befehl eine Anweisung, die jeder Einheit übergeben wird und die die Einheit betreibt oder den Zustand dieser Einheit ändert (z.B. ein Licht einschaltet, eine Nachricht auf einem Bildschirm anzeigt usw.). In bestimmten Ausführungsformen wird der spezifische gesendete Befehl auf Grundlage von Regeln dynamisch festgelegt. In bestimmten Ausführungsformen beinhalten die verarbeiteten Daten Erkenntnisse, die aus den von den Einheiten empfangenen Daten erzeugt wurden.
  • Der Datenempfänger 110 sendet den Standort, die Netzbandbreite und die Netzlatenz jeder der Einheiten an den Netzqualitätsinformations-Aktualisierer 112. Der Netzqualitätsinformations-Aktualisierer 112 aktualisiert den Standort, die Netzbandbreite und die Netzlatenz jeder der Einheiten in dem Netzqualitätsinformations-Speicher 114.
  • 4 zeigt einen Ablauf 400 zum Vorhersagen einer Netzstörung und zum Starten einer Synchronisierung in dem Cloud-Knoten 100 gemäß bestimmten Ausführungsformen. Zu Beginn sendet die Einheit 1 Daten an den Datenempfänger 110. Der Datenempfänger 110 sendet den Standort der Einheit 1 an den Netzqualitätsinformations-Aktualisierer 112, der den Standort der Einheit 1 an den Netzqualitätsprädiktor 116 sendet. Der Netzqualitätsprädiktor 116 führt eine Analyse durch, um eine Vorhersage zu treffen, dass die Einheit 1 bald (aufgrund einer Netzstörung) vom Netz getrennt wird, und sendet eine Synchronisierungsnachricht an den Synchronisierungsmanager 118. Der Synchronisierungsmanager 118 wählt Daten, Softwaremodule und Netzqualitätsinformationen aus. Dann sendet der Synchronisierungsmanager 118 einen Befehl zum Senden der Daten an den Datensynchronisator 126, sendet einen Befehl zum Senden der Softwaremodule an den Logiksynchronisator 124 und sendet einen Befehl zum Senden der Netzqualitätsinformationen an den Netzqualitätsinformations-Synchronisator 122. Der Datensynchronisator 126 ruft die Daten aus dem Datenspeicher 120 ab und sendet die Daten an die Einheit 1. Der Logiksynchronisator 124 ruft die Softwaremodule aus dem Logikspeicher 104 ab und sendet die Softwaremodule an die Einheit. Der Netzqualitätsinformations-Synchronisator 122 ruft die Netzqualitätsinformationen aus dem Netzqualitätsinformations-Speicher 114 ab und sendet die Netzqualitätsinformationen an die Einheit 1.
  • 5 zeigt einen Ablauf 500 zum Synchronisieren von Daten und Erzeugen von Erkenntnissen unter Verwendung von Softwaremodulen in einer Einheit gemäß bestimmten Ausführungsformen. Um Daten zu synchronisieren, empfängt 1) der Datensynchronisator 176 Daten und speichert die Daten im Datenspeicher 178, empfängt 2) der Logiksynchronisator 170 Softwaremodule und sendet die Softwaremodule an den Logikanwender 172 und empfängt 3) der Netzqualitätsinformations-Synchronisator 166 Netzqualitätsinformationen und speichert die Netzqualitätsinformationen in dem Netzqualitätsinformations-Speicher 168. Der Logikanwender 172 speichert die Softwaremodule im Logikspeicher 174 und sendet die Softwaremodule an den Cloud-Datenverarbeitungs-Proxy 162. Der Cloud-Datenverarbeitungs-Proxy 162 führt die Softwaremodule unter Verwendung der Daten aus.
  • Um Erkenntnisse zu erzeugen, sendet die Sensoreinheit 158 Daten an den Datenprozessor 160, der die Daten an den Cloud-Datenverarbeitungs-Proxy 162 sendet. Der Cloud-Datenverarbeitungs-Proxy 162 ruft Daten ab, die zuvor in dem Datenspeicher 178 gespeichert wurden, d.h. Daten, die zuvor von dem Cloud-Knoten 100 gesendet wurden. Der Cloud-Datenverarbeitungs-Proxy 162 führt die Softwaremodule aus, um eine oder mehrere Erkenntnisse aus den Daten zu erzeugen, speichert die eine oder mehreren Erkenntnisse in dem Datenspeicher 178 und sendet einen Befehl an den Befehlsausführer 156. Der Befehlsausführer 156 sendet den Befehl an die Sensoreinheit 158. Der Cloud-Datenverarbeitungs-Proxy 162 erhält Netzqualitätsinformationen von dem Netzqualitätsinformations-Speicher 168, stellt fest, dass die eine oder mehreren Erkenntnisse auf Grundlage der Netzqualitätsinformationen an den Cloud-Knoten gesendet werden sollen, und sendet die eine oder mehreren Erkenntnisse an den Datensender 164. Der Datensender 164 sendet die Daten an den Cloud-Knoten 100.
  • 6 zeigt eine Logiktabelle 600 in einem Logikspeicher gemäß bestimmten Ausführungsformen. Die Logiktabelle 600 enthält eine Spalte für einen Bezeichner für jede Zeile, eine Spalte für die Metalogik für die Auswahl des Softwaremoduls, eine Spalte für die Metalogik für die Auswahl der Daten und eine Spalte für den Logikinhalt. Die Metalogik kann als Programmcode oder Regeln beschrieben werden, die vom Synchronisierungsmanager 118 ausgeführt werden. Die Logiktabelle 600 kann im Logikspeicher 104 und im Logikspeicher 174 gespeichert sein.
  • Die Metalogik für die Auswahl des Softwaremoduls wird für jeden Eintrag im Logikspeicher 104 ausgeführt, und es wird bestimmt, ob das Softwaremodul in dem Eintrag zum Senden an die Einheit ausgewählt wird. Die Metalogik zur Logikauswahl führt eine Verarbeitung unter Verwendung von Daten in dem Datenspeicher 120 durch. Dabei können die Daten, die bei der Auswahl des Softwaremoduls verwendet werden sollen, auf Grundlage der Netzqualitätsinformationen und Informationen über den Bereich eingegrenzt werden, in den sich die Einheit bewegen wird. Beispielsweise kann ein Softwaremodul unter Verwendung von Daten ausgewählt werden, die zu einem Bereich mit niedriger Netzqualität gehören, in den sich die Einheit bewegen wird. Alternativ können Daten verwendet werden, die zu diesem Bereich und einem Bereich gehören, der an diesen Bereich angrenzt. Eine spezielle Technik zum Eingrenzen der Daten kann in der Metalogik beschrieben sein.
  • Für einen ausgewählten Eintrag wird eine Metalogik zur Datenauswahl ausgeführt, um Daten auszuwählen. Infolge des Ausführens der Metalogik zur Auswahl des Softwaremoduls kann die Priorität des Softwaremoduls (oder Eintrags) erhalten werden. In bestimmten Ausführungsformen ist die Priorität in die Metalogik zur Datenauswahl eingebettet. In bestimmten alternativen Ausführungsformen wird die Priorität auf Grundlage verschiedener Faktoren bestimmt.
  • 7 zeigt eine Datentabelle 700 in einem Datenspeicher gemäß bestimmten Ausführungsformen. Die Datentabelle 700 enthält eine Spalte für einen Bezeichner für jede Zeile, eine Spalte für einen Längengrad, eine Spalte für einen Breitengrad, eine Spalte für einen Verweisbezeichner (z.B. einen Straßenbezeichner), eine Spalte für einen Zeitstempel, eine Spalte für einen Typ des Verweises und eine Spalte für Nutzinformationen (bei denen es sich um Daten handelt). Der Längen- und der Breitengrad geben einen Standort einer Einheit an. Der Datenspeicher 120 und der Datenspeicher 178 können die Datentabelle 700 enthalten.
  • 8 zeigt einen Netzqualitätsinformations-Speicher 800 gemäß bestimmten Ausführungsformen. Der Netzqualitätsinformations-Speicher 800 enthält eine Spalte für einen Bereichsbezeichner, eine Spalte für einen Zeitstempel, eine Spalte für die durchschnittliche Netzbandbreite, eine Spalte für die durchschnittliche Netzlatenz, eine Spalte für eine Netzqualitätsbewertung und eine Spalte mit einem Verweis auf Zeitreihendaten. Beispielsweise weisen die Zeitreihendaten 850 eine Spalte für einen Zeitstempel, eine Spalte für die Netzbandbreite und eine Spalte für die Netzlatenz auf. Die durchschnittliche Netzbandbreite ist ein Durchschnitt, der auf der Netzbandbreite in den Zeitreihendaten beruht. Die durchschnittliche Netzlatenz ist ein Durchschnitt, der auf der Netzlatenz in den Zeitreihendaten beruht.
  • In 8, steht „Mbps“ für Megabit pro Sekunde, „kbps“ steht für Kilobit pro Sekunde und „ms“ steht für Millisekunde.
  • 9 zeigt eine Karte 900 gemäß bestimmten Ausführungsformen. In bestimmten Ausführungsformen ist die Karte 900 in ein Raster von quadratischen Bereichen unterteilt. Die Zuordnung von Standortinformationen zu den Bereichen kann unter Verwendung einer Berechnungsformel durchgeführt werden (z.B. können den Bereichen Nummern auf Grundlage des Breiten- und Längengrades zugewiesen werden, beispielsweise wie bei der Kachelnummerierung der Open Street Map (OSM).
  • Informationen über Netzbandbreiten und Netzlatenzen, die von den Einheiten gesendet werden, werden als Zeitreihendaten für jeden Bereich gespeichert, und die durchschnittliche Netzbandbreite und die durchschnittliche Netzlatenz in jedem Bereich werden berechnet und gespeichert.
  • Die Netzqualitätsbewertung in den Bereichen wird aus der durchschnittlichen Netzbandbreite und der durchschnittlichen Netzlatenz berechnet.
  • Um Änderungen der verfügbaren Netzqualitätsinformationen in Abhängigkeit von Umweltfaktoren wie schlechtem Wetter oder Überlastungsbedingungen in jedem Bereich Rechnung zu tragen, können Umweltkoeffizienten definiert werden, die den Umweltfaktoren entsprechen, und die berechnete Netzqualitätsbewertung kann mit dem Umweltkoeffizienten multipliziert werden, um eine endgültige Netzqualitätsbewertung zu erzeugen.
  • 10A und 10B zeigen in einem Ablaufplan Operationen zum Auswählen eines oder mehrerer Softwaremodule, von Daten und Netzqualitätsinformationen in einem Cloud-Knoten gemäß bestimmten Ausführungsformen. Der Ablauf beginnt bei Block 1000, bei dem der Cloud-Dienst 102 Daten von einer Einheit 152a empfängt. Bei Block 1002 sagt der Cloud-Dienst 102 einen Bewegungspfad (eine Route) der Einheit 152a voraus. Bei Block 1004 sagt der Cloud-Dienst 102 eine Netzqualität für die Einheit 152a entlang des Bewegungspfads voraus. Der vorhergesagte Bewegungspfad kann als eine Route beschrieben werden, die das Fahrzeug wahrscheinlich durch einen oder mehrere Bereiche nimmt. Der Bewegungspfad für eine Einheit eines Fahrzeugs kann auf Grundlage einer Route, die in eine Navigationseinheit für das Fahrzeug eingegeben wurde, auf Grundlage einer Route, die die Einheit des Fahrzeugs in der Vergangenheit ungefähr zur gleichen Zeit zurückgelegt hat (z.B. den Weg zur Arbeit oder am Abend zurück nach Hause) oder auf Grundlage anderer Informationen vorhergesagt werden, wie z.B. Sehenswürdigkeiten, zu denen das Fahrzeug fahren könnte.
  • Bei Block 1006 bestimmt der Cloud-Dienst 102, ob die Einheit 152a aufgrund der Nichtverfügbarkeit des Netzes entlang des Bewegungspfads getrennt wird. Wenn dem so ist, fährt die Verarbeitung mit Block 1008 fort, andernfalls fährt die Verarbeitung mit Block 1000 fort.
  • Bei Block 1008 erzeugt der Cloud-Dienst 102 auf Grundlage des Bewegungspfads eine Teilmenge der Netzqualitätsinformationen, die an die Einheit 152a gesendet werden soll. Von Block 1008 (10A) fährt die Verarbeitung mit Block 1010 (10B) fort. In bestimmten Ausführungsformen enthält die Teilmenge der Netzqualitätsinformationen Informationen über die Netzqualität in einem oder mehreren Bereichen von einer oder mehreren der Einheiten 152a ... 152n.
  • Bei Block 1010 wählt der Cloud-Dienst 102 einen nächsten Eintrag in einer Logiktabelle aus, beginnend mit einem ersten Eintrag. Bei Block 1012 führt der Cloud-Dienst 102 Metalogik in dem Eintrag aus, um zu bestimmen, ob das Softwaremodul an die Einheit 152a gesendet werden soll, wobei eine Teilmenge der Netzqualitätsinformationen aus dem Netzqualitätsinformations-Speicher 114 und der Daten aus dem Datenspeicher 120 als Eingabe verwendet werden.
  • Bei Block 1014 bestimmt der Cloud-Dienst 102, ob das Softwaremodul an die Einheit 152a gesendet werden soll. Wenn dem so ist, fährt die Verarbeitung mit Block 1016 fort, andernfalls fährt die Verarbeitung mit Block 1022 fort.
  • Bei Block 1016 fügt der Cloud-Dienst 102 das Softwaremodul einer Teilmenge von Softwaremodulen hinzu, die an die Einheit 152a gesendet werden sollen. Bei Block 1018 führt der Cloud-Dienst 102 eine Metalogik in dem Eintrag zum Auswählen von Daten aus, die an die Einheit 152a gesendet werden sollen. Bei Block 1020 fügt der Cloud-Dienst 102 die ausgewählten Daten einer Teilmenge von Daten hinzu, die an die Einheit 152a gesendet werden sollen.
  • Bei Block 1022 bestimmt der Cloud-Dienst 102, ob alle Einträge ausgewählt wurden. Wenn dem so ist, fährt die Verarbeitung mit Block 1024 fort, andernfalls fährt die Verarbeitung mit Block 1010 fort. Bei Block 1024 sendet der Cloud-Dienst 102 die Teilmenge von Softwaremodulen, die Teilmenge von Daten und die Teilmenge von Netzqualitätsinformationen an die Einheit 152a.
  • 11A und 11B zeigen in einem Ablaufplan Operationen zum Aktualisieren eines Netzqualitätsinformations-Speichers in einem Cloud-Knoten gemäß bestimmten Ausführungsformen. Der Ablauf beginnt bei Block 1100, bei dem der Cloud-Dienst 102 Daten von einer Einheit 152a empfängt, wobei die Daten eine Netzbandbreite und eine Netzlatenz beinhalten. Bei Block 1102 identifiziert der Cloud-Dienst 102 einen Bereich aus einem Standort der Einheit.
  • Bei Block 1104 erzeugt der Cloud-Dienst 102 Zeitreihendaten mit der Netzbandbreite und der Netzlatenz und fügt diese an einen Zeitreihendatensatz für den Bereich an. Bei Block 1106 entfernt der Cloud-Dienst 102 optional ältere Daten aus dem Zeitreihendatensatz für den Bereich.
  • Bei Block 1108 aktualisiert der Cloud-Dienst 102 eine durchschnittliche Netzbandbreite und Netzlatenz des Bereichs aus dem Zeitreihendatensatz. Von Block 1108 (11A) fährt die Verarbeitung mit Block 1110 (11B) fort.
  • Bei Block 1110 erzeugt der Cloud-Dienst 102 eine Netzqualitätsbewertung des Bereichs aus der durchschnittlichen Netzbandbreite und der durchschnittlichen Netzlatenz. Wenn ein Umgebungskoeffizient vorhanden ist, multipliziert bei Block 1112 der Cloud-Dienst 102 optional die Netzqualitätsbewertung mit dem Umgebungskoeffizienten. Bei Block 1114 aktualisiert der Cloud-Dienst 102 den Netzqualitätsinformations-Speicher 114 mit der Netzqualitätsbewertung. In bestimmten Ausführungsformen beinhalten die Netzqualitätsinformationen die Netzqualitätsbewertung.
  • Bei Block 1116 bestimmt der Cloud-Dienst 102, ob die Einheit 152a aktiv ist (ob sie z.B. über das Netz Daten austauscht und Daten an den Cloud-Dienst 102 sendet). Wenn ja, fährt die Verarbeitung mit Block 1100 fort, andernfalls ist Verarbeitung beendet.
  • 12 zeigt in einem Ablaufplan Operationen zum Senden einer oder mehrerer Erkenntnisse von einer Einheit 152a an einen Cloud-Dienst 102 in einem Cloud-Knoten 100 gemäß bestimmten Ausführungsformen. Der Ablauf beginnt bei Block 1200, bei dem die Einheit 152a eine Teilmenge von Softwaremodulen, eine Teilmenge von Daten und eine Teilmenge von Netzqualitätsinformationen von einem Cloud-Knoten empfängt. In bestimmten Ausführungsformen beinhaltet die Teilmenge der Netzqualitätsinformationen Informationen über die Netzqualität in einem oder mehreren Bereichen von einer oder mehreren der Einheiten 152a ... 152n.
  • Bei Block 1202 führt die Einheit 152a das eine oder die mehreren Softwaremodule aus, um eine oder mehrere Erkenntnisse aus den Daten zu erzeugen (z.B. Erkenntnisse bezüglich einer Route des Fahrzeugs mit der Einheit 152a). Bei Block 1204 bestimmt die Einheit 152a auf Grundlage der Teilmenge der Netzqualitätsinformationen, ob sich die Netzqualität verbessert hat. Wenn sich eine Einheit (als Teil eines Fahrzeugs) durch verschiedene Bereiche bewegt, kann die Einheit auf Grundlage der Netzqualitätsinformationen beispielsweise bestimmen, ob an einem bestimmten Standort eine Netzverfügbarkeit besteht. Wenn dem so ist, fährt die Verarbeitung mit Block 1206 fort, andernfalls fährt die Verarbeitung mit Block 1202 fort. Bei Block 1206 sendet die Einheit 152a die eine oder mehreren Erkenntnisse an den Cloud-Dienst 102. Bei Block 1208 löscht die Einheit 152a am Ende einer Lebensdauer der Teilmenge von Softwaremodulen und der Teilmenge von Daten die Teilmenge von Softwaremodulen und die Teilmenge von Daten. In bestimmten Ausführungsformen wird auch die Teilmenge von Netzqualitätsinformationen auf Grundlage des Endes einer Lebensdauer gelöscht.
  • 13 zeigt in einem Ablaufplan Operationen zum Senden von Sensordaten von einer Einheit an einen Cloud-Dienst 102 in einem Cloud-Knoten 100 gemäß bestimmten Ausführungsformen. Der Ablauf beginnt bei Block 1300, bei dem die Einheit 152a Daten eines oder mehrerer Sensoren sammelt. Bei Block 1302 sendet die Einheit 152a die Daten an den Cloud-Dienst 102.
  • 14 zeigt in einem Ablaufplan Operationen zum Verarbeiten eines Befehls in einer Einheit gemäß bestimmten Ausführungsformen. Der Ablauf beginnt bei Block 1400, bei dem die Einheit 152a einen Befehl vom Cloud-Dienst 102 empfängt. Bei Block 1402 führt die Einheit 152a den Befehl aus. Wenn in Block 1404 der Befehl Daten erzeugt hat, schickt die Einheit 152a die erzeugten Daten an den Cloud-Dienst 102 zurück.
  • Durch Synchronisieren der Softwaremodule, Daten und Netzqualitätsinformationen zwischen dem Cloud-Knoten 100 und der Einheit 152a ermöglicht die Ausführungsform vorteilhafterweise, dass die gleichen Prozesse, die in dem Cloud-Knoten 100 ausgeführt werden, in der Einheit 152a ausgeführt werden können, selbst wenn das Netz zur wechselseitigen Datenübertragung des Cloud-Knotens 100 und der Einheit 152a nicht verfügbar ist.
  • Vorteilhafterweise kann der Cloud-Knoten 100 vorhersagen, dass sich die Netzqualität verschlechtern wird und dass das Netz nicht mehr verfügbar sein könnte, wenn sich die Einheit 152a entlang eines Bewegungspfads bewegt. Bevor das Netz unverfügbar wird, synchronisiert der Cloud-Knoten 100 vorteilhafterweise die Softwaremodule, Daten und Netzqualitätsinformationen mit der Einheit 152a.
  • Da die synchronisierten Daten Daten (z.B. Daten, die von anderen Einheiten als der Einheit stammen, die die Daten empfängt) und Ergebnisse einer Analyse in der Cloud beinhalten, kann eine große Bandbreite von Prozessen durchgeführt werden, verglichen mit dem Fall, in dem nur die Daten der Einheit gesendet werden, die die Daten empfängt.
  • Da eine Teilmenge der Softwaremodule und eine Teilmenge der Daten selektiv synchronisiert werden, können die Auswirkungen auf den Netzverkehr und die Ressourcen der Einheit 152a (wie Zentraleinheit (CPU), Arbeitsspeicher und Speicherplatz) minimiert werden.
  • Beispiele, in denen die Erkenntnisse vorgeschlagene Routen sind, werden hier nur zur Verbesserung des Verständnisses der Ausführungsformen angegeben. In weiteren Ausführungsformen können jedoch andere Erkenntnisse erzeugt werden.
  • 15 zeigt eine beispielhafte Route 1500 gemäß bestimmten Ausführungsformen. In diesem Beispiel werden Straßeninformationen in einem Bereich einer Bergregion bereitgestellt, in dem keine Netzverbindung verfügbar ist. In diesem Bereich wird die Synchronisierung von Informationen über Hindernisse (z.B. herabgefallene Steine, fallengelassene Gegenstände und Tiere) ausgeführt, bevor die Einheit im Fahrzeug in den Bereich eintritt, wodurch der Einheit geeignete Informationen bereitgestellt werden, wenn sich das Fahrzeug den Hindernissen nähert und bevor die Netzverbindung unverfügbar wird. In 15 sind Zeitstempel von 13:15, 13:20, 13:25 und 13:30 Positionen des sich bewegenden Bären zugeordnet. Außerdem ist dem Fahrzeug ein Zeitstempel von 13:35 zugeordnet.
  • 16A, 16B, 16C und 16D zeigen einen Ablauf 1600 für die beispielhafte Route gemäß bestimmten Ausführungsformen. In diesem Beispiel empfängt ein Fahrzeug bei einem Zeitstempel 13:33 vor dem Eintreten in eine Bergregion Softwaremodule und Daten für ein Ereignis „Tier auf der Fahrbahn“, das von einem weiteren Fahrzeug um 13:31 gemeldet wurde. Folglich kann ein Fahrzeug selbst bei einer Trennung der Netzverbindung eine Route auswählen, um diesem Tier auszuweichen.
  • 17A und 17B zeigen eine Analyse 1700 im Cloud-Knoten für die beispielhafte Route gemäß bestimmten Ausführungsformen. In bestimmten Ausführungsformen analysiert die Cloud-seitige Logik die von jedem der Fahrzeuge empfangenen Ereignisse und erkennt, ob es sich um neu gemeldete Ereignisse oder um eine Aktualisierung eines bereits bekannten Ereignisses handelt. In diesem Beispiel führt die Cloud-seitige Logik eine Bildanalyse durch und erkennt, ob das gemeldete Tier mit dem bereits gemeldeten Tier identisch ist.
  • In einem weiteren Beispiel werden Informationen zu schlechtem Wetter in einer Bergregion bereitgestellt, in der keine Netzverbindung verfügbar ist. Eine Einheit in einem Fahrzeug, das ein Auftreten von Nebel in einer Bergregion erfasst hat, bewegt sich zu einem Ort, an dem ein Netz verfügbar ist, und sendet dann Daten an den Cloud-Knoten 100, die den Zeitpunkt und Standort angeben, bei denen die Einheit den Nebel erfasst hat. Einheiten mehrerer Fahrzeuge können diese Operation ausführen und Daten, die die Zeitpunkte und Orte angeben, an denen Nebel aufgetreten ist, an den Cloud-Knoten 100 senden, der diese Daten sammelt.
  • Unmittelbar bevor ein neues Fahrzeug in die Bergregion eintritt, werden die Daten, die die Zeitpunkte und Orte angeben, zu denen Nebel aufgetreten ist, und ein Nebelvorhersage-Softwaremodul vom Cloud-Knoten mit einer Einheit des neuen Fahrzeugs synchronisiert. Dann verwendet die Einheit des neuen Fahrzeugs die synchronisierten Daten und Nebelvorhersage-Softwaremodule, um den Zeitpunkt und Ort vorherzusagen, an dem Nebel auftreten wird. Die Einheit verwendet den vorhergesagten Zeitpunkt und Ort zur Fahrunterstützung und zur Auswahl einer Route zur Vermeidung des Nebels. Ausführungsformen stellen auch Informationen zur Vermeidung anderer Wetterprobleme (z.B. eines Tornados) oder anderer Hindernisse (z.B. einer Lawine) bereit.
  • In einem weiteren Beispiel werden Berichte über Sichtungen von Fußgängern (oder Fahrrädern) in einem Tunnel bereitgestellt, in dem keine Netzverbindung verfügbar ist. Eine Einheit eines Fahrzeugs, das Fußgänger in einem Tunnel gesichtet hat, sendet den Zeitpunkt und Ort, an denen das Fahrzeug die Fußgänger gesichtet hat, an die Cloud, nachdem das Fahrzeug den Tunnel verlassen hat. Einheiten mehrerer Fahrzeuge führen diese Operation durch und senden Daten, die die Zeitpunkte und Orte angeben, zu denen Fußgänger gesichtet wurden, an den Cloud-Knoten 100, der diese Daten sammelt.
  • Unmittelbar bevor ein neues Fahrzeug in den Tunnel einfährt, werden die Daten, die die Zeitpunkte und Orte angeben, zu denen Fußgänger gesichtet wurden, und ein Fußgängerstandortvorhersage-Softwaremodul vom Cloud-Knoten 100 mit der Einheit des neuen Fahrzeugs synchronisiert. Die Einheit des neuen Fahrzeugs verwendet die synchronisierten Daten und das synchronisierte Fußgängerstandortvorhersage-Softwaremodul, um den aktuellen Standort der Fußgänger vorherzusagen, und verwendet den vorhergesagten aktuellen Standort der Fußgänger zur Fahrunterstützung.
  • In einem weiteren Beispiel werden Informationen zu Straßenzuständen in einem Bereich bereitgestellt, in dem die Netzverbindung aufgrund einer Naturkatastrophe nicht mehr verfügbar ist. Die Netzverbindung in einem Bereich ist nicht mehr verfügbar, da eine Basisstation ausfällt oder der Zugriff auf das Netz aufgrund einer Katastrophe wie eines Taifuns oder Starkregen stark ansteigt. Eine Einheit eines Fahrzeugs, das den Bereich passiert hat, bewegt sich an einen Ort, an dem das Netz verfügbar ist, und sendet minutengenaue Daten über Datenübertragungsbedingungen und Straßenzustand (etwa Straßenschäden oder Überschwemmungen) sowie den Zeitpunkt und Ort an den Cloud-Knoten 100. Einheiten mehrerer Fahrzeuge führen diese Operation aus und senden Daten, die den Bereich angeben, in dem keine Netzverbindung verfügbar ist, und den Straßenzustand an den Cloud-Knoten 100, der diese Daten sammelt.
  • Unmittelbar bevor ein neues Fahrzeug in den Bereich eintritt, werden Daten über den Straßenzustand und eine zugehörige Logik vom Cloud-Knoten 100 synchronisiert. Die Einheit des neuen Fahrzeugs verwendet die synchronisierten Daten und Softwaremodule, um eine befahrbare Straße vorherzusagen, und verwendet die Vorhersage zur Auswahl einer Route, um die beschädigte oder überflutete Straße zu vermeiden.
  • Somit tauscht in bestimmten Ausführungsformen der Cloud-Knoten 100 mit mehreren Einheiten von Fahrzeugen über ein Netz Daten aus. Der Cloud-Knoten 100 empfängt Netzqualitätsinformationen (die eine Netzbandbreite und/oder Netzlatenz wiedergeben), die den Standorten der Fahrzeuge zugeordnet sind, und Ereignisinformationen an den Standorten der Fahrzeuge (die eine glatte Fahrbahn, einen Unfall, ein Tier usw. anzeigen) von den Einheiten der mehreren Fahrzeuge. Der Cloud-Knoten 100 bestimmt aus mehreren Netzqualitätsinformationen einen vom Netz getrennten Bereich. Der Cloud-Knoten 100 wählt ein oder mehrere Softwaremodule auf Grundlage von Ereignisinformationen in dem vom Netz getrennten Bereich aus, die in dem Bereich ausgeführt werden sollen, wenn vorhergesagt wurde, dass ein neues Fahrzeug in den vom Netz getrennten Bereich eintreten wird. Der Cloud-Knoten 100 sendet das eine oder die mehreren ausgewählten Softwaremodule und Ereignisinformationen in dem vom Netz getrennten Bereich an das neue Fahrzeug, bevor das neue Fahrzeug in den vom Netz getrennten Bereich eintritt.
  • In bestimmten Ausführungsformen ordnet der Cloud-Knoten 100 (1) im Voraus eine Auswahlanforderung jedem von mehreren Softwaremodulen zu und (2) wählt ein Softwaremodul aus, das der Auswahlanforderung zugeordnet ist, wenn mehrere Ereignisinformationen in einem vom Netz getrennten Bereich eine Auswahlanforderung erfüllen (z.B. wenn die Anzahl der jeweiligen Ereignisinformationen größer als ein Schwellenwert ist).
  • In bestimmten Ausführungsformen analysiert der Cloud-Knoten 100 mehrere empfangene Ereignisinformationen und bestimmt, ob die mehreren Ereignisinformationen in derselben Ereigniskategorie liegen (bestimmt z.B. auf Grundlage einer Bildanalyse, ob Ereignisse Ereignisse von Tieren derselben Art sind).
  • In bestimmten Ausführungsformen bestimmt der Cloud-Knoten 100, ob das neue Fahrzeug in den vom Netz getrennten Bereich eintritt, durch eine Bewegungsvorhersage auf Grundlage der Fahrtrichtung, in die sich das erste Fahrzeug bewegt.
  • 18 zeigt eine Datenverarbeitungsumgebung 1810 gemäß bestimmten Ausführungsformen. In bestimmten Ausführungsformen ist die Datenverarbeitungsumgebung eine Cloud-Computing-Umgebung. Bezugnehmend auf 18 ist der Computerknoten 1812 nur ein Beispiel eines geeigneten Rechenknotens und soll keine Einschränkung hinsichtlich des Umfangs der Verwendung oder Wirkungsweise der hierin beschriebenen Ausführungsformen der Erfindung darstellen. Unabhängig davon kann der Computerknoten 1812 so implementiert werden und/oder eine der Funktionalitäten ausführen, wie oben dargelegt ist.
  • Der Computerknoten 1812 kann ein Computersystem sein, das mit zahlreichen weiteren Mehrzweck- oder Spezial-Datenverarbeitungssystemumgebungen oder - konfigurationen verwendbar ist. Beispiele für bekannte Computersysteme, -umgebungen und/oder -konfigurationen, die zur Verwendung mit dem Computerknoten 1812 geeignet sein können, beinhalten ohne Einschränkung Personal-Computer-Systeme, Server-Computersysteme, Thin Clients, Thick Clients, Handheld- oder Laptopeinheiten, Multiprozessorsysteme, mikroprozessorgestützte Systeme, Set-Top-Boxen, programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputersysteme, Mainframe-Computersysteme und verteilte Cloud-Computing-Umgebungen, die eines der oben genannten Systeme oder Einheiten beinhalten, und dergleichen.
  • Der Computerknoten 1812 kann im allgemeinen Kontext von ausführbaren Anweisungen des Computersystems wie z.B. Programmmodulen beschrieben werden, die von einem Computersystem ausgeführt werden. Im Allgemeinen können die Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen usw. beinhalten, die bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen implementieren. Der Computerknoten 1812 kann in verteilten Cloud-Computing-Umgebungen betrieben werden, bei denen Aufgaben von Fernverarbeitungseinheiten ausgeführt werden, die über ein Datenübertragungsnetzwerk verbunden sind. In einer verteilten Cloud-Computing-Umgebung können sich Programmmodule sowohl auf lokalen als auch auf entfernt angeordneten Computersystemspeichermedien wie beispielsweise Speichereinheiten befinden.
  • Wie in 18 gezeigt, ist der Computerknoten 1812 in Form einer Mehrzweck-Datenverarbeitungseinheit gezeigt. Die Komponenten des Computerknotens 1812 können einen oder mehrere Prozessoren oder Verarbeitungseinheiten 1816, einen Systemspeicher 1828 und einen Bus 1818 beinhalten, der verschiedene Systemkomponenten wie beispielsweise den Systemspeicher 1828 mit einem oder mehreren der Prozessoren oder Verarbeitungseinheiten 1816 verbindet, sind aber nicht darauf beschränkt.
  • Der Bus 1818 stellt eine oder mehrere von mehreren Arten von Busstrukturen dar, beispielsweise eines Speicherbusses oder einer Speichersteuerung, eines Peripheriebusses, eines Accelerated Graphics Port und eines Prozessor- oder lokalen Busses, unter Verwendung einer Vielzahl von Busarchitekturen. Beispielsweise und ohne Einschränkung beinhalten solche Architekturen ISA-Busse („Industry Standard Architecture“), MCA-Busse („Micro Channel Architecture“), EISA-Busse („Enhanced ISA“), lokale VESA-Busse („Video Electronics Standards Association“) und PCI-Busse („Peripheral Component Interconnects“).
  • Der Computerknoten 1812 weist üblicherweise eine Vielzahl von durch ein Computersystem lesbare Medien auf. Solche Medien können alle verfügbaren Medien sein, auf die der Computerknoten 1812 zugreifen kann, und sie beinhalten sowohl flüchtige als auch nichtflüchtige Medien, austauschbare und nicht austauschbare Medien.
  • Der Systemspeicher 1828 kann vom Computersystem lesbare Medien in Form von flüchtigem Speicher beinhalten, beispielsweise einen Direktzugriffsspeicher (RAM) 1830 und/oder einen Cache-Speicher 1832. Der Computerknoten 1812 kann ferner weitere austauschbare /nicht austauschbare, flüchtige/nichtflüchtige Speichermedien des Computersystems beinhalten. Nur beispielhaft kann das Speichersystem 1834 zum Lesen von und Schreiben auf einem nicht austauschbaren, nichtflüchtigen magnetischen Medium (nicht gezeigt und üblicherweise als „Festplatte“ bezeichnet) eingerichtet sein. Obwohl nicht gezeigt, kann ein Magnetplattenlaufwerk zum Lesen von und Schreiben auf einer austauschbaren, nichtflüchtigen Magnetplatte (z.B. einer „Diskette“) und ein Laufwerk für optische Platten zum Lesen von oder Schreiben auf einer austauschbaren, nichtflüchtigen optischen Platte wie einer CD-ROM, DVD-ROM oder eines anderen optischen Mediums vorgesehen sein. In solchen Fällen können diese jeweils über eine oder mehrere Medien-Datenschnittstellen mit dem Bus 1818 verbunden sein. Wie nachstehend weiter gezeigt und beschrieben, kann der Systemspeicher 1828 mindestens ein Programmprodukt mit einem Satz von Programmmodulen (z.B. mindestens einem) beinhalten, die zum Ausführen der Funktionen von Ausführungsformen der Erfindung konfiguriert sind.
  • Ein Programm/Dienst 1840 mit einem Satz von Programmmodulen 1842 (mindestens einem) ebenso wie ein Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten können beispielhaft und nicht einschränkend im Systemspeicher 1828 gespeichert sein. Das Betriebssystem, das eine oder die mehreren Anwendungsprogramme, die anderen Programmmodule und Programmdaten und/oder eine Kombination davon können eine Implementierung einer Netzwerkumgebung beinhalten. Die Programmmodule 1842 führen im Allgemeinen die Funktionen und/oder Verfahren von Ausführungsformen der Erfindung wie hierin beschrieben aus.
  • Der Computerknoten 1812 kann auch mit einer oder mehreren externen Einheiten 1814 Daten austauschen, beispielsweise einer Tastatur, einem Zeigegerät, einer Anzeige 1824 usw.; einer oder mehreren Einheiten, die es einem Benutzer ermöglichen, mit dem Computerknoten 1812 zu interagieren; und/oder irgendwelchen Einheiten (z.B. Netzwerkkarten, Modems usw.), die es dem Computerknoten 1812 ermöglichen, mit einer oder mehreren weiteren Datenverarbeitungseinheiten Daten auszutauschen. Eine solche Datenübertragung kann über Eingabe/Ausgabe-Schnittstellen ((E/A)-Schnittstellen) 1822 erfolgen. Noch weiter kann der Computerknoten 1812 über einen Netzwerkadapter 1820 mit einem oder mehreren Netzwerken wie einem LAN („Lokal Area Network“), einem WAN („Wide Area Network“) und/oder einem öffentlichen Netz (z.B. dem Internet) Daten austauschen. Wie gezeigt, tauscht der Netzwerkadapter 1820 mit den anderen Komponenten des Computerknotens 1812 über den Bus 1818 Daten aus. Es versteht sich, dass, obwohl nicht gezeigt, andere Hardware- und/oder Softwarekomponenten in Verbindung mit dem Computerknoten 1812 verwendet werden könnten. Beispiele hierfür sind unter anderem: Mikrocode, Gerätetreiber, redundante Verarbeitungseinheiten, externe Festplattenarrays, RAID-Systeme, Bandlaufwerke und Datenarchivierungsspeichersysteme usw.
  • In bestimmten Ausführungsformen weisen der Rechenknoten 100 und/oder jede der Einheiten 152a ... 152n die Architektur des Computerknotens 1812 auf.
  • Cloud-Ausführungsformen
  • Es sei von vornherein klargestellt, dass das Umsetzen der hierin angeführten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist, obwohl diese Offenbarung eine ausführliche Beschreibung von Cloud-Computing umfasst. Stattdessen können Ausführungsformen der vorliegenden Erfindung gemeinsam mit jeder beliebigen Art von jetzt bekannter oder später erfundener Datenverarbeitungsumgebung umgesetzt werden.
  • Cloud-Computing ist ein Servicebereitstellungsmodell zum Ermöglichen eines problemlosen bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Hauptspeicher, Speicher, Anwendungen, virtuelle Maschinen und Dienste), die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Service schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Eigenschaften umfassen, mindestens drei Dienstmodelle und mindestens vier Implementierungsmodelle.
  • Bei den Eigenschaften handelt es sich um die Folgenden:
    • On-Demand Self-Service: Ein Cloud-Nutzer kann einseitig automatisch nach Bedarf für Datenverarbeitungsfunktionen wie Serverzeit und Netzwerkspeicher sorgen, ohne dass eine menschliche Interaktion mit dem Anbieter der Dienste erforderlich ist.
  • Broad Network Access: Es sind Funktionen über ein Netzwerk verfügbar, auf die durch Standardmechanismen zugegriffen wird, welche die Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z.B. Mobiltelefone, Laptops und PDAs) unterstützen.
  • Resource-Pooling: Die Datenverarbeitungsressourcen des Anbieters werden zusammengeschlossen, um mehreren Nutzern unter Verwendung eines Multi-Tenant-Modells zu dienen, wobei verschiedene physische und virtuelle Ressourcen dynamisch nach Bedarf zugewiesen und neu zugewiesen werden. Es gibt eine gefühlte Standortunabhängigkeit, da der Nutzer allgemein keine Kontrolle bzw. Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Standort auf einer höheren Abstraktionsebene festzulegen (z.B. Land, Staat oder Rechenzentrum).
  • Rapid Elasticity: Funktionen können für eine schnelle horizontale Skalierung (scale out) schnell und elastisch bereitgestellt werden, in einigen Fällen auch automatisch, und für ein schnelles Scale-in schnell freigegeben werden. Für den Nutzer erscheinen die für das Bereitstellen verfügbaren Funktionen häufig unbegrenzt und sie können jederzeit in jeder beliebigen Menge gekauft werden.
  • Measured Service: Cloud-Systeme steuern und optimieren die Verwendung von Ressourcen automatisch, indem sie eine Messfunktion auf einer gewissen Abstraktionsebene nutzen, die für die Art von Dienst geeignet ist (z.B. Speicher, Verarbeitung, Bandbreite sowie aktive Benutzerkonten). Die Nutzung von Ressourcen kann überwacht, gesteuert und gemeldet werden, wodurch sowohl für den Anbieter als auch für den Nutzer des verwendeten Dienstes Transparenz geschaffen wird.
  • Bei den Dienstmodellen handelt es sich um die Folgenden:
    • Software-as-a-Service (SaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, die in einer Cloud-Infrastruktur laufenden Anwendungen des Anbieters zu verwenden. Die Anwendungen sind über eine Thin-Client-Schnittstelle wie einen Web-Browser (z.B. auf dem Web beruhende E-Mail) von verschiedenen Client-Einheiten her zugänglich. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter das Netzwerk, Server, Betriebssysteme, Speicher bzw. sogar einzelne Anwendungsfunktionen, mit der möglichen Ausnahme von eingeschränkten benutzerspezifischen Anwendungskonfigurationseinstellungen.
  • Platform-as-a-Service (PaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, durch einen Nutzer erstellte bzw. erhaltene Anwendungen, die unter Verwendung von durch den Anbieter unterstützten Programmiersprachen und Tools erstellt wurden, in der Cloud-Infrastruktur einzusetzen. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter Netzwerke, Server, Betriebssysteme bzw. Speicher, hat aber die Kontrolle über die eingesetzten Anwendungen und möglicherweise über Konfigurationen des Application Hosting Environment.
  • Infrastructure-as-a -ervice (laaS): Die dem Nutzer bereitgestellte Funktion besteht darin, das Verarbeiten, Speicher, Netzwerke und andere grundlegende Datenverarbeitungsressourcen bereitzustellen, wobei der Nutzer in der Lage ist, beliebige Software einzusetzen und auszuführen, zu der Betriebssysteme und Anwendungen gehören können. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicher, eingesetzte Anwendungen und möglicherweise eine eingeschränkte Kontrolle über ausgewählte Netzwerkkomponenten (z.B. Host-Firewalls).
  • Bei den Einsatzmodellen handelt es sich um die Folgenden:
    • Private Cloud: Die Cloud-Infrastruktur wird einzig und allein für eine Organisation betrieben. Sie kann durch die Organisation oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder in fremden Räumen befinden.
    • Community Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft, die gemeinsame Angelegenheiten hat (z.B. Mission, Sicherheitsanforderungen, Richtlinien sowie Überlegungen bezüglich der Einhaltung von Vorschriften). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und kann in den eigenen Räumen oder fremden Räumen stehen.
    • Public Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und sie gehört einer Cloud-Dienste verkaufenden Organisation.
    • Hybrid Cloud: Die Cloud-Infrastruktur ist eine Zusammensetzung aus zwei oder mehreren Clouds (privat, Benutzergemeinschaft oder öffentlich), die zwar einzelne Einheiten bleiben, aber durch eine standardisierte oder proprietäre Technologie miteinander verbunden sind, die Daten- und Anwendungsportierbarkeit ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastenausgleich zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist dienstorientiert mit Fokus auf Statusunabhängigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität. Im Herzen von Cloud-Computing liegt eine Infrastruktur, die ein Netz aus zusammengeschalteten Knoten aufweist.
  • Unter Bezugnahme auf 19 ist die beispielhafte Cloud-Computing-Umgebung 1950 abgebildet. Wie gezeigt, weist die Cloud-Computing-Umgebung 1950 einen oder mehrere Cloud-Computing-Knoten 1910 auf, mit denen von Cloud-Nutzern verwendete lokale Datenverarbeitungseinheiten wie der elektronische Assistent (PDA, personal digital assistant) oder das Mobiltelefon 1954A, der Desktop-Computer 1954B, der Laptop-Computer 1954C und/oder das Automobil-Computer-System 1954N Daten austauschen können. Die Knoten 1910 können miteinander Daten austauschen. Sie können physisch oder virtuell in ein oder mehrere Netzwerke wie private, Benutzergemeinschafts-, öffentliche oder hybride Clouds gruppiert werden (nicht gezeigt), wie vorstehend beschrieben wurde, oder in eine Kombination daraus. Dies ermöglicht es der Cloud-Computing-Umgebung 1950, Infrastruktur, Plattformen und/oder Software als Dienst anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es sei darauf hingewiesen, dass die Arten von in 19 gezeigten Datenverarbeitungseinheiten 1954A bis N lediglich beispielhaft sein sollen und dass die Datenverarbeitungsknoten 1910 und die Cloud-Computing-Umgebung 1950 über eine beliebige Art Netzwerk und/oder über eine beliebige Art von über ein Netzwerk aufrufbarer Verbindung (z.B. unter Verwendung eines Web-Browsers) mit einer beliebigen Art von computergestützter Einheit Daten austauschen können.
  • Unter Bezugnahme auf 20 wird ein Satz von funktionalen Abstraktionsschichten gezeigt, die durch die Cloud-Computing-Umgebung 1950 (19) bereitgestellt werden. Es sollte von vornherein klar sein, dass die in 20 gezeigten Komponenten, Schichten und Funktionen lediglich beispielhaft sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie abgebildet ist, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
  • Eine Hardware- und Software-Schicht 2060 beinhaltet Hardware- und SoftwareKomponenten. Zu Beispielen für Hardware-Komponenten gehören: Mainframe-Computer 2061; auf der RISC(Reduced Instruction Set Computer)-Architektur beruhende Server 2062; Server 2063; Blade-Server 2064; Speichereinheiten 2065; und Netzwerke sowie Netzwerkkomponenten 2066. In einigen Ausführungsformen beinhalten SoftwareKomponenten eine Netzwerk-Anwendungsserver-Software 2067 und eine Datenbank-Software 2068.
  • Die Virtualisierungsschicht 2070 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Einheiten bereitgestellt werden können: virtuelle Server 2071, virtueller Speicher 2072, virtuelle Netzwerke 2073, darunter virtuelle private Netzwerke, virtuelle Anwendungen und Betriebssysteme 2074; und virtuelle Clients 2075.
  • In einem Beispiel kann die Verwaltungsschicht 2080 die nachfolgend beschriebenen Funktionen bereitstellen. Eine Ressourcen-Bereitstellung 2081 stellt die dynamische Beschaffung von Datenverarbeitungsressourcen sowie anderen Ressourcen bereit, die zum Durchführen von Aufgaben innerhalb der Cloud-Computing-Umgebung verwendet werden. Ein Messen und eine Preisfindung 2082 stellen die Kostenverfolgung beim Verwenden von Ressourcen innerhalb der Cloud-Computing-Umgebung sowie die Abrechnung oder Rechnungsstellung für den Verbrauch dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungs-Software-Lizenzen beinhalten. Die Sicherheit stellt die Identitätsüberprüfung für Cloud-Nutzer und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal 2083 stellt Nutzern und Systemadministratoren den Zugang zu der Cloud-Computing-Umgebung bereit. Eine Verwaltung des Dienstumfangs 2084 stellt die Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass die benötigten Dienstziele erreicht werden. Ein Planen und Erfüllen von Vereinbarungen zum Dienstumfang (SLA, Service Level Agreement) 2085 stellt die Anordnung vorab und die Beschaffung von Cloud-Computing-Ressourcen, für die eine zukünftige Anforderung vorausgesehen wird, gemäß einem SLA bereit.
  • Eine Arbeitslastschicht 2090 stellt Beispiele für die Funktionalität bereit, für welche die Cloud-Computing-Umgebung verwendet werden kann. Zu Beispielen für Arbeitslasten und Funktionen, die von dieser Schicht bereitgestellt werden können, gehören: Abbildung und Navigation 2091; Software-Entwicklung und Lebenszyklusverwaltung 2092; Bereitstellung von Ausbildung in virtuellen Klassenzimmern 2093; Datenanalytikverarbeitung 2094; Transaktionsverarbeitung 2095; und Delegierung von Cloud-seitigen Rollen an Einheiten 2096.
  • Somit ist in bestimmten Ausführungsformen eine Software oder ein Programm, das ein Delegieren von Cloud-seitigen Rollen an Einheiten gemäß den hier beschriebenen Ausführungsformen implementiert, als Dienst in einer Cloud-Umgebung vorgesehen.
  • Zusätzliche Details der Ausführungsformen
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt handeln. Das Computerprogrammprodukt kann ein durch einen Computer lesbares Speichermedium (oder -medien) mit durch einen Computer lesbaren Programmanweisungen darauf umfassen, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch ein System zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren 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 spezifischerer Beispiele des durch einen Computer lesbaren 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 bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, 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. Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren 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 aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren 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 Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (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 Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers 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 ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken des Ablaufplans und/oder des Blockschaubilds festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren 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 durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder des Blockschaubilds angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren 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 bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken des Ablaufplans und/oder des Blockschaubilds festgelegten Funktionen/Schritte umsetzen.
  • Der Ablaufplan und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen 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 eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig 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 umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Die vorstehende Beschreibung stellt Beispiele für Ausführungsformen der Erfindung bereit, und Varianten und Ersetzungen können in weiteren Ausführungsformen vorgenommen werden.

Claims (24)

  1. Computerimplementiertes Verfahren, aufweisend: Empfangen von Netzqualitätsinformationen für ein Netz von einer oder mehreren Einheiten; Feststellen, dass das Netz in einem Bereich, von dem die Netzqualitätsinformationen empfangen wurden, nicht verfügbar ist; und für eine neue Einheit, Vorhersagen eines Bewegungspfads der neuen Einheit; Feststellen auf Grundlage des Bewegungspfads, dass die neue Einheit im Begriff ist, in den Bereich einzutreten, in dem das Netz nicht verfügbar ist; Feststellen, dass die neue Einheit vom Netzwerk wegen einer Nichtverfügbarkeit des Netzwerkes in dem Bereich, der zum dem Bewegungspfad gehört, getrennt wird; für jedes Software-Modul eine Mehrzahl von Software-Modules Ausführen einen Metalogik um festzustellen, ob das Software-Modul basierend auf Netzwerkqualitätsinformationen ausgewählt wird, wobei die Metalogik Regeln aufweist, und wobei die Software-Module Logik aufweisen, um eine Datenverarbeitungsfunktion auf Daten auszuführen; und in Reaktion auf die Feststellung, dass das Software-Modul ausgewählt wird, Hinzufügen des Software-Moduls zu einer Untermenge von SoftwareModulen, die an die neue Einheit gesendet werden, und Senden des einen oder der mehreren Softwaremodule und der Daten an die neue Einheit, wobei die neue Einheit das eine oder die mehreren Softwaremodule ausführt, um eine oder mehrere Erkenntnisse aus den Daten während eines Aufenthaltes in dem Bereich, in dem das Netzwerk nicht erreichbar ist, zu erzeugen.
  2. Computerimplementiertes Verfahren nach Anspruch 1, ferner aufweisend: Senden der Netzqualitätsinformationen an die neue Einheit, wobei die neue Einheit die Netzqualitätsinformationen verwendet, um festzustellen, dass das Netz verfügbar geworden ist, wenn sich die neue Einheit entlang des Bewegungspfads zu einem neuen Bereich bewegt.
  3. Computerimplementiertes Verfahren nach Anspruch 1, ferner aufweisend: Erzeugen von Zeitreihendaten mit den Netzqualitätsinformationen, wobei die Netzqualitätsinformationen Netzbandbreite und Netzlatenz aufweisen; Bestimmen einer durchschnittlichen Netzbandbreite und einer durchschnittlichen Latenz unter Verwendung der Zeitreihendaten; und Erzeugen einer Netzqualitätsbewertung des Bereichs aus der durchschnittlichen Netzbandbreite und der durchschnittlichen Netzlatenz, wobei die Netzqualitätsbewertung verwendet wird, um festzustellen, dass das Netz in dem Bereich nicht verfügbar ist, von dem die Netzqualitätsinformationen empfangen wurden.
  4. Computerimplementiertes Verfahren nach Anspruch 3, ferner aufweisend: Multiplizieren der Netzqualitätsbewertung mit einem Umgebungskoeffizienten.
  5. Computerimplementiertes Verfahren nach Anspruch 1, wobei das eine oder die mehreren Softwaremodule und die Daten nach einer Zeitspanne von der neuen Einheit gelöscht werden.
  6. Computerimplementiertes Verfahren nach Anspruch 1, wobei die neue Einheit Sensorinformationen von einer oder mehreren Sensoreinheiten an einen Cloud-Knoten sendet.
  7. Computerimplementiertes Verfahren nach Anspruch 1, wobei die neue Einheit eine Internet-der-Dinge-Einheit (loT, „Internet of Things“) ist.
  8. Computerimplementiertes Verfahren nach Anspruch 1, wobei eine Software-as-a-Service (SaaS) konfiguriert ist, um die Operationen für das Verfahren auszuführen.
  9. Computerprogrammprodukt, wobei das Computerprogrammprodukt ein computerlesbares Speichermedium mit darin verkörpertem Programmcode aufweist, wobei der Programmcode von mindestens einem Prozessor ausführbar ist, um Operationen auszuführen zum: Empfangen von Netzqualitätsinformationen für ein Netz von einer oder mehreren Einheiten; Feststellen, dass das Netz in einem Bereich, von dem die Netzqualitätsinformationen empfangen wurden, nicht verfügbar ist; und für eine neue Einheit, Vorhersagen eines Bewegungspfads der neuen Einheit; Feststellen auf Grundlage des Bewegungspfads, dass die neue Einheit im Begriff ist, in den Bereich einzutreten, in dem das Netz nicht verfügbar ist; Feststellen, dass die neue Einheit vom Netzwerk wegen einer Nichtverfügbarkeit des Netzwerkes in dem Bereich, der zum dem Bewegungspfad gehört, getrennt wird; für jedes Software-Modul eine Mehrzahl von Software-Modules Ausführen einen Metalogik um festzustellen, ob das Software-Modul basierend auf Netzwerkqualitätsinformationen ausgewählt wird, wobei die Metalogik Regeln aufweist, und wobei die Software-Module Logik aufweisen, um eine Datenverarbeitungsfunktion auf Daten auszuführen; und in Reaktion auf die Feststellung, dass das Software-Modul ausgewählt wird, Hinzufügen des Software-Moduls zu einer Untermenge von SoftwareModulen, die an die neue Einheit gesendet werden, und Senden des einen oder der mehreren Softwaremodule und der Daten an die neue Einheit, wobei die neue Einheit das eine oder die mehreren Softwaremodule ausführt, um eine oder mehrere Erkenntnisse aus den Daten, während eines Aufenthaltes in dem Bereich, in dem das Netzwerk nicht erreichbar ist, zu erzeugen.
  10. Computerprogrammprodukt nach Anspruch 9, aufweisend weitere Operationen zum: Senden der Netzqualitätsinformationen an die neue Einheit, wobei die neue Einheit die Netzqualitätsinformationen verwendet, um festzustellen, dass das Netz verfügbar geworden ist, wenn sich die neue Einheit entlang des Bewegungspfads zu einem neuen Bereich bewegt.
  11. Computerprogrammprodukt nach Anspruch 9, aufweisend weitere Operationen zum: Erzeugen von Zeitreihendaten mit den Netzqualitätsinformationen, wobei die Netzqualitätsinformationen Netzbandbreite und Netzlatenz aufweisen; Bestimmen einer durchschnittlichen Netzbandbreite und einer durchschnittlichen Latenz unter Verwendung der Zeitreihendaten; und Erzeugen einer Netzqualitätsbewertung des Bereichs aus der durchschnittlichen Netzbandbreite und der durchschnittlichen Netzlatenz, wobei die Netzqualitätsbewertung verwendet wird, um festzustellen, dass das Netz in dem Bereich nicht verfügbar ist, von dem die Netzqualitätsinformationen empfangen wurden.
  12. Computerprogrammprodukt nach Anspruch 11, aufweisend weitere Operationen zum: Multiplizieren der Netzqualitätsbewertung mit einem Umgebungskoeffizienten.
  13. Computerprogrammprodukt nach Anspruch 9, wobei das eine oder die mehreren Softwaremodule und die Daten nach einer Zeitspanne von der neuen Einheit gelöscht werden.
  14. Computerprogrammprodukt nach Anspruch 9, wobei die neue Einheit Sensorinformationen von einer oder mehreren Sensoreinheiten an einen Cloud-Knoten sendet.
  15. Computerprogrammprodukt nach Anspruch 9, wobei die neue Einheit eine Internet-der-Dinge-Einheit (loT, „Internet of Things“) ist.
  16. Computerprogrammprodukt nach Anspruch 9, wobei eine Software-as-a-Service (SaaS) konfiguriert ist, um die Operationen des Computerprogrammprodukts auszuführen.
  17. Computersystem, aufweisend: einen oder mehrere Prozessoren, einen oder mehrere computerlesbare Speicher und eine oder mehrere computerlesbare materielle Speichereinheiten; und Programmanweisungen, die auf mindestens einem der einen oder mehreren computerlesbaren materiellen Speichereinheiten zur Ausführung durch mindestens einen des einen oder der mehreren Prozessoren über mindestens einen des einen oder der mehreren Speicher gespeichert sind, um Operationen auszuführen, aufweisend: Empfangen von Netzqualitätsinformationen für ein Netz von einer oder mehreren Einheiten; Feststellen, dass das Netz in einem Bereich, von dem die Netzqualitätsinformationen empfangen wurden, nicht verfügbar ist; und für eine neue Einheit, Vorhersagen eines Bewegungspfads der neuen Einheit; Feststellen auf Grundlage des Bewegungspfads, dass die neue Einheit im Begriff ist, in den Bereich einzutreten, in dem das Netz nicht verfügbar ist; Feststellen, dass die neue Einheit vom Netzwerk wegen einer Nichtverfügbarkeit des Netzwerkes in dem Bereich, der zum dem Bewegungspfad gehört, getrennt wird; für jedes Software-Modul eine Mehrzahl von Software-Modules Ausführen einen Metalogik um festzustellen, ob das Software-Modul basierend auf Netzwerkqualitätsinformationen ausgewählt wird, wobei die Metalogik Regeln aufweist, und wobei die Software-Module Logik aufweisen, um eine Datenverarbeitungsfunktion auf Daten auszuführen; und in Reaktion auf die Feststellung, dass das Software-Modul ausgewählt wird, Hinzufügen des Software-Moduls zu einer Untermenge von SoftwareModulen, die an die neue Einheit gesendet werden, und Senden des einen oder der mehreren Softwaremodule und der Daten an die neue Einheit, wobei die neue Einheit das eine oder die mehreren Softwaremodule ausführt, um eine oder mehrere Erkenntnisse aus den Daten, während eines Aufenthaltes in dem Bereich, in dem das Netzwerk nicht erreichbar ist, zu erzeugen.
  18. Computersystem nach Anspruch 17, aufweisend weitere Operationen zum: Senden der Netzqualitätsinformationen an die neue Einheit, wobei die neue Einheit die Netzqualitätsinformationen verwendet, um festzustellen, dass das Netz verfügbar geworden ist, wenn sich die neue Einheit entlang des Bewegungspfads zu einem neuen Bereich bewegt.
  19. Computersystem nach Anspruch 17, aufweisend weitere Operationen zum: Erzeugen von Zeitreihendaten mit den Netzqualitätsinformationen, wobei die Netzqualitätsinformationen Netzbandbreite und Netzlatenz aufweisen; Bestimmen einer durchschnittlichen Netzbandbreite und einer durchschnittlichen Latenz unter Verwendung der Zeitreihendaten; und Erzeugen einer Netzqualitätsbewertung des Bereichs aus der durchschnittlichen Netzbandbreite und der durchschnittlichen Netzlatenz, wobei die Netzqualitätsbewertung verwendet wird, um festzustellen, dass das Netz in dem Bereich nicht verfügbar ist, von dem die Netzqualitätsinformationen empfangen wurden.
  20. Computersystem nach Anspruch 19, aufweisend weitere Operationen zum: Multiplizieren der Netzqualitätsbewertung mit einem Umgebungskoeffizienten.
  21. Computersystem nach Anspruch 17, wobei das eine oder die mehreren Softwaremodule und die Daten nach einer Zeitspanne von der neuen Einheit gelöscht werden.
  22. Computersystem nach Anspruch 17, wobei die neue Einheit Sensorinformationen von einer oder mehreren Sensoreinheiten an einen Cloud-Knoten sendet.
  23. Computersystem nach Anspruch 17, wobei die neue Einheit eine Internet-der-Dinge-Einheit (loT, „Internet of Things“) ist.
  24. Computersystem nach Anspruch 17, wobei eine Software-as-a-Service (SaaS)
DE112020000881.9T 2019-02-19 2020-02-12 Delegieren von cloud-seitigen rollen an einheiten Active DE112020000881B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/279,818 US10834524B2 (en) 2019-02-19 2019-02-19 Delegating cloud-side roles to devices
US16/279,818 2019-02-19
PCT/IB2020/051131 WO2020170076A1 (en) 2019-02-19 2020-02-12 Delegating cloud-side roles to devices

Publications (2)

Publication Number Publication Date
DE112020000881T5 DE112020000881T5 (de) 2021-11-11
DE112020000881B4 true DE112020000881B4 (de) 2023-01-05

Family

ID=72040722

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020000881.9T Active DE112020000881B4 (de) 2019-02-19 2020-02-12 Delegieren von cloud-seitigen rollen an einheiten

Country Status (6)

Country Link
US (1) US10834524B2 (de)
JP (1) JP7410157B2 (de)
CN (1) CN113475107B (de)
DE (1) DE112020000881B4 (de)
GB (1) GB202112393D0 (de)
WO (1) WO2020170076A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11601348B2 (en) * 2020-12-10 2023-03-07 Amazon Technologies, Inc. Managing radio-based private networks
CN114363815B (zh) * 2021-12-23 2023-10-20 北京三快在线科技有限公司 网络质量确定方法、设备控制方法、装置、介质及设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160044127A1 (en) 2014-08-08 2016-02-11 Facebook, Inc. Identifying and caching content for offline use

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006080579A (ja) * 2004-09-07 2006-03-23 Fujitsu Ten Ltd 情報端末装置
JP5476880B2 (ja) * 2009-09-14 2014-04-23 ソニー株式会社 情報提供装置及び情報提供方法、コンピューター・プログラム、並びに無線通信装置
JP5440053B2 (ja) * 2009-09-14 2014-03-12 ソニー株式会社 情報処理装置及び情報処理方法、並びにコンピューター・プログラム
US20110087603A1 (en) * 2009-10-13 2011-04-14 Google Inc. Cloud based media player and offline media access
US8547834B1 (en) * 2010-05-26 2013-10-01 Sprint Communications Company L.P. Quality of service optimizer for mobile device
US8745233B2 (en) * 2010-12-14 2014-06-03 International Business Machines Corporation Management of service application migration in a networked computing environment
US8863256B1 (en) 2011-01-14 2014-10-14 Cisco Technology, Inc. System and method for enabling secure transactions using flexible identity management in a vehicular environment
US8984030B2 (en) * 2011-05-04 2015-03-17 International Business Machines Corporation Journaling and integrity in mobile clouded collaborative spaces
US8938544B2 (en) * 2012-03-09 2015-01-20 Toyota Jidosha Kabushiki Kaisha Vehicle network connectivity management
US9295022B2 (en) * 2012-05-18 2016-03-22 Comcast Cable Communications, LLC. Wireless network supporting extended coverage of service
US9596670B2 (en) 2013-01-16 2017-03-14 Apple Inc. Location assisted service capability monitoring
US9046370B2 (en) * 2013-03-06 2015-06-02 Qualcomm Incorporated Methods for providing a navigation route based on network availability and device attributes
US10027753B2 (en) * 2013-10-15 2018-07-17 Microsoft Technology Licensing, Llc Cloud service hosting on client device
US9565578B2 (en) * 2014-06-18 2017-02-07 Google Inc. Method for collecting and aggregating network quality data
WO2015193727A1 (en) 2014-06-19 2015-12-23 Orange Method, apparatus and readable medium for an api notifying an application that qos will change in future
US9451020B2 (en) 2014-07-18 2016-09-20 Legalforce, Inc. Distributed communication of independent autonomous vehicles to provide redundancy and performance
TWI547824B (zh) * 2014-12-16 2016-09-01 緯創資通股份有限公司 適用於互動式電子白板系統的控制權限分享方法及其主機端裝置
US9998528B2 (en) * 2016-02-17 2018-06-12 International Business Machines Corporation Direct access storage device analyzer
US10057742B2 (en) * 2016-05-18 2018-08-21 Veniam, Inc. Systems and methods for managing the routing and replication of data in the download direction in a network of moving things
CN108174391B (zh) 2016-12-07 2021-07-23 中国电信股份有限公司 用户业务感知优化方法和系统、业务平台
US10728345B2 (en) * 2017-11-16 2020-07-28 Servicenow, Inc. Field service management mobile offline synchronization
US10587670B2 (en) * 2017-12-29 2020-03-10 Dish Network L.L.C. Coverage optimized content buffering
CN108234671B (zh) 2018-01-31 2019-08-27 Oppo广东移动通信有限公司 一种数据下载方法、数据下载装置及移动终端

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160044127A1 (en) 2014-08-08 2016-02-11 Facebook, Inc. Identifying and caching content for offline use

Also Published As

Publication number Publication date
CN113475107B (zh) 2022-09-20
DE112020000881T5 (de) 2021-11-11
US10834524B2 (en) 2020-11-10
US20200267495A1 (en) 2020-08-20
WO2020170076A1 (en) 2020-08-27
JP2022519818A (ja) 2022-03-25
CN113475107A (zh) 2021-10-01
GB202112393D0 (en) 2021-10-13
JP7410157B2 (ja) 2024-01-09

Similar Documents

Publication Publication Date Title
DE102019135333A1 (de) Systeme und verfahren zur disposition und routenplanung von fahrzeugen
DE112013002233B4 (de) System, Verfahren und Programmprodukt zum Bereitstellen von für Bevölkerungsbewegung empfindlichen Wettervorhersagen
DE102018109798B4 (de) Erkennung einer luftverschmutzungsquelle auf grundlage einer dynamischen zuordnung und eines vergleichs
DE102018129999A1 (de) Verkehrssteuerung für autonome fahrzeuge
DE102018105876A1 (de) Automatische Sendung von Erinnerungsmeldungen für zurückgelassenen Geräte
DE102009055417A1 (de) Personalisierte Benutzer-Routenführung und Empfehlungen
DE112012004336T5 (de) System, Verfahren und Programmprodukt für kostenbewusste Auswahl von Vorlagen zum Bereitstellen von gemeinsam genutzten Ressourcen
DE112020003380T5 (de) Ermittlung des zustands der infrastruktur in einem interessierenden bereich
DE112019000421B4 (de) Arbeitslastverwaltung mit datenzugriffserkennung in einem datenverarbeitungscluster
DE112021003668T5 (de) Zuteilen von aufgaben und daten unter verwendung von multi-access edge computing
DE112020000881B4 (de) Delegieren von cloud-seitigen rollen an einheiten
US10775178B2 (en) Spatio-temporal re-routing of navigation
DE102018009906A1 (de) Verfahren zum Management von Rechnerkapazitäten in einem Netzwerk mit mobilen Teilnehmern
DE102012220390A1 (de) Verwenden des geografischen Ortes zum Ermitteln von Element- und Gebietsdaten zum Bereitstellen an eine Datenverarbeitungseinheit
DE112015005269T5 (de) Erweitern einer Informationsanforderung
DE112022000476T5 (de) Gemeinsame optimierung von fahrzeugmobilität, datenübertragungsnetzwerken und datenverarbeitungsressourcen
US11092452B2 (en) Cognitve analysis of vehicle routes for manual or autonomous vehicles
DE112019002052T5 (de) Datenschutzsensibilisierung bei der bereitstellung von arbeitslasten
DE112020005801T5 (de) Erkennen eines datenverlustrisikos bei 5g-fähigen einheiten
DE112020005326T5 (de) Erzeugen eines skalierungsplans für externe systeme während eines cloud-tenant-onboardings/offboardings
DE112020002798T5 (de) Kognitives kontrollieren von datenübermittlung
DE112022001062T5 (de) Umgebungsgesteuertes management von solarenergie
DE112017000195T5 (de) Standortkontextableitung auf Grundlage von Benutzermobilfunkdaten mit Unsicherheit
DE112018002178T5 (de) Dateiübertragung in gemeinsam genutztem arbeitsspeicher
DE112021005136T5 (de) Automatisches mobiles Kube-Edge-Konfigurieren

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final