DE102021202812A1 - Method for operating a communication network and communication network - Google Patents

Method for operating a communication network and communication network Download PDF

Info

Publication number
DE102021202812A1
DE102021202812A1 DE102021202812.8A DE102021202812A DE102021202812A1 DE 102021202812 A1 DE102021202812 A1 DE 102021202812A1 DE 102021202812 A DE102021202812 A DE 102021202812A DE 102021202812 A1 DE102021202812 A1 DE 102021202812A1
Authority
DE
Germany
Prior art keywords
data
participant
participants
configuration table
communication network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102021202812.8A
Other languages
German (de)
Inventor
Dennis Grewe
Sebastian Schildt
Naresh Ganesh Nayak
Clemens Schroff
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102021202812.8A priority Critical patent/DE102021202812A1/en
Publication of DE102021202812A1 publication Critical patent/DE102021202812A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Abstract

Die Erfindung betrifft ein Verfahren zum Betreiben eines Kommunikationsnetzwerkes (100) mit mehreren Teilnehmern (101-109), die kommunikativ zum Austausch von Daten miteinander verbunden sind, wobei das Kommunikationsnetzwerk (100) einen oder mehrere Zwischenspeicher-Teilnehmer (102-105) als Teilnehmer umfasst, die jeweils einen Speicher (102.2-105.2) und eine zugehörige Konfigurationstabelle (102.1-105.1) aufweisen, wobei auf der Konfigurationstabelle (102.1-105.1) jeweils hinterlegt ist, welche Daten (203) aus von den betreffenden Zwischenspeicher-Teilnehmer (102-105) erreichenden Nachrichten (200) durch diesen Zwischenspeicher-Teilnehmer (102-105) in dem zugehörigen Speicher (102.2-105.2) zwischengespeichert werden sollen, wobei ein Zwischenspeicher-Teilnehmer (102), wenn ihn eine Nachricht (200) erreicht, die Daten (203) enthält, die dieser Zwischenspeicher-Teilnehmer gemäß zugehöriger Konfigurationstabelle (102.1) zwischenspeichern soll, diese Daten (203) zwischenspeichert, wobei, wenn eine Anfrage (203') nach Daten (203) von einem Teilnehmer (108) einen der Zwischenspeicher-Teilnehmer (102) erreicht, bei dem die angefragten Daten (203) zwischengespeichert sind, dieser Zwischenspeicher-Teilnehmer (102) die angefragten Daten (203) an den anfragenden Teilnehmer (108) übermittelt, und wobei jede Konfigurationstabelle (102.1-105.1) bei Vorliegen eines Auslösekriteriums, insbesondere durch einen Networkcontroller (130), aktualisiert wird.The invention relates to a method for operating a communication network (100) with a plurality of participants (101-109) which are communicatively connected to one another for the exchange of data, the communication network (100) having one or more buffer storage participants (102-105) as participants which each have a memory (102.2-105.2) and an associated configuration table (102.1-105.1), the configuration table (102.1-105.1) storing which data (203) from the relevant intermediate storage device (102- 105) reaching messages (200) are to be cached by this cache participant (102-105) in the associated memory (102.2-105.2), with a cache participant (102) when a message (200) reaches him, the data (203) that this intermediate storage participant is to intermediately store according to the associated configuration table (102.1), intermediately stores this data (203), wherein, when a request (203') for data (203) from a subscriber (108) reaches one of the buffer subscribers (102) in which the requested data (203) is buffered, this buffer subscriber (102) sends the requested data ( 203) to the requesting subscriber (108), and wherein each configuration table (102.1-105.1) is updated if a trigger criterion is present, in particular by a network controller (130).

Description

Die vorliegende Erfindung betrifft ein Verfahren zum Betreiben eines Kommunikationsnetzwerkes mit mehreren Teilnehmern, die zum Austausch von Daten miteinander verbunden sind, ein solches Kommunikationsnetzwerk, Verfahren zum Betreiben von Rechensystemen als Teilnehmer in einem solchen Kommunikationsnetzwerk, sowie ein Rechensystem und ein Computerprogramm zu deren Durchführung.The present invention relates to a method for operating a communications network with a number of participants who are connected to one another for exchanging data, such a communications network, methods for operating computing systems as participants in such a communications network, and a computing system and a computer program for carrying them out.

Hintergrund der ErfindungBackground of the Invention

In modernen, insbesondere vernetzten Fahrzeugen wird, insbesondere im Zusammenhang mit Mobilität (z.B. Mietdienstleistungen, vorausschauende Wartung, Blockchain-basierte Zahlungen usw.) ein Echtzeit- und dynamischer Datenaustausch zwischen Softwareanwendungen bzw. Softwarekomponenten gefordert, und zwar sowohl intern innerhalb des Fahrzeugs als auch von und zu extern. Zu diesem Zweck gibt es Konzepte wie service-orientierte Kommunikation und software-definierte Vernetzung (sog. „Software-defined Networking“, SDN). Vorhandene E/E-Architekturen der Fahrzeuge werden entsprechend überarbeitet. Während z.B. Kommunikations-Zwischenanwendungen (sog. „Middleware“) wie „Scalable Service-Oriented Middleware over IP“ (SOME/IP) und „Data Distribution Service“ (DDS, dies stellt eine Middleware zur datenzentrierten Kommunikation in hochdynamischen verteilten Systemen dar) ein gewisses Maß an Dynamik in der Fahrzeugkommunikation ermöglichen, behindern sie aber eine breite Akzeptanz durch oft nicht ausreichend verfügbare Echtzeit-Eigenschaften (Reaktionszeiten, Latenz, Jitter usw.) solcher Zwischenanwendungen.In modern, especially connected vehicles, real-time and dynamic data exchange between software applications or software components is required, especially in connection with mobility (e.g. rental services, predictive maintenance, blockchain-based payments, etc.), both internally within the vehicle and from and too external. For this purpose, there are concepts such as service-oriented communication and software-defined networking (so-called "software-defined networking", SDN). Existing E/E architectures of the vehicles are revised accordingly. During e.g. communication intermediate applications (so-called "middleware") such as "Scalable Service-Oriented Middleware over IP" (SOME/IP) and "Data Distribution Service" (DDS, this represents a middleware for data-centric communication in highly dynamic distributed systems). allow a certain degree of dynamics in vehicle communication, but they hinder broad acceptance due to the often insufficiently available real-time properties (response times, latency, jitter, etc.) of such intermediate applications.

Offenbarung der ErfindungDisclosure of Invention

Erfindungsgemäß werden ein Verfahren zum Betreiben eines Kommunikationsnetzwerkes, ein solches Kommunikationsnetzwerk, ein Verfahren zum Betreiben von Rechensystemen als Teilnehmer in einem solchen Kommunikationsnetzwerk, sowie ein Rechensystem und ein Computerprogramm zu deren Durchführung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.According to the invention, a method for operating a communication network, such a communication network, a method for operating computing systems as participants in such a communication network, and a computing system and a computer program for their implementation are proposed with the features of the independent patent claims. Advantageous configurations are the subject of the dependent claims and the following description.

Die Erfindung beschäftigt sich mit Kommunikationsnetzwerken mit mehreren Teilnehmern (bzw. Kommunikationsteilnehmern), insbesondere in Fahrzeugen (dort dann insbesondere auch als Bordnetz oder Borddatennetz bezeichnet), die kommunikativ miteinander (sei es unmittelbar oder mittelbar über z.B. Switches) verbunden sind. Als Kommunikationsmedien kommen dabei z.B. Ethernet, insbesondere in Fahrzeugen zudem Kommunikationsbusse wie z.B. CAN und LIN in Betracht. Das Kommunikationsnetzwerk kann also insbesondere auch mehrere, auch verschiedene Kommunikationsmedien umfassen, die zur Kommunikation verwendet werden. Es versteht sich, dass an bestimmten Teilnehmern verschiedene Kommunikationsmedien angebunden sein können, die alle von dem betreffenden Teilnehmer bedient werden können. Zwischen Teilnehmern werden dabei verschiedene Daten ausgetauscht, ggf. auch nach bzw. von außerhalb des Fahrzeugs, und insbesondere auch über Vermittlungsteilnehmer (wie Switches oder Router, ggf. aber auch Steuergeräte), die lediglich Nachrichten mit Anfragen und/oder (Nutz-)Daten durchleiten.The invention deals with communication networks with several participants (or communication participants), in particular in vehicles (there then in particular also referred to as on-board network or on-board data network), which are communicatively connected to one another (either directly or indirectly via switches, for example). Ethernet, for example, and communication buses such as CAN and LIN, for example, come into consideration as communication media, particularly in vehicles. The communication network can therefore in particular also include a plurality of communication media, including different ones, which are used for communication. It goes without saying that different communication media can be connected to certain participants, all of which can be operated by the participant in question. Various data is exchanged between participants, possibly also to or from outside the vehicle, and in particular via switching participants (such as switches or routers, but possibly also control devices), which only send messages with requests and/or (useful) data pass through.

Ein Zwischenspeichern von Daten in (fahrzeuginternen) Teilnehmern bzw. Netzwerkelementen (wie z.B. Switches) und die Bearbeitung nachfolgender Anforderungen bzw. Anfragen für einen Datenzugriff mithilfe z.B. des „Information Centric Networking“-Paradigmas (ICN) erlaubt es z.B., zeitaufwändige Anfragen des Anfragers bis hin zur Quelle der angeforderten Daten und deren Übermittlung von der Quelle bis zurück zum Anfrager zu vermeiden. Antwortzeiten für Anforderungen von Daten können damit verkürzt werden, da die Daten z.B. von einem Switch oder sonstigen Teilnehmer des Netzwerks, über den die Anfrage läuft, bereitgestellt werden können. Es ist nicht nötig, dass die Anfrage bis zur Quelle der Daten weitergeleitet wird. Angesichts der Komplexität moderner Fahrzeuge mit teils hunderten von elektronischen Komponenten mit mehreren tausend Signalen (wie Sensorwerten, Aktuatoreingängen usw.) ist ein wahlloses Zwischenspeichern von Daten auf Teilnehmern wie Switches jedoch eher ineffizient und unpraktisch.Temporary storage of data in (vehicle-internal) participants or network elements (such as switches) and the processing of subsequent requests or requests for data access using e.g. the "Information Centric Networking" paradigm (ICN) allows, for example, time-consuming requests from the enquirer to to the source of the requested data and its transmission from the source back to the enquirer. Response times for data requests can thus be shortened, since the data can be provided, for example, by a switch or other participant in the network through which the request runs. It is not necessary for the request to be forwarded to the source of the data. However, in view of the complexity of modern vehicles with sometimes hundreds of electronic components with several thousand signals (such as sensor values, actuator inputs, etc.), random caching of data on participants such as switches is rather inefficient and impractical.

Vor diesem Hintergrund wird ein insbesondere softwaredefinierter Ansatz vorgeschlagen, um netzinterne Speicher („Caches“ oder sog. „key value stores“ bzw. Schlüsselwertspeicher, also Speicher für (nur) bestimmte Daten oder Werte) zu verwalten bzw. konfigurieren, um Kommunikations-Zwischenanwendungen dabei zu unterstützen, eine schnellere Datenverteilung zu erreichen und gleichzeitig den Speicher in den Netzwerkelementen bzw. Teilnehmern effizient zu nutzen. Hierzu kann insbesondere auf programmierbare Netzwerktechnologien wie das schon erwähnte softwaredefinierte Netzwerk sowie z.B. die Programmiersprache P4 zurückgegriffen werden, um solche netzinternen Schlüsselwertspeicher zu erstellen. Bei P4 handelt es sich um eine Programmiersprache zur Steuerung von Paketweiterleitungsebenen in Netzwerkgeräten wie Routern und Switches. Im Gegensatz zu einer Allzwecksprache wie C oder Python ist P4 eine domänenspezifische Sprache mit einer Reihe von Konstrukten, die für die Verarbeitung und Weiterleitung von Netzwerkdaten optimiert sind. Jeder dieser Speicher (bzw. Schlüsselwertspeicher) kann dabei über eine z.B. standardisierte Steuerschnittstelle (z.B. das gRPC-Protokoll für P4) konfiguriert werden, um bestimmen zu können, welche Daten (also z.B. ein Satz von Messdaten bestimmter Sensoren) zwischengespeichert werden müssen. Dies soll nachfolgend insbesondere anhand eines beispielhaften Systems erläutert werden.Against this background, a particularly software-defined approach is proposed to manage or configure network-internal storage (“caches” or so-called “key value stores”, i.e. storage for (only) specific data or values) in order to enable communication between applications to support to achieve a faster data distribution and at the same time to use the memory in the network elements or participants efficiently. For this purpose, in particular, programmable network technologies such as the already mentioned software-defined network and, for example, the programming language P4 can be used in order to create such network-internal key value memories. P4 is a programming language for controlling packet forwarding layers in network devices such as routers and switches. Unlike a general-purpose language like C or Python, P4 is a domain-specific language with a set of constructs optimized for processing and forwarding network data. Each of these memories (or key value memories) can be configured via a standardized control interface (e.g. the gRPC protocol for P4), for example, in order to be able to determine which data (e.g. a set of measurement data from specific sensors) must be cached. This is to be explained below in particular using an exemplary system.

Verschiedene Anwendungsfälle, die z.B. von Abgastests bis zur Diagnose reichen, erfordern das Extrahieren von Fahrzeugdaten aus dem Fahrzeug. Die sog. On-Board-Diagnose (OBD) bietet bereits einen standardisierten Mechanismus zum Auslesen eines vordefinierten standardisierten Satzes fahrzeuginterner Daten (z.B. bestimmte Sensorwerte, Parameter usw.) über den sog. OBD-Anschluss im Fahrzeug. Die Extraktion von beliebigen Daten, die womöglich noch nicht einmal beim Design des Fahrzeugs bzw. von dessen E/E-Architektur definiert sind bzw. waren, ist über OBD nicht möglich.Various use cases ranging from emissions testing to diagnostics, for example, require extracting vehicle data from the vehicle. The so-called on-board diagnosis (OBD) already offers a standardized mechanism for reading out a predefined standardized set of vehicle-internal data (e.g. certain sensor values, parameters, etc.) via the so-called OBD connection in the vehicle. The extraction of any data that may not even have been defined during the design of the vehicle or its E/E architecture is not possible via OBD.

Die sog. service-orientierte Architektur für ein Kommunikationsnetzwerk ist ein Kommunikationsparadigma, bei dem Softwarekomponenten (in Teilnehmern) „Services“ bzw. Dienste anbieten, die von den anderen Komponenten (in dann in der Regel anderen Teilnehmern) abonniert werden können, die diese Dienste benötigen. Beispielsweise mithilfe von Service- oder Feature-Erkennungs-Mechanismen (die im Kommunikationsnetzwerk zentralisiert oder verteilt vorgesehen sein können) können die in der Regel lose gekoppelten Softwarekomponenten Informationen über die verfügbaren bzw. angebotenen, und erforderlichen und gesuchten Dienste sammeln. Beispielsweise informiert ein Teilnehmer alle anderen Teilnehmer (bzw. dort die anderen Softwarekomponenten) über sein Angebot, Daten von z.B. einem Sensor bereitzustellen. Die Teilnehmer, die diese Daten benötigen, können dann den entsprechenden Dienst abonnieren. Der Datentransport von der Quelle (also dem anbietenden Teilnehmer mit dem Sensor bzw. dessen Daten) zu den Empfängern (also den Teilnehmern, die den Dienst abonniert haben) kann z.B. wie ein Publish-Subscribe-Kommunikationsmodell funktionieren. Die Daten werden dabei in der Regel in einer Nachricht transportiert. Dabei kann ggf. auch ein (oder mehrere) Transfer von einem zu einem anderen Kommunikationsmedium nötig sein.The so-called service-oriented architecture for a communication network is a communication paradigm in which software components (in participants) offer "services" or services that can be subscribed to by the other components (in then usually other participants) that use these services require. For example, with the help of service or feature recognition mechanisms (which can be provided in a centralized or distributed manner in the communication network), the software components, which are usually loosely coupled, can collect information about the available or offered, and required and sought-after services. For example, a participant informs all other participants (or the other software components there) about his offer to provide data from a sensor, for example. The subscribers who need this data can then subscribe to the corresponding service. The data transport from the source (i.e. the offering participant with the sensor or its data) to the recipients (i.e. the participants who have subscribed to the service) can, for example, function like a publish-subscribe communication model. The data is usually transported in a message. One (or more) transfers from one communication medium to another may also be necessary.

Ein Teilnehmer (bzw. eine Softwareanwendung darauf) kann den Dienst jedoch unter Verwendung eines Anforderungs-Antwort-Kommunikationsmodells auch (aktiv) anfordern. Auf diese Anfrage hin (welche in der Regel ebenfalls in einer Nachricht enthalten ist) sendet die Quelle dann die angeforderten Daten an den anfragenden Teilnehmer. Während die Teilnehmer, die den Dienst abonniert haben, dann z.B. regelmäßig die aktuellsten Daten von der Quelle (also z.B. die aktuellsten Messdaten des Sensors) erhalten, erhält der (aktiv) anfragende Teilnehmer die Daten (die Messdaten des Sensors) nur einmalig bei Bedarf, also, wenn er eine entsprechende Anfrage stellt.However, a subscriber (or software application thereon) can also (actively) request the service using a request-response communication model. In response to this request (which is usually also contained in a message), the source then sends the requested data to the requesting party. While the participants who have subscribed to the service then regularly receive the latest data from the source (e.g. the most recent measurement data from the sensor), the (actively) requesting participant only receives the data (the measurement data from the sensor) once when required, i.e. if he makes a corresponding request.

Diese Architektur führt zu einer relativ lockeren Kopplung zwischen den Softwareanwendungen bzw. Teilnehmern und somit zu einer flexiblen Architektur, die z.B. eine einfache Wiederverwendung von Software erlaubt. Die eingangs genannten SOME/IP und DDS sind beliebte Beispiele für solche service-orientierten Kommunikations-Frameworks im Automobilbereich.This architecture leads to a relatively loose coupling between the software applications and participants and thus to a flexible architecture that, for example, allows easy reuse of software. The SOME/IP and DDS mentioned at the beginning are popular examples of such service-oriented communication frameworks in the automotive sector.

Dabei gibt es verschiedene Herausforderungen bei einer Einführung einer solchen Architektur, insbesondere in einem Fahrzeug. Moderne Fahrzeuge sind hochkomplex und besitzen zahlreiche Komponenten, insbesondere Sensoren und Aktoren, die Daten liefern und/oder benötigen. Die große Anzahl von Automodellen und ihre unzähligen Varianten erhöhen die Komplexität zusätzlich. Einen standardisierten Mechanismus zur Benennung der erforderlichen Daten bzw. Signale (z.B. eines Partikelsensorwerts) und der entsprechenden Dienste gibt es nicht. Darüber hinaus unterscheiden sich der Ort der Daten (z.B. das Steuergerät bzw. „Electronic Control Unit“, ECU, die mit dem Sensor verbunden ist, der die Daten bereitstellt) und die Mittel zum Extrahieren (z.B. über CAN oder Ethernet) für jedes Fahrzeugmodell oder gar jede Fahrzeugvariante. Hierzu wird von Standardisierungsorganisationen (z.B. Genivi, W3C) daran gearbeitet, standardisierte Datenmodelle für die Benennung von Fahrzeugdaten zu erstellen. Beispielsweise beschreibt das VSS-Datenmodell (Genivi „Vehicle Signal Specification“) fahrzeuginterne Daten als hierarchischen Baum, der Standardpfade zu bestimmten Datenpunkten innerhalb des Baums bietet. Eine Bereitstellung von QoS-Garantien (QoS steht dabei für „Quality of Service“) für die Datenverteilung über Services bzw. Dienste ist ebenfalls wünschenswert. Solche QoS-Mechanismen können in die Netzwerkschicht integriert werden, z.B. über „Time-Sensitive Networking“ (TSN), um Ethernet mit Echtzeiterweiterungen auszustatten. Diese Erweiterungen können basierend auf den QoS-Ebenen für die Dienste konfiguriert werden, passend wie für die Softwareanwendungen benötigt und angefordert.There are various challenges when introducing such an architecture, especially in a vehicle. Modern vehicles are highly complex and have numerous components, in particular sensors and actuators, that supply and/or require data. The large number of car models and their countless variants further increase the complexity. There is no standardized mechanism for naming the required data or signals (e.g. a particle sensor value) and the corresponding services. In addition, the location of the data (e.g. the electronic control unit, ECU connected to the sensor providing the data) and the means of extraction (e.g. via CAN or Ethernet) differ for each vehicle model or every vehicle variant. To this end, standardization organizations (e.g. Genivi, W3C) are working on creating standardized data models for naming vehicle data. For example, the VSS (Genivi "Vehicle Signal Specification") data model describes in-vehicle data as a hierarchical tree that provides default paths to specific data points within the tree. A provision of QoS guarantees (QoS stands for “Quality of Service”) for data distribution via services is also desirable. Such QoS mechanisms can be integrated into the network layer, e.g. via "Time-Sensitive Networking" (TSN) in order to equip Ethernet with real-time extensions. These extensions can be configured based on the QoS levels for the services as needed and requested by the software applications.

