DE102019115889A1 - Middlewareunterstützung für die fehlertoleratne ausführung auf einer adaptiven plattform für ein fahrzeug - Google Patents

Middlewareunterstützung für die fehlertoleratne ausführung auf einer adaptiven plattform für ein fahrzeug Download PDF

Info

Publication number
DE102019115889A1
DE102019115889A1 DE102019115889.3A DE102019115889A DE102019115889A1 DE 102019115889 A1 DE102019115889 A1 DE 102019115889A1 DE 102019115889 A DE102019115889 A DE 102019115889A DE 102019115889 A1 DE102019115889 A1 DE 102019115889A1
Authority
DE
Germany
Prior art keywords
vehicle
servers
control unit
vehicle control
middleware
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102019115889.3A
Other languages
English (en)
Inventor
Anand Ganpat Bhat
Soheil Samii
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of DE102019115889A1 publication Critical patent/DE102019115889A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0055Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with safety arrangements
    • G05D1/0077Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with safety arrangements using redundant signals or controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/029Adapting to failures or work around with other constraints, e.g. circumvention by avoiding use of failed parts
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0011Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
    • G05D1/0022Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement characterised by the communication link
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • G06F11/1625Error detection by comparing the output signals of redundant hardware in communications, e.g. transmission, interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2871Implementation details of single intermediate entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/567Integrating service provisioning from a plurality of service providers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/029Adapting to failures or work around with other constraints, e.g. circumvention by avoiding use of failed parts
    • B60W2050/0292Fail-safe or redundant systems, e.g. limp-home or backup systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • B60W2050/143Alarm means
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0967Systems involving transmission of highway information, e.g. weather, speed limits
    • G08G1/096708Systems involving transmission of highway information, e.g. weather, speed limits where the received information might be used to generate an automatic action on the vehicle control
    • G08G1/096725Systems involving transmission of highway information, e.g. weather, speed limits where the received information might be used to generate an automatic action on the vehicle control where the received information generates an automatic action on the vehicle control
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0967Systems involving transmission of highway information, e.g. weather, speed limits
    • G08G1/096733Systems involving transmission of highway information, e.g. weather, speed limits where a selection of the information might take place
    • G08G1/096741Systems involving transmission of highway information, e.g. weather, speed limits where a selection of the information might take place where the source of the transmitted information selects which information to transmit to each vehicle
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0967Systems involving transmission of highway information, e.g. weather, speed limits
    • G08G1/096766Systems involving transmission of highway information, e.g. weather, speed limits where the system is characterised by the origin of the information transmission
    • G08G1/096775Systems involving transmission of highway information, e.g. weather, speed limits where the system is characterised by the origin of the information transmission where the origin of the information is a central station
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/164Centralised systems, e.g. external to vehicles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/44Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/48Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Human Computer Interaction (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Traffic Control Systems (AREA)

Abstract

Ein Verfahren zum Steuern eines Fahrzeugs schließt Folgendes ein: Aufbauen einer Verbindung zwischen einem Client und einer Vielzahl von Servern durch einen Fahrzeugsteuereinheit, wobei die Vielzahl von Servern einen primären Server und mindestens einen Replikserver einschließt, wobei der mindestens eine Replikserver ein Replik des primären Servers ist; Erzeugen einer Datenanfrage an einen gegebenen Dienst an die Vielzahl von Servern durch die Fahrzeugsteuereinheit; als Reaktion auf die Datenanfrage der Erhalt von Antwortdaten von der Vielzahl von Servern über eine Middleware; Zusammenfügen der Antwortdaten von der Vielzahl von Servern durch die Middleware zur Erzeugung von Ergebnisdaten; Empfangen der Ergebnisdaten durch die Fahrzeugsteuereinheit; und Steuern des Fahrzeugs auf der Grundlage der Ergebnisdaten durch den Client.

Description

  • EINFÜHRUNG
  • Die vorliegende Offenbarung betrifft eine fehlertolerante Ausführung in einer adaptiven Middleware-Plattform für ein Fahrzeug.
  • Aktuelle Serienkraftfahrzeuge, wie etwa das moderne Automobil, sind ursprünglich mit einem Antriebsstrang ausgestattet, der so arbeitet, dass er das Fahrzeug antreibt und die Bordelektronik des Fahrzeugs mit Strom versorgt. In Automobilanwendungen wird beispielsweise der Fahrzeugantriebsstrang allgemein durch eine primäre Antriebsmaschine charakterisiert, die über ein Manuell- oder Automatik-Mehrgangschaltgetriebe und ein Achsantriebssystem (z. B. Differential, Achswelle usw.) Antriebskraft an die Bodenräder des Fahrzeugs abgibt. Automobile wurden in der Vergangenheit aufgrund ihrer hohen Verfügbarkeit und der relativ günstigen Kosten, des geringen Gewichts und des Gesamtwirkungsgrades von einer Hubkolben-Verbrennungsmotor-Baugruppe (ICE) angetrieben. Diesen Motoren schließen Zwei- und Viertakt-Dieselmotoren mit Verdichtungszündung (CI), Viertakt-Benzinmotoren mit Fremdzündung (SI), Sechstaktarchitekturen und Drehmotoren als einige nicht einschränkende Beispiele ein. Hybrid- und Vollelektrofahrzeuge hingegen nutzen alternative Energiequellen, um das Fahrzeug anzutreiben und so die Abhängigkeit von einem Motor auf Basis fossiler Brennstoffe zu minimieren oder zu beseitigen.
  • Hybridfahrzeug-Antriebsstränge nutzen mehrere Traktionsleistungsquellen zum Antreiben des Fahrzeugs, wobei sie am häufigsten eine Verbrennungsmotorbaugruppe in Verbindung mit einem batteriebetriebenen oder brennstoffzellenbetriebenen Elektromotor verwenden. Ein Hybrid-Elektrofahrzeug (HEV) beispielsweise speichert sowohl elektrische als auch chemische Energie und wandelt diese in mechanische Energie um, um die Bodenräder des Fahrzeugs anzutreiben. Das HEV ist in der Regel mit einer elektrischen Maschine (E-Maschine), oft in Form einer Elektromotor-/Generatoreinheit (MGU) ausgestattet, die parallel oder in Reihe mit einem ICE betrieben wird. Die Hybridarchitekturen der Serie beziehen die gesamte Traktionskraft von Elektromotoren und beseitigen so jede mechanische Antriebsverbindung zwischen Motor und Achsantriebselementen. Im Vergleich dazu weisen die Motor- und Motor-/Generatorbaugruppen paralleler Hybridarchitekturen jeweils eine mechanische Antriebskupplung zur Kraftübertragung auf. Da Hybridfahrzeuge so konzipiert sind, dass sie ihre Leistung aus anderen Quellen als dem ICE beziehen, können Motoren in HEVs ganz oder teilweise abgeschaltet werden, während das Fahrzeug von den Elektromotoren angetrieben wird.
  • Ein Vollelektrofahrzeug (FEV) - umgangssprachlich als „Elektroauto“ bezeichnet - ist eine alternative Art der Fahrzeugkonfiguration mit Elektroantrieb, die den Verbrennungsmotor und die dazugehörigen peripheren Komponenten vollständig aus dem Antriebsstrang eliminiert und sich ausschließlich auf elektrische Traktionsmotoren für den Fahrzeugantrieb stützt. Batterie-Elektrofahrzeuge (BEV) nutzen beispielsweise die in einem wiederaufladbaren, integrierten Batteriepack gespeicherte Energie und nicht einen Kraftstofftank, eine Brennstoffzelle oder ein Schwungrad, um die Elektromotoren anzutreiben. Das Elektrofahrzeug verwendet ein elektrisches Energieverteilungssystem, das über ein Motorsteuerungsmodul (PCM) gesteuert wird, um elektrische Energie zwischen dem integrierten Batteriepack und dem/den Elektromotor(en) hin- und herzuleiten. Plug-in-Elektrofahrzeug-(PEV)-Varianten ermöglichen das Aufladen des Batteriepacks über eine externe Stromquelle, wie etwa ein öffentliches Stromnetz über eine private oder kommerzielle Fahrzeugladestation.
  • Da sich die Fahrzeugverarbeitungs-, Kommunikations- und Sensorfähigkeiten weiter verbessern, werden die Hersteller weiterhin mehr systemautomatisierte Fahrfähigkeiten anbieten, mit dem Bestreben, letztendlich völlig autonome Fahrzeuge anzubieten, die in der Lage sind, zwischen heterogenen Fahrzeugtypen sowohl in städtischen als auch in ländlichen Szenarien zu agieren. Originalausrüstungshersteller (OEM) bewegen sich in Richtung von Fahrzeug-zu-Fahrzeug - (V2V) und Fahrzeug-zu-Infrastruktur (V2I) „sprechenden“ Fahrzeugen, wobei sie drahtlose Konnektivität (z. B. eigene Nahfeldkommunikation oder DSRC) mit Fahrautomatisierungsmerkmalen höherer Ebene integrieren, die autonome Lenk-, Brems- und Antriebsstrangsysteme verwenden, um einen fahrerlosen Fahrzeugbetrieb zu ermöglichen. Automatisierte Routenerzeugungssysteme verwenden Fahrzeugzustand und Fahrdynamiksensoren, Straßenkartendaten und Pfadvorhersagealgorithmen, um eine Fahrzeugroutenplanung und Routenneuplanungaktualiserung mit automatisierten Spurmitte- und Spurwechselvorhersagen, Szenarienplanung usw. bereitzustellen. Zum Zwecke dieser Offenbarung werden „automatisierte Fahrzeuge“ und „autonome Fahrzeuge“ und „verbundene automatisierte/autonome Fahrzeuge“ (CAVs) synonym und austauschbar zur Bezeichnung von Fahrzeugen mit teilweise unterstützten und/oder voll autonomen Fahrfähigkeiten verwendet werden, einschließlich aller relevanten Fahrzeugplattformen, die von der Society of Automotive Engineers (SAE) als Fahrzeuge der Stufen 2, 3, 4 oder 5 klassifiziert werden.
  • Viele Autos sind nun mit einem fahrzeuginternen Fahrzeugnavigationssystem ausgestattet, das einen globalen Positionsbestimmungssystem (GPS)-Transceiver in Zusammenarbeit mit Navigationssoftware und einer Abbildungsdatenbank verwendet, um Fahrbahntopographie, Verkehrs- und Geschwindigkeitsbegrenzungsinformationen zu erhalten, die dem aktuellen Standort des Fahrzeugs zugeordnet sind. Fahrerassistenzsysteme (ADAS) und autonome Fahrsysteme sind oft in der Lage, bestimmte automatisierte Fahrmanöver auf der Grundlage von durch das fahrzeuginterne Navigationssystem erhaltenen Straßeninformationen anzupassen. So nutzen beispielsweise das Ad-hoc-netzwerkbasierte ADAS GPS- und Kartierungsdaten in Verbindung mit Multi-Hop-Geocast V2V- und V2I-Datenaustausch, um automatisierte Fahrzeugmanöver und Antriebssteuerungen zu erleichtern. Während des unterstützten und nicht unterstützten Fahrzeugbetriebs kann das residente Navigationssystem eine empfohlene Fahrtroute auf der Grundlage einer geschätzten kürzesten Zeit oder geschätzten kürzesten Entfernung zwischen einem Routenstartpunkt und einem Routenziel für eine gegebene Fahrt bestimmen. Diese empfohlene Fahrtroute kann dann als Kartenspur oder als Turn-by-Turn-Fahrtanweisungen auf einer geodätisch codierten und kommentierten Karte angezeigt werden. Solche Ansätze zur Routenplanung, während wirksam bei der Bestimmung des/der kürzesten Wegs/Zeit bis zu einem gewünschten Ziel, berücksichtigen nicht die energieeffizientesten Routen oder die günstigsten Routen für die Steuerung des Fahrzeugbetriebs.
  • KURZDARSTELLUNG
  • Die vorliegende Offenbarung beschreibt ein Verfahren zur Steuerung des Fahrzeugs mit einer Middleware. Das Verfahren ermöglicht eine kosteneffektive Replikation, während Ende-zu-Ende-Garantien beibehalten werden und unterschiedliche Replikationsstrategien unterstützt werden. Zum Beispiel stellt das Verfahren eine Kostenersparnis in Bezug auf Rechen- und Kommunikationsbandbreitenressourcen im Vergleich zu herkömmlichen aktiven Replikationstechniken bereit. Anwendungsprogrammierer können Anwendungen agnostisch von den Replikationsüberlegungen schreiben.
  • In einem Beispiel schließt das Verfahren Folgendes ein: Aufbauen einer Verbindung zwischen einem Client und einer Vielzahl von Servern durch eine Fahrzeugsteuereinheit, wobei die Vielzahl von Servern einen primären Server und mindestens einen Replikserver einschließt, wobei der mindestens eine Replikserver eine Replikation des primären Servers ist; Erzeugen einer Datenanfrage an einen gegebenen Dienst an die Vielzahl von Servern durch die Fahrzeugsteuereinheit; als Reaktion auf die Datenanfrage der Erhalt von Antwortdaten von der Vielzahl von Servern über eine Middleware; Zusammenfügen der Antwortdaten von der Vielzahl von Servern durch die Middleware zur Erzeugung von Ergebnisdaten; Empfangen der Ergebnisdaten durch die Fahrzeugsteuereinheit; und Steuern des Fahrzeugs auf der Grundlage der Ergebnisdaten durch die Fahrzeugsteuereinheit. Das Verfahren unterstützt auch eine Vielzahl von Clients, wobei die Vielzahl von Clients einen primären Client und mindestens einen Replikationsclient einschließt, die mit einem Server verbunden sind und in einem allgemeineren Fall eine Vielzahl von Clients, die mit einer Vielzahl von Servern verbunden ist. Eine einzelne Anwendung kann sowohl als Client wie auch als Server wirken.
  • Das Verfahren kann ferner das Erzeugen einer Vielzahl von Benachrichtigungen durch die Vielzahl von Servern als Reaktion auf das Herstellen der Verbindung zwischen dem Client und der Vielzahl von Servern und das Filtern von Duplikatbenachrichtigungen von der Vielzahl von Benachrichtigungen durch die Middleware einschließen, um eine gefilterte Benachrichtigung zu erzeugen. Das Verfahren kann ferner ein Empfangen der gefilterten Benachrichtigung durch den Client und das Registrieren des gleichen Dienstes einer eine Vielzahl von Diensten mit der Middleware durch die Vielzahl von Servern einschließen. Das Verfahren kann ferner einschließen, dass durch die Middleware eine Liste von Instanzen für den gleichen Dienst der Vielzahl von Diensten gepflegt wird. Im Falle mehrerer Clients und eines einzelnen Servers kann das Verfahren auch das Filtern von Duplikat-Anforderungen durch die Middleware einschließen.
  • Das Verfahren kann ferner das Bereitstellen einer Zusammenführungsstrategie durch den Client an die Vielzahl von Servern und das Bereitstellen einer Filterstrategie durch die Fahrzeugsteuereinheit an die Vielzahl von Servern einschließen. Das Verfahren kann ferner das Aktivieren eines Alarms durch die Fahrzeugsteuereinheit als Reaktion auf das Empfangen der gefilterten Benachrichtigung von der Middleware einschließen.
  • Die vorliegende Offenbarung beschreibt auch ein Fahrzeug mit einer Fahrzeugkarosserie und einer Fahrzeugsteuereinheit, die an der Fahrzeugkarosserie angebracht ist. Die Fahrzeugsteuereinheit ist mit mindestens einem Client und einer Vielzahl von Servern programmiert. Die Vielzahl von Servern schließt einen primären Server und mindestens einen Replikserver ein, und der mindestens eine Replikserver ist eine Replikation des primären Servers. Der Client steht in Kommunikation mit der Vielzahl von Servern. Der Client ruft die Middleware auf, um eine Verbindung zwischen dem Client und den mehreren Servern herzustellen. Die Fahrzeugsteuereinheit ist programmiert, um das oben beschriebene Verfahren auszuführen.
  • Die obigen Merkmale und Vorteile und andere Merkmale und Vorteile der vorliegenden Lehren werden aus der folgenden detaillierten Beschreibung der besten Arten zum Ausführen der Lehren in Verbindung mit den beigefügten Zeichnungen leicht ersichtlich.
  • Figurenliste
    • 1 ist eine schematische Darstellung eines repräsentativen Kraftfahrzeugs mit einem Netzwerk von Steuereinheiten, Sensorvorrichtungen und Kommunikationsvorrichtungen zum Ausführen automatisierter Fahrvorgänge gemäß Aspekten der vorliegenden Offenbarung.
    • 2 ist eine schematische Darstellung einer Hardwarearchitektur eines Systems zum Herstellen einer Kommunikation zwischen einem primären Server, wenigstens einem primären Replikserver und einem Client, wobei der Client eine Fahrzeugsteuereinheit ist.
    • 3 ist ein schematisches Diagramm einer Softwarearchitektur des in 2 gezeigten Systems.
    • 4 ist ein Flussdiagramm eines Verfahrens zum Steuern des Fahrzeugs.
  • DETAILLIERTE BESCHREIBUNG
  • Diese Offenbarung ist anfällig für Ausführungsformen in vielen verschiedenen Formen. Repräsentative Ausführungsformen der Offenbarung werden in den Zeichnungen gezeigt und hierin im Detail mit dem Verständnis beschrieben, dass diese repräsentativen Beispiele als eine Veranschaulichung der offenbarten Prinzipien und nicht als Begrenzungen der umfassenden Gesichtspunkte der Offenbarung bereitgestellt werden. Insofern sollten Elemente und Einschränkungen, die beispielsweise in den Abschnitten „Zusammenfassung“, „Einführung“ „Kurzdarstellung“, und „Detaillierte Beschreibung“ beschrieben werden, aber nicht ausdrücklich in den Ansprüchen dargelegt sind, nicht einzeln oder gemeinsam durch Implikation, Schlussfolgerung oder anderweitig in die Ansprüche aufgenommen werden.
  • Für die Zwecke der vorliegenden detaillierten Beschreibung, sofern nicht ausdrücklich abgelehnt: Singular schließt Plural ein und umgekehrt; die Worte „und“ und „oder“ sollen sowohl verbindend als auch trennend sein; die Worte „beliebige“ und „alle“ sollen beide „beliebige und alle“ bedeuten; und die Worte „einschließlich“, „beinhaltend“, „umfassend“ und „innehabend“ und dergleichen sollen „einschließlich ohne Beschränkung“ bedeuten. Darüber hinaus können hierin Wörter der Annäherung, wie etwa „ungefähr“, „fast“, „im Wesentlichen“, „etwa“ und dergleichen, im Sinne von „um, nahezu oder „nahezu bei“ oder „innerhalb von 0-5 % von“ oder „innerhalb annehmbarer Fertigungstoleranzen“ oder jede beliebige logische Kombination davon beispielsweise verwendet werden. Schließlich können sich Richtungsadjektive und Adverbien, wie etwa vorwärts, rückwärts, innen, außen, steuerbord, backbord, vertikal, horizontal, oben, unten, vorne, hinten, links, rechts usw., auf ein Kraftfahrzeug beziehen, wie etwa ein vorwärts fahrendes Kraftfahrzeug, wenn dieses auf einer normalen Fahrbahnoberfläche betrieben wird.
  • Bezug nehmend auf die Zeichnungen, in denen sich gleiche Referenznummern auf gleiche Merkmale in den verschiedenen Ansichten beziehen, wird in 1 ein repräsentatives Fahrzeug gezeigt, welches im Allgemeinen mit 10 bezeichnet und hierin zum Zwecke der Beschreibung als eine Limousine in der Art eines Personenkraftwagens dargestellt ist. Verpackt in einer Fahrzeugkarosserie 12 des Fahrzeugs 10, z. B. verteilt über die verschiedenen Fahrzeugabteile, ist ein Bordnetz von elektronischen Vorrichtungen zum Ausführen von einem oder mehreren assistierten oder automatisierten Fahrbetrieben. Das dargestellte Fahrzeug 10 - im Folgenden auch als „Kraftfahrzeug“ oder verkürzend als „Fahrzeug“ bezeichnet - ist nur eine exemplarische Anwendung, mit der Aspekte und Merkmale dieser Offenbarung erfahren werden können. In gleicher Weise ist die Implementierung der vorliegenden Konzepte für die nachfolgend diskutierte spezifische Computernetzwerkarchitektur auch als beispielhafte Anwendung der hierin offenbarten Neuerungen zu werten. Daher versteht es sich, dass Aspekte und Merkmale dieser Offenbarung auf andere Systemarchitekturen angewendet werden können, die für verschiedene automatisierte Fahrbetriebe verwendet werden und für jede logisch relevante Art von Kraftfahrzeug implementiert sind. Darüber hinaus wurden nur ausgewählte Komponenten des Netzwerks und Fahrzeugs gezeigt und werden nachstehend in weiteren Einzelheiten beschrieben. Trotzdem können die hier diskutierten Kraftfahrzeuge und Netzwerkarchitekturen zahlreiche weitere und alternative Merkmale und andere verfügbare periphere Komponenten zum Beispiel zur Durchführung der verschiedenen Verfahren und Funktionen dieser Offenbarung einschließen. Schließlich sind die hierin dargestellten Zeichnungen nicht notwendigerweise maßstabsgetreu und werden lediglich zu Anweisungszwecken bereitgestellt. Somit sind die spezifischen und relativen Abmessungen, die in den Zeichnungen dargestellt werden, nicht als einschränkend auszulegen.
  • Das repräsentative Fahrzeug 10 von 1 ist ursprünglich mit einer Fahrzeug-Telekommunikations- und Informations („Telematik“)-Einheit 14 ausgestattet, die drahtlos (z. B. über Mobilfunkmasten, Basisstationen, V2X und/oder Mobilvermittlungsstellen (MSCs) usw.) mit einem Kommunikationsnetzwerk 24 kommuniziert. Das Kommunikationsnetz 24 kann ein zellulares Netz und/oder ein Satellitennetzwerk sein. Einige der anderen Fahrzeug-Hardwarekomponenten 16, die allgemein in 1 gezeigt werden, schließen als nicht einschränkende Beispiele eine elektronische Videoanzeigevorrichtung 18, ein Mikrofon 28, einen oder mehrere Audiolautsprecher 30 und diverse Eingabesteuerungen 32 (z. B. Tasten, Knöpfe, Schalter, Trackpads, Tastaturen, Touchscreens usw.) ein. Im Allgemeinen können diese Telematikhardwarekomponenten 16 zumindest teilweise als residentes Fahrzeugnavigationssystem fungieren, z. B. um eine unterstützte und/oder automatisierte Fahrzeugnavigation zu ermöglichen, und als Mensch/Maschine-Schnittstelle (HMI), z. B. um einem Benutzer zu ermöglichen, mit der Telematikeinheit 14 und anderen Systemen und Systemkomponenten des Fahrzeugs 10 zu kommunizieren. Ein Mikrofon 28 stellt einem Fahrzeuginsassen Mittel zur Verfügung, um Sprachbefehle oder andere hörbare Befehle einzugeben; das Fahrzeug 10 kann mit einer integrierten Sprachverarbeitungseinheit ausgestattet sein, die mit einem Softwaremodul zur rechnerischen Spracherkennung programmiert ist. Umgekehrt stellt der Lautsprecher 30 einem Fahrzeuginsassen eine hörbare Ausgabe bereit und kann entweder ein eigenständiger eigens für die Verwendung mit der Telematikeinheit 14 vorgesehener Lautsprecher oder Teil des Audiosystems 22 sein. Das Audiosystem 22 ist betriebsfähig mit einer Netzwerkverbindungsschnittstelle 34 und einem Audiobus 20 verbunden, um über eine oder mehrere Lautsprecherkomponenten analoge Informationen zu empfangen und als Ton wiederzugeben.
  • Kommunikativ mit der Telematikeinheit 14 gekoppelt ist eine Netzwerkverbindungsschnittstelle 34, zu deren geeigneten Beispielen Twisted Pair/LWL-Ethernet-Switch, interner/externer paralleler/serieller Kommunikationsbus, eine LAN-Schnittstelle (Local Area Network), ein Controller Area Network (CAN), ein medienorientierter Systemtransfer (MOST), eine lokale Verbindungsnetzwerk-Schnittstelle (LIN) und dergleichen gehören. Andere geeignete Kommunikationsschnittstellen können solche einschließen, die den Normen und Spezifikationen von ISO, SAE und IEEE entsprechen. Die Netzwerkverbindungsschnittstelle 34 ermöglicht es der Fahrzeughardware 16, Signale untereinander und mit verschiedenen Systemen und Teilsystemen sowohl innerhalb als auch „resident“ zur Fahrzeugkarosserie 12 und außerhalb oder „entfernt“ von der Fahrzeugkarosserie 12 zu senden und zu empfangen. Dadurch kann das Fahrzeug 10 verschiedene Fahrzeugfunktionen ausführen, wie etwa die Steuerung der Fahrzeuglenkung, die Steuerung des Getriebes des Fahrzeugs, die Steuerung der Motordrosselklappe, das Ein- und Ausschalten des Bremssystems und andere automatisierte Fahrfunktionen. So empfängt und/oder überträgt beispielsweise die Telematikeinheit 14 Daten von/zu einer ADAS-Elektroniksteuereinheit (ECU) 52, einem Motorsteuermodul (ECM) 54, einem Antriebsstrangsteuermodul (PCM) 56, einem Sensor-Schnittstellenmodul (-modulen) 58, einem Bremssystemsteuermodul (BSCM) 60 und verschiedenen anderen Fahrzeug-ECUs, wie beispielsweise einem Getriebesteuermodul (TCM), einem Klimasteuermodul (CCM) usw.
  • Mit weiterem Bezug auf 1 ist die Telematikeinheit 14 eine integrierte Rechenvorrichtung, die eine Mischung von Diensten sowohl einzeln als auch durch ihre Kommunikation mit anderen vernetzten Vorrichtungen bereitstellt. Diese Telematikeinheit 14 besteht im Allgemeinen aus einem oder mehreren Prozessoren 40, von denen jeder als diskreter Mikroprozessor ausgeführt sein kann, einer anwendungsspezifischen integrierten Schaltung (ASIC), einem dedizierten Steuermodul usw. Das Fahrzeug 10 kann eine zentralisierte Fahrzeugsteuerung über eine Zentralverarbeitungseinheit (CPU) oder Fahrzeugsteuereinheit 36 anbieten, die betriebsfähig mit einer oder mehreren elektronischen Speichervorrichtungen 38 gekoppelt ist, die jeweils in Form einer CD-ROM, Magnetplatte, IC-Vorrichtung, eines Halbleiterspeichers (z. B. verschiedene Arten von RAM oder ROM) usw. vorliegen können, und einer Echtzeituhr (RTC) 42. Fahrzeugkommunikationsfähigkeiten mit großer Reichweite mit externen vernetzten Remote-Vorrichtungen können über einen Mobilfunk-Chipsatz/eine Mobilfunk-Komponente, einen Navigations- und Ortungs-Chipsatz/eine Navigations- und Ortungs-Komponente (z. B. Global Positioning System (GPS)-Sender-Empfänger) oder ein drahtloses Modem oder mehrere dieser genannten Vorrichtungen bereitgestellt werden, die alle gemeinsam bei 44 dargestellt sind. Die drahtlose Nahbereichsverbindung kann über eine drahtlose Nahbereichskommunikationsvorrichtung 46 (z. B. eine Bluetooth®-Einheit oder einen Nahfeldkommunikationssender/Empfänger), eine eigene Kurzstreckenkommunikationskomponente 48 (DSRC) und/oder eine Doppelantenne 50 bereitgestellt werden. Es versteht sich, dass das Fahrzeug 10 ohne eine oder mehrere der oben genannten Komponenten implementiert werden kann oder zusätzliche Komponenten und Funktionen einschließen kann, wie es für einen bestimmten Endzweck gewünscht wird. Die verschiedenen vorstehend beschriebenen Kommunikationsvorrichtungen können konfiguriert werden, um Daten als Teil einer periodischen Übertragung in einem V2V-Kommunikationssystem oder einem anderen Vehicle-to-Everything (V2X)-Kommunikationssystem auszutauschen, z. B. Vehicle-to-Infrastructure (V2I), Vehicle-to-Pedestrian (V2P) und/oder Vehicle-to-Device (V2D).
  • Die Fahrzeugsteuereinheit 36 empfängt Sensordaten von einer oder mehreren Erfassungsvorrichtungen, die beispielsweise Fotodetektion, Radar, Laser, Ultraschall, Optik, Infrarot oder eine andere geeignete Technologie zur Durchführung eines automatisierten Fahrbetriebs verwenden. Gemäß dem veranschaulichten Beispiel kann das Fahrzeug 10 mit einer oder mehreren Digitalkameras 62, einem oder mehreren Reichweitensensoren 64, einem oder mehreren Fahrzeugdrehzahlsensoren 66, einem oder mehreren Fahrdynamiksensoren 68 und jedweder erforderlichen Filter-, Klassifizierungs-, Fusions- und Analysehardware und Software zur Verarbeitung von Sensorrohdaten ausgestattet sein. Eine Digitalkamera 62 kann einen CCD-Sensor (charge coupled device) oder einen anderen geeigneten optischen Sensor verwenden, um Bilder zu erzeugen, die ein Sichtfeld des Fahrzeugs 10 anzeigen, und kann für die kontinuierliche Bilderzeugung konfiguriert werden, z. B. mindestens etwa 35 Bilder, die pro Sekunde erzeugt werden. Zum Vergleich kann der Entfernungssensor 64 reflektierte Funk-, elektromagnetische oder lichtbasierte Wellen (z. B. Radar, EM induktiv, Lichtdetektion und -entfernung (LIDAR) usw.) ausstrahlen und erfassen, um beispielsweise Anwesenheit, geometrische Abmessungen und/oder Nähe eines Objekts zu erfassen. Der Fahrzeuggeschwindigkeitssensor 66 kann verschiedene Formen annehmen, einschließlich Radgeschwindigkeitssensoren, die Radgeschwindigkeiten messen, die dann zum Bestimmen der Echtzeit-Fahrzeuggeschwindigkeit verwendet werden. Darüber hinaus kann der Fahrdynamiksensor 68 in der Art eines ein- oder dreiachsigen Beschleunigungssensors, eines Winkelgeschwindigkeitssensors, eines Inklinometers usw. zum Erfassen von Längs- und Querbeschleunigungen, Gier-, Roll- und/oder Neigungsraten oder anderen dynamischen Parametern vorliegen. Unter Verwendung von Daten aus den Erfassungsvorrichtungen 62, 64, 66, 68 identifiziert die Fahrzeugsteuereinheit 36 Objekte innerhalb eines erfassbaren Bereichs des Fahrzeugs 10 und bestimmt Attribute des Endobjekts, wie etwa Größe, relative Position, Anfahrwinkel, relative Geschwindigkeit usw.
  • Unter Bezugnahme auf 2 schließt in dieser Offenbarung ein System 72 einen oder mehrere Clients 70 und eine Vielzahl von Servern 74 jeweils in Kommunikation mit dem Client 70 durch das Kommunikationsnetzwerk 34 und/oder 24 ein. In der vorliegenden Offenbarung wird die Fahrzeugsteuereinheit 36 als Client 70 betrachtet. Wie hierin verwendet, bedeutet der Begriff „Client“ eine Software, die in der Lage ist, Informationen und Anwendungen von einem Server zu erhalten. Somit ist der Client 70 (der auf der Fahrzeugsteuereinheit 36 laufen kann) in der Lage, Informationen und Anwendungen von der Vielzahl von Servern 74 zu erhalten. Der Begriff „Server“ bedeutet eine Softwareanwendung, die den Zugriff auf eine zentrale Ressource oder Service in einem Netzwerk verwaltet. Somit verwaltet jeder der Server 74 Zugriff auf eine zentralisierte Ressource oder einen Dienst durch das Kommunikationsnetz 34 und/oder 24. Die von den Servern 74 bereitgestellten Dienste können Folgendes einschließen, ohne darauf beschränkt zu sein: Kryptoservice, Diagnostik, Sicherheitsverwaltung, Softwarekonfiguration, autonome Fahrdienste und V2X Dienste usw. Die Server 74 sollten Daten erzeugen, die mit den Anforderungen des Client 70 kompatibel sind.
  • Die Vielzahl von Servern 74 schließt einen primären Server 76 und mindestens einen Replikserver 78 ein. Der primäre Server 76 kann auf einer physikalischen Rechenvorrichtung laufen, einschließlich eines Prozessors, um Anfragen von dem Client 70 über das Kommunikationsnetzwerk 34 und/oder 24 zu verarbeiten und Daten an ihn zu liefern. Somit steht der primäre Server 76 in Kommunikation mit dem Client 70 (der auf der Fahrzeugsteuereinheit 36 laufen kann) durch das Kommunikationsnetzwerk 34 und/oder 24. Der Replikserver 78 ist ein Replik des primären Servers 76 und kann auf einer physischen Recheneinrichtung laufen, einschließlich eines Prozessors, um Anfragen von dem Client 70 über das Kommunikationsnetz 24 zu verarbeiten und Daten dorthin zu liefern. Alternativ oder zusätzlich kann der Replikserver 78 auf einer virtuellen Maschine laufen. Wie hierin verwendet, bezeichnet der Begriff „Replikserver“ einen Server, der dieselbe Software (z. B. Anwendungen und Dienste) und Daten wie der primäre Server 76 enthält, um Fehlertoleranz für das System 72 bereitzustellen. In der vorliegenden Offenbarung bezeichnet der Begriff „Fehlertoleranz“ eine Eigenschaft, die es dem System 72 ermöglicht, in dem Fall eines Ausfalls einiger (oder bei einem oder mehreren Fehler in) seiner Komponenten weiterhin ordnungsgemäß zu arbeiten. Zum Beispiel ist das System 78 aufgrund des Replikservers 72 zu einem kontinuierlichen Betrieb in der Lage, selbst wenn der primäre Server 76 ausfällt. Obwohl in der 2 nur ein Replikserver 78 gezeigt wird, ist vorgesehen, dass das System 72 mehr als einen Replikserver 78 einschließen kann, um seine Fehlertoleranz zu verbessern. Der Replikserver 78 ist programmiert zur Ausführung einer oder mehrere Typen von Software-Replikation, wie etwa aktiver Klon, Hot Standby, Warm Standby, Cold Standby und/oder Frigid Standby. Beispielsweise empfängt der Replikserver 78, wenn er als aktiver Klon arbeitet, Eingaben von dem Client 70 (die auf der Fahrzeugsteuereinheit 36 laufen können) zu anderen Zeiten als der primäre Server 76, und die aktuellsten Daten (d. h. mit späteren Zeiteingaben) können verwendet werden. Es ist vorgesehen, dass das System 72 eine passive Replikation (anstatt aktiver Replikation) durchführen kann. In der passiven Replikation subskribiert der Replikserver 78 den primären Server 76 und empfängt Zustands- und Gesundheitsinformationen des primären Servers 76. Der Client 70 kann so programmiert werden, dass er die aktuellsten Daten (d. h. die Daten mit dem neuesten Zeitstempel) von den Servern 74 erhält. Der primäre Server 76 und der Replikserver 78 können Daten über den aktuellen Standort (bestimmt unter Verwendung des GPS-Transceivers) des Fahrzeugs 10 zu unterschiedlichen Zeiten empfangen. Durch das Vorhandensein mindestens eines Replikservers 78 kann der Client 70 (der auf der Fahrzeugsteuereinheit 36 laufen kann) selbst dann Informationen und Anwendungen von einem der Replikserver 78 erhalten, wenn der primäre Server 76 ausfällt. Ebenso kann der Client 70 noch Informationen und Anwendungen von dem primären Server 76 empfangen, wenn einer der Replikserver 78 ausfällt. Die Replikserver 78 stellen replizierende Dienste (d. h. implizite mehrere Instanziierung durch Start/Durchführung der gleichen ausführbaren Anwendung mehrere Male) bereit. Jeder der Replikserver 78 ist identisch mit dem primären Server 76. Die Replikserver 78 können zwei verschiedene ausführbare Programme aufweisen, die denselben Dienst bereitstellen.
  • Unter Bezugnahme auf 3 kann das System 72 eine Softwarearchitektur 80 zum Ausführen der geeigneten Funktionalität des Fahrzeugs 10 aufweisen und kann als verteiltes System bezeichnet werden. Die Software-Architektur 80 schließt eine Anwendungsschicht 82 und eine Middleware-Schicht 84 ein. In der vorliegenden Offenbarung bedeutet der Ausdruck „Middleware“ eine Computersoftware, die Dienste für Softwareanwendungen jenseits derjenigen bereitstellt, die von dem Betriebssystem verfügbar sind. Die Anwendungsschicht 82 schließt einen primären Server 76, mindestens eine Serverreplikation 78 und einen Client 70 ein. Wie oben erläutert kann das System 72 mehr als einen Replikserver 78 einschließen. Die Middleware-Schicht 84 kann einfach als Middleware bezeichnet werden und wirkt als Brücke zwischen: (1) einem Client 70 und (2) dem Server 76 oder der Serverreplik 78. Die Middleware-Schicht 84 schließt eine Laufzeitumgebung ein zum Verwalten von Kommunikationen zwischen: (1) dem Client 70 und (2) dem Server 76 und der Serverreplik 78. Beispielsweise kann es sich bei der Middleware-Schicht 84 um AUTOSAR™ oder eine andere geeignete Middleware handeln. Die Middleware-Schicht 84 schließt ferner eine Dienstregistrierung 94 ein. In der vorliegenden Offenbarung bedeutet der Begriff „Dienstregistrierung“ eine Datenbank von Diensten, deren Instanzen und ihrer Position. Somit ist das Dienstregistrierung 94 unter anderem eine Datenbank, die mit einer Information darüber ausgestattet ist, wie Anforderungen an Dienstinstanzen zu senden sind. In dieser Softwarearchitektur 80 registrieren der Server 76 und die Serverreplikation 78 einen Dienst (einschließlich Servicebezeichnung und sein entsprechendes Datenformat) bei der Middleware-Schicht 84 (wie durch die Pfeile R angegeben). Jeder der Server 76 und der eine oder die mehreren Serverreplikationen 78 registrieren denselben Dienst (mit demselben Dienstnamen und Datenformat) bei der Dienstregistrierung 94 der Middleware-Schicht 84. Die Middleware-Schicht 84 kann Software einschließen, um einen Vektor von aktiven Proxys zu pflegen (d. h. diesen zu übernehmen), die im Grunde Verbindungsobjekte mit verschiedenen Serverinstanzen sind. Der Client 70 findet der Dienst (durch dessen Bezeichnung und gemäß einer Zusammenführungsstrategie) auf der Middleware-Schicht 84 (wie durch den Pfeil F angezeigt). Beispielsweise tätigt der Client 70 einen Aufruf einer Anwendungsprogrammierschnittstelle (API) auf der Middleware, um mit der Suche nach verfügbaren Diensten zu beginnen. Der Client 70 kann einen Rückruf für eine Dienstregistrieraktualisierung registrieren. Als Reaktion darauf aktualisiert die Middleware-Schicht 84 die Dienstregistrierung auf der Grundlage eines Registratur-Aktualisierungsereignisses. Die Middleware-Schicht 84 kann auch eine dynamische Dienstentdeckung als Reaktion auf den Rückruf für eine Dienstregistrierungs-Aktualisierung initiieren. Jeder des Servers 76 und der Serverreplikationen 78 sendet Antwortdaten an die Middleware-Schicht 84, wie durch die Pfeile S in Reaktion auf eine Datenanforderung von dem Client 70 angezeigt. Die Middleware-Schicht 84 führt eine Zusammenführungsstrategie aus, um die von dem Server 76 empfangenen Antwortdaten und die Serverreplikationen 78 zu fusionieren, um Ergebnisdaten zu erhalten. Um die von den Servern 74 empfangenen Antwortdaten zusammenzufhren, wird der Client 70 mit einer Zusammenführungsstrategie programmiert, wie beispielsweise Bestimmen des Durchschnitts, Mittelwerts und/oder Medians (unter anderem) der Daten, die von dem primären Server 76 und dem/den Replikservern 78 erhalten werden. Der Client 70 kann auch mit Subskriptions/Nicht-Subskriptionsverfahren und einer Datenvalidierungsfunktion programmiert werden. Die Middleware-Schicht 84 sendet dann die Ergebnisdaten aus der Zusammenführungsstrategie zu dem Client 70 (wie durch den Pfeil RD angezeigt), um die geeignete Funktion auszuführen. Die von den Servern 74 über die Middleware-Schicht 84 gesendeten Daten können Zeitstempel, Serverdetails (z. B. Replikationstyp, Dienstqualität usw.), Sequenznummern usw. einschließen.
  • 3 ist ein Flussdiagramm, das ein Verfahren zum Steuern des Fahrzeugs 10 mit der Middleware-Schicht 92 veranschaulicht. Wie oben erläutert kann die Middleware-Schicht 92 einfach als Middleware bezeichnet werden. Das Verfahren 100 ermöglicht eine kosteneffektive Replikation, während End-to-End-Garantien beibehalten und unterschiedliche Replikationsstrategien unterstützt werden. Zum Beispiel bietet das Verfahren 100 Kosteneinsparungen in Bezug auf Berechnungs- und Kommunikationsbandbreitenressourcen im Vergleich zu herkömmlichen aktiven Replikationstechniken und kann durch die Fahrzeugsteuereinheit 36 ausgeführt werden. Darüber hinaus ist das Verfahren 100 unabhängig von der Position des Dienstes.
  • Anwendungsprogrammierer können Anwendungen agnostisch von den Replikationsüberlegungen schreiben. Das Verfahren 100 beginnt bei Block 102, in denen jeder der primären Server 76 und die Replikserver 78 einen Dienst unter dem gleichen Namen in der Dienstregistrierung 94 der Middleware Schicht 92 eintragen. In der Tat registriert in Block 102 jeder von dem primären Server 76 und dem/den Replikserver(n) 78 mehrere Dienste (jeder Dienst unter demselben entsprechenden Dienstnamen) mit der Dienstregistrierung 94 der Middleware-Schicht 92. Anschließend geht das Verfahren 100 zu Block 104 über. Bei Block 104 pflegt die Middleware-Schicht 92 eine Liste von Instanzen für einen gegebenen Dienstnamen aus einer Vielzahl von Diensten. Anschließend geht das Verfahren 100 zu Block 106 über.
  • Bei Block 106 fordert der Client 70 die Verbindung zu einem Dienst von der Middleware-Schicht 84 an. Anschließend geht das Verfahren zu Block 108 über. Bei Block 108 baut die Middleware-Schicht 84 eine Verbindung zwischen dem Client 70 und der Vielzahl von Servern 74 auf. Anschließend geht das Verfahren 100 zu Block 110 über. Bei Block 110 macht der Client 70 eine Datenanfrage über einen gegebenen Dienst an die Vielzahl von Servern unter Verwendung eines entfernten Prozeduraufrufs (RPC). Diese Datenanforderung schließt die Field/Get-Einstelldaten für einen gegebenen Dienst ein. Anschließend geht das Verfahren 100 zu Block 112 über. Bei Block 112 sendet die Middleware Schicht 84 die Datenanforderung von dem Client 70 an alle der Vielzahl von Servern 74 (einschließlich des ersten Servers 76 und dem/den Replikserver(n) 78) als Reaktion auf die Datenanfrage von dem Client 70. Anschließend geht das Verfahren 100 zu Block 114 über. Bei Block 114 antwortet die Vielzahl von Servern 74 mit Antwortdaten auf die Datenanfrage von dem Client 70 (gesendet durch die Middleware-Schicht 84). Anschließend geht das Verfahren 100 zu Block 116 über. Bei Block 116 führt die Middleware-Schicht 84 alle Antwortdaten von der Vielzahl von Servern 74 zusammen, um daraus Ergebnisdaten zu erzeugen. Diese Ergebnisdaten werden dann an den Client 70 gesendet. Außerdem steuert bei Block 116 auch die Fahrzeugsteuereinheit 36 das Fahrzeug 10 auf Basis der Ergebnisdaten. Nach dem Block 108 geht das Verfahren 100 auch zu Block 118 über. Bei Block 118 erstellt die Vielzahl von Servern 74 Benachrichtigungen (einschließlich Feldbenachrichtigungsdaten und Ereignisdaten). Anschließend geht das Verfahren 100 zu Block 120 über. In Block 120 filtert die Middleware-Schicht 84 die Duplikat-Benachrichtigungen, die von der Vielzahl von Servern 74 erzeugt werden, um eine gefilterte Benachrichtigung zu erzeugen. Die Filterfunktion der Middleware-Schicht 84 kann auf Zeitstempeln und Sequenznummern der Daten (d. h. der Filterstrategie) basieren. Bei Block 120 empfängt der Client 70 auch die gefilterte Benachrichtigung. Bei Block 120 aktiviert der Client 79 auch als Reaktion auf das Empfangen der gefilterten Benachrichtigung von der Middleware-Schicht 84 einen Alarm (durch die Videoanzeigevorrichtung 18 und/oder die Audiolautsprecher 30).
  • Während die besten Weisen zum Ausführen der Lehren detailliert beschrieben wurden, wird der Fachmann auf dem Gebiet, auf das sich diese Offenbarung bezieht, verschiedene alternative Gestaltungen und Ausführungsformen zum Ausführen der Lehren innerhalb des Umfangs der beigefügten Ansprüche erkennen. Das hierin veranschaulichend offenbarte System 74 kann in Abwesenheit jedes Elements, das hierin nicht speziell offenbart ist, geeignet ausgeführt werden. Außerdem sind die in den Zeichnungen gezeigten Ausführungsformen oder die Kennzeichen verschiedener Ausführungsformen, die in der vorliegenden Beschreibung erwähnt worden sind, nicht notwendigerweise als voneinander unabhängige Ausführungsformen zu verstehen. Vielmehr ist es möglich, dass jede der in einem der Beispiele einer Ausführungsform beschriebenen Eigenschaften mit einer oder einer Vielzahl von anderen gewünschten Eigenschaften aus anderen Ausführungsformen kombiniert werden kann, was zu anderen Ausführungsformen führt, die nicht in Wörtern oder unter Bezugnahme auf die Zeichnungen beschrieben sind.

Claims (10)

  1. Verfahren, umfassend: Aufbauen einer Verbindung zwischen mindestens einem Client und einer Vielzahl von Servern durch eine Fahrzeugsteuereinheit eines Fahrzeugs, wobei die Vielzahl von Servern einen primären Server und mindestens einen Replikserver einschließt, wobei der mindestens eine Replikserver ein Replik des primären Servers ist; Herstellen einer Datenanfrage zu einem gegebenen Dienst durch die Fahrzeugsteuereinheit an die Vielzahl von Servern; Empfangen von Antwortdaten von der Vielzahl von Servern auf die Datenanfrage über eine Middleware als Reaktion auf die Datenanfrage; Zusammenführen der Antwortdaten von der Vielzahl von Servern durch die Fahrzeugsteuereinheit, um über die Middleware Ergebnisdaten zu erzeugen; Empfangen der Ergebnisdaten durch die Fahrzeugsteuereinheit; und Steuern des Fahrzeugs auf der Grundlage der Ergebnisdaten durch die Fahrzeugsteuereinheit.
  2. Verfahren nach Anspruch 1, ferner umfassend das Erzeugen einer Vielzahl von Benachrichtigungen durch die Vielzahl von Servern durch die Fahrzeugsteuereinheit als Reaktion auf den Aufbau der Verbindung zwischen dem mindestens einen Client und der Vielzahl von Servern.
  3. Verfahren nach Anspruch 2, ferner umfassend das Filtern von Duplikat-Benachrichtigungen von der Vielzahl von Benachrichtigungen, die durch die Vielzahl von Servern erzeugt werden durch die Fahrzeugsteuereinheit, um eine gefilterte Benachrichtigung über die Middleware zu erzeugen.
  4. Verfahren nach Anspruch 3, ferner umfassend das Empfangen der gefilterten Benachrichtigung durch die Fahrzeugsteuereinheit.
  5. Verfahren nach Anspruch 4, ferner umfassend das Registrieren eines gleichen Dienstes einer Vielzahl von Diensten mit der Middleware durch die Fahrzeugsteuereinheit.
  6. Verfahren nach Anspruch 5, ferner umfassend das Pflegen einer Liste von Instanzen für den gleichen Dienst der Vielzahl von Diensten durch die Middleware.
  7. Verfahren nach Anspruch 6, ferner umfassend das Bereitstellen einer Zusammenführungsstrategie der Vielzahl von Servern durch die Fahrzeugsteuereinheit.
  8. Verfahren nach Anspruch 7, ferner umfassend das Bereitstellen einer Filterstrategie für die Vielzahl von Servern durch die Fahrzeugsteuereinheit.
  9. Verfahren nach Anspruch 8, ferner umfassend Aktivieren eines Alarms als Reaktion auf das Empfangen der gefilterten Benachrichtigung von der Middleware durch die Fahrzeugsteuereinheit.
  10. System, umfassend: ein Fahrzeug mit einer Fahrzeugkarosserie und einet an der Fahrzeugkarosserie angebrachten Fahrzeugsteuereinheit, wobei die Fahrzeugsteuereinheit mit einer Middleware programmiert ist, um eine Verbindung zwischen mindestens einem Client und einer Vielzahl von Servern herzustellen, wobei die Vielzahl von Servern einen primären Server und mindestens einen Replikserver einschließt; wobei die Fahrzeugsteuereinheit programmiert ist, um: eine Kommunikation zwischen mindestens einem Client und der Vielzahl von Servern herzustellen; eine Datenanfrage über einen Dienst an die Vielzahl von Servern zu tätigen; Antwortdaten zu der Datenanfrage von der Vielzahl von Servern durch die Middleware zu empfangen; Antwortdaten von der Vielzahl von Servern durch die Fahrzeugsteuereinheit zusammenzufügen, um über die Middleware Ergebnisdaten zu erzeugen; und das Fahrzeugs auf der Grundlage der Ergebnisdaten durch die Fahrzeugsteuereinheit zu steuern.
DE102019115889.3A 2018-10-25 2019-06-11 Middlewareunterstützung für die fehlertoleratne ausführung auf einer adaptiven plattform für ein fahrzeug Withdrawn DE102019115889A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/170,104 2018-10-25
US16/170,104 US20200133267A1 (en) 2018-10-25 2018-10-25 Middleware support for fault-tolerant execution in an adaptive platform for a vehicle

Publications (1)

Publication Number Publication Date
DE102019115889A1 true DE102019115889A1 (de) 2020-04-30

Family

ID=70326884

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019115889.3A Withdrawn DE102019115889A1 (de) 2018-10-25 2019-06-11 Middlewareunterstützung für die fehlertoleratne ausführung auf einer adaptiven plattform für ein fahrzeug

Country Status (3)

Country Link
US (1) US20200133267A1 (de)
CN (1) CN111107125A (de)
DE (1) DE102019115889A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111769311B (zh) * 2020-06-30 2021-10-15 上海捷氢科技有限公司 一种氢燃料电池控制系统
CN112685008A (zh) * 2020-11-30 2021-04-20 上海赫千电子科技有限公司 一种基于autosar采用面向服务架构的服务失效控制方法
CN113422806B (zh) * 2021-05-26 2023-04-18 中国联合网络通信集团有限公司 车联网数据处理方法、车载终端及数据存储服务器
FI20215681A1 (en) * 2021-06-10 2022-12-11 Liikennevirta Oy / Virta Ltd Backup management of electric vehicle charging
JP2023018227A (ja) * 2021-07-27 2023-02-08 トヨタ自動車株式会社 信号機制御システムおよび車載制御装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602005017144D1 (de) * 2005-08-18 2009-11-26 Honda Res Inst Europe Gmbh Fahrerassistenzsystem
CN101039189A (zh) * 2006-03-13 2007-09-19 江苏银大科技有限公司 移动监控与指挥系统
DE102007033885A1 (de) * 2007-07-20 2009-01-22 Siemens Ag Verfahren zur transparenten Replikation einer Softwarekomponente eines Softwaresystems
CN101719315B (zh) * 2009-12-23 2011-06-01 山东大学 一种基于中间件的动态交通信息采集方法
WO2012037310A1 (en) * 2010-09-15 2012-03-22 Oracle International Corporation System including a middleware machine environment
US9092984B2 (en) * 2013-03-14 2015-07-28 Microsoft Technology Licensing, Llc Enriching driving experience with cloud assistance
CN103854143A (zh) * 2014-03-24 2014-06-11 深圳市众鸿科技股份有限公司 一种车联网服务系统及其平台层
US9857195B2 (en) * 2014-05-30 2018-01-02 Google Inc. Selection and presentation of geographic content in an automotive environment
CN104980525B (zh) * 2015-07-10 2018-09-14 华南理工大学 一种基于状态中间件的普适性移动计算系统
TW201804426A (zh) * 2016-07-25 2018-02-01 楊政憲 電動車區域共享管理方法
WO2019027061A1 (ko) * 2017-07-31 2019-02-07 (주)디지파츠 실시간 차량 관제 서비스를 위한 커넥티드 게이트웨이 서버 시스템
CN108306955B (zh) * 2018-01-24 2021-06-15 北京万得嘉瑞汽车技术有限公司 一种车载终端大规模互联集群方法

Also Published As

Publication number Publication date
US20200133267A1 (en) 2020-04-30
CN111107125A (zh) 2020-05-05

Similar Documents

Publication Publication Date Title
DE102019115889A1 (de) Middlewareunterstützung für die fehlertoleratne ausführung auf einer adaptiven plattform für ein fahrzeug
DE102019113865A1 (de) Intelligente kraftfahrzeuge, systeme und steuerlogik zur echtzeit-routenführung und adaptive fahrsteuerung
CN110103945B (zh) 对混合动力汽车推进系统的预期控制
DE102019105874A1 (de) Automatisierte Fahrsysteme und Steuerlogik für die Cloud-basierte Szenarienplanung autonomer Fahrzeuge
DE112018001483T5 (de) System und verfahren zur automatischen fahrgastaufteilung zwischen fahrzeugen
DE102019114590A1 (de) Kraftfahrzeuge mit elektroantrieb, systeme und steuerlogik für vorausschauende ladeplanung und antriebsstrangsteuerung
DE102019107431A1 (de) System und Verfahren zur Verteilung und Ausführung von Mitfahraufgaben
DE102020106951A1 (de) Vollständige ladestation für elektrische fahrzeuge und verfahren zum betrieb desselben
DE102019113578A1 (de) System und verfahren zur benachrichtigung von fahrzeugdiensten
DE112017008020T5 (de) Fahrzeugkommunikationssystem zur gemeinsamen nutzung von angelenkten fahrzeugpositionen in echtzeit
DE102017121181A1 (de) Steuerungsstrategie für unbemanntes autonomes Fahrzeug
DE102021100551A1 (de) Intelligente fahrzeuge mit fahrzeugkamerasystemen zur unterbaugefahr- und fremdobjektkennung
DE102018117529A1 (de) Ladesysteme für autonome Fahrzeuge
DE102021100548A1 (de) Intelligente fahrzeuge, steuerungslogik und fortschrittliche parkassistenzsysteme mit kamerabasierter automatischer fahrzeugausrichtung
DE102018113030A1 (de) System und verfahren für das management von fahrzeugressourcen
DE102021111699A1 (de) Intelligente kraftfahrzeuge und steuerlogik für geschwindigkeitshorizonterzeugung und -übergang beim ein-pedal-fahren
DE102019115652A1 (de) Fahrzeugroutensteuerung auf basis von vom benutzer bereitgestellten fahrteinschränkungen
DE102018113048A1 (de) System und verfahren zur konditionierung der fahrzeugverfügbarkeit auf abruf
DE102018114327A1 (de) Streckentraversalfähigkeit für automatisiertes Fahrzeug
DE102021128506A1 (de) Fernsteuerung von fahrzeugbewegungen mit optimierter lokalisierung von mobilen vorrichtungen
DE102021131843A1 (de) Intelligente fahrzeuge und steuerlogik für die schätzung des bremsmomentbedarfs für die kooperative steuerung des bremssystems
DE102020105943A1 (de) System und verfahren zur einrichtung einer primären und sekundären kontrolle von fahrgemeinschafts-funktionenfahrgemeinschaft
DE102020125684A1 (de) Intelligente fahrzeuge mit verteilten sensorarchitekturen und eingebetteter verarbeitung mit berechnung und datenaustausch
DE102022103197A1 (de) Authentifizierung von sowie Einsteige- und Absetzbestätigung für Mitfahrer in einem autonomen Fahrzeug
DE102019115689A1 (de) Fahrzeugortung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: LK GLOBAL PATENTANWAELTE PARTGMBB, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee