Vehicle Shared Memory Message System for Low Latency IPC

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current inter-process communication (IPC) systems in vehicle computer systems introduce latency and overhead, particularly in autonomous vehicles, due to kernel interactions and inefficiencies in message routing, which can impact safety and performance.

Innovation Solution

A shared memory message system where nodes can write and read messages directly to and from message buffers without kernel interaction, using a topic registry to manage message storage and retrieval, allowing concurrent operations and reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If IPC system with publish and subscribe semantics is used for node communication, then modularity and stability are improved, but latency increases

Engineering Contradiction:
Improvesystem stabilityVSAvoidmessage latency
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The patent extracts the kernel interaction component from the message communication path by implementing direct user-space shared memory access between publisher and subscriber nodes. This removes the kernel as an intermediary, eliminating context switches and reducing latency while preserving the modular publish-subscribe architecture through topic-based message routing in user space.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a user-space message buffer and topic registry as intermediaries between publishers and subscribers. These intermediaries manage message storage and routing without requiring kernel involvement, enabling efficient direct memory access while maintaining the decoupled modular architecture. The topic registry acts as a mediator that maps topics to message buffers in user space.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple subscribers are connected to a topic via kernel-based routing, then system modularity is improved, but overhead increases due to multiple communication paths

Engineering Contradiction:
Improvesystem modularityVSAvoidcommunication overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges multiple subscriber connections to a single topic into a single shared message buffer in user space. Instead of establishing separate kernel-based communication paths for each subscriber, all subscribers access the same message buffer directly, eliminating redundant kernel interactions and reducing overhead while maintaining modular topic-based routing through the user-space topic registry.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent uses copy-on-write semantics where message data is copied from the publisher's buffer to the subscriber's buffer only when needed, rather than maintaining multiple active communication paths. This reduces overhead by eliminating redundant data structures and kernel management for each subscriber connection while preserving the ability to handle multiple subscribers through efficient memory sharing.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11080216B2Writing messages in a shared memory architecture for a vehicle
Publication Date: 2021.08.03 BEIJING VOYAGER TECH CO LTD
  • US11080216B2 patent drawing
  • US11080216B2 patent drawing
  • US11080216B2 patent drawing

AI summary

A method of communicating messages between a plurality of modules in a system on a vehicle, each module of the plurality of modules implemented on at least one processor and configured as a publisher node and/or a subscriber node and collectively forming a plurality of nodes that communicate in the operation of the vehicle. The method may include generating a first message associated with a first topic by a first publisher node, writing, by the first publisher node, the first message in a memory location in a first message buffer of the plurality of message buffers, the first message buffer associated with the first topic and configured to store a plurality of messages associated with the first topic, and writing in a registry information associated with writing the first message, the registry configured to store location information of the first message.