Unabhängig davon kann die vorliegende Erfindung nicht nur bei einer datenorientieren, sondern auch bei einer service-orientierten Architektur eines Kommunikationsnetzwerkes eingesetzt werden, wie nachfolgend noch näher erläutert wird.Irrespective of this, the present invention can be used not only in a data-oriented but also in a service-oriented architecture of a communication network, as will be explained in more detail below.

Moderne Switches und Netzwerkschnittstellenkarten (sog. NICs) können weitgehend statische Weiterleitungsprozesse ohne Software-Intervention (z.B. in Form von ASICs oder FPGAs) implementieren. Die schon erwähnte Programmiersprache P4 zielt z.B. darauf ab, den Paketweiterleitungsprozess (sog. Data Plane) von Netzwerkelementen zu programmieren. Mit P4 können die verschiedenen Felder definiert werden, die aus Sicht der Paketverarbeitung interessant sind, und die Verarbeitungsschritte basierend auf Einträgen in einer Konfigurationstabelle oder Nachschlagetabelle (sog. „Look-Up Table“) ausgeführt werden. Darüber hinaus können diese Konfigurationstabellen zur Laufzeit von z.B. einem Netzwerkcontroller (remote) programmiert bzw. konfiguriert werden. Ein auf diese Weise (mit P4) programmierter Switch verarbeitet eine Eingabe auf der Grundlage des geladenen P4-Programms und des Inhalts der über die Steuerschnittstelle eingefügten Einträge der Konfigurationstabelle.Modern switches and network interface cards (so-called NICs) can largely implement static forwarding processes without software intervention (e.g. in the form of ASICs or FPGAs). The P4 programming language already mentioned aims, for example, at programming the packet forwarding process (so-called data plane) of network elements. P4 can be used to define the various fields that are of interest from a packet processing point of view and perform the processing steps based on entries in a configuration table or look-up table. In addition, these configuration tables can be programmed or configured at runtime by a network controller (remote), for example. A switch programmed in this way (with P4) processes an input based on the loaded P4 program and the contents of the configuration table entries inserted via the control interface.

P4-Programme ermöglichen insbesondere kleinere Berechnungen ohne zusätzliche Latenz in diesem Zusammenhang, d.h. Netzwerkelemente bzw. Teilnehmer könnten die Paketfelder (also z.B. die Header in empfangenen Nachrichten) bearbeiten und die Ergebnisse mit der geforderten Datenrate in die ausgehenden Pakete bzw. Nachrichten einfügen. Diese Programmiersprache ermöglicht es z.B. auch, den Speicher in den Netzwerkelementen bzw. Teilnehmern zu nutzen, um einen begrenzten Zustand zu speichern. Dies kann z.B. zur Erstellung eines Schlüsselwertspeichers in Netzwerkelementen verwendet werden, wie eingangs schon erwähnt wurde.In particular, P4 programs enable smaller calculations without additional latency in this context, i.e. network elements or participants could process the packet fields (e.g. the headers in received messages) and insert the results with the required data rate into the outgoing packets or messages. This programming language also makes it possible, for example, to use the memory in the network elements or participants to save a limited status. This can e.g. be used to create a key-value store in network elements, as mentioned above.

Zwar gibt es Bestrebungen, um QoS-Garantien für eine service-orientierte Kommunikation bereitzustellen, doch die zunehmende Anzahl der angebotenen und abonnierten Services insbesondere in Kommunikationsnetzwerken in Fahrzeugen dürfte letztendlich das gesamte Netzwerk überfordern.Although efforts are being made to provide QoS guarantees for service-oriented communication, the increasing number of services offered and subscribed to, particularly in communication networks in vehicles, is ultimately likely to overwhelm the entire network.

Im Rahmen der vorliegenden Erfindung wird daher die Verwendung von netzwerkinternen, insbesondere softwaredefinierten, Speichern (bzw. Caches) von Teilnehmern im Kommunikationsnetzwerk für insbesondere fahrzeuginterne Daten vorgeschlagen, um die Daten anderen Teilnehmern bzw. deren Softwareanwendungen zur Verfügung zu stellen, die sie anfordern. Hierzu können programmierbare Netzwerktechnologien wie insbesondere basierend auf der erwähnten Programmiersprache P4, verwendet werden, um einen verteilten netzwerkinternen Speicher (wie schon erwähnt z.B. Schlüsselwertspeicher) zumindest in bestimmten Teilnehmern bzw. Netzwerkelementen, insbesondere in Vermittlungseinheiten wie Switches, Gateways usw., zu erstellen. Gültige Anforderungen bzw. Anfragen für (fahrzeuginterne) Daten können dann im Netzwerk aufgelöst werden, was zu kürzeren Antwortzeiten führt und gleichzeitig die Rechenlast für andere Teilnehmer wie fahrzeugbezogenen Recheneinheiten verringert.The present invention therefore proposes the use of network-internal, in particular software-defined, memories (or caches) by participants in the communication network for in particular vehicle-internal data in order to make the data available to other participants or their software applications that request it. For this purpose, programmable network technologies, such as those based in particular on the programming language P4 mentioned, can be used to create a distributed network-internal memory (as already mentioned, e.g. key value memory) at least in certain participants or network elements, in particular in switching units such as switches, gateways, etc. Valid requests or inquiries for (vehicle-internal) data can then be resolved in the network, which leads to shorter response times and at the same time reduces the computing load for other participants such as vehicle-related computing units.

Zusammenfassend weisen also einer oder mehrere der Teilnehmer in dem Kommunikationsnetzwerk jeweils einen Speicher und eine zugehörige Konfigurationstabelle auf, auf der jeweils hinterlegt ist, welche Daten aus den die den betreffenden Teilnehmer erreichenden Nachrichten durch diesen Teilnehmer in dem zugehörigen Speicher zwischengespeichert werden sollen. Jeder dieser Teilnehmer mit Speicher (auch als Zwischenspeicher-Teilnehmer bezeichnet) speichert dann, wenn ihn eine Nachricht erreicht, die Daten enthält, die dieser Teilnehmer gemäß zugehöriger Konfigurationstabelle zwischenspeichern soll, diese Daten in seinem Speicher zwischen. Wenn eine Anfrage nach Daten von einem (anderen) Teilnehmer einen der Zwischenspeicher-Teilnehmer erreicht, bei dem die angefragten Daten zwischengespeichert sind, so übermittelt dieser Zwischenspeicher-Teilnehmer die angefragten Daten an den anfragenden Teilnehmer. Die Zwischenspeicher-Teilnehmer leiten diese Anfrage dann nicht mehr an andere Teilnehmer (inklusive andere Zwischenspeicher-Teilnehmer) weiter.In summary, one or more of the participants in the communication network each have a memory and an associated configuration table, which stores which data from the messages reaching the relevant participant should be buffered by this participant in the associated memory. Each of these participants with a memory (also referred to as a buffer participant) stores this data in its memory when it receives a message that contains data that this participant is to buffer according to the associated configuration table. If a request for data from a (different) participant reaches one of the intermediate storage participants in which the requested data is temporarily stored, then this intermediate storage participant transmits the requested data to the requesting participant. The cache participants then no longer forward this request to other participants (including other cache participants).

Ein besonderer Aspekt ist dabei, dass die Speicher bzw. Schlüsselwertspeicher dynamisch so konfiguriert werden, dass sie die „richtigen“ Informationen in ihrem (begrenzten) Speicher für Teilnehmer wie Fahrzeugkomponenten speichern. Mit anderen Worten wird also jede Konfigurationstabelle bei Vorliegen eines Auslösekriteriums (und damit insbesondere bei Bedarf) aktualisiert, und zwar insbesondere während der Laufzeit.A special aspect is that the memories or key value memories are dynamically configured in such a way that they store the “correct” information in their (limited) memory for participants such as vehicle components. In other words, each configuration table is updated when a triggering criterion is present (and thus in particular when required), specifically during runtime in particular.

