Shared Storage Blocks for Inter-Process Data Transmission

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing inter-process communication methods in computing devices are inefficient, leading to unacceptable delays when transmitting large amounts of data between multiple processes, due to complex procedures, memory size limitations, thread load balancing, and programming language differences.

Innovation Solution

A method that establishes a communication connection between a client terminal process and a server process, allocates shared storage blocks for data transmission, and uses these blocks as intermediaries to improve efficiency, allowing data to be split into smaller blocks for transmission, thereby avoiding the inefficiencies of direct communication connections.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If existing inter-process communication methods are used, then processes can communicate, but transmission delays occur and efficiency is low when large amounts of data are transmitted

Engineering Contradiction:
Improvedata transmission efficiencyVSAvoidtransmission delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments large data transmissions into smaller units by utilizing shared storage blocks as intermediate buffers. Data is divided into manageable chunks that can be transferred incrementally between processes, reducing the overhead and delay associated with large single-block transmissions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces shared storage blocks as intermediary elements between communicating processes. These blocks act as buffer zones that facilitate data transfer without requiring direct process-to-process communication, thereby reducing transmission delays and improving overall efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If direct communication connections are used between processes, then data can be transmitted, but memory size limitations and bandwidth constraints reduce transmission efficiency

Engineering Contradiction:
Improvedata transmission efficiencyVSAvoidavailable memory for transmission
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent merges multiple storage resources into shared storage blocks that can be collectively used by multiple processes. This consolidation increases the effective memory available for data transmission and eliminates bandwidth constraints associated with individual direct connections.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The shared storage blocks serve multiple functions: they act as buffers, intermediaries, and temporary storage spaces for data transmission between different process pairs. This multi-functionality maximizes the utilization of available memory resources.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If complex communication procedures are implemented, then data transmission can occur, but the complexity reduces overall system efficiency

Engineering Contradiction:
Improvecommunication efficiencyVSAvoidcommunication procedure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The shared storage blocks automatically manage data buffering and transfer operations without requiring complex coordination procedures between processes. The system self-manages the transmission workflow, reducing the procedural complexity that would otherwise be needed to coordinate direct process communication.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11438423B1Method, device, and program product for transmitting data between multiple processes
Publication Date: 2022.09.06 EMC IP HLDG CO LLC
  • US11438423B1 patent drawing
  • US11438423B1 patent drawing
  • US11438423B1 patent drawing

AI summary

The present disclosure relates to transmitting data between multiple processes. An example method includes: establishing, in response to receiving a request to transmit data between a client terminal process and a server process in a computing device, a communication connection between the client terminal process and the server process, allocating shared storage blocks to the communication connection in response to determining that available shared storage blocks exist in the computing device, and transmitting data between the client terminal process and the server process using the shared storage blocks. Corresponding devices and program products are also described. Beneficially, shared storage blocks can provide higher bandwidth for inter-process data transmission, thereby improving the performance of data transmission.