Shared-Memory Message Routing for Same-Machine RPC Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing remote procedure call (RPC) mechanisms face inefficiencies and latency issues in inter-process communication on the same machine, particularly in cross-region or cross-network environments, leading to performance degradation and network instability problems.

Innovation Solution

A method utilizing a shared memory for inter-process communication between processes on the same machine, enabling efficient and reliable data processing by writing and reading messages with message types and method identifiers, and employing a mutex lock mechanism for synchronization, thereby reducing communication latency and resource consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If RPC mechanisms rely on network communication (HTTP/TCP), then inter-process communication can be achieved across different machines, but communication latency and overhead increase significantly

Engineering Contradiction:
Improvecommunication reliabilityVSAvoidcommunication latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces a shared memory space as an intermediary mechanism between processes on the same machine. Instead of using network communication protocols (HTTP/TCP) that introduce latency, the system uses shared memory with a custom message passing protocol to achieve direct, low-latency communication while maintaining reliability through structured message exchange and synchronization mechanisms.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If network calls are used for RPC communication, then remote procedure calls can be implemented, but communication efficiency decreases due to overhead and latency

Engineering Contradiction:
ImproveRPC functionalityVSAvoidcommunication efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent optimizes communication by using shared memory for local inter-process communication on the same machine, while potentially using network protocols for remote communication. This local quality approach ensures that communications within the same machine utilize the faster shared memory path, improving overall communication efficiency while maintaining RPC versatility.

Inventive Principle:
Principle #3Local quality

3Reliability

If RPC mechanisms handle network failures (disconnection, packet loss, congestion), then communication robustness improves, but system complexity increases

Engineering Contradiction:
Improvecommunication robustnessVSAvoiderror handling complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts and handles error cases explicitly through structured message types including error responses. By defining specific message types for errors, timeouts, and success cases, the system manages complexity through clear protocol design rather than complex error handling logic, maintaining robustness while simplifying the communication framework.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS20260056814A1Method for processing human-machine-environment data, edge computing device and system, and storage medium
Publication Date: 2026.02.26 KINGFAR INTERNATIONAL INC
  • US20260056814A1 patent drawing
  • US20260056814A1 patent drawing
  • US20260056814A1 patent drawing

AI summary

Provided are a method for processing human-machine-environment data, an edge computing device and system and a storage medium. According to the method, the first process writes the first message into the first memory, and reads the second message from the first memory to obtain the message type and the method identifier that are carried in the second message after detecting that the second message is written into the first memory. When the value of the message type carried in the second message is a response, and the method identifier carried in the second message matches the identifier of the method that the first process requests to call, the first process determines that the second message is a response message of the first message, and then processes the second message, thereby realizing efficient and reliable inter-process communication on the same machine, and reducing the communication latency and resource consumption.