Eine besonders wichtige Erkenntnis besteht darin, dass (fahrzeuginterne) Daten das Netzwerk vom entsprechenden Dienstanbieter (also einem anbietenden Teilnehmer, die Quelle der Daten) zu einem bestimmten Dienstkonsumenten (einem anderen Teilnehmer, z.B. ein anfragender Teilnehmer oder Abonnent) durchlaufen, die in bestimmten Teilnehmern, insbesondere in Weiterleitungsnetzwerkelementen (also Teilnehmern, die Nachrichten bzw. Daten nur weiterleiten, z.B. die erwähnten Vermittlungseinheiten) zwischengespeichert werden können, um nachfolgende Datenanforderungen, also Anfragen nach Daten, zu bedienen. Anstatt dedizierte Hardware zum Speichern von Daten einzuführen (wie z.B. in Rechenzentren), die die Komplexität fahrzeuginterner Systeme erhöhen würde, und anstatt zu versuchen, jedes Datenpaket wahllos zwischenzuspeichern und evtl. potenziell wichtige Daten zu entfernen, kann je nach Bedarf festlegt werden, welche Daten von welchem Teilnehmer bzw. Netzwerkelement zwischengespeichert werden müssen. Dies kann über einen (logisch zentralen) Netzwerkcontroller erfolgen, der die Konfigurationstabellen der Teilnehmer entsprechend konfiguriert. Dieser Netzwerkcontroller ist dabei ebenfalls ein Teilnehmer des Kommunikationsnetzwerks und wird bevorzugt durch ein Steuergerät oder ein Rechensystem mit hoher Rechenleistung wie z.B. einen Fahrzeugzentralrechner bereitgestellt (dies kann z.B. durch eine konkrete Anwendung bzw. Software darauf erreicht werden).A particularly important finding is that (in-vehicle) data traverses the network from the appropriate service provider (i.e., an offering party, the source of the data) to a specific service consumer (another party, e.g., a requesting party or subscriber), which in certain participants , especially in forwarding network elements (ie Subscribers who only forward messages or data, for example the switching units mentioned) can be temporarily stored in order to serve subsequent data requests, ie requests for data. Instead of introducing dedicated hardware to store data (such as in data centers) which would increase the complexity of in-vehicle systems, and instead of trying to randomly cache each packet of data and eventually remove potentially important data, one can dictate what data is required from which participant or network element must be cached. This can be done via a (logically central) network controller that configures the configuration tables of the participants accordingly. This network controller is also a participant in the communication network and is preferably provided by a control device or a computing system with high computing power, such as a central vehicle computer (this can be achieved, for example, by a specific application or software on it).

Mit der Programmiersprache P4 ist es möglich, Speicherbereiche innerhalb von Teilnehmern bzw. Netzwerkelementen zum Speichern von Daten z.B. direkt im Switching-ASIC zu erstellen. Es ist zu beachten, dass das Speichern von Daten nur eine zusätzliche Aufgabe ist und die Weiterleitung von Daten an die anderen Teilnehmer bzw. Verbraucher ununterbrochen fortgesetzt wird.With the P4 programming language, it is possible to create memory areas within participants or network elements for storing data, e.g. directly in the switching ASIC. It should be noted that storing data is only an additional task and the forwarding of data to the other subscribers or consumers continues uninterrupted.

Mit mehreren hundert verfügbaren Signalen in jedem Subnetz (z.B. CAN-Domäne, Ethernet-Verbindung usw.) ist es in der Regel nicht möglich, alle Daten in einem Teilnehmer wie z.B. einem Switch zu speichern. Hier kommt der Netzwerkcontroller ins Spiel, indem er den betreffenden Teilnehmern mitteilt, welche genauen Datenelemente wie gespeichert werden sollen. Zu diesem Zweck programmiert bzw. konfiguriert der Netzwerkcontroller die Konfigurationstabellen der betreffenden Teilnehmer, die dann verwendet werden, um die erforderlichen Datenfelder aus bestimmten Nachrichten bzw. Paketen (z. B. Ethernet-Paketen, CAN-Frames oder einem anderen Kommunikationsprotokoll) zu extrahieren. Hierzu können vom Netzwerkcontroller z.B. Konfigurationsdaten an den betreffenden Zwischenspeicher-Teilnehmer gesendet werden, der diese empfängt. Die extrahierten Daten bzw. Werte werden im Speicher z.B. indiziert durch Schlüssel gespeichert, die auch in den Konfigurationstabellen verfügbar sind. Anstatt beliebig lange Zeichenfolgen (wie bei einer Benennung der Daten) zu verwenden und den Speicher zum Speichern der Schlüssel selbst zu nutzen, können z.B. Hash-Werte als Schlüssel mit fester Länge verwendet werden.With several hundred signals available in each subnet (e.g. CAN domain, Ethernet connection etc.) it is usually not possible to store all data in one device such as a switch. This is where the network controller comes in, telling the relevant participants what exact data items to store and how. For this purpose, the network controller programs or configures the configuration tables of the relevant participants, which are then used to extract the required data fields from certain messages or packets (e.g. Ethernet packets, CAN frames or another communication protocol). For this purpose, the network controller can, for example, send configuration data to the intermediate storage device in question, which receives it. The extracted data or values are stored in memory, e.g. indexed by keys that are also available in the configuration tables. For example, instead of using arbitrarily long strings (like naming the data) and using memory to store the keys themselves, hash values can be used as fixed-length keys.

