-
GEBIET DER TECHNIK
-
Die vorliegende Offenbarung betrifft Systeme und Verfahren für Knotenkonfigurati onseinstell ungen.
-
ALLGEMEINER STAND DER TECHNIK
-
Die Verwendung von Konfigurationseinstellungen und Vorrichtungen zum Umsetzen derartiger Einstellungen für verschiedene Arten von Knoten in einem Netzwerk von Knoten kann die Konfiguration bestimmter Merkmale der Knoten ermöglichen, die in bestimmten Situationen automatisch ausgelöst werden können. Ein Beispiel für derartige Konfigurationseinstellungen in Knoten kann Ausrüsterschnittstellenmodule (upfitter interface modules - UIMs) beinhalten, die in bestimmten Arten von Fahrzeugen installiert sein können. Zum Beispiel kann auf einem Polizeiwagen eine UIM installiert sein, die dazu konfiguriert ist, bestimmte Funktionen des Wagens zu aktivieren, wenn die Sirenen eingeschaltet sind (z. B. Kameraaufnahme einleiten). Derartige Konfigurationseinstellungen können für den effektiven Betrieb des Knotens vorteilhaft sein, können jedoch für ein oder mehrere Probleme anfällig sein. Zum Beispiel kann der Knoten zahlreiche Konfigurationseinstellungen gespeichert haben und kann anfällig für Angriffe durch Hacker sein, die möglicherweise Konfigurationseinstellungen ändern oder neue Konfigurationseinstellungen hinzufügen möchten, die sich negativ auf den Betrieb des Knotens auswirken. In anderen Beispielen kann es schwierig sein, derartige Einstellungen manuell neu zu konfigurieren, wenn dem Netzwerk oder den Knoten neue Knoten hinzugefügt werden oder Konfigurationseinstellungen verloren gehen.
-
KURZDARSTELLUNG
-
Hierin sind Systeme und Verfahren für Knotenkonfigurationseinstellungen bereitgestellt. Die hierin bereitgestellten Systeme und Verfahren können das Empfangen von Konfigurationseinstellungen von Konfigurationssystemen für verschiedene Knoten in einem Netzwerk von Knoten und das Speichern derartiger Einstellungen in Ledgers beinhalten, auf die jeder der Knoten in dem Netzwerk von Knoten zugreifen kann. Die Ledger können die gleichen Konfigurationseinstellungsinformationen aufweisen, sodass jeder Knoten in dem Netzwerk von Knoten über die Konfigurationseinstellungen für alle anderen Knoten in dem Netzwerk von Knoten informiert wird.
-
Figurenliste
-
Die detaillierte Beschreibung wird unter Bezugnahme auf die beigefügten Zeichnungen dargelegt. Die Verwendung gleicher Bezugszeichen kann ähnliche oder identische Elemente angeben. Für verschiedene Ausführungsformen können andere Elemente und/oder Komponenten verwendet werden als jene, die in den Zeichnungen dargestellt sind, und einige Elemente und/oder Komponenten sind in verschiedenen Ausführungsformen unter Umständen nicht vorhanden. Die Elemente und/oder Komponenten in den Figuren sind nicht zwingend maßstabsgetreu. Für die gesamte Offenbarung gilt, dass Ausdrücke im Singular und Plural je nach Kontext synonym verwendet werden können.
- 1 zeigt eine veranschaulichende Architektur gemäß einer oder mehreren beispielhaften Ausführungsformen der Offenbarung.
- 2 zeigt eine beispielhafte Knoten-Ledger-Architektur gemäß einer oder mehreren beispielhaften Ausführungsformen der Offenbarung.
- 3 zeigt ein Ablaufdiagramm eines beispielhaften Verfahrens gemäß einer oder mehreren beispielhaften Ausführungsformen der Offenbarung.
-
DETAILLIERTE BESCHREIBUNG
-
Überblick
-
Die Offenbarung betrifft unter anderem Systeme und Verfahren für Knotenkonfigurationseinstellungen. In einigen Ausführungsformen betreffen die hierin offenbarten Systeme und Verfahren insbesondere das Zulassen von gemeinsamen Konfigurationseinstellungen über ein Netzwerk von Knoten, sodass jeder Knoten des einen oder der mehreren Knoten nicht nur über seine eigenen Konfigurationseinstellungen, sondern auch über die Konfigurationseinstellungen von anderen Knoten informiert ist.
-
In einigen Ausführungsformen können die Knoten in einer beliebigen Anzahl von Formen vorliegen, wie etwa Polizeifahrzeuge, Rettungsfahrzeuge, Krankenwagen- und Schnellreaktionsfahrzeuge, öffentliche Nutzfahrzeuge, Abschleppwagen, Lichtbalken, Kennleuchten, Verkehrsangaben, Armaturenbrett- und Decklichter, verdeckte Beleuchtung, Leistungssteuersysteme, Stoßfänger und Pistolengestelle oder ein beliebiges anderes Element, das Konfigurationseinstellungen aufweisen kann. Als ein besonderes Beispiel kann ein Polizeiwagenfahrzeug eine Konfigurationseinstellung aufweisen, die bestimmte Merkmale des Wagens auslöst, wenn die Sirenenlichter angeschaltet sind, wie etwa Aktivieren des Sportmodus, Initiieren der Kameraaufnahme, Stummschalten von Warnungen innerhalb des Fahrzeugs usw. Anzahl von anderen Arten von Knoten und Beispiele für Konfigurationseinstellungen anwendbar sein.
-
In einigen Ausführungsformen kann das Netzwerk von Knoten eine Flotte von Knoten umfassen, wie etwa zum Beispiel eine Flotte von Polizeiwagen. Jeder Knoten in dem Netzwerk von Knoten kann seine eigenen individuellen Konfigurationseinstellungen aufweisen, alle Knoten in dem Netzwerk von Knoten können identische Konfigurationseinstellungen aufweisen oder bestimmte Knoten des Netzwerks von Knoten können Konfigurationseinstellungen teilen, während andere dies nicht tun. Alle Knoten in dem Netzwerk von Knoten können alle Konfigurationseinstellungen für jeden der anderen Knoten in dem Netzwerk von Knoten durch ein dezentrales Ledger-System, wie etwa zum Beispiel ein Blockchain-System, kennen. Das heißt, jeder der Knoten kann ein Ledger gespeichert haben oder anderweitig Zugriff darauf haben, das Echtzeitinformationen über die Konfigurationseinstellungen für jeden der Knoten des Netzwerks von Knoten beinhaltet. Die Ledger, auf die jeder Knoten Zugriff hat, können identisch sein und können in Echtzeit aktualisiert werden, sodass, wenn eine Änderung einer Konfigurationseinstellung oder eine neue Konfigurationseinstellung an einem oder mehreren Knoten des Netzwerks von Knoten stattfinden würde, jedes der Ledger an jedem der Knoten eine derartige Änderung oder Hinzufügung widerspiegeln würde. Dies würde es einer internen oder externen Partei oder einem System ermöglichen, alle Konfigurationseinstellungen für alle der einzelnen Knoten in dem Netzwerk von Knoten zu bestimmen, indem sie einfach auf eines der Ledger zugreifen, das mit einem der einzelnen Knoten zusammenhängt.
-
Die Konfigurationseinstellungen können in Form von Einstellungen auf einem Ausrüsterschnittstellenmodul (upfitter interface module - UIM) umgesetzt sein, bei dem es sich um eine optionale werkseitig installierte Vorrichtung handeln kann, die die Fähigkeit aufweist, Ausrüstung über vom Benutzer bereitgestellte Eingaben eines Fahrzeug-Controller-Area-Network-(CAN-)Datensignals zu verwalten. Die UIM-Schalter können über verschiedene Verfahren konfiguriert sein, wie etwa Computersysteme, Händlerwerkzeuge, Cloud-Anwendungen und andere Verfahren. In einigen Fällen kann es schwierig sein, Änderungen und Modifikationen, die an den UIM-Schaltern vorgenommen werden, nachzuverfolgen, und es kann auch schwierig sein, die Funktionsvalidierung zu überprüfen, da UIM-Schalter über verschiedene Quellen und Verfahren konfiguriert und modifiziert werden können. Die Modifikation kann Logik und Zeitgeber beinhalten, die für jeden Schalter oder jedes Merkmal eingestellt sind. Es kann keine Garantie dafür geben, dass ein Hacker, der Zugriff auf ein Polizeifahrzeug hat, möglicherweise in der Lage ist, auf die UIM zuzugreifen und die Konfiguration zu ändern, was eine Manipulation sehr möglich macht.
-
Die Konfigurationseinstellungen können auch von einem Schnappschusssystem aufgenommen werden. Das Schnappschusssystem kann sich an den Knoten selbst befinden. Das Schnappschusssystem kann alle relevanten Daten in Bezug auf die Konfigurationseinstellungen, wie etwa Auslösen von Ereignissen zum Durchführen von Handlungen, die mit den Konfigurationseinstellungen zusammenhängen, die durchgeführten Handlungen und alle anderen relevanten Daten aufnehmen, die mit den Konfigurationseinstellungen zusammenhängen, und kann derartige Daten, die eine Konfigurationseinstellung betreffen, in einem „Schnappschuss“ speichern. Zum Beispiel kann das Schnappschusssystem eine Konfigurationseinstellung aufnehmen, die verwendet wird, um Systeme eines Fahrzeugs zu modifizieren, wenn ein Wetterbedingungsauslöser erkannt wird (z. B. Regen), und diese Konfigurationseinstellung kann in einem Schnappschuss gespeichert werden. Ein anderer Schnappschuss kann Daten in Bezug auf eine Konfigurationseinstellung zum Einschalten bestimmter Lichter des Fahrzeugs beinhalten, wenn ein Lichtsensor detektiert, dass es in der Umgebung eines Fahrzeugs derzeit dunkel ist. Derartige Schnappschüsse von Konfigurationseinstellungen können lokal auf dem Knoten selbst oder in einem entfernten System, wie zum Beispiel einer Cloud-Plattform, gespeichert sein.
-
In einigen Ausführungsformen kann das Schnappschusssystem auch zum Erlangen von Daten von Knotensystemen nützlich sein, zum Beispiel zum Erlangen von Daten von Fahrzeugsystemen. In dem beispielhaften Fall, in dem der Knoten ein Fahrzeug ist, kann das Schnappschusssystem dazu in der Lage sein, zu analysieren und zu bestimmen, welche alternative Fahrzeugdatenquelle eine gewünschte Information bereitstellen kann. Beispiele für derartige Fahrzeugdatenquellen können das Fahrzeug-CANbus-, Dataidentifkator- (data identifier - DID-) oder Diagnostic-Trouble-Code-(DTC-)System oder ein anderes Fahrzeugdatensystem beinhalten. Als eine Fortsetzung des Fahrzeugbeispiels können Reifendruckdaten eine integrale Information für Polizeifahrzeuge sein, die in der Lage sein müssen, Straßenbedingungen während Hochgeschwindigkeitsverfolgungen standzuhalten. Somit kann eine UIM-Konfigurationseinstellung für eine Verfolgung eine Bestimmung auf Grundlage eines Reifendruckwerts einschließen. Wenn kein CAN-Signal zum Bestimmen des Reifendruckwerts verfügbar ist, kann das Schnappschusssystem ein alternatives Fahrzeugsystem zum Erlangen der Daten bestimmen, wie etwa DID oder DTC.
-
In einigen Ausführungsformen kann es wünschenswert sein, Konfigurationseinstellungen an einem oder mehreren der Knoten zu ändern, oder es kann wünschenswert sein, eine neue Konfigurationseinstellung zu einem oder mehreren der Knoten hinzuzufügen. In derartigen Fällen kann eine Validierung der versuchten neuen Konfigurationseinstellung durchgeführt oder eine bestehende Konfigurationseinstellung geändert werden. Die Validierung kann das Senden einer Anforderung zum Validieren der vorgeschlagenen Konfigurationseinstellung an ein externes System beinhalten, bevor die Konfigurationseinstellung auf dem einen oder den mehreren Knoten umgesetzt wird. In einigen Fällen kann das externe System das Schnappschusssystem sein. In einigen Fällen kann das externe System ein beliebiger der anderen Knoten sein. In einigen Fällen kann das externe System ein Flottenverwalter sein, bei dem es sich um eine Vorrichtung oder einen Benutzer handeln kann, die/der für das Verwalten des Netzwerks von Knoten verantwortlich ist. Eine Bestimmung kann an dem externen System hinsichtlich der Gültigkeit der neuen Konfigurationseinstellung vorgenommen sein, und die Konfigurationseinstellung kann entweder akzeptiert oder abgelehnt werden. Wenn die Konfigurationseinstellung akzeptiert wird, dann wird sie an dem Knoten umgesetzt und alle Ledger der Knoten können aktualisiert werden, um die neue Konfigurationseinstellung an dem bestimmten Knoten widerzuspiegeln. Wenn die Konfigurationseinstellung abgelehnt wird, wird sie nicht umgesetzt und die Ledger bleiben gleich. Ein konkretes Beispiel für den Zweck einer derartigen Validierung kann darin bestehen, zu verhindern, dass Hacker Konfigurationseinstellungen auf bestimmten Knoten des Netzwerks von Knoten in böswilliger Absicht ändern.
-
Die Validierung neuer Konfigurationseinstellungen oder Änderungen an bestehenden Konfigurationseinstellungen kann durch einen Flottenverwalter vorgenommen werden, der für das Verwalten eines Netzwerks von Knoten verantwortlich ist. Zum Beispiel kann eine Benachrichtigung über den Versuch einer Hinzufügung oder Änderung einer Konfigurationseinstellung an den Flottenverwalter über eine Vorrichtung gesendet werden, die entweder innerhalb oder außerhalb des Netzwerks von Knoten liegt, wie etwa ein Knotenverwaltungssystem auf einer bestimmten Vorrichtung, einer Cloud-Plattform usw. Der Flottenverwalter kann dann dazu in der Lage sein, die versuchte Hinzufügung oder Änderung einer Konfigurationseinstellung anzusehen und kann eine Entscheidung hinsichtlich der Gültigkeit der Konfigurationseinstellung treffen. Der Flottenverwalter kann dann wählen, die Konfigurationseinstellung entweder anzunehmen oder abzulehnen.
-
Validierung der neuen Konfigurationseinstellungen oder Änderungen einer bestehenden Konfigurationseinstellung können ebenfalls durch ein Schnappschusssystem durchgeführt werden. Das Schnappschusssystem kann Informationen wie etwa vorherige Konfigurationseinstellungen und/oder Regeln enthalten, die Konfigurationseinstellungen im Allgemeinen und/oder Konfigurationseinstellungen für bestimmte Arten von Knoten oder bestimmte Netzwerke von Knoten betreffen. Das Schnappschusssystem kann die versuchten neuen Konfigurationseinstellungen oder Änderungen an bestehenden Konfigurationseinstellungen aufnehmen und sie mit den vorherigen Konfigurationseinstellungen und/oder Konfigurationseinstellungsregeln vergleichen, um die Gültigkeit der neuen Konfigurationseinstellungen oder Änderungen an bestehenden Konfigurationseinstellungen zu bestimmen. Das Schnappschusssystem kann dann wählen, die Konfigurationseinstellung entweder anzunehmen oder abzulehnen.
-
Validierung der neuen Konfigurationseinstellungen oder Änderungen einer bestehenden Konfigurationseinstellung können ebenfalls durch einen beliebigen der Knoten an dem Netzwerk von Knoten durchgeführt werden. Zum Beispiel kann das Schnappschusssystem lokal auf den Knoten gespeichert sein, oder die Knoten können dazu in der Lage sein, die gleichen Bestimmungen unter Verwendung der in den Ledger gespeicherten Informationen sowie lokal gespeicherter Regeln für Konfigurationseinstellungen vorzunehmen.
-
In einigen Ausführungsformen können die Konfigurationseinstellungen, die in jedem der Knoten-Ledger gespeichert sind, verwendet werden, um neue Knoten zu konfigurieren, die zu dem Netzwerk von Knoten hinzugefügt werden können, oder um zusätzliche Knoten außerhalb des Netzwerks von Knoten zu konfigurieren. In einigen Fällen können Knoten, die dem Netzwerk von Knoten hinzugefügt werden oder sich außerhalb des Netzwerks von Knoten befinden, ähnlich wie bereits bestehende Knoten sein. Zum Beispiel kann ein Netzwerk von Knoten die Form einer Flotte von Baufahrzeugen aufweisen, die einen oder mehrere Kräne und einen oder mehrere Kipplastwagen beinhaltet, und es kann sein, dass ein neuer Kipplaster konfiguriert werden muss. In diesem konkreten Beispiel können die Konfigurationseinstellungen für bereits vorhandene Kipplastwagen in der Flotte von Baufahrzeugen verwendet werden, um den neuen Kipplastwagen derart zu konfigurieren, dass der neue Kipplastwagen die gleichen Konfigurationseinstellungen beinhaltet. Die Ledger der Flotte von Baufahrzeugen können dann aktualisiert werden, um den neuen Kipplastwagen mit den Konfigurationseinstellungen zu beinhalten, die auf den neuen Kipplastwagen angewendet wurden. Ähnliche Anwendungen von Konfigurationseinstellungen können in anderen Szenarien nützlich sein, wie etwa, wenn ein Knoten in einem Netzwerk von Knoten Konfigurationseinstellungen verliert oder anderweitig zurückgesetzt wird. In einem derartigen Fall können die Konfigurationseinstellungen für denselben Knoten noch immer in dem Ledger gespeichert sein, oder ähnliche Konfigurationseinstellungen können für eine ähnliche Art von Knoten in dem Verzeichnis gespeichert sein. Diese Konfigurationseinstellungen können verwendet werden, um den Knoten neu zu konfigurieren.
-
Derselbe Prozess der Verwendung von Konfigurationseinstellungen für eine Art von Knoten zum Konfigurieren eines neuen Knotens kann auf mehr als einen Knoten oder sogar auf ein ganzes Netzwerk von Knoten angewendet werden. Zum Beispiel können Konfigurationseinstellungen für eine erste Flotte von Polizeifahrzeugen verwendet werden, um eine gesamte zweite Flotte von Polizeifahrzeugen zu konfigurieren, die noch nicht konfiguriert wurden oder mit anderen Konfigurationseinstellungen neu konfiguriert werden müssen. In derartigen Fällen können Informationen aus einem Ledger extrahiert und auf die Knoten des neuen Netzwerks von Knoten angewendet werden, da die Konfigurationseinstellungen für alle der Knoten des Netzwerks von Knoten in dem Ledger jedes einzelnen Knotens gespeichert sind.
-
Die Fähigkeit eines Netzwerks von Knoten, neue Knoten nahtlos zu aktualisieren oder neu zu konfigurieren, oder externe Knoten oder Netzwerke von Knoten zu konfigurieren, kann zumindest die Vorteile der Vereinfachung des Konfigurationsprozesses und der Reduzierung der Konfigurationskosten bereitstellen. Zum Beispiel müssen Knoten möglicherweise nicht manuell oder über Händlerwerkzeuge oder Cloud-Anwendungsdatenübertragungen konfiguriert werden.
-
Veranschaulichende Ausführungsformen
-
Unter Bezugnahme auf die Zeichnungen stellt 1 nun eine veranschaulichende Architektur 100 dar, in der Techniken und Strukturen der vorliegenden Offenbarung umgesetzt sein können. Die veranschaulichende Architektur 100 kann ein Kommunikationsnetzwerk 102, einen oder mehrere Knoten 104, die mindestens die Knoten 104(a), 104(b) und 104(c) beinhalten können, und einen Server 106 beinhalten. In einigen Ausführungsformen können der eine oder die mehreren Knoten 104 in Form von Fahrzeugen vorliegen, die Knoten 104 können jedoch auch in Form eines beliebigen anderen Objekts vorliegen. Der Einfachheit halber können in dieser Schrift Bezugnahmen auf einen Knoten 104(a) erfolgen, wobei derartige Bezugnahmen jedoch ebenso auf jeden anderen Knoten des einen oder der mehreren Knoten 104 anwendbar sein können.
-
Das Kommunikationsnetzwerk 102 kann ein beliebiges oder eine Kombination aus mehreren unterschiedlichen Netzwerken beinhalten, wie etwa Kabelnetze, das Internet, drahtlose Netzwerke und andere private und/oder öffentliche Netzwerke. In einigen Fällen kann das Kommunikationsnetzwerk 104 Mobilfunk (z. B. 5G), Wi-Fi oder Wi-Fi Direct beinhalten.
-
In einigen Ausführungsformen kann ein Knoten 104 mindestens einen oder mehrere Prozessoren 110, einen Speicher 112, ein oder mehrere Konfigurationseinstellungsmodul(e) 114 und ein Ledger 116 umfassen. In einigen Ausführungsformen kann die Funktionalität der hierin beschriebenen Module (zum Beispiel des/der Konfigurationseinstellungsmoduls/e 114) auch als einzelnes Modul oder eine beliebige andere Anzahl von Modul(en) umgesetzt sein.
-
In einigen Ausführungsformen kann der Knoten 104 einen oder mehrere Prozessoren 110 beinhalten, die eine beliebige geeignete Verarbeitungseinheit beinhalten, die in der Lage ist, Daten als Eingabe zu akzeptieren, die Eingabedaten gemäß gespeicherten, computerausführbaren Anweisungen zu verarbeiten und Ausgabedaten zu generieren. Die computerausführbaren Anweisungen können zum Beispiel in einem Datenspeicher gespeichert sein und können unter anderem Betriebssystemsoftware und Anwendungssoftware beinhalten. Die computerausführbaren Anweisungen können aus dem Datenspeicher abgerufen und nach Bedarf zur Ausführung in den Speicher 112 geladen werden. Der Prozessor 110 kann dazu konfiguriert sein, die computerausführbaren Anweisungen auszuführen, um zu bewirken, dass verschiedene Vorgänge durchgeführt werden. Jeder Prozessor 110 kann eine beliebige Art einer Verarbeitungseinheit beinhalten, einschließlich unter anderem einer zentralen Verarbeitungseinheit, eines Mikroprozessors, eines Microcontrollers, eines Mikroprozessors für einen Rechner mit reduziertem Befehlssatz (reduced instruction set computer - RISC), eines Mikroprozessors für einen Rechner mit komplexem Befehlssatz (complex instruction set computer - CISC), einer anwendungsspezifischen integrierten Schaltung (application specific integrated circuit - ASIC), eines Systems-auf-einem-Chip (system-on-a-chip - SoC), eines feldprogrammierbaren Gate-Arrays (field-programmable gate array - FPGA) und so weiter.
-
Der Speicher 112 kann flüchtigen Speicher (Speicher, der nicht zum Aufbewahren gespeicherter Informationen konfiguriert ist, wenn er nicht mit Strom versorgt wird), wie etwa Direktzugriffsspeicher (random access memory - RAM), und/oder nicht flüchtigen Speicher (Speicher, der zum Aufbewahren gespeicherter Informationen konfiguriert ist, selbst wenn er nicht mit Strom versorgt wird), wie etwa Festwertspeicher (read-only memory - ROM), Flash-Speicher und so weiter, beinhalten. In verschiedenen Umsetzungen kann der Speicher 112 mehrere unterschiedliche Speichertypen beinhalten, wie etwa verschiedene Formen eines statischen Direktzugriffsspeichers (static random access memory - SRAM), verschiedene Formen eines dynamischen Direktzugriffsspeichers (dynamic random access memory - DRAM), einen unveränderlichen ROM und/oder beschreibbare ROM-Varianten wie etwa elektrisch löschbarer programmierbarer Nur-Lese-Speicher (electrically erasable programmable read-only memory - EEPROM), Flash-Speicher usw.
-
Die Konfigurationseinstellungsmodule 114 können Vorgänge ausführen, die mindestens Empfangen eines ersten Satzes von Konfigurationseinstellungen für ein erstes Konfigurationssystem des einen oder der mehreren Konfigurationssysteme eines ersten Knotens von einem oder mehreren Knoten beinhalten. Die Vorgänge können Speichern eines ersten Satzes von Konfigurationseinstellungen beinhalten, wobei das Ledger oder eine Kopie des Ledgers durch den einen oder die mehreren Knoten zugänglich ist. Die Vorgänge können auch beliebige andere hierin beschriebene Vorgänge beinhalten.
-
Das Ledger 116 kann eine dezentrale und verteilte Informationsquelle sein, die zum Beispiel am Knoten kontinuierlich aktualisiert, verteilt und/oder gespeichert werden kann. Alle anderen Knoten des einen oder der mehreren Knoten 104 können ebenfalls Zugriff auf ein ähnliches Ledger 116 haben und/oder ein solches gespeichert aufweisen, sodass alle Knoten jederzeit über die gleichen Ledger-Informationen verfügen können. Zum Beispiel kann das Ledger 116 Informationen beinhalten, die unter Bezugnahme auf 2 beschrieben wurden, wie etwa Konfigurationsinformationen, die einem bestimmten Knoten 104(a) zugeordnet sind.
-
In einigen Ausführungsformen kann der Server 106 als eine entfernte Cloud-Plattform oder eine andere Art von externem System zum Durchführen einer beliebigen der hierin beschriebenen Funktionen dienen, wie etwa die Vorgänge in Bezug auf den Knoten 104(a). Zum Beispiel kann der Server das Schnappschusssystem halten oder durch den Flottenmanager zugänglich sein, um Validierungsbestimmungen zu treffen.
-
2 stellt beispielhafte Knoten 200 dar, die mindestens den Knoten 202(a), den Knoten 202(b) und den Knoten 202(c) beinhalten können (die die gleichen wie die Knoten 104(a), 104(b) und 104(c) des einen oder der mehreren Knoten 104 sein können). Ein Knoten 202(a) kann ein Ledger 204 (das das gleiche wie das Ledger 116 sein kann) beinhalten oder anderweitig darauf zugreifen. Das Ledger 204 kann an jedem der Knoten 202(a), 202(b) und 202(c) gespeichert sein oder anderweitig zugänglich sein, sodass jeder der Knoten Zugriff auf die gleichen Informationen haben kann.
-
Das Ledger kann knotenspezifische Informationen 206 für einen Knoten (z. B. Knoten 202(a)) beinhalten. Die knotenspezifischen Informationen 206 können Identifikationsinformationen 208 und Konfigurationseinstellungen 210 für den Knoten (z. B. Knoten 202(a)) beinhalten. Das Ledger kann ebenfalls knotenspezifische Informationen 206 für jeden der anderen Knoten (z.B. Knoten 202(b) und 202(c)) beinhalten. Die Identifikationsinformationen 208 können eine Kennung beinhalten, die verwendet wird, um den bestimmten Knoten (z. B. den Knoten 202(a)) zu erkennen, mit dem die knotenspezifischen Informationen 206 zusammenhängen. In einem Beispiel kann der Knoten ein Fahrzeug sein und können die Identifikationsinformationen 208 die FIN des Fahrzeugs sein. Die Konfigurationseinstellungen 210 können gespeicherte Konfigurationseinstellungen für den bestimmten Knoten (z. B. Knoten 202(a)) beinhalten, mit dem die knotenspezifischen Informationen 206 zusammenhängen. In einigen Fällen können die Konfigurationseinstellungen 210 Einstellungen des Ausrüstermoduls beinhalten, wie etwa Einstellungen, die in bestimmten Szenarien automatisch ausgelöst werden. Zum Beispiel kann eine Konfigurationseinstellung zum Durchführen bestimmter Abwandlungen an dem Wagen mit einem Polizeiwagen zusammenhängen, wenn der Polizist eine Verfolgung durch Einschalten der Sirenen des Wagens einleitet. Somit kann jeder Knoten nicht nur seine eigenen Konfigurationseinstellungen 210, sondern auch die Konfigurationseinstellungen 210 jedes anderen Knotens über das Ledger 204 kennen.
-
3 ist ein Ablaufdiagramm eines beispielhaften Verfahrens der vorliegenden Offenbarung. In einigen Ausführungsformen kann das Verfahren einen Vorgang 302 des Empfangens eines ersten Satzes von Konfigurationseinstellungen für ein erstes Konfigurationssystem des einen oder der mehreren Konfigurationssysteme eines ersten Knotens von einem oder der mehreren Knoten beinhalten. Der erste Satz von Konfigurationseinstellungen kann Einstellungen zum Steuern bestimmter Merkmale beinhalten, die mit einem bestimmten Knoten zusammenhängen. Zum Beispiel kann der Knoten ein Polizeiwagen sein und eine Konfigurationseinstellung kann das Durchführen einer Reihe von Handlungen beinhalten, wenn die Lichter des Polizeiwagens angeschaltet sind, wie etwa Verriegeln der Türen des Wagens, Initiieren einer Videoaufnahme usw. Eine beliebige Anzahl derartiger Konfigurationseinstellungen können mit einem Knoten zusammenhängen. Das Konfigurationssystem des Knotens kann ein System sein, das ermöglicht, dass die Konfigurationseinstellungen lokal auf dem Fahrzeug gespeichert werden, und kann auch für das Durchführen von beliebigen der durch die Konfigurationseinstellungen definierten Handlungen verantwortlich sein.
-
In einigen Ausführungsformen kann das Verfahren einen Vorgang 304 des Speicherns eines ersten Satzes von Konfigurationseinstellungen beinhalten, wobei das Ledger oder eine Kopie des Ledgers durch den einen oder die mehreren Knoten zugänglich ist. Somit können viele der Knoten über Konfigurationseinstellungen für beliebige der anderen Knoten informiert werden, über die das Ledger Informationen empfangen hat. Zum Beispiel kann es einen ersten Knoten, der ein erster Polizeiwagen ist, und einen zweiten Knoten, der ein zweiter Polizeiwagen ist, geben. Der erste Polizeiwagen und der zweite Polizeiwagen können unterschiedliche Konfigurationseinstellungen für ihre Konfigurationssysteme aufweisen. Diese Konfigurationseinstellungen können über das Ledger, das dem ersten Polizeiwagen zugeordnet ist, und das Ledger, das dem zweiten Polizeiwagen zugeordnet ist, geteilt werden, sodass sowohl der erste Polizeiwagen als auch der zweite Polizeiwagen Informationen über die Konfigurationseinstellungen der zwei Wagen aufweisen. Da die Konfigurationseinstellungen für alle der verschiedenen Arten von Knoten allen Knoten bekannt sind, kann die Neukonfiguration eines Knotens oder eines Konfigurationsknotens eines ähnlichen Typs wie ein bereits bestehender Knoten vereinfacht werden. Zum Beispiel kann der erste Polizeiwagen seine Konfigurationseinstellungen verlieren, aber da der zweite Polizeiwagen Zugriff auf ein Ledger hat, das Informationen über die Konfigurationseinstellungen des ersten Polizeiwagens enthält, kann der erste Polizeiwagen leicht mit den ursprünglichen Konfigurationseinstellungen neukonfiguriert werden.
-
In der vorstehenden Offenbarung wurde auf die beigefügten Zeichnungen Bezug genommen, die einen Bestandteil davon bilden und konkrete Umsetzungen darstellen, in denen die vorliegende Offenbarung praktisch umgesetzt werden kann. Es versteht sich, dass auch andere Umsetzungen verwendet und strukturelle Änderungen vorgenommen werden können, ohne vom Umfang der vorliegenden Offenbarung abzuweichen. Bezugnahmen in der Beschreibung auf „eine Ausführungsform“, „eine beispielhafte Ausführungsform“ usw. geben an, dass die beschriebene Ausführungsform ein(e) bestimmte(s) Eigenschaft, Struktur oder Merkmal aufweisen kann, wobei jedoch nicht unbedingt jede Ausführungsform diese(s) bestimmte Merkmal, Struktur oder Eigenschaft aufweisen muss. Darüber hinaus beziehen sich derartige Formulierungen nicht unbedingt auf die gleiche Ausführungsform. Wenn ein(e) bestimmte(s) Merkmal, Struktur oder Eigenschaft in Verbindung mit einer Ausführungsform beschrieben ist, wird der Fachmann ein(e) derartige(s) Merkmal, Struktur oder Eigenschaft in Verbindung mit anderen Ausführungsformen erkennen, ob diese nun ausdrücklich beschrieben sind oder nicht.
-
Umsetzungen der hierin offenbarten Systeme, Geräte, Vorrichtungen und Verfahren können einen Spezial- oder Universalcomputer umfassen oder verwenden, der Computerhardware beinhaltet, wie zum Beispiel einen oder mehrere Prozessoren und Systemspeicher, wie sie hierin erläutert werden. Umsetzungen innerhalb des Umfangs der vorliegenden Offenbarung können außerdem physische und andere computerlesbare Medien zum Transportieren oder Speichern von computerausführbaren Anweisungen und/oder Datenstrukturen beinhalten. Bei derartigen computerlesbaren Medien kann es sich um beliebige verfügbare Medien handeln, auf die durch ein Universal- oder Spezialcomputersystem zugegriffen werden kann. Bei computerlesbaren Medien, in denen computerausführbare Anweisungen gespeichert werden, handelt es sich um Computerspeichermedien (-vorrichtungen). Bei computerlesbaren Medien, die computerausführbare Anweisungen transportieren, handelt es sich um Übertragungsmedien. Somit können Umsetzungen der vorliegenden Offenbarung beispielsweise und nicht einschränkend mindestens zwei deutlich unterschiedliche Arten von computerlesbaren Medien umfassen: Computerspeichermedien (Computerspeichergeräte) und Übertragungsmedien.
-
Computerausführbare Anweisungen umfassen zum Beispiel Anweisungen und Daten, die bei Ausführung auf einem Prozessor einen Universalcomputer, Spezialcomputer oder eine Spezialverarbeitungsvorrichtung dazu veranlassen, eine bestimmte Funktion oder Gruppe von Funktionen durchzuführen. Die computerausführbaren Anweisungen können zum Beispiel Binärdateien, Zwischenformatanweisungen, wie etwa Assemblersprache, oder sogar Quellcode sein. Wenngleich der Gegenstand in für Strukturmerkmale und/oder methodische Handlungen spezifischer Sprache beschrieben worden ist, versteht es sich, dass der in den beigefügten Patentansprüchen definierte Gegenstand nicht notwendigerweise auf die vorstehend beschriebenen Merkmale oder Handlungen beschränkt ist. Die beschriebenen Merkmale und Handlungen sind vielmehr als beispielhafte Formen zum Umsetzen der Patentansprüche offenbart.
-
Wenngleich vorstehend verschiedene Ausführungsformen der vorliegenden Offenbarung beschrieben wurden, versteht es sich, dass diese lediglich als Beispiele und nicht zur Einschränkung dienen. Der Fachmann auf dem einschlägigen Gebiet wird erkennen, dass verschiedene Änderungen bezüglich Form und Detail daran vorgenommen werden können, ohne von Wesen und Umfang der vorliegenden Offenbarung abzuweichen. Somit sollten die Breite und der Umfang der vorliegenden Offenbarung nicht durch eine der vorstehend beschriebenen beispielhaften Ausführungsformen eingeschränkt sein, sondern lediglich gemäß den folgenden Patentansprüchen und ihren Äquivalenten definiert sein. Die vorstehende Beschreibung ist zum Zwecke der Veranschaulichung und Beschreibung dargelegt worden. Sie erhebt keinerlei Anspruch auf Vollständigkeit und soll die vorliegende Offenbarung nicht auf die genau offenbarte Form beschränken. Viele Modifikationen und Variationen sind in Anbetracht der vorstehenden Lehre möglich. Ferner ist anzumerken, dass eine beliebige oder alle der vorstehend genannten alternativen Umsetzungen in einer beliebigen gewünschten Kombination genutzt werden können, um zusätzliche Hybridumsetzungen der vorliegenden Offenbarung zu bilden. Zum Beispiel können sämtliche Funktionen, die in Bezug auf eine bestimmte Vorrichtung oder Komponente beschrieben wurden, durch eine andere Vorrichtung oder Komponente durchgeführt werden. Des Weiteren wurden zwar konkrete Vorrichtungseigenschaften beschrieben, doch können sich Ausführungsformen der Offenbarung auf zahlreiche andere Vorrichtungseigenschaften beziehen. Ferner versteht es sich, dass, obwohl Ausführungsformen in für Strukturmerkmale und/oder methodische Handlungen spezifischer Sprache beschrieben worden sind, die Offenbarung nicht notwendigerweise auf die konkreten beschriebenen Merkmale oder Handlungen beschränkt ist. Stattdessen sind die konkreten Merkmale und Handlungen als veranschaulichende Formen zum Umsetzen der Ausführungsformen offenbart. Mit Formulierungen, die konditionale Zusammenhänge ausdrücken, wie unter anderem „kann“, „könnte“ , „können“ oder „könnten“, soll im Allgemeinen vermittelt werden, dass gewisse Ausführungsformen gewisse Merkmale, Elemente und/oder Schritte beinhalten könnten, wohingegen andere Umsetzungen diese nicht beinhalten können, es sei denn, es ist konkret etwas anderes angegeben oder es ergibt sich etwas anderes aus dem jeweils verwendeten Kontext. Somit sind derlei Formulierungen, die konditionale Zusammenhänge ausdrücken, nicht so gemeint, dass Merkmale, Elemente und/oder Schritte für eine oder mehrere Ausführungsformen in irgendeiner Weise erforderlich sind.
-
In einem Aspekt der Erfindung beinhaltet das Verfahren Bestimmen, dass eine erste Variable, die mit dem ersten Satz von Konfigurationseinstellungen zusammenhängt, über einen ersten Fahrzeugnetzwerktyp nicht zugänglich ist, Bestimmen eines zweiten Fahrzeugnetzwerktyps zum Abrufen der ersten Variablen und Abrufen der ersten Variablen aus dem zweiten Fahrzeugnetzwerktyp.
-
In einem Aspekte der Erfindung umfassen der erste Fahrzeugnetzwerktyp und der zweite Fahrzeugnetzwerktyp ein Fahrzeugnetzwerk: ein Controller Area Network (CAN) oder einen Datenidentifikator (DID).
-
In einem Aspekt der Erfindung umfasst der erste Satz von Konfigurationseinstellungen einen ersten Konfigurationseinstellungspreis.
-
Gemäß der vorliegenden Erfindung ist ein System bereitgestellt, das Folgendes aufweist: ein oder mehrere Fahrzeuge, wobei das eine oder die mehreren Fahrzeuge ein oder mehrere Ausrüsterschnittstellenmodule (upfitter interface module - UIMs) umfassen und wobei das eine oder die mehreren Fahrzeuge ferner mindestens einen Prozessor umfassen und mindestens einen Speicher, der computerausführbare Anweisungen speichert, die, wenn sie durch den mindestens einen Prozessor ausgeführt sind, den mindestens einen Prozessor zu Folgendem veranlassen: Empfangen eines ersten Satzes von UIM-Einstellungen für ein erstes UIM eines ersten Fahrzeugs des einen oder der mehreren UIMs des einen oder der mehreren Fahrzeuge, Speichern des ersten Satzes von UIM-Einstellungen in einem Ledger, wobei das Ledger für das eine oder die mehreren Fahrzeuge zugänglich ist, Empfangen einer Anforderung zum Validieren eines zweiten Satzes von UIM-Einstellungen für das erste UIM des ersten Fahrzeugs, Vergleichen des zweiten Satzes von UIM-Einstellungen mit mindestens einer oder mehreren zuvor verwendete UIM-Einstellungen und einer oder mehreren UIM-Einstellungsregeln, Bestimmen, auf Grundlage des Vergleichs, dass der zweite Satz von UIM-Einstellungen validiert ist, und Senden einer Angabe, dass der zweite Satz von UIM-Einstellungen validiert sind, Umsetzen des zweiten Satzes von UIM-Einstellungen auf dem ersten Fahrzeug und Speichern des zweiten Satzes von UIM-Einstellungen und einer Angabe, dass der zweite Satz von UIM-Einstellungen mit dem ersten Fahrzeug dem Ledger zusammenhängt.
-
Gemäß einer Ausführungsform veranlassen die computerausführbaren Anweisungen den mindestens einen Prozessor ferner zu Folgendem: Vergleichen von Identifikationsinformationen für ein zweites Fahrzeug mit Identifikationsinformationen für das erste Fahrzeug, wobei die Identifikationsinformationen für das erste Fahrzeug in dem Ledger gespeichert sind, Bestimmen, dass die Identifikationsinformationen des zweiten Fahrzeugs mit den Identifikationsinformationen für das erste Fahrzeug übereinstimmen, Abrufen des ersten Satzes von UIM-Einstellungen für das erste Fahrzeug aus dem Ledger und Speichern des ersten Satzes von UIM-Einstellungen auf einem zweiten UIM für das zweite Fahrzeug.