-
TECHNISCHES GEBIET
-
Die vorliegende Erfindung betrifft allgemein ein Verfahren, ein Computerprogrammprodukt und ein System auf dem Gebiet des Verhaltens im Fahrzeugverkehr. Insbesondere betrifft die vorliegende Erfindung ein Verfahren, ein Computerprogrammprodukt und ein System für eine auf Konsens beruhende Überwachung des Fahrverhaltens in verbundenen Fahrzeugsystemen.
-
HINTERGRUND
-
Fahrzeug-Verkehrsunfälle verursachen weltweit hohe Kosten an Leben und Sachschäden. Eine Verkehrsunfallanalyse offenbart mehrere Muster. In vielen Fällen werden Unfälle durch abgelenkte Fahrer oder Fahrer verursacht, denen die örtlichen Straßenverhältnisse unbekannt sind. Außerdem zeigen Regionen mit wenig effektiven oder eher seltenen Verkehrskontrollen eine größere Wahrscheinlichkeit für mehr Unfälle. Zusätzlich zu Kraftfahrzeugunfällen geschehen Fahrzeugunfälle auch mit Schiffen und Wasserfahrzeugen auf Wasserstraßen, zwischen Flugzeugen und Servicefahrzeugen auf Flughafenrollbahnen, zwischen zwei Flugzeugen am Boden und zwischen Menschen beim Fahren von Motorrollern und Personentransportvorrichtungen.
-
Moderne Personenfahrzeuge, darunter Kraftfahrzeuge, werden bereits mit einer Vielfalt von Sensoren versehen ausgeliefert, darunter, ohne auf diese beschränkt zu sein, Bewegungssensoren, Standbildkameras, Ereignisaufzeichnungsgeräte, Videokameras, Näherungsdetektoren, Fahrspurdetektoren, Geschwindigkeitssensoren, Regensensoren, Fahrtrichtungssignalsensoren und dergleichen. Mit zunehmender Entwicklung der Fahrzeugtechnik ist es wahrscheinlich, dass einzelne Fahrzeuge mehr Sensoren nutzen und Videosensoren und Sensoren, die der Beibehaltung der Geschwindigkeit und des Abstands innerhalb einer Fahrspur dienen, umfassen. Ferner steht das Aufkommen autonomer Fahrzeuge ebenfalls stark im Einklang mit Fahrzeugen, die eine Vielzahl von Bewegungs-, Näherungs- und Zustandssensoren haben.
-
Moderne Fahrzeuge nutzen heutzutage eine Vielfalt von Sensoren, um den Fahrzeugzustand und auch die Fahrzeugbewegung zu überwachen und darüber zu berichten, wobei das Fahrzeug Rückmeldungen zurück zum einzelnen Fahrer berichtet oder sendet. Die Rückmeldung kann den mechanischen Zustand des Fahrzeugs umfassen oder kann Näherungswarnungen, Warnungen vor überhöhter Geschwindigkeit, Fußgänger auf dem Fahrtweg und dergleichen umfassen. Personenfahrzeuge wie etwa Kraftfahrzeuge nutzen auch Diagnose- und Fahrassistenzsensoren und -systeme. In einem Beispiel nutzen mehrere kommerziell erhältliche Fahrzeuge, die zurzeit aktuell verfügbar sind, ein automatisches Bremssystem und einen lokalen Näherungssensor, um Zusammenstöße mit einem Fahrzeug vor dem fahrenden Fahrzeug zu verhindern oder zu minimieren. Wenn das automatische Bremssystem aktiviert wird, betätigt es die Bremsen und versucht, das Fahrzeug anzuhalten, bevor es gegen ein Objekt stößt. In einem anderen Beispiel können einige Kraftfahrzeuge den Motor abschalten, wenn ein mechanischer Fehler erkannt wird, um eine mechanische Beschädigung zu verhindern. Bei einigen Fahrzeugen kann ein Sensorsystem beim parallelen Einparken, beim Folgen der Fahrspur, bei der Geschwindigkeitsregelung mit variabler Geschwindigkeit und der Fähigkeit, einen einschlafenden Fahrer zu erkennen, Unterstützung leisten. Einige Fahrzeuge können auch eine autonome Rückmeldung als Antwort auf Sensordaten bereitstellen wie etwa automatisches Bremsen des Fahrzeugs ohne Betätigung des Fahrers, automatisches Lenken des Fahrzeugs bei Einparkmanövern und automatisches Lenken, um den Abstand auf der Fahrbahn beizubehalten.
-
Es ist auch ersichtlich, dass an öffentlichen Fahrstraßen wie etwa Straßen und Flughäfen immer mehr Videokameras als Teil einer Bemühung eingesetzt werden, die Sicherheit zu verbessern und interessierende Ereignisse für interessierte Parteien wie etwa Regierungen, Notfallhelfer und Verkehrsüberwachungsorganisationen aufzuzeichnen. Das Ergebnis sind Fahrwege, die durch eine Vielfalt von Sensoren und Kameras überwacht werden.
-
Aktuelle Technologie ermöglicht es, dass ein einzelnes Fahrzeug aufgrund der Sensordaten dieses Fahrzeugs Ereignisse empfängt und darauf reagiert. Im aktuellen Fahrumfeld mangelt es jedoch an einem auf einer Gemeinschaft oder einem Konsens beruhenden Fahrerassistenzverfahren und -system, bei dem ein Fahrzeug, das mit anderen Fahrzeugen in einer gemeinsamen Umgebung fährt, alle Sensoren nutzt, die sich aktuell in der Nähe dieses Fahrzeugs befinden, und das Fahrzeug selbst, nahe Fahrzeuge und externe Sensoren wie etwa Verkehrskameras und Sicherheitskameras an Gebäuden mit umfasst werden. Von einem Fahrzeug, das viele innere und externe Sensoren nutzt, heißt es, dass es einen Konsens verfügbarer Sensordaten nutzt.
-
In der aktuellen Fahrumgebung fährt ein Fahrzeug in der Sensorreichweite einer Vielfalt von Sensoren, von denen viele für ein bestimmtes Fahrzeug nicht verfügbar sind. Deshalb werden zwar viele verschiedene Arten von Sensordaten erzeugt, während ein Fahrzeug durch eine gemeinsame Umgebung fährt, doch diese Sensordaten werden aktuell nicht genutzt. Diese Sammlung verfügbarer Daten wird als „auf Konsens beruhende Daten“ bezeichnet und stellt die Summe von Daten dar, die von vielen Sensoren erfasst werden, die eine Straße, einen Schiffskanal und dergleichen überwachen. Jeder Sensor, der Daten an die auf Konsens beruhenden Daten liefert, berichtet über geschehene Ereignisse aus dem individuellen Blickwinkel dieses Sensors. Ein auf Konsens beruhender Datenblock ist somit eine Sammlung von Daten aus vielen einzelnen Sensoren, um ein unvoreingenommenes Bild von Ereignissen bereitzustellen, die aus der Sicht mehrerer unabhängiger Sensoren stattfinden.
-
In der vorliegenden Umgebung trägt individuelles Fahrverhalten manchmal zu Unfällen bei und verursacht Verletzungen von Personen und Sachschäden. Fahrer, Piloten, Schiffskapitäne und dergleichen sind häufig abgelenkt durch eine Fülle von auf sie einströmenden Daten, durch Ablenkungen durch Mobiltelefone, externe Geräusche, Wetterereignisse, Straßenverhältnisse und durch Müdigkeit oder das Vorhandensein von Substanzen, die die Reaktionen des Fahrers auf sich entwickelnde Fahrbedingungen verbessern oder behindern. Es ist wahrscheinlich, dass Ablenkungen für Fahrer in dem Maße zunehmen, wie sich die Technologie entwickelt, Fahrzeuge komplexer werden und Verkehrsadern dichter befahren werden. Außerdem entscheiden sich einige Fahrer manchmal dafür, sich absichtlich nicht defensiv zu verhalten (indem sie die Regeln befolgen), sondern wählen stattdessen ein aggressiveres Fahrverhalten, um bestimmte Vorteile zu gewinnen, wie etwa schneller zu fahren, Zeit zu sparen oder Stopps und Verzögerungen zu vermeiden. Diese Offenbarung kann dazu beitragen, das Leben anderer Fahrer und Fußgänger im Verkehr zu retten, indem es sie vor dem erkannten unangemessenen Verhalten warnt und auch indem sie durch Bereitstellen einer sofortigen persönlichen Rückmeldung eine positive Wirkung auf den sich falsch verhaltenden Fahrer hat. In einem anderen Beispiel könnten autonome Autos aufgrund von Programmierfehlern potenziell darin versagen, sich an Verkehrsregeln zu halten. Eine unvoreingenommene Rückmeldung von einem externen Sensor kann hilfreich sein, um solche Programmierprobleme zu beheben.
-
Ein zunehmender Trend bei Personenfahrzeugen ist die Fähigkeit, sich mit lokalen Mobilfunkmasten, einem Satellitendienst und drahtlosen Netzwerken aus den Fahrzeugen selbst drahtlos zu verbinden. Einige persönliche Einheiten wie etwa Mobiltelefone, Laptops und Tablets können auch als Drahtloszugangspunkt fungieren. Deshalb ist in vielen Fällen ein Fahrzeug, das eine Straße entlangfährt, häufig einer Vielfalt von Optionen ausgesetzt, sich drahtlos mit dem Internet, der Cloud und dergleichen zu verbinden.
-
In vielen Fällen werden Unfälle durch örtliche Verhältnisse verursacht, die ein Fahrer eines Fahrzeugs nicht kennt, wie etwa ins Stocken geratener Verkehr, Fußgänger auf der Straße, Baustellen, ein Unfall hinter einer Kurve und dergleichen. Es ist jedoch möglich, dass die Sensoren anderer Fahrzeuge und/oder stationäre Kameras und andere Sensoren die Verhältnisse schon erkannt haben, aber aktuell unfähig sind, herannahende Fahrer zu warnen.
-
KURZDARSTELLUNG
-
Die veranschaulichenden Ausführungsformen stellen ein Verfahren für ein Fahrzeug-Verkehrsverhalten und eine Rückmeldung bereit, das Erfassen von Fahrzeugsensordaten aus einer in einer Verkehrsumgebung betriebenen Menge von Fahrzeugen, wobei jedes Fahrzeug Fahrzeugsensordaten über ein Datenübertragungsnetz an einen Prozessor sendet, und Bilden eines Konsensblocks aggregierter Daten umfasst, wobei die aggregierten Daten aus einzelnen Fahrzeugsensordaten aus jedem Fahrzeug in der Menge von Fahrzeugen bestehen und wobei der Prozessor doppelte Daten und repetitive Daten aus dem Konsensblock aussortiert. Das Verfahren umfasst auch Erkennen eines Fahrzeugbewegungsmusters im Konsensblock, wo das Fahrzeugbewegungsmuster um mehr als eine Toleranz von einem Schwellenwert abweicht, Zuordnen des Fahrzeugbewegungsmusters zu einem bestimmten Fahrzeug in der Menge von Fahrzeugen und Erzeugen einer Rückmeldeantwort auf Grundlage des Zuordnens.
-
Eine Ausführungsform umfasst ein Computerprogrammprodukt für eine Überwachung des Fahrzeug-Verkehrsverhaltens und eine Rückmeldung, das Computerprogrammprodukt, das ein oder mehrere durch einen Computer lesbare Speichermedien und Programmanweisungen umfasst, die gemeinsam auf dem einen oder mehreren durch einen Computer lesbaren Speichermedien gespeichert sind, die Programmanweisungen, die Programmanweisungen zum Erfassen von Fahrzeugsensordaten aus einer in einer Verkehrsumgebung betriebenen Menge von Fahrzeugen umfassen, wobei jedes Fahrzeug Fahrzeugsensordaten über ein Datenübertragungsnetz an einen Prozessor sendet, und Programmanweisungen zum Bilden eines Konsensblocks aggregierter Daten, wobei die aggregierten Daten einzelne Fahrzeugsensordaten aus jedem Fahrzeug in der Menge der Fahrzeuge aufweisen und wobei der Prozessor doppelte Daten und repetitive Daten aus dem Konsensblock aussortiert. Die Programmanweisungen umfassen auch Programmanweisungen zum Erkennen eines Fahrzeugbewegungsmusters im Konsensblock, wo das Fahrzeugbewegungsmuster um mehr als eine Toleranz von einem Schwellenwert abweicht, Programmanweisungen zum Zuordnen des Fahrzeugbewegungsmusters zu einem bestimmten Fahrzeug in der Menge von Fahrzeugen und Erzeugen einer Rückmeldeantwort auf Grundlage des Zuordnens.
-
Eine Ausführungsform umfasst ein Computersystem, das einen Prozessor, einen durch einen Computer lesbaren Arbeitsspeicher, eine durch einen Computer lesbare Speichereinheit und Programmanweisungen umfasst, die zur Ausführung durch den Prozessor über den Arbeitsspeicher in der Speichereinheit gespeichert sind, die gespeicherten Programmanweisungen, die Programmanweisungen zum Erfassen von Fahrzeugsensordaten aus einer in einer Verkehrsumgebung fahrenden Menge von Fahrzeugen umfassen, wobei jedes Fahrzeug Fahrzeugsensordaten über ein Kommunikationsnetz an einen Prozessor sendet, und Programmanweisungen zum Bilden eines Konsensblocks aggregierter Daten, wobei die aggregierten Daten einzelne Fahrzeugsensordaten aus jedem Fahrzeug in der Menge der Fahrzeuge aufweisen und wobei der Prozessor doppelte Daten und repetitive Daten aus dem Konsensblock aussortiert. Die Programmanweisungen umfassen auch Programmanweisungen zum Erkennen eines Fahrzeugbewegungsmusters im Konsensblock, wo das Fahrzeugbewegungsmuster um mehr als eine Toleranz von einem Schwellenwert abweicht, Programmanweisungen zum Zuordnen des Fahrzeugbewegungsmusters zu einem bestimmten Fahrzeug in der Menge von Fahrzeugen und Erzeugen einer Rückmeldeantwort auf Grundlage des Zuordnens.
-
Figurenliste
-
Bestimmte neuartige Merkmale, die als charakteristisch für die Erfindung angesehen werden, sind in den angehängten Ansprüchen dargelegt. Die Erfindung selbst sowie deren bevorzugte Verwendungsart, weitere Ziele und Vorteile werden jedoch am besten mit Bezug auf die folgende detaillierte Beschreibung der veranschaulichenden Ausführungsformen verstanden, wenn sie in Verbindung mit den beigefügten Zeichnungen gelesen wird, wobei:
- 1 ein Blockschaubild eines Netzwerks von Datenverarbeitungssystemen darstellt, in dem veranschaulichende Ausführungsformen realisiert werden können;
- 2 ein Blockschaubild eines Datenverarbeitungssystems darstellt, in dem veranschaulichende Ausführungsformen realisiert werden können;
- 3 ein funktionelles Schaubild einer Gruppe von Fahrzeugen in einer gemeinsamen Umgebung, wobei jedes Fahrzeug Bewegungsdaten an ein Computernetzwerk sendet, gemäß einer veranschaulichenden Ausführungsform darstellt;
- 4 ein funktionelles Schaubild einer Gruppe von Fahrzeugen in einer gemeinsamen Umgebung, wobei einige Fahrzeuge Bewegungsdaten senden und einige Fahrzeuge nicht mit einem Computernetzwerk verbunden sind, gemäß einer veranschaulichenden Ausführungsform darstellt;
- 5 ein funktionelles Schaubild, in dem eine Gruppe von Fahrzeugen durch ein Computernetzwerk auf verkehrsbezogenes Verhalten überwacht wird, gemäß einer veranschaulichenden Ausführungsform darstellt;
- 6 ein funktionelles Schaubild, in dem eine Gruppe von Fahrzeugen, die in einer gemeinsamen Umgebung fährt, gleichzeitig Mitglied mehrerer Gruppen sein kann, gemäß einer veranschaulichenden Ausführungsform darstellt; und
- 7 einen Datenflussplan eines beispielhaften Prozesses zum Überwachen einer Gruppe von Fahrzeugen, die in einer gemeinsamen Umgebung fahren, auf verkehrsbezogenes Verhalten gemäß einer veranschaulichenden Ausführungsform darstellt.
-
DETAILLIERTE BESCHREIBUNG
-
Die veranschaulichenden Ausführungsformen erkennen, dass eine Notwendigkeit für auf Konsens beruhendes Überwachen des Fahrverhaltens in verbundenen Fahrzeugsystemen besteht, Personenfahrzeuge, Nutzfahrzeuge, Flugzeuge, Schiffe und andere Wasserfahrzeuge und Transporteinheiten aller Arten einzuschließen.
-
Die veranschaulichenden Ausführungsformen werden beschrieben, indem ein bestimmter Programmcode, Strukturen, Architekturen, Protokolle, Layouts, schematische Darstellungen und Werkzeuge nur als Beispiel verwendet werden und die veranschaulichenden Ausführungsformen nicht einschränken. Ferner werden die veranschaulichenden Ausführungsformen in manchen Beispielen beschrieben, indem bestimmte Software, Werkzeuge und Datenverarbeitungsumgebungen der Klarheit der Beschreibung halber nur als Beispiel verwendet werden. Die veranschaulichenden Ausführungsformen können in Verbindung mit anderen vergleichbaren oder für ähnliche Zwecke bestimmten Strukturen, Systemen, Anwendungen oder Architekturen verwendet werden. Beispielsweise können andere vergleichbare Mobileinheiten, Strukturen, Systeme, Anwendungen oder Architekturen dafür innerhalb des Umfangs der Erfindung in Verbindung mit einer solchen Ausführungsform der Erfindung verwendet werden. Eine veranschaulichende Ausführungsform kann in Hardware, Software oder einer Kombination davon realisiert werden.
-
Die Beispiele in dieser Offenbarung dienen nur der Klarheit der Beschreibung und schränken die veranschaulichenden Ausführungsformen nicht ein. Zusätzliche Daten, Operationen, Aktionen, Aufgaben, Aktivitäten und Manipulationen werden aus dieser Offenbarung vorstellbar und diese gelten als innerhalb des Umfangs der veranschaulichenden Ausführungsformen.
-
Hier aufgeführte Vorteile sind nur Beispiele und sollen die veranschaulichenden Ausführungsformen nicht einschränken. Zusätzliche oder andere Vorteile können durch spezifische veranschaulichende Ausführungsformen realisiert werden. Ferner kann eine bestimmte veranschaulichende Ausführungsform einige, alle oder keine der oben aufgeführten Vorteile aufweisen.
-
1 stellt ein Blockschaubild eines Netzwerks von Datenverarbeitungssystemen dar, in dem veranschaulichende Ausführungsformen realisiert werden können. Eine Datenverarbeitungsumgebung 100 ist ein Netzwerk von Computern, in dem die veranschaulichenden Ausführungsformen realisiert werden können. Die Datenverarbeitungsumgebung 100 enthält ein Netzwerk 102. Das Netzwerk 102 ist das Medium, das dazu dient, Datenübertragungsverbindungen zwischen verschiedenen Einheiten und Computern herzustellen, die in der Datenverarbeitungsumgebung 100 miteinander verbunden sind. Das Netzwerk 102 kann Verbindungen wie etwa drahtgebundene und drahtlose Datenübertragungsverbindungen oder Lichtwellenleiterkabel enthalten.
-
Clients oder Server sind nur beispielhafte Rollen bestimmter Datenverarbeitungssysteme, die mit dem Netzwerk 102 verbunden sind, und sollen andere Konfigurationen oder Rollen für dieses Datenverarbeitungssystem nicht ausschließen. Ein Server 104 und ein Server 106 sind zusammen mit einer Speichereinheit 108 mit dem Netzwerk 102 verbunden. Auf jedem Computer in der Datenverarbeitungsumgebung 100 können Software-Anwendungen ausgeführt werden. Mit dem Netzwerk 102 sind auch Clients 110, 112 und 114 verbunden. Ein Datenverarbeitungssystem wie der Server 104 oder 106 oder der Client 110, 112 oder 114 kann Daten enthalten und Software-Anwendungen oder Software-Werkzeuge umfassen, die darauf ausgeführt werden.
-
Nur beispielhaft und ohne Andeutung einer Einschränkung auf eine solche Architektur stellt 1 bestimmte Komponenten dar, die in einer beispielhaften Realisierung einer Ausführungsform einsetzbar sind. Beispielsweise sind die Server 104 und 106 und die Clients 110, 112, 114 nur beispielhaft als Server und Clients dargestellt und deuten keine Einschränkung auf eine Client-Server-Architektur an. Bei einem anderen Beispiel kann eine Ausführungsform innerhalb des Umfangs der veranschaulichenden Ausführungsformen wie gezeigt auf mehrere Datenverarbeitungssysteme und ein Datennetzwerk verteilt sein, während eine andere Ausführungsform auf einem einzigen Datenverarbeitungssystem realisiert sein kann. Die Datenverarbeitungssysteme 104, 106, 110, 112 und 114 stellen auch beispielhafte Knoten in einem Cluster, Partitionen und andere Konfigurationen dar, die für die Realisierung einer Ausführungsform geeignet sind.
-
Eine Einheit 132 ist ein Beispiel für eine hierin beschriebene Einheit. Beispielsweise kann die Einheit 132 die Form eines Smartphones, eines Tablet-Computers, eines Laptop-Computers, eines Clients 110 in einer feststehenden oder tragbaren Form, einer am Körper tragbaren Datenverarbeitungseinheit oder einer beliebigen anderen geeigneten Einheit annehmen. Jede Software-Anwendung, die so beschrieben wird, dass sie in einem anderen Datenverarbeitungssystem in 1 ausgeführt wird, kann dazu konfiguriert sein, in ähnlicher Weise in der Einheit 132 ausgeführt zu werden. Jede Dateneinheit oder Information, die in einem anderen Datenverarbeitungssystem in 1 gespeichert oder erzeugt wird, kann dazu konfiguriert sein, in ähnlicher Weise in der Einheit 132 gespeichert zu werden.
-
Die Server 104 und 106, die Speichereinheit 108 und die Clients 110, 112 und 114 und die Einheit 132 können über drahtgebundene Verbindungen, drahtlose Datenübertragungsprotokolle oder sonstige geeignete Datenkonnektivität mit dem Netzwerk 102 verbunden sein. Bei den Clients 110, 112 und 114 kann es sich beispielsweise um Personal Computer oder Netzwerk-Computer handeln. Eine Anwendung 105 realisiert eine hierin beschriebene Ausführungsform.
-
Im dargestellten Beispiel kann der Server 104 Daten wie etwa Boot-Dateien, Betriebssystem-Abbilder und Anwendungen für die Clients 110, 112 und 114 bereitstellen. Die Clients 110, 112 und 114 können in diesem Beispiel Clients des Servers 104 sein. Die Clients 110, 112, 114 oder manche Kombinationen davon können ihre eigenen Daten, Boot-Dateien, Betriebssystem-Abbilder und Anwendungen enthalten. Die Datenverarbeitungsumgebung 100 kann nicht dargestellte zusätzliche Server, Clients und andere Einheiten enthalten.
-
Im dargestellten Beispiel kann es sich bei der Datenverarbeitungsumgebung 100 um das Internet handeln. Das Netzwerk 102 kann eine Zusammenstellung von Netzwerken und Gateways darstellen, die das Transmission Control Protocol/Internet Protocol (TCP/IP) und andere Protokolle verwenden, um Daten miteinander auszutauschen. Im Zentrum des Internets befindet sich eine Zentralverbindung (Backbone) von Datenübertragungsverbindungen zwischen Hauptknoten oder Host-Computern, darunter Tausende von privatwirtschaftlichen, staatlichen, Bildungs- und anderen Computersystemen, die Daten und Nachrichten leiten. Selbstverständlich kann die Datenverarbeitungsumgebung 100 auch als eine Reihe verschiedener Netzwerkarten realisiert werden wie z.B. ein Intranet, ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN). 1 soll als Beispiel dienen, nicht als Einschränkung der Architektur für die verschiedenen veranschaulichenden Ausführungsformen.
-
Unter anderen Verwendungen kann die Datenverarbeitungsumgebung 100 zum Realisieren einer Client-Server-Umgebung dienen, in der die veranschaulichenden Ausführungsformen realisiert werden können. Eine Client-Server-Umgebung ermöglicht es, dass Software-Anwendungen und Daten über ein Netzwerk verteilt werden können, so dass eine Anwendung funktioniert, indem die Interaktivität zwischen einem Client-Datenverarbeitungssystem und einem Server-Datenverarbeitungssystem genutzt wird. Die Datenverarbeitungsumgebung 100 kann auch eine dienstorientierte Architektur verwenden, bei der über ein Netzwerk verteilte, funktionell aufeinander abgestimmte Software-Komponenten als zusammenhängende Geschäftsanwendungen in einem Paket gebündelt werden. Die Datenverarbeitungsumgebung 100 kann auch die Form einer Cloud annehmen und ein Cloud-Computing-Modell der Dienstbereitstellung nutzen, um einen problemlosen bedarfsgesteuerten Netzwerkzugriff auf einen gemeinsam genutzten Pool konfigurierbarer Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Arbeitsspeicher, Speicher, Anwendungen, virtuelle Maschinen und Dienste) zu ermöglichen, die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Dienstes schnell bereitgestellt und freigegeben werden können.
-
Auf 2 Bezug nehmend, stellt diese Figur ein Blockschaubild eines Datenverarbeitungssystems dar, in dem veranschaulichende Ausführungsformen realisiert werden können. Das Datenverarbeitungssystem 200 ist ein Beispiel für einen Computer wie etwa die Server 104 und 106 oder die Clients 110, 112 und 114 in 1 oder eine andere Art von Einheit, in dem/der sich durch Computer nutzbarer Programmcode bzw. Anweisungen, die die Prozesse realisieren, für die veranschaulichenden Ausführungsformen befinden können.
-
Das Datenverarbeitungssystem 200 ist auch für ein Datenverarbeitungssystem oder eine Konfiguration darin repräsentativ wie etwa das klassische Verarbeitungssystem 104 in 1, in dem/der sich durch Computer nutzbarer Programmcode bzw. Anweisungen, die die Prozesse realisieren, für die veranschaulichenden Ausführungsformen befinden können. Das Datenverarbeitungssystem 200 ist nur beispielhaft als Computer beschrieben, ohne auf diesen beschränkt zu sein. Realisierungen in der Form anderer Einheiten wie etwa der Einheit 132 in 1 können das Datenverarbeitungssystem 200 verändern wie etwa durch Hinzufügen einer Berührungsbedienoberfläche, und sogar manche dargestellten Komponenten aus dem Datenverarbeitungssystem 200 weglassen, ohne von der allgemeinen Beschreibung der Operationen und Funktionen des hierin beschriebenen Datenverarbeitungssystems 200 abzuweichen.
-
Im dargestellten Beispiel verwendet das Datenverarbeitungssystem 200 eine Knotenarchitektur mit Northbridge (Nordbrücke) und Memory Controller Hub (Speichersteuereinheit-Netzknoten) (NB/MCH) 202 und Southbridge (Südbrücke) und Input/Output (I/O) Controller Hub (Eingangs-/Ausgangs (E/A-) Steuereinheit-Netzknoten) (SB/ICH) 204. Eine Verarbeitungseinheit 206, ein Hauptspeicher 208 und ein Grafikprozessor 210 sind mit der Northbridge und den Memory Controller Hub (NB/MCH) 202 verbunden. Die Verarbeitungseinheit 206 kann einen oder mehrere Prozessoren enthalten und unter Verwendung eines oder mehrerer heterogener Prozessorsysteme realisiert sein. Bei der Verarbeitungseinheit 206 kann es sich um einen Mehrkernprozessor handeln. Der Grafikprozessor 210 kann in bestimmten Realisierungen über einen beschleunigten Grafikanschluss (Accelerated Graphics Port AGP) mit dem NB/MCH 202 verbunden sein.
-
Im dargestellten Beispiel ist ein Netzwerkadapter 212 des lokalen Netzwerks (LAN) mit der Southbridge und dem I/O Controller Hub (SB/ICH) 204 verbunden. Ein Audio-Adapter 216, ein Tastatur- und Mausadapter 220, ein Modem 222, ein Nur-Lese-Speicher (ROM) 224, ein Universal Serial Bus (USB) und andere Anschlüsse 232 und PCI/PCIe-Einheiten 234 sind über einen Bus 238 mit der Southbridge und dem I/O Controller Hub 204 verbunden. Ein Festplattenlaufwerk (Hard Disk Drive HDD) oder Halbleiterdatenträger (Solid-State Drive SSD) 226 und ein CD-ROM-Laufwerk 230 sind über einen Bus 240 mit der Southbridge und dem I/O Controller Hub 204 verbunden. Bei den PCI/PCIe-Einheiten 234 kann es sich unter anderem beispielsweise um Ethernet-Adapter, Zusatzkarten und PC-Karten für Notebook-Computer handeln. PCI verwendet eine Karten-Bussteuereinheit, PCle dagegen nicht. Der ROM 224 kann beispielsweise ein Flash-Speicher mit binärem Eingabe/Ausgabe-System (Binary Input/Output System BIOS) sein. Das Festplatten-Laufwerk 226 und das CD-ROM-Laufwerk 230 können beispielsweise eine Integrated Drive Electronics (IDE-) oder eine Serial Advanced Technology Attachment- (SATA-) Schnittstelle oder Varianten wie etwa external-SATE (eSATA) und micro-SATA (mSATA) verwenden. Eine Superl/O- (SIO-) Einheit 236 kann über den Bus 238 mit der Southbridge und dem I/O Controller Hub (SB/ICH) 204 verbunden sein.
-
Speicher wie etwa der Hauptspeicher 208, der ROM 224 oder ein Flash-Speicher (nicht gezeigt) sind einige Beispiele für durch Computer nutzbare Speichereinheiten. Das Festplattenlaufwerk oder der Halbleiterdatenträger 226, der CD-ROM 230 und andere ähnlich nutzbare Einheiten sind einige Beispiele für durch einen Computer nutzbare Speichereinheiten, darunter ein durch einen Computer nutzbares Speichermedium.
-
Auf der Verarbeitungseinheit 206 läuft ein Betriebssystem. Das Betriebssystem koordiniert verschiedene Komponenten innerhalb des Datenverarbeitungssystems 200 in 2 und stellt die Steuerung für diese bereit. Bei dem Betriebssystem kann es sich um ein handelsübliches Betriebssystem für eine beliebige Art von Datenverarbeitungsplattform handeln, darunter Serversysteme, Personal Computer und Mobileinheiten, ohne auf diese beschränkt zu sein. Ein artefaktorientiertes oder eine andere Art von Programmiersystem kann in Verbindung mit dem Betriebssystem laufen und Aufforderungen von Programmen oder Anwendungen, die im Datenverarbeitungssystem 200 ausgeführt werden, an das Betriebssystem bereitstellen.
-
Anweisungen für das Betriebssystem, das artefaktorientierte Programmiersystem und Anwendungen oder Programme wie die Anwendung 105 in 1 befinden sich auf Speichereinheiten wie etwa in Form eines Codes 226A auf dem Festplattenlaufwerk 226 und können zum Ausführen durch die Verarbeitungseinheit 206 in mindestens einen oder mehrere Speicher wie etwa den Hauptspeicher 208 geladen werden. Die Prozesse der veranschaulichenden Ausführungsformen können durch die Verarbeitungseinheit 206 mithilfe durch Computer realisierter Anweisungen durchgeführt werden, die sich in einem Speicher wie z.B. in dem Hauptspeicher 208, dem Nur-Lese-Speicher 224 oder in einem oder mehreren peripheren Einheiten befinden können.
-
Ferner kann in einem Fall der Code 226A über das Netzwerk 201A von einem entfernt angeordneten System 201B heruntergeladen werden, wo ein ähnlicher Code 201C auf einer Speichereinheit 201D gespeichert ist. In einem anderen Fall kann der Code 226A über das Netzwerk 201A auf das entfernt angeordnete System 201B heruntergeladen werden, wo der heruntergeladene Code 201C auf einer Speichereinheit 201D gespeichert wird.
-
Die Hardware in den 1 bis 2 kann je nach Realisierung variieren. Sonstige interne Hardware- oder periphere Einheiten wie Flash-Speicher, gleichwertiger nichtflüchtiger Speicher oder Laufwerke für optische Speicherplatten und dergleichen können zusätzlich oder anstelle der in den 1 bis 2 abgebildeten verwendet werden. Zusätzlich können die Prozesse der veranschaulichenden Ausführungsformen auf ein Mehrprozessor-Datenverarbeitungssystem angewandt werden.
-
Bei einigen veranschaulichenden Beispielen kann es sich bei dem Datenverarbeitungssystem 200 um einen Personal Digital Assistant (persönlicher digitaler Assistent - PDA) handeln, der im Allgemeinen mit einem Flash-Speicher konfiguriert ist, um einen nichtflüchtigen Speicher zum Speichern von Betriebssystemdateien und/oder vom Benutzer erzeugten Daten bereitzustellen. Ein Bussystem kann einen oder mehrere Busse wie einen Systembus, einen I/O-Bus und einen PCI-Bus aufweisen. Selbstverständlich kann das Bussystem unter Verwendung jeglicher Art von Datenübertragungsstruktur oder - architektur realisiert werden, die für eine Datenübertragung zwischen verschiedenen an die Struktur oder Architektur angeschlossenen Komponenten oder Einheiten sorgt.
-
Eine Datenübertragungseinheit kann eine oder mehrere Einheiten enthalten, die zum Senden und Empfangen von Daten verwendet werden, z.B. ein Modem oder einen Netzwerkadapter. Bei dem Speicher kann es sich beispielsweise um einen Hauptspeicher 208 oder einen Zwischenspeicher handeln, z.B. den Zwischenspeicher in der Northbridge und im Memory Controller Hub 202. Eine Verarbeitungseinheit kann einen oder mehrere Prozessoren oder Zentraleinheiten enthalten.
-
Die dargestellten Beispiele in den 1 bis 2 und die oben beschriebenen Beispiele sollen keine Einschränkungen der Architektur andeuten. Außer dass das Datenverarbeitungssystem 200 die Form einer mobilen oder am Körper tragbaren Einheit annehmen kann, kann es sich auch um einen Tablet-Computer, Laptop-Computer oder eine Telefoneinheit handeln.
-
Wenn ein Computer oder Datenverarbeitungssystem als eine virtuelle Maschine, eine virtuelle Einheit oder eine virtuelle Komponente beschrieben ist, funktioniert die virtuelle Maschine, die virtuelle Einheit oder die virtuelle Komponente in der Art und Wiese wie das Datenverarbeitungssystem 200, indem es eine virtualisierte Ausführung einiger oder aller Komponenten nutzt, die im Datenverarbeitungssystem 200 dargestellt sind. Beispielsweise ist in einer virtuellen Maschine, virtuellen Einheit oder virtuellen Komponente die Verarbeitungseinheit 206 als virtualisierte Instanz der gesamten oder einer Anzahl von Hardware-Verarbeitungseinheiten 206 ausgeführt, die in einem Host-Datenverarbeitungssystem verfügbar sind, der Hauptspeicher 208 ist als virtualisierte Instanz des gesamten oder eines Teils des Hauptspeichers 208 ausgeführt, der im Host-Datenverarbeitungssystem verfügbar sein kann, und die Speicherplatte 226 ist als eine virtualisierte Instanz der gesamten oder eines Teil der Speicherplatte 226 ausgeführt, die/der im Host-Datenverarbeitungssystem verfügbar sein kann. Das Host-Datenverarbeitungssystem wird in solchen Fällen durch das Datenverarbeitungssystem 200 dargestellt.
-
Unter Bezugnahme auf 3 stellt diese Figur ein funktionelles Schaubild einer Gruppe von Fahrzeugen 310, 320, 330, 340, 350 (jeweils mit C1 bis C5 bezeichnet) in einer ersten gemeinsamen Umgebung 300 gemäß einer veranschaulichenden Ausführungsform dar, wobei jedes Fahrzeug Bewegungsdaten 302 über ein Computernetzwerk 102 an eine Datenbank wie etwa die Datenbank 109 aus 1 sendet. In einer gemeinsamen Umgebung 300 hat jedes der Fahrzeuge 310, 320, 330, 340, 350 interne Sensoren an Bord, die über den mechanischen Zustand und die Bewegung berichten, während das Fahrzeug eine Straße entlangfährt. Während das Fahrzeug 310, 320, 330, 340, 350 in der ersten gemeinsamen Umgebung 300 entlangfährt, erfassen und senden Sensoren in jedem Fahrzeug Bewegungs- und Zustandsdaten durch ein Datenübertragungsnetz wie etwa das drahtlose Netz 102 von 1, in dem die Sensordaten in der Datenbank 109 gespeichert werden. Ein zentraler Prozessor wie etwa das Prozessorsystem 104 (Prozessor) erfasst, speichert und stellt die Sensordaten 302 von jedem Fahrzeug 310, 320, 330, 340, 350 zusammen, um eine Sammlung von Daten bzw. aggregierte Daten zu bilden, die als „Konsensblock“ von Daten bezeichnet werden. Der Prozessor 104 erkennt dann Fahrzeugbewegungsmuster in den Konsensdaten, die einen bestimmten Schwellenwert überschreiten, was auf ein Fahrzeug hindeutet, das möglicherweise ein hochriskantes Manöver begonnen hat oder in sonstiger Weise ein Verhalten gezeigt hat, das mit etablierten Fahrsicherheitsrichtlinien nicht übereinstimmt.
-
Im Bemühen, ein Speichern falsch positiver Ergebnisse im Konsensblock zu vermeiden und auch hohe Zuverlässigkeit und Konsistenz in den Daten selbst herzustellen, muss eine Mindestanzahl (ein Quorum) von Fahrzeugen 310, 320, 330, 340, 350 mit Bordsensoren in der ersten gemeinsamen Umgebung 300 vorhanden sein. Das Quorum von Fahrzeugen kann in einer bestimmten Situation variieren. In einem Beispiel ist ein Quorum von fünf Fahrzeugen erforderlich, während in einem anderen Beispiel ein Quorum von drei Fahrzeugen genügt, um eine Redundanz und Zuverlässigkeit der im Konsensblock gespeicherten Daten herzustellen. Gemäß einigen Ausführungsformen ist ein Fahrzeug 310 in der gemeinsamen Umgebung von Interesse für eine Überwachungsbehörde, wobei die anderen Fahrzeuge 320, 330, 340, 350 als Zeugen für das Fahrverhalten des Fahrzeugs 310 fungieren. In 3 gibt es ein Quorum von drei Fahrzeugen, wobei fünf Fahrzeuge anwesend sind. In einer Situation, in der ein Quorum nicht erreicht wird (es z.B. zu wenige Fahrzeuge in der ersten gemeinsamen Umgebung 300 gibt), wird der Konsensblock nicht aktualisiert, da die von jedem Fahrzeug 310, 320, 330, 340, 350 gesendeten Daten nicht in einem zufriedenstellenden Maß verifiziert werden können.
-
Gemäß einigen Ausführungsformen können auch externe Sensoren, die sich nicht an Bord eines Fahrzeugs 310, 320, 330, 340, 350 befinden, ebenfalls Sensordaten 302 an eine Datenbank 109 abgeben, wobei externe Sensoren als Sensoren definiert werden, die nicht im Quorum von Fahrzeugen in der ersten gemeinsamen Umgebung 300 inbegriffen sind. Externe Sensoren können unter anderem Videokameras, die sich in mobilen oder immobilen (nicht im Quorum befindlichen) Fahrzeugen befinden, Verkehrskameras, Video- und Audiofunktionen eines Smartphones, Drohnensensoren, an Bauten montierte Sicherheitskameras, Sensoren an Mautstationen und dergleichen sein, ohne auf diese beschränkt zu sein. Andere Sensoren sind möglich und nicht auf diese Beispiele beschränkt. Gemäß einigen Ausführungsformen können Sensordaten aus externen Sensoren auch an die Datenbank 109 gesendet werden, um wie hierin beschrieben in den Konsensblock aufgenommen zu werden.
-
Gemäß einigen Ausführungsformen senden jedes Quorum von Fahrzeugen und jeder externe Sensor in der ersten gemeinsamen Umgebung 300 ihre Sensordaten an die Datenbank 109 über ein drahtloses Ad-hoc-Netzwerk wie etwa das Netzwerk 102 von 1. Die Auswahl von Elementen innerhalb des Ad-hoc-Netzwerks 102 muss nicht groß sein, da eine Auswahl, die zur Abdeckung einer normalen Verkehrssituation genügt, ausreichend wäre. Bei einigen beispielhaften Verkehrssituationen kann es sich unter anderem um hohes Verkehrsaufkommen, Spurlinien überfahrende Autos, überhöhte Geschwindigkeit und dergleichen handeln, ohne auf diese beschränkt zu sein.
-
Gemäß einigen Ausführungsformen teilt jedes Fahrzeug 310, 320, 330, 340, 350 die Sensordaten mit jedem anderen Fahrzeug 310, 320, 330, 340, 350 über das Ad-hoc-Netzwerk 102. Auf diese Weise kann eine objektive Sicht von Ereignissen im Zeitverlauf erfasst und an die Datenbank 109 gesendet werden, um einen unbefangenen Konsensblock für eine spätere Analyse zu bilden. Es ist möglich, dass die Fahrzeuge 310, 320, 330, 340, 350 im Quorum jeweils leicht unterschiedliche Versionen desselben Ereignisses erfassen und somit eine einzigartige Perspektive von jedem Fahrzeug 310, 320, 330, 340, 350 bereitstellen, wie sie aus Sicht jenes Fahrzeugs gesehen wird. So kombiniert werden nur die aggregierten Daten, die den Konsensblock bilden, für die weitere Analyse und mögliche Maßnahmen durch eine Überwachungsbehörde verwendet. Bei einigen Ausführungsformen führt eine Fahrzeugbewegung, die größer als eine Toleranz für einen bestimmten Schwellenwert ist, dazu, dass der Prozessor 104 die Identität des Fahrzeugs einem bestimmten Fahrzeug zuordnet (Zuordnen). Gemäß einigen Ausführungsformen überwacht die Überwachungsbehörde den Konsensblock und legt fest, wann eine Fahrzeugbewegung, die größer als eine bestimmte Toleranz ist, einen Schwellenwert überschreitet und somit eine Rückmeldung (Antwort) auslöst, wobei die Antwort eine positive Antwort oder eine negative Antwort ist.
-
Bei einer Ausführungsform analysiert eine verantwortliche Partei oder Überwachungsbehörde wie etwa eine Rechtsdurchsetzungs- oder Verkehrsflussüberwachungsbehörde den Konsensblock auf unangemessenes Fahrverhalten. Sobald unerwünschtes Fahrverhalten erkannt wird, kann der Prozessor 104 eine Entscheidung treffen, eine Rückmeldeaktion zu erzeugen. Rückmeldeaktionen umfassen sowohl eine positive als auch eine negative Rückmeldung. Eine positive Rückmeldung umfasst Leisten von Unterstützung für den Fahrer in Form eines Sendens einer Nachricht an den Fahrer des Fahrzeugs über das Audiosystem, Mobilfunkkommunikation, Vibration durch das Fahrzeug und dergleichen, ohne auf diese beschränkt zu sein. Eine negative Rückmeldung umfasst ein Einschränken der Fahrzeugbewegung durch ein Betätigen von Bremsen oder ein Drosseln der Motorleistung, Korrigieren von Lenkfehlern oder Melden an eine Überwachungsbehörde zur Unterstützung im Bemühen, dem Fahrer nötigenfalls Hilfe und Unterstützung zu geben, um dafür zu sorgen, dass die erste gemeinsame Umgebung 300 sicher ist.
-
Bei einigen Ausführungsformen wird der Konsensblock von Sensordaten an eine externe Behörde gesendet, wobei die externe Behörde die eingehenden Konsensblöcke filtert, doppelte Daten aussortiert und den restlichen Block zu einer gesamten Blockkette aktualisiert und somit den Konsensblock in einer unveränderlichen Datenbank aufbewahrt, damit er in etwaigen weiteren Verfahren als Beweis dient. Der Konsensblock enthält somit alle notwendigen Informationen im Zusammenhang mit einer bestimmten Fahrbedingung in einer ersten gemeinsamen Umgebung 300 in einem bestimmten Zeitraum.
-
Unter Bezugnahme auf 4 stellt diese Figur ein funktionelles Schaubild einer Gruppe von Fahrzeugen 310, 320, 330, 340, 350 in einer zweiten gemeinsamen Umgebung 400 gemäß einer veranschaulichenden Ausführungsform dar, wobei einige Fahrzeuge 320, 330, 340, 350 Bewegungsdaten senden und ein Fahrzeug 310 nicht mit einem Computernetzwerk 102 verbunden ist. Die zweite gemeinsame Umgebung 400 ist der ersten gemeinsamen Umgebung 300 ähnlich, außer dass es ein Fahrzeug 310 gibt, das nicht mit dem Ad-hoc-Netzwerk verbunden ist. Da jedoch 4 andere Fahrzeuge 320, 330, 340, 350 anwesend sind, ist immer noch ein Quorum erfüllt und eine Erfassung von Sensordaten ist möglich. Deshalb sendet jedes verbundene Fahrzeug 320, 330, 340, 350 weiter Sensordaten 302 an die Datenbank 109 und wird ein Konsensblock von Sensordaten gebildet und gespeichert. Bei dieser Ausführungsform kann das Fahrzeug 310 immer noch überwacht werden, während es sich innerhalb der zweiten gemeinsamen Umgebung 400 befindet, kann aber keine Sensordaten oder Rückmeldung irgendeiner Art, entweder positiv oder negativ, senden oder empfangen.
-
Beispiele für Fahrverhalten, die entweder keine Rückmeldeantwort oder eine positive Rückmeldeantwort erzeugen, sind unter anderem Einhalten eines Sicherheitsabstands beim Fahren hinter anderen Fahrzeugen, Betätigen des Fahrtrichtungsanzeigers, Zulassen, dass andere Autos sich einfädeln, Meiden eingeengter Fahrspuren und Beachten des Vorrangs von Fußgängern. Beispiele für Fahrverhalten, die eine negative Rückmeldeantwort erzeugen, sind unter anderem Nichtbeachten von Sicherheitsabständen, verbotenes Überholen eines Autos, Verursachen, dass nahe Fahrzeuge abrupt bremsen, kein Betätigen des Fahrtrichtungsanzeigers beim Fahrspurwechsel, kein Einräumen des Vorrangs von Fußgängern und dergleichen. Andere Beispiele sind möglich und sind nicht auf diese Beispiele beschränkt.
-
Unter Bezugnahme auf 5 stellt diese Figur ein funktionelles Schaubild gemäß einer veranschaulichenden Ausführungsform dar, in dem eine Gruppe von Fahrzeugen 511, 512, 513, 514, 515 (mit 1 bis 5 bezeichnet), die durch ein Computernetzwerk auf verkehrsbezogenes Verhalten überwacht wird, ein Rückmeldeereignis 500 startet. Die Gruppe von Fahrzeugen 511, 512, 513, 514, 515 bildet ein Quorum von Fahrzeugen und wird sowohl durch interne Fahrzeugsensoren als auch durch Verkehrssensoren als Teile des Straßenüberwachungssystems 502 überwacht. Bei der vorliegenden Ausführungsform sendet das Quorum Fahrzeugbewegungsdaten 302 an die Datenbank 109 wie hierin offenbart. Sobald der Konsensblock aus den aggregierten Daten gebildet ist, werden Elemente 504 des Konsensblocks über das Computernetzwerk 102 zurückgesendet, um mit jedem Fahrzeug 511, 512, 513, 514, 515 geteilt zu werden. Auf diese Weise werden alle Elemente 504 des Konsensblocks von jedem Fahrzeug 511, 512, 513, 514, 515 geteilt, und der Konsensblock wird aufgebaut, indem tragfähige Daten aus jedem der Fahrzeuge 511, 512, 513, 514, 515 dazu verwendet werden, eine zuverlässige und objektive Momentaufnahme der Bedingungen auf der Straße 502 während eines bestimmten Zeitraums zu bilden.
-
Weiter mit 5 wird ein Histogramm 550 des Quorums offenbart, das die Gesamtzahl von Fahrzeugen auf der Y-Achse 554 und die auf der X-Achse 552 dargestellte Zeit zeigen. Das resultierende Diagramm 556 offenbart zwei Fahrzeuge im Quorum zur Zeit T1, drei Fahrzeuge, die zur Zeit T2 im Quorum anwesend sind, usw. Deshalb war unter Verwendung der zuvor erörterten Beispiele ein Quorum von Fahrzeugen zu den Zeiten T1 und T5 nicht vorhanden, aber zu den Zeiten T2 bis T4 vorhanden. In 5 setzt sich das Beispiel damit fort, dass das Fahrzeug 513 auf das Heck des Fahrzeugs 511 zu beschleunigt. Jedes Fahrzeug 511, 512, 513, 514, 515 im Quorum berichtet diese Sensordaten, wie sie aus der einmaligen Sicht jedes Fahrzeugs erfasst werden, und sendet die Daten an die Datenbank 109, um den Konsensblock zu vergrößern. Sobald der Prozessor bei der Verkehrsüberwachungsbehörde erkennt, dass das Fahrzeug 513 Gefahr läuft, an das Fahrzeug 511 zu stoßen, wird eine Rückmeldeantwort erzeugt und an das Fahrzeug 513 gesendet. Die Rückmeldung kann wie oben erläutert positiv oder negativ sein. Die Rückmeldeantworten für dieses Beispiel können unter anderem Warnen des Fahrers von Fahrzeug 513 mithilfe hörbarer oder sichtbarer Signale, Befehlen, dass das Fahrzeug seine Bremsen betätigt, oder Warnen lokaler Notfallhelfer, dass ein erratisches Fahrverhalten vom Fahrzeug 513 ausgeht, umfassen, ohne auf diese beschränkt zu sein. Eine andere Antwort oder eine Kombination aus einer positiven und negativen Antwort sind möglich und nicht auf dieses Beispiel beschränkt.
-
Unter Bezugnahme auf 6 stellt diese Figur ein funktionelles Schaubild dar, in dem mehrere Gruppen von Fahrzeugen 511, 512, 513, 514, 515, 560, 570 (mit 1 bis 7 bezeichnet), die durch ein Computernetzwerk auf verkehrsbezogenes Verhalten überwacht werden, ein Rückmeldeereignis 600 startet. Bei dieser Ausführungsform wird gezeigt, dass innerhalb einer einzigen Gruppe von Fahrzeugen 511, 512, 513, 514, 515, 560, 570 mehrere verschiedene Quoren gleichzeitig definiert werden können. Bei dieser Ausführungsform kann ein erstes Quorum 602 definiert werden, beispielsweise während die ersten drei Fahrzeuge an einer Ampel losfahren, während ein zweites Quorum 604 als jene Fahrzeuge 511, 512, 513, 514, 515, 560, 570 definiert werden kann, die unterhalb der ausgeschilderten Geschwindigkeitsbegrenzung fahren. Ungeachtet der Beteiligung jedes Fahrzeugs 511, 512, 513, 514, 515, 560, 570 an einem bestimmten Quorum können die Sensordaten jedes Fahrzeugs über das Ad-hoc-Netzwerk 102 an die Datenbank gesendet werden, um den Konsensblock zu aktualisieren wie hierin offenbart.
-
Unter Bezugnahme auf 7 stellt diese Figur einen Datenflussplan eines beispielhaften Prozesses 700 zum Überwachen mehrerer Gruppen von Fahrzeugen, die in einer gemeinsamen Umgebung fahren, auf verkehrsbezogenes Verhalten gemäß einer veranschaulichenden Ausführungsform dar. Der Prozess 700 beginnt bei Block 702, in dem sich ein Quorum von Fahrzeugen innerhalb einer gemeinsamen Umgebung innerhalb eines bestimmten drahtlosen Ad-hoc-Netzwerks wie etwa des Netzwerks 102 befindet, wie hierin offenbart. Als Nächstes ermittelt der Prozessor bei Entscheidungsblock 704, ob ein Quorum vorhanden ist. Um ein Quorum zu bilden, muss eine Mindestanzahl von Fahrzeugen vorhanden sein. Außerdem kann ein bestimmtes Fahrzeug gleichzeitig Mitglied in mehr als einem Quorum sein. Wenn die Antwort beim Entscheidungsblock „nein“ lautet, kehrt der Prozess wieder zurück, um zusätzliche Fahrzeuge abzuwarten. Wenn die Antwort „ja“ lautet, setzt sich der Prozess bei Block 706 fort, bei dem Fahrzeugsensoren und externe Sensoren Daten an die Datenbank wie etwa die Datenbank 109 senden, um einen Konsensblock aggregierter Daten zu bilden. Wenn der Konsensblock gebildet ist, wird der Konsensblock mit jedem verbundenen Fahrzeug geteilt, um sicherzustellen, dass alle Fahrzeuge Zugriff auf dieselben Daten haben. Als Nächstes analysiert der Prozessor beim Entscheidungsblock 708 den Konsensblock, um zu erkennen, ob ein abweichendes Fahrverhalten bei einem der Fahrzeuge im Quorum erkannt wurde. Bei „nein“ kehrt der Prozess 700 zurück, um bei Block 702 ein zusätzliches Quorum von Fahrzeugen zu bilden. Bei „ja“ erzeugt der Prozessor eine entweder positive oder negative Antwortrückmeldeaktion und sendet die Antwort an das Fahrzeug, eine andere Behörde oder an Notfallhelfer zu weiteren Maßnahmen zurück.
-
Somit werden ein durch einen Computer realisiertes Verfahren, ein Computerprogrammprodukt und ein System in den veranschaulichenden Ausführungsformen für eine auf Konsens beruhende Überwachung des Fahrverhaltens in verbundenen Fahrzeugsystemen und andere damit zusammenhängende Merkmale, Funktionen und Vorgänge bereitgestellt. Wenn eine Ausführungsform oder ein Teil davon in Bezug auf einen Typ von Einheit beschrieben ist, werden das durch einen Computer realisierte Verfahren, das durch einen Computer realisierte Programmprodukt oder System oder ein Teil davon für den Gebrauch mit einer geeigneten und vergleichbaren Manifestation jenes Typs von Einheit angepasst oder konfiguriert.
-
Wenn eine Ausführungsform als in einer Anwendung realisiert beschrieben ist, gilt die Lieferung der Anwendung in „einem Software as a Service‟(SaaS)-Modell als innerhalb des Umfangs der veranschaulichenden Ausführungsformen. In einem SaaS-Modell wird die Funktion der Anwendung, die eine Ausführungsform realisiert, einem Benutzer bereitgestellt, indem die Anwendung in einer Cloud-Infrastruktur ausgeführt wird. Der Benutzer kann mithilfe verschiedener Client-Einheiten über eine Thin-Client-Schnittstelle wie einen Web-Browser (z.B. auf dem Web beruhende eMail) oder andere leichte Client-Anwendungen auf die Anwendung zugreifen. Der Kunde verwaltet oder kontrolliert nicht die zugrundeliegende Cloud-Infrastruktur mit Netzwerk, Servern, Betriebssystemen oder Speicherung der Cloud-Infrastruktur. In einigen Fällen kann der Benutzer nicht einmal die Funktion der SaaS-Anwendung verwalten oder kontrollieren. In einigen anderen Fällen kann die SaaS-Realisierung der Anwendung eine mögliche Ausnahme der beschränkten benutzerspezifischen Einstellungen der Anwendungskonfiguration zulassen.
-
Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jeder möglichen technischen Einzelebene der Integration 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 zum Ausführen 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 codierte 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. ein 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, Konfigurationsdaten für integrierte Schaltkreisanordnungen oder entweder Quellcode oder Artefaktcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter artefaktorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie 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). Bei 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 zum Umsetzen der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder 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 der Blockschaubilder 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 ein 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 der Ablaufpläne und/oder der Blockschaubilder festgelegten Funktionen/Schritte umsetzen.
-
Die Ablaufpläne und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten für ein auf Konsens beruhendes Überwachen des Fahrverhaltens in verbundenen Fahrzeugsystemen gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zum Ausführen der bestimmten logischen Funktion(en) aufweisen. Bei einigen alternativen Ausführungen können die in den Blöcken 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 der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaubildern und/oder den Ablaufplänen 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.