Inter-Process Data Transfer with Shared-Memory Bitmap Polling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing inter-process data transmission methods suffer from low efficiency and high latency due to the use of system calls for notification and response messages in shared memory communication.

Innovation Solution

An inter-process data transmission method that utilizes a data stream identifier to write target data into a shared memory and a bitmap field, enabling busy-wait polling detection to acquire data without system calls, thereby improving efficiency and reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If system calls are used for notification and response messages in shared memory communication, then inter-process communication can be implemented, but data transmission efficiency is reduced and latency increases

Engineering Contradiction:
Improvedata transmission efficiencyVSAvoidwaiting latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts the notification and response message mechanisms from the system call interface and implements them directly in user space using shared memory bitmap fields. The first program process writes status values directly to bitmap locations, and the second program process polls these bitmap locations, completely eliminating system call overhead for communication notifications.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The shared memory structure includes bitmap fields that automatically track the status of data transmission between processes. The first program process self-updates the bitmap status when writing data, and the second program process self-monitors the bitmap for readiness signals, creating a self-service communication mechanism without external system call intervention.

Inventive Principle:
Principle #25Self-service

2Reliability

If system calls are used for inter-process communication, then process synchronization can be achieved, but resource overhead increases

Engineering Contradiction:
Improveprocess synchronizationVSAvoidresource overhead
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent merges the data storage function and the synchronization notification function into a single shared memory structure. The bitmap fields are integrated directly with the data buffer, allowing status information to be stored alongside data without requiring separate system call mechanisms for synchronization.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The bitmap field acts as an intermediary between the first and second program processes, carrying status information that coordinates their operations. Instead of using system calls as intermediaries, the bitmap provides a lightweight in-memory signaling mechanism that reduces resource overhead while maintaining synchronization reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP4582952A1Inter-process data transmission method and apparatus, electronic device, and storage medium
Publication Date: 2025.07.09 BEIJING VOLCANO ENGINE TECH CO LTD
  • EP4582952A1 patent drawingFigure 1
  • EP4582952A1 patent drawingFigure 2
  • EP4582952A1 patent drawingFigure 3~4

AI summary

Embodiments of the present disclosure provide an inter-process data transmission method and apparatus, an electronic device, and a storage medium. After a local inter-process communication connection is created for a first program process and a second program process, a data stream identifier is obtained through the first program process. Target data is written into a data buffer of a shared memory through the first program process, and a first read/write status value is written into a target location of a first bitmap field of the shared memory based on the data stream identifier after the target data is written, where the target location is determined based on the data stream identifier. Busy-wait polling detection is performed on the first bitmap field of the shared memory through the second program process. If the first read/write status value is detected at the target location of the first bitmap field, the target data output by the first program process is acquired from the data buffer. In this process, a system call is not required, thereby saving resource overheads of the system call, improving efficiency of data transmission, and reducing a waiting latency.