Wenn Anwendungen auf Teilnehmern bestimmte Daten anfordern bzw. anfragen, können die Zwischenspeicher-Teilnehmer diese Anforderungen bzw. Anfragen abfangen und in ihren Speichern prüfen, ob die angefragten Daten bereits zwischengespeichert sind. Zu diesem Zweck wird dann z.B. ein Hash-Wert der Zeichenfolge, die den Namen der Daten darstellt, berechnet und der Hash-Wert als Schlüssel zum Nachschlagen im Speicher verwendet. Wenn ein gespeicherter Wert verfügbar ist, kann der betreffende Teilnehmer mit den Daten direkt an den anfragenden Teilnehmer antworten, ohne die Quelle der Daten (also den Teilnehmer, der die Daten originär zur Verfügung stellt) einzubeziehen (in diesem Sinne ist auch der Begriff „abfangen“ zu verstehen, da die Anfrage gar nicht weitergeleitet werden muss). Wenn die Daten nicht verfügbar sind, wird die Anfrage z.B. wie üblich an die Datenquelle weitergeleitet. Denkbar ist aber, dass auch ein anderer Zwischenspeicher-Teilnehmer die angefragten Daten zwischengespeichert hat, der die Anfrage, wenn er sie erhält, beantworten kann.When applications on participants request or request specific data, the cache participants can intercept these requests or requests and check in their memories whether the requested data is already cached. For example, a hash value of the character string representing the name of the data is then calculated for this purpose and the hash value is used as a key for looking up in memory. If a stored value is available, the participant in question can respond with the data directly to the requesting participant without involving the source of the data (i.e. the participant who originally provided the data) (this is also the sense in which the term "intercept ' to be understood, since the request does not have to be forwarded at all). For example, if the data is not available, the request is forwarded to the data source as usual. However, it is conceivable that another intermediate storage participant has also temporarily stored the requested data, which can answer the request when it receives it.

Die Teilnehmer können z.B. durch Mechanismen ergänzt werden, die es ermöglichen, Daten im Speicher als veraltet zu markieren, um die Weitergabe veralteter Informationen bzw. Daten auf eine Anfrage hin zu vermeiden. Allgemein ist es insofern zweckmäßig, wenn der Teilnehmer die angefragten Daten an den anfragenden Teilnehmer nur dann übermittelt, wenn für die betreffenden Daten eine Aktualitätsbedingung erfüllt ist. Eine solche Aktualitätsbedingung kann z.B. erfordern, dass die Daten nicht älter als eine bestimmte Zeitdauer sind. Dies ist z.B. bei zeitkritischen Sensordaten relevant. Bei anderen Daten hingegen kann dies anders sein. Generell können solche Aktualitätsbedingungen also individuell für die betreffenden Daten vorgegeben werden bzw. sein.For example, the participants can be supplemented by mechanisms that allow data in memory to be marked as obsolete in order to avoid the transmission of obsolete information or data in response to a request. In general, it is expedient if the subscriber only transmits the requested data to the requesting subscriber if a condition for the relevant data being up-to-date is met. Such a timeliness condition may require, for example, that the data is not older than a certain period of time. This is relevant, for example, for time-critical sensor data. For other data, however, this may be different. In general, such up-to-dateness conditions can therefore be or can be specified individually for the relevant data.

Der Netzwerkcontroller verwendet zum Konfigurieren bzw. Programmieren der Konfigurationstabellen in den betreffenden Teilnehmern insbesondere sein globales Wissen über die Netzwerkarchitektur (z.B. Topologie, Semantik von CAN-Signalen usw.) zusammen mit z.B. Verkehrsstatistiken zum Datenverkehr im Netzwerk. Der Netzwerkcontroller analysiert hierfür also insbesondere den Datenverkehr im Kommunikationsnetzwerk, insbesondere auch hinsichtlich Veränderungen. Wenn eine Änderung auftritt, kann z.B. bestimmt werden, dass das genannte Auslösekriterium vorliegt, d.h. die Konfigurationstabellen können aktualisiert werden.In particular, the network controller uses its global knowledge of the network architecture (e.g. topology, semantics of CAN signals, etc.) together with e.g. traffic statistics for data traffic in the network to configure or program the configuration tables in the participants concerned. For this purpose, the network controller analyzes in particular the data traffic in the communication network, in particular also with regard to changes. If a change occurs, it can be determined, for example, that said triggering criterion is met, i.e. the configuration tables can be updated.

Durch das Sammeln von Informationen zu den Daten, die häufig angefordert bzw. angefragt werden, entscheidet der Netzwerkcontroller dann insbesondere über zwei Aspekte des Systems. Zum einen, welche Daten zwischengespeichert werden sollen oder müssen, und zum anderen, welche Teilnehmer sie Zwischenspeichern sollen oder müssen. Hierzu passt der Netzwerkcontroller die Konfigurationstabellen entsprechend an und übermittelt sie an die betreffenden Teilnehmer. Somit können die Speicher optimal auf die Anforderungen der Anwendungen und des Netzwerks bzw. der Teilnehmer mit den Anwendungen konfiguriert werden. In einfacher Ausgestaltung kann der Netzwerkcontroller beispielsweise (bei Bedarf oder kontinuierlich) die am häufigsten benötigten Daten bestimmen und diese für die Zwischenspeicherung auswählen. Wenn sich die Reihenfolge oder die Häufigkeit dieser Daten ändert, kann dies ein Auslösekriterium für eine neue Konfiguration sein.By gathering information about the data that is frequently requested or requested, the network controller then makes decisions about two aspects of the system in particular. On the one hand, which data should or must be cached, and on the other hand, which participants should or must cache them. For this purpose, the network controller adapts the configuration tables accordingly and transmits them to the participants concerned. Thus, the memory can be optimally configured to the requirements of the applications and the network or the participants with the applications. In a simple embodiment, the network controller can, for example (when required or continuously) determine the most frequently required data and select this for temporary storage. If the order or the frequency of this data changes, this can be a trigger criterion for a new configuration.

Insgesamt reduziert ein hardwarebeschleunigter Speicher in einem Teilnehmer bzw. Netzwerkelement die Belastung der Quelle von Daten, indem Erzeugung und Bereitstellung der Daten entkoppelt wird. Die Daten können abhängig von den Kommunikationsanforderungen auch weiteren anfragenden Teilnehmern oder anderen nachgeschalteten Teilnehmern mit Speicher zur Verfügung gestellt werden. Durch Reduzieren der Anzahl an Sprüngen im Kommunikationsnetzwerk von Teilnehmer zu Teilnehmer zum Beantworten von Datenanfragen (soweit möglich nur noch die Teilnehmer mit Speicher, die eigentlichen Quellen der Daten dann nicht mehr) kann ein solches Kommunikationsnetzwerk verbesserte Antwortzeiten und damit bessere Echtzeiteigenschaften bereitstellen. Diese Verbesserung kann insbesondere unabhängig von der tatsächlichen E/E-Architektur (z.B. Zonenarchitektur, Domänenarchitektur usw.) erreicht werden, da die Speicher ein wesentlicher Bestandteil des gesamten Kommunikationsnetzwerks sind.Overall, a hardware-accelerated memory in a subscriber or network element reduces the load on the data source by decoupling the generation and provision of the data. Depending on the communication requirements, the data can also be made available to other requesting participants or other downstream participants with memory. By reducing the number of hops in the communication network from participant to participant to answer data requests (as far as possible only the participants with memory, the actual sources of the data then no longer) such a communication network can provide improved response times and thus better real-time properties. In particular, this improvement can be achieved independently of the actual E/E architecture (e.g. zone architecture, domain architecture, etc.) since the memories are an essential part of the overall communication network.

Die Erfindung betrifft weiterhin ein solches Kommunikationsnetzwerk, ein Verfahren zum Betreiben eines Rechensystems als Zwischenspeicher-Teilnehmer in einem solchen Kommunikationsnetzwerk und ein Verfahren zum Betreiben eines Rechensystems als Netzwerkcontroller in einem solchen Kommunikationsnetzwerk. Hinsichtlich weiterer bevorzugter Ausgestaltungen und Vorteile sei zur Vermeidung von Wiederholungen auf obige Ausführungen verwiesen, die hier entsprechend gelten.The invention further relates to such a communication network, a method for operating a computing system as a buffer participant in such a communication network and a method for operating a computing system as a network controller in such a communication network. With regard to further preferred configurations and advantages, in order to avoid repetition, reference is made to the above statements, which apply accordingly here.

Ein erfindungsgemäßes Rechensystem, z.B. ein Steuergerät oder Switch eines Kraftfahrzeugs, ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen.A computing system according to the invention, e.g. a control unit or switch of a motor vehicle, is set up, in particular in terms of programming, to carry out a method according to the invention.

Auch die Implementierung eines erfindungsgemäßen Verfahrens in Form eines Computerprogramms oder Computerprogrammprodukts mit Programmcode zur Durchführung aller Verfahrensschritte ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Geeignete Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich.The implementation of a method according to the invention in the form of a computer program or computer program product with program code for carrying out all method steps is advantageous because this causes particularly low costs, especially if an executing control unit is also used for other tasks and is therefore available anyway. Suitable data carriers for providing the computer program are, in particular, magnetic, optical and electrical memories, such as hard drives, flash memories, EEPROMs, DVDs, etc. It is also possible to download a program via computer networks (Internet, intranet, etc.).

Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.Further advantages and refinements of the invention result from the description and the attached drawing.

Die Erfindung ist anhand eines Ausführungsbeispiels in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.The invention is shown schematically in the drawing using an exemplary embodiment and is described below with reference to the drawing.

Figurenlistecharacter list

  • 1 zeigt schematisch ein erfindungsgemäßes Kommunikationsnetzwerk in einer bevorzugten Ausführungsform. 1 shows schematically a communication network according to the invention in a preferred embodiment.
  • 2 zeigt einen Teil eines Ablaufs eines erfindungsgemäßen Verfahrens in einer bevorzugten Ausführungsform. 2 shows part of a sequence of a method according to the invention in a preferred embodiment.

Ausführungsform(en) der Erfindungembodiment(s) of the invention

In 1 ist schematisch ein erfindungsgemäßes Kommunikationsnetzwerk 100 in einer bevorzugten Ausführungsform dargestellt. Es handelt sich dabei beispielhaft um ein Bordnetz bzw. Borddatennetz eines Fahrzeugs. Das Kommunikationsnetzwerk umfasst beispielhaft mehrere Teilnehmer 101 bis 109, die kommunikativ miteinander zum Übertragen von Daten verbunden sind.In 1 a communication network 100 according to the invention is shown schematically in a preferred embodiment. This is, for example, an on-board network or on-board data network of a vehicle. The communication network includes, for example, a number of participants 101 to 109 which are communicatively connected to one another for the purpose of transmitting data.

Bei dem Teilnehmer 101 handelt es sich beispielhaft um einen sog. Fahrzeugzentralrechner, ein leistungsfähiges Rechensystem oder Steuergerät in einem Fahrzeug, auf dem insbesondere alle relevanten (Software-) Anwendungen laufen. Bei den Teilnehmern 106, 107 und 108 handelt es sich beispielhaft um Steuergeräte, an denen jeweils Sensoren 120, 121 bzw. Aktoren 125, 126, 127 angebunden sind und die von dem betreffenden Steuergerät ausgelesen bzw. angesteuert werden. Beispielhaft sind die Sensoren 120, 121 bzw. Aktoren 125, 126, 127 über CAN als Kommunikationsmedium 111 an das jeweils betreffende Steuergerät angebunden. Denkbar wären hier als Kommunikationsmedium z.B. auch LIN oder eine analoge Anbindung, ebenso auch verschiedene Kommunikationsmedien bzw. Arten der Anbindung der Sensoren bzw. Aktoren.The subscriber 101 is, for example, what is known as a central vehicle computer, a powerful computing system or control device in a vehicle on which all relevant (software) applications in particular run. The participants 106, 107 and 108 are, for example, control devices to which sensors 120, 121 or actuators 125, 126, 127 are connected and which are read out or controlled by the relevant control device. For example, sensors 120, 121 or actuators 125, 126, 127 are connected via CAN as communication medium 111 to the relevant control device. LIN or an analog connection would also be conceivable here as a communication medium, for example, as well as various communication media or types of connection of the sensors or actuators.

Bei den Teilnehmern 102, 103, 104, 105 handelt es sich beispielhaft um Switches bzw. Vermittlungseinheiten, die dazu dienen, die Teilnehmer bzw. Steuergeräte 106, 107, 108 über beispielhaft Ethernet als Kommunikationsmedium 110 an den Teilnehmer bzw. Fahrzeugzentralrechner 101 anzubinden.The subscribers 102, 103, 104, 105 are, for example, switches or switching units that are used to connect the subscribers or control devices 106, 107, 108 to the subscriber or central vehicle computer 101 via Ethernet, for example, as the communication medium 110.

Bei dem Teilnehmer 109 handelt es sich beispielhaft um ein Kommunikationsmodul zur drahtlosen Kommunikation mit z.B. einer fahrzeugfremden Recheneinheit, z.B. über Mobilfunk oder WLAN. Dieser Teilnehmer bzw. dieses Kommunikationsmodul 109 ist ebenfalls über Ethernet 110 in das Kommunikationsnetzwerk 100 eingebunden, wodurch ein Zugriff auf das Kommunikationsnetzwerk von außerhalb bzw. eine Kommunikation nach außerhalb ermöglicht wird.The subscriber 109 is, for example, a communication module for wireless communication with, for example, a computing unit external to the vehicle, e.g. via mobile radio or WLAN. This participant or this communication module 109 is also integrated into the communication network 100 via Ethernet 110, as a result of which access to the communication network from outside or communication to the outside is made possible.

Beispielhaft soll es sich nun bei den vier als Switches verwendeten Teilnehmern 102 bis 105 um Zwischenspeicher-Teilnehmer im Sinne der Erfindung handeln, die jeweils einen Speicher 102.2, 103.2, 104.2 bzw. 105.2 und eine Konfigurationstabelle 102.1, 103.1, 104.1 bzw. 105.1 aufweisen. Der Teilnehmer bzw. Fahrzeugzentralrechner 101 soll als Netzwerkcontroller 130 im Sinne der Erfindung dienen, also z.B. eine entsprechende Anwendung oder Software umfassen, die die nötigen Aktionen durchführt.By way of example, the four subscribers 102 to 105 used as switches are now buffer subscribers within the meaning of the invention, each of which has a memory 102.2, 103.2, 104.2 or 105.2 and a configuration table 102.1, 103.1, 104.1 or 105.1. The participant or central vehicle computer 101 should serve as a network controller 130 within the meaning of the invention, i.e., for example, include a corresponding application or software that carries out the necessary actions.

Nachfolgend soll anhand dieses Kommunikationsnetzwerkes 100 ein Ablauf eines erfindungsgemäßen Verfahrens in einer bevorzugten Ausführungsform näher erläutert werden.A sequence of a method according to the invention in a preferred embodiment is to be explained in more detail below on the basis of this communication network 100 .

Wie schon erwähnt, ist es z.B. mit der Programmiersprache P4 möglich, Speicherbereiche innerhalb von Teilnehmern bzw. Netzwerkelementen zum Speichern von Daten z.B. direkt im Switching-ASIC zu erstellen. Auf diese Weise können also die Speicherbereiche 102.2, 103.2, 104.2 bzw. 105.2 entsprechend erstellt und konfiguriert werden.As already mentioned, it is possible with the programming language P4, for example, to create memory areas within participants or network elements for storing data, e.g. directly in the switching ASIC. In this way, the memory areas 102.2, 103.2, 104.2 and 105.2 can be created and configured accordingly.

Wie erwähnt, ist es bei einer hohen Anzahl an verfügbaren Signalen bzw. Arten von Nachrichten in jedem Subnetz (z.B. CAN 111 usw., ebenso in jedem gezeigten CAN, oder Ethernet-Verbindung(en) 110) in der Regel nicht möglich, alle Daten in einem bzw. jedem der Teilnehmer 102 bis 105 zu speichern. Hier kommt der Netzwerkcontroller 130 ins Spiel, indem er den betreffenden Teilnehmern 102 bis 105 mitteilt, welche genauen Daten bzw. Datenelemente wie gespeichert werden sollen. Zu diesem Zweck programmiert bzw. konfiguriert der Netzwerkcontroller 130 die Konfigurationstabellen 102.1, 103.1, 104.1 bzw. 105.1 der betreffenden Teilnehmer 102 bis 105, die dann verwendet werden, um die erforderlichen Datenfelder aus bestimmten Nachrichten bzw. Paketen (z. B. Ethernet-Paketen, CAN-Frames oder einem anderen Kommunikationsprotokoll für z.B. die Automobilindustrie) zu extrahieren.As mentioned, with a large number of available signals or types of messages in each subnet (e.g. CAN 111 etc., also in each CAN or Ethernet connection(s) 110 shown), it is usually not possible to transfer all data in one or each of the participants 102 to 105 to store. This is where the network controller 130 comes into play by informing the relevant participants 102 to 105 which exact data or data elements are to be stored and how. For this purpose, the network controller 130 programs or configures the configuration tables 102.1, 103.1, 104.1 or 105.1 of the relevant participants 102 to 105, which are then used to extract the required data fields from certain messages or packets (e.g. Ethernet packets , CAN frames or another communication protocol for e.g. the automotive industry).

Die extrahierten Daten bzw. Werte werden im Speicher z.B. indiziert durch Schlüssel gespeichert, die auch in den Konfigurationstabellen 102.1, 103.1, 104.1 bzw. 105.1 verfügbar sind. Beispielhaft ist in 2 hierzu eine Nachricht 200 gezeigt, die in dem Kommunikationsnetzwerk von einem der Teilnehmer, z. B. dem Steuergerät 106, versendet wird. Diese Nachricht 200 umfasst beispielhaft fünf Bestandteilte 201 bis 205, die z.B. einen Header mit Informationen zu Sender, Empfänger und Art der Nutzdaten betreffen. In der Konfigurationstabelle 102.1 kann nun z.B. festgelegt sein, dass der Teilnehmer 102, wenn er die Nachricht 200 mit einem bestimmten Header empfängt, den Bestandteil 203 als Daten daraus extrahieren und in seinem Speicher 102.2 zwischenspeichern soll. Unabhängig davon leitet der Teilnehmer 102 die Nachricht 200 auch zu seinem Empfänger, z.B. Steuergerät 108, weiter. Im Gegensatz zu Teilnehmer bzw. Switch 102 speichern die Switche 103 und 105 keine Daten dieser Nachricht, da dies nicht in der Konfigurationstabelle 103.1 und 105.1 durch 130 konfiguriert ist. Nachfolgend ist beispielhaft eine solche Konfigurationstabelle gezeigt. Match Fields (MAC Addr., Ethertype, etc.) Data Type/Length Bytes/Bits representing Signal of Interest Key Src MAC: 12:34:56:78:90 Dst MAC: 09:87:65:43:21 VLAN.ID: 4 ... Uint32 8-11 Payload Byte 0x45a23 The extracted data or values are stored in the memory indexed by keys, for example, which are also available in the configuration tables 102.1, 103.1, 104.1 or 105.1. An example is in 2 For this purpose, a message 200 shown in the communication network from one of the participants, z. B. the controller 106 is sent. This message 200 includes, for example, five components 201 to 205, which relate, for example, to a header with information about the sender, recipient and type of user data. In the configuration table 102.1 it can now be specified, for example, that the subscriber 102, when he receives the message 200 with a specific header, should extract the component 203 as data from it and store it temporarily in his memory 102.2. Irrespective of this, the subscriber 102 also forwards the message 200 to its recipient, eg control unit 108 . In contrast to subscriber or switch 102, switches 103 and 105 do not store any data of this message, since this is not configured by 130 in configuration table 103.1 and 105.1. Such a configuration table is shown below as an example. Match Fields (MAC Addr., Ethertype, etc.) DataType/Length Bytes/Bits representing Signal of Interest key Src MAC: 12:34:56:78:90 Dst MAC: 09:87:65:43:21 VLAN.ID: 4... Uint32 8-11 payload bytes 0x45a23

Darin gibt der erste Eintrag an bzw. impliziert, dass der Teilnehmer für Ethernet-Nachrichten bzw. Ethernet-Pakete mit Feldern, die mit der ersten Spalte (dort ist z.B. die MAC-Adresse angegeben) übereinstimmen, die Nutzlastbytes 8 bis 11 (als die zu extrahierenden Daten, dritte Spalte) als uint32-Wert (zweite Spalte für Datentyp) interpretiert und im Speicher unter dem Schlüssel (vierte Spalte, Key) 0x45a23 zwischenspeichern soll.The first entry indicates or implies that the node for Ethernet messages or Ethernet packets with fields that match the first column (e.g. the MAC address is specified there), the payload bytes 8 to 11 (as the data to be extracted, third column) should be interpreted as a uint32 value (second column for data type) and should be cached in memory under the key (fourth column, key) 0x45a23.

Wenn Anwendungen auf Teilnehmern bestimmte Daten anfordern bzw. anfragen, können die Zwischenspeicher-Teilnehmer diese Anforderungen bzw. Anfragen abfangen und in ihren Speichern nachsehen, ob die angefragten Daten bereits zwischengespeichert sind. Zu diesem Zweck wird z.B. ein Hash-Wert der Zeichenfolge, die den Namen der Daten darstellt, berechnet und der Hash-Wert als Schlüssel zum Nachschlagen im Speicher verwendet.When applications on participants request or request specific data, the cache participants can intercept these requests or requests and check their memories to see whether the requested data is already cached. For example, a hash value of the string representing the name of the data is computed and the hash value is used as a key for lookup in memory.

Wenn ein gespeicherter Wert verfügbar ist, kann der betreffende Teilnehmer mit den Daten direkt an den anfragenden Teilnehmer antworten, ohne die Quelle der Daten (also den Teilnehmer, der die Daten originär zur Verfügung stellt) einzubeziehen. Wenn die Daten nicht verfügbar sind, wird die Anfrage z.B. wie üblich an die Datenquelle weitergeleitet.If a stored value is available, that participant can reply with the data directly to the requesting participant without involving the source of the data (i.e. the participant who originally provided the data). For example, if the data is not available, the request is forwarded to the data source as usual.

Der Netzwerkcontroller 130 verwendet zum Konfigurieren bzw. Programmieren der Konfigurationstabellen in den betreffenden Teilnehmern z.B. sein globales Wissen über das Kommunikationsnetzwerk 100 (z.B. Topologie, Semantik von CAN-Signalen usw.) zusammen mit z.B. Verkehrsstatistiken zum Datenverkehr.The network controller 130 uses e.g. its global knowledge about the communication network 100 (e.g. topology, semantics of CAN signals etc.) together with e.g.

Mit der 1 soll dies anhand eines Beispiels erläutert werden. Es soll einen Dienst 250 (auf dem Teilnehmer 106) geben, der Daten 203 (z.B. innerhalb einer Botschaft 200, vgl. 2) vom Sensor 120 (der am Teilnehmer 106 angeschlossen ist) verteilt. Die Anwendungen 251 und 252 (auf dem Teilnehmer 107 bzw. 101) haben diese Daten 203 abonniert und erhalten regelmäßige Updates vom Dienst 250.With the 1 this should be explained with an example. There should be a service 250 (on the subscriber 106) that sends data 203 (e.g. within a message 200, cf. 2 ) distributed by sensor 120 (connected to subscriber 106). The applications 251 and 252 (on the subscriber 107 and 101 respectively) have subscribed to this data 203 and receive regular updates from the service 250.

Der Netzwerkcontroller 130 kann nun den Speicher 102.2 auf dem Teilnehmer 102 über die Konfigurationstabelle 102.1 derart konfigurieren bzw. programmieren, dass Daten 203 vom Sensor 120 dort zwischengespeichert werden (mittels eines Kreises 203 angedeutet), wie in Bezug auf 2 erläutert. Der Netzwerkcontroller 130 setzt sein globales Wissen ein, um eine Vorhersage zu treffen, ob bzw. dass Daten 203 von einem Steuergerät 108 zukünftig benötigt werden. Anschließend können Anfragen oder Anforderungen für diese Daten 203, z.B. die Anfrage 203' von der Anwendung 253 (auf dem Teilnehmer 108) direkt vom Teilnehmer 102 mit den Daten 203 bedient werden, ohne dass diese Anwendung 253 sich an den Teilnehmer 106 wenden müsste, der den Dienst 250 bereitstellt. Darüber hinaus können Anfragen bzw. Anforderungen für Daten 203 vom Sensor 120 von externen Anwendungen (z.B. eine Cloud oder sonstige fahrzeugfremde Rechensysteme), die über das Kommunikationsmodul 109 ankommen, auch direkt vom Teilnehmer 102 mit den Daten 203 bedient werden.The network controller 130 can now configure or program the memory 102.2 on the subscriber 102 via the configuration table 102.1 in such a way that data 203 from the sensor 120 is temporarily stored there (indicated by a circle 203), as in relation to FIG 2 explained. The network controller 130 uses its global knowledge to make a prediction as to whether or that data 203 will be required by a control unit 108 in the future. Then requests or requirements for this data 203, such as the request 203 'from the application 253 (on the participant 108) can be served directly from the participant 102 with the data 203 without this application 253 having to turn to the participant 106, the the service 250 provides. In addition, queries or requests for data 203 from sensor 120 from external applications (eg a cloud or other non-vehicle computing systems) that arrive via communication module 109 can also be served directly by subscriber 102 with data 203 .

Insgesamt reduziert ein solcher Speicher in einem Teilnehmer die Belastung der Datenquelle (im Beispiel ist der Teilnehmer 106 diese Quelle), indem Erzeugung (durch Teilnehmer 106) und Verbrauch (durch Teilnehmer 108) der Daten entkoppelt wird. Auch eine zeitliche Entkopplung wird erreicht, wobei ein Zwischenspeicher-Teilnehmer die Frequenz bzw. Häufigkeit des Sendens des zu sendenden Teilnehmers von der Frequenz der Anfragen von Teilnehmern entkoppelt und dadurch die Gesamtlast des Kommunikationsnetzwerks reduziert. Die Daten können abhängig von den Kommunikationsanforderungen auch weiteren anfragenden Teilnehmern oder anderen nachgeschalteten Teilnehmern mit Speicher zur Verfügung gestellt werden.Overall, such a memory in a participant reduces the load on the data source (participant 106 is this source in the example) by decoupling the generation (by participant 106) and consumption (by participant 108) of the data. Temporal decoupling is also achieved, with a temporary storage participant decoupling the frequency or frequency of the transmission of the participant to be sent from the frequency of the requests from participants, thereby reducing the overall load on the communication network. Depending on the communication requirements, the data can also be made available to other requesting participants or other downstream participants with memory.

Claims (18)

Verfahren zum Betreiben eines Kommunikationsnetzwerkes (100) mit mehreren Teilnehmern (101-109), die kommunikativ zum Austausch von Daten miteinander verbunden sind, wobei das Kommunikationsnetzwerk (100) einen oder mehrere Zwischenspeicher-Teilnehmer (102-105) als Teilnehmer umfasst, die jeweils einen Speicher (102.2-105.2) und eine zugehörige Konfigurationstabelle (102.1-105.1) aufweisen, wobei in der Konfigurationstabelle (102.1-105.1) jeweils hinterlegt ist, welche Daten (203) aus von den betreffenden Zwischenspeicher-Teilnehmer (102-105) erreichenden Nachrichten (200) durch diesen Zwischenspeicher-Teilnehmer (102-105) in dem zugehörigen Speicher (102.2-105.2) zwischengespeichert werden sollen, wobei jeder Zwischenspeicher-Teilnehmer (102), wenn ihn eine Nachricht (200) erreicht, die Daten (203) enthält, die dieser Zwischenspeicher-Teilnehmer gemäß zugehöriger Konfigurationstabelle (102.1) zwischenspeichern soll, diese Daten (203) zwischenspeichert, wobei, wenn eine Anfrage (203') nach Daten (203) von einem Teilnehmer (108) einen der Zwischenspeicher-Teilnehmer (102) erreicht, bei dem die angefragten Daten (203) zwischengespeichert sind, dieser Zwischenspeicher-Teilnehmer (102) die angefragten Daten (203) an den anfragenden Teilnehmer (108) übermittelt, und wobei jede Konfigurationstabelle (102.1-105.1) bei Vorliegen eines Auslösekriteriums aktualisiert wird.Method for operating a communication network (100) with a plurality of participants (101-109) which are communicatively connected to one another for the exchange of data, the communication network (100) comprising one or more buffer participants (102-105) as participants, each have a memory (102.2-105.2) and an associated configuration table (102.1-105.1), the configuration table (102.1-105.1) storing which data (203) from messages reaching the relevant intermediate storage device (102-105). (200) are to be buffered by this buffering participant (102-105) in the associated memory (102.2-105.2), each buffering participant (102) when a message (200) containing data (203) reaches it , Which this cache participant according to the associated configuration table (102.1) between is intended to cache, this data (203) caches, wherein when a request (203') for data (203) from a subscriber (108) reaches one of the cache subscribers (102) in which the requested data (203) are cached , this intermediate storage participant (102) transmits the requested data (203) to the requesting participant (108), and wherein each configuration table (102.1-105.1) is updated when a triggering criterion is present. Verfahren nach Anspruch 1, wobei der Zwischenspeicher-Teilnehmer (102) die angefragten Daten (203) an den anfragenden Teilnehmer (108) nur dann übermittelt, wenn für die betreffenden Daten eine Aktualitätsbedingung erfüllt ist.procedure after claim 1 , wherein the intermediate storage participant (102) transmits the requested data (203) to the requesting participant (108) only if a topicality condition is met for the relevant data. Verfahren nach Anspruch 1 oder 2, wobei das Kommunikationsnetzwerk (100) einen Netzwerkcontroller (130) als Teilnehmer umfasst, durch den jede Konfigurationstabelle (102.1-105.1) bei Vorliegen des Auslösekriteriums aktualisiert wird.procedure after claim 1 or 2 , wherein the communication network (100) comprises a network controller (130) as a participant through which each configuration table (102.1-105.1) is updated when the triggering criterion is present. Verfahren nach Anspruch 3, wobei ein Datenverkehr in dem Kommunikationsnetzwerk (100) durch den Netzwerkcontroller (130) analysiert wird, und wobei basierend auf der Analyse bestimmt wird, ob das Auslösekriterium vorliegt, bei dem die Konfigurationstabellen (102.1-105.1) konfiguriert und/oder aktualisiert werden.procedure after claim 3 , wherein data traffic in the communication network (100) is analyzed by the network controller (130), and based on the analysis it is determined whether the triggering criterion is present, at which the configuration tables (102.1-105.1) are configured and/or updated. Verfahren nach einem der vorstehenden Ansprüche, wobei der eine oder zumindest einer der mehreren Zwischenspeicher-Teilnehmer (102-105) eine Vermittlungseinheit im Kommunikationsnetzwerk ist.Method according to one of the preceding claims, in which the one or at least one of the plurality of buffering parties (102-105) is a switching unit in the communication network. Verfahren nach einem der vorstehenden Ansprüche, wobei jeder Zwischenspeicher-Teilnehmer (102-105) Daten unter Verwendung eines indizierten Schlüssels, insbesondere eines Hash-Werts, in seinem Speicher (102.2-105.2) zwischenspeichert und/oder aus seinem Speicher ausliest, um die Daten (203) an den anfragenden Teilnehmer zu übermitteln.Method according to one of the preceding claims, wherein each cache participant (102-105) caches data using an indexed key, in particular a hash value, in its memory (102.2-105.2) and/or reads it out of its memory in order to convert the data (203) to the requesting participant. Verfahren nach einem der vorstehenden Ansprüche, wobei ein datenorientiertes und/oder ein service-orientiertes Kommunikationsparadigma verwendet werden.Method according to one of the preceding claims, wherein a data-oriented and/or a service-oriented communication paradigm is used. Verfahren nach einem der vorstehenden Ansprüche, wobei die Anfrage (203'), wenn die angefragten Daten bei dem Zwischenspeicher-Teilnehmer (102-105) nicht zwischengespeichert sind, von dem betreffenden Zwischenspeicher-Teilnehmer weitergeleitet wird.Method according to one of the preceding claims, wherein the request (203') is forwarded by the caching party concerned if the requested data is not cached at the caching party (102-105). Verfahren nach einem der vorstehenden Ansprüche, wobei jeder Zwischenspeicher-Teilnehmer (102) derart betrieben wird, dass ihn Nachrichten (200), die Daten (203) enthalten, die dieser Zwischenspeicher-Teilnehmer zwischenspeichern soll, und Anfragen (203') nach Daten (203), die dieser Zwischenspeicher-Teilnehmer (102) übermitteln soll, in unterschiedlichen Frequenzen erreichen.A method according to any one of the preceding claims, wherein each caching agent (102) is operable to send messages (200) containing data (203) to be cached by that caching agent and requests (203') for data ( 203) which this intermediate storage participant (102) is to transmit, at different frequencies. Verfahren nach einem der vorstehenden Ansprüche, wobei als Kommunikationsnetzwerk (100) ein Borddatennetz eines Fahrzeugs verwendet wird, bei dem die Teilnehmer Steuergeräte (106-108), an die Sensoren und/oder Aktoren (120, 121, 125, 126, 127) angeschlossen sind, Vermittlungseinheiten (102-105) sowie insbesondere einen Fahrzeugzentralrechner (101) umfassen.Method according to one of the preceding claims, wherein an on-board data network of a vehicle is used as the communication network (100), in which the participants have control units (106-108) connected to the sensors and/or actuators (120, 121, 125, 126, 127). are, switching units (102-105) and in particular a central vehicle computer (101). Kommunikationsnetzwerk (100) mit mehreren Teilnehmern (101-109), die kommunikativ zum Austausch von Daten miteinander verbunden sind, wobei das Kommunikationsnetzwerk (100) einen oder mehrere Zwischenspeicher-Teilnehmer (102-105) als Teilnehmer umfasst, die jeweils einen Speicher (102.2-105.2) und eine zugehörige Konfigurationstabelle (102.1-105.1) aufweisen, wobei auf der Konfigurationstabelle (102.1-105.1) jeweils hinterlegt ist, welche Daten (203) aus von den betreffenden Zwischenspeicher-Teilnehmer (102-105) erreichenden Nachrichten (200) durch diesen Zwischenspeicher-Teilnehmer (102-105) in dem zugehörigen Speicher (102.2-105.2) zwischengespeichert werden sollen, wobei jeder Zwischenspeicher-Teilnehmer dazu eingerichtet ist, wenn ihn eine Nachricht (200) erreicht, die Daten (203) enthält, die dieser Zwischenspeicher-Teilnehmer gemäß zugehöriger Konfigurationstabelle (102.1) zwischenspeichern soll, diese Daten (203) zwischenzuspeichern, wobei jeder Zwischenspeicher-Teilnehmer weiterhin dazu eingerichtet ist, wenn ihn eine Anfrage (203') nach Daten (203) von einem Teilnehmer (108) einen der Zwischenspeicher-Teilnehmer (102) erreicht, bei dem die angefragten Daten (203) zwischengespeichert sind, dieser Zwischenspeicher-Teilnehmer (102) die angefragten Daten (203) an den anfragenden Teilnehmer (108) zu übermitteln, und wobei das Kommunikationsnetzwerk (100) dazu eingerichtet ist, jede Konfigurationstabelle (102.1-105.1) bei Vorliegeneines Auslösekriteriums zu aktualisieren.Communications network (100) with a plurality of participants (101-109) which are communicatively connected to one another for exchanging data, the communications network (100) comprising one or more buffer storage participants (102-105) as participants, each of which has a memory (102.2 -105.2) and an associated configuration table (102.1-105.1), the configuration table (102.1-105.1) storing which data (203) from messages (200) reaching the relevant intermediate storage device (102-105) through this intermediate storage device (102-105) is to be temporarily stored in the associated memory (102.2-105.2), each intermediate storage device being set up to do so when a message (200) containing data (203) containing this intermediate memory reaches it -Participants according to the associated configuration table (102.1) is to cache this data (203), with each cache-participant wide rhin is set up to do so when a request (203') for data (203) from a participant (108) reaches one of the intermediate storage participants (102) in which the requested data (203) are temporarily stored, this intermediate storage participant ( 102) to transmit the requested data (203) to the requesting participant (108), and wherein the communications network (100) is set up to update each configuration table (102.1-105.1) when a trigger criterion is present. Kommunikationsnetzwerk (100) nach Anspruch 11, das weiterhin einem Netzwerkcontroller (130) als Teilnehmer umfasst, der dazu eingerichtet ist, jede Konfigurationstabelle (Konfigurationstabelle (102.1-105.1) bei Vorliegen des Auslösekriteriums zu aktualisieren.communication network (100) according to claim 11 , which further comprises a network controller (130) as a participant, which is set up to update each configuration table (configuration table (102.1-105.1) when the triggering criterion is present. Kommunikationsnetzwerk (100) nach einem der Anspruch 11 oder 12, das zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 10 eingerichtet ist.Communication network (100) according to one of claim 11 or 12 , which is used to carry out a method according to one of Claims 1 until 10 is set up. Verfahren zum Betreiben eines Rechensystems (101) als Teilnehmer in einem Kommunikationsnetzwerk (100) mit mehreren Teilnehmern (101-109), die kommunikativ zum Austausch von Daten miteinander verbunden sind, wobei das Kommunikationsnetzwerk (100) einen oder mehrere Zwischenspeicher-Teilnehmer (102-105) als Teilnehmer umfasst, die jeweils einen Speicher (102.2-105.2) und eine zugehörige Konfigurationstabelle (102.1-105.1) aufweisen, wobei auf der Konfigurationstabelle (102.1-105.1) jeweils hinterlegt ist, welche Daten (203) aus von den betreffenden Zwischenspeicher-Teilnehmer (102-105) erreichenden Nachrichten (200) durch diesen Zwischenspeicher-Teilnehmer (102-105) in dem zugehörigen Speicher (102.2-105.2) zwischengespeichert werden sollen, wobei durch das Rechensystem (101), insbesondere mittels eines im Rechensystem (101) ausgeführten Netzwerkcontrollers (130), ein Datenverkehr in dem Kommunikationsnetzwerk (100) analysiert wird, wobei basierend auf der Analyse bestimmt wird, ob ein Auslösekriterium vorliegt, bei dem eine oder mehrere der Konfigurationstabellen (102.1-105.1) konfiguriert und/oder aktualisiert werden sollen und wobei Konfigurationsdaten zur Aktualisierung der einen oder der mehreren Konfigurationstabellen ausgegeben werden.Method for operating a computing system (101) as a participant in a communication network (100) with a plurality of participants (101-109) who are communicatively connected to one another for the exchange of data, wherein the communication network (100) comprises one or more intermediate storage participants (102-105) as participants, each having a memory (102.2-105.2) and an associated configuration table (102.1-105.1), wherein the configuration table (102.1-105.1) it is stored in each case which data (203) from messages (200) arriving from the relevant intermediate storage participant (102-105) are to be temporarily stored by this intermediate storage participant (102-105) in the associated memory (102.2-105.2), data traffic in the communication network (100) being analyzed by the computing system (101), in particular by means of a network controller (130) running in the computing system (101), it being determined on the basis of the analysis whether there is a triggering criterion in which one or several of the configuration tables (102.1-105.1) are to be configured and/or updated and configuration data for updating the one or more configuration tables are output. Verfahren zum Betreiben eines Rechensystems (102) als Teilnehmer in einem Kommunikationsnetzwerk (100) mit mehreren Teilnehmern (102-109), die kommunikativ zum Austausch von Daten miteinander verbunden sind, wobei das Rechensystem (102) einen Speicher (102.2) und eine zugehörige Konfigurationstabelle (102.1) aufweist, wobei auf der Konfigurationstabelle hinterlegt ist, welche Daten (203) aus von das Rechensystem (102) erreichenden Nachrichten durch das Rechensystem in dem zugehörigen Speicher zwischengespeichert werden sollen, wobei durch das Rechensystem (102), wenn es eine Nachricht (200) erreicht, die Daten enthält, die dieses Rechensystem gemäß Konfigurationstabelle (102.1) zwischenspeichern soll, diese Daten zwischenspeichert, wobei durch das Rechensystem (102), wenn es eine Anfrage (203') nach Daten (203) von einem Teilnehmer erreicht, bei dem die angefragten Daten zwischengespeichert sind, die angefragten Daten an den anfragenden Teilnehmer übermittelt, und wobei von dem Rechensystem (102) Konfigurationsdaten empfangen werden, basierend worauf die Konfigurationstabelle (102.1) aktualisiert wird.Method for operating a computing system (102) as a participant in a communication network (100) with a plurality of participants (102-109) who are communicatively connected to one another for the exchange of data, wherein the computing system (102) has a memory (102.2) and an associated configuration table (102.1), the configuration table storing which data (203) from messages reaching the computing system (102) are temporarily stored by the computing system in the associated memory must, wherein by the computer system (102), when it receives a message (200) containing data that this computer system is to cache according to the configuration table (102.1), caches this data, wherein by the computer system (102), when it receives a request (203') for data (203) from a participant in which the requested data are temporarily stored, the requested data is transmitted to the requesting participant, and wherein configuration data is received from the computing system (102) based on which the configuration table (102.1) is updated. Rechensystem (101, 102), das dazu eingerichtet ist, alle Verfahrensschritte eines Verfahrens nach Anspruch 14 oder 15 durchzuführen.Computing system (101, 102), which is set up to follow all the steps of a method Claim 14 or 15 to perform. Computerprogramm, das ein Rechensystem (101, 102) dazu veranlasst, alle Verfahrensschritte eines Verfahrens nach Anspruch 14 oder 15 durchzuführen, wenn es auf dem Rechensystem (101, 102) ausgeführt wird.Computer program that causes a computing system (101, 102) to follow all the steps of a method Claim 14 or 15 to be performed when executed on the computing system (101, 102). Maschinenlesbares Speichermedium mit einem darauf gespeicherten Computerprogramm nach Anspruch 17.Machine-readable storage medium with a computer program stored on it Claim 17 .
DE102021202812.8A 2021-03-23 2021-03-23 Method for operating a communication network and communication network Pending DE102021202812A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102021202812.8A DE102021202812A1 (en) 2021-03-23 2021-03-23 Method for operating a communication network and communication network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021202812.8A DE102021202812A1 (en) 2021-03-23 2021-03-23 Method for operating a communication network and communication network

Publications (1)

Publication Number Publication Date
DE102021202812A1 true DE102021202812A1 (en) 2022-09-29

Family

ID=83192694

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021202812.8A Pending DE102021202812A1 (en) 2021-03-23 2021-03-23 Method for operating a communication network and communication network

Country Status (1)

Country Link
DE (1) DE102021202812A1 (en)

Similar Documents

Publication Publication Date Title
DE102006058818B4 (en) Apparatus and method for converting text messages
DE69834122T2 (en) CONNECTING SUPPORT IN A HIGH-PERFORMANCE NETWORK DEVICE
DE102012223124B4 (en) vehicle communication control device
EP2135404B1 (en) Method for operating a mesh-type network, particularly as defined in an ieee 802.11s standard, formed by a plurality of network nodes
EP2847965B1 (en) Method of transmission of data in a packet oriented communications network and corresponding subscriber equipment on a communications network
EP2274935B1 (en) Method and device for creating at least one expansion of an association message for wireless mesh networks
DE112016004546T5 (en) Vehicle interface device
DE102015216284A1 (en) Method for operating a gateway
DE102016000302A1 (en) REMOTE MONITORING AND CONFIGURATION OF DEVICES FOR THE BIT TRANSFER LAYER
DE102006056693B4 (en) A method, system and wireless vehicle communication system for providing security for a communication signal transmitted from a server to a vehicle
DE102014225802A1 (en) Scalable Ethernet communication in the vehicle via multicast messages
WO2021122362A1 (en) Communication between networks of a motor vehicle
DE102021202812A1 (en) Method for operating a communication network and communication network
DE112020003658T5 (en) SDN-BASED INTRUSION PREVENTION METHOD FOR AN IN-VEHICLE NETWORK AND SYSTEM USING SUCH METHOD
WO2020127080A1 (en) Telematics control unit having dispatcher for always-on radio connections
DE102011080676A1 (en) Configuration of a communication network
DE102007049044A1 (en) Data exchange device i.e. communication structure, for e.g. application specific integrated circuit, has function modules for processing interface-related functions, and master unit including number of signal inputs
DE60320567T2 (en) Address administrative procedures
EP3539308B1 (en) Method for transmitting data in a vehicle communication network, vehicle communication network, participant, and vehicle
DE102019125545B3 (en) DATA TRANSFER PROCEDURE, SEGMENT TELEGRAM AND AUTOMATION COMMUNICATION NETWORK
EP2070285B1 (en) Method for optimizing nsis signaling in mobike-based mobile applications
EP2769525B1 (en) Method for processing a data packet
DE102007043707A1 (en) Communication system for data transmission between control devices of motor vehicle, has FlexRay bus system transmitting data frames between network nodes, where user data are packed in frames which are transmitted relative to attribute
DE102016209370A1 (en) Control device and method for transmitting data packets between an Ethernet network and a timed bus network, in particular in a motor vehicle
DE102010027687A1 (en) Meshed radio network, network node, network coordinator and method for routing data packets in a meshed radio network