Shared Memory Message System for Vehicle Nodes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current inter-process communication (IPC) systems in vehicle software systems, such as those used in autonomous vehicles, introduce latency and overhead due to kernel interactions, which is critical for real-time operations, especially in busy environments where immediate control actions are necessary for safety.

Innovation Solution

A shared memory message system is implemented, where nodes can write and read messages directly to and from message buffers without kernel interaction, using a topic registry to store message locations and frequencies, allowing concurrent read and write operations and reducing kernel load.

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 and real-time responsiveness deteriorates

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 shared memory buffers that allow direct user-space access. Publisher nodes write messages directly to shared memory buffers and subscriber nodes read messages directly from these buffers without kernel mediation, eliminating context switches and kernel processing overhead while maintaining the publish-subscribe architecture for modularity

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces shared memory buffers as intermediaries between publisher and subscriber nodes. These buffers serve as a communication medium that enables direct data transfer between processes without requiring kernel involvement, thus reducing latency while preserving the decoupled architecture

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple subscribers subscribe to a topic, then information consumption coverage is improved, but system overhead increases due to multiple communication paths requiring kernel interaction

Engineering Contradiction:
Improvesubscriber coverageVSAvoidcommunication path complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges multiple communication paths into a single shared memory buffer per topic. Instead of establishing separate kernel-mediated communication channels for each subscriber, all subscribers access the same shared memory buffer directly, eliminating redundant kernel interactions and reducing system overhead while supporting multiple subscribers

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If pipe-based IPC mechanism is used for message transfer, then message routing and delivery are improved, but processing overhead increases due to copying, context switches, and kernel interaction

Engineering Contradiction:
Improvemessage delivery reliabilityVSAvoidmessage processing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent removes the kernel-mediated copying mechanism from the message transfer path. Messages are written once to shared memory buffers by publishers and read directly by subscribers without being copied through kernel space, eliminating the publisher-to-kernel and kernel-to-subscriber copying overhead while maintaining reliable message delivery through memory protection mechanisms

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11327489B2Shared memory architecture for a vehicle
Publication Date: 2022.05.10 BEIJING VOYAGER TECH CO LTD
  • US11327489B2 patent drawing
  • US11327489B2 patent drawing
  • US11327489B2 patent drawing

AI summary

A shared memory message system for communication between modules configured to perform a function related to controlling a vehicle in a computer system on the vehicle. The system may include a plurality of modules each representative as a node, the plurality of modules collectively representative as a plurality of nodes, each node a publisher node and/or a subscriber node, a topic registry having message storage location information, message buffers configured to store published messages, and a communication bus coupled to the topic registry, the message buffers, and the plurality of nodes. The communication bus is configured such that publisher node messages are stored in a message buffer and associated storage location information is stored in the topic registry without going through the kernel of the computer system, and such that subscriber nodes can read messages from a message buffer without going through the computer system kernel.