Concurrent Data Communication Protocol with Automatic Attribute Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current technical computing environments, such as MATLAB, face challenges in efficiently communicating arbitrary data between multiple computing units in a concurrent computing setting, as they require users to specify data attributes like size and type, which is cumbersome due to memory allocation complexities and lack of control in languages like MATLAB.

Innovation Solution

A communication protocol that automatically identifies data attributes, allowing for the transmission of arbitrary data without user specification, using a header message to convey attribute information and enabling error detection, user interrupt detection, and deadlock handling while maintaining communication speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If users specify data attributes (size and type) for communication between computing units, then memory allocation can be controlled, but the operation becomes cumbersome and complex

Engineering Contradiction:
Improveease of data communicationVSAvoidcomplexity of memory allocation
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The communication protocol automatically identifies data attributes and manages memory allocation without requiring user intervention. The system performs self-service by detecting data types and sizes, allocating appropriate memory buffers, and handling communication details autonomously, thereby simplifying user operation while managing complexity internally

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

A communication protocol acts as an intermediary layer between the user and the memory allocation mechanism. This mediator automatically handles attribute specification and memory management, shielding users from complexity while enabling efficient data communication between computing units

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If a communication protocol automatically identifies data attributes, then user specification is eliminated, but the protocol complexity increases

Engineering Contradiction:
Improvesimplicity of data transmissionVSAvoidcomplexity of communication protocol
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The communication protocol performs self-service by automatically detecting data attributes such as type and size without user input. This automation eliminates the need for manual specification while the protocol internally manages the increased complexity of attribute identification and memory allocation

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The protocol dynamically changes parameters such as buffer size and data type based on automatic detection of incoming data characteristics. This allows the system to adapt to different data requirements without user specification, simplifying operation while managing complexity through automated parameter adjustment

Inventive Principle:
Principle #35Parameter changes

3Productivity

If header messages are sent to convey data attributes, then receiving processes can allocate memory efficiently, but communication overhead increases

Engineering Contradiction:
Improveefficiency of memory allocationVSAvoidcommunication time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The sending process performs preliminary action by including data attribute information in header messages before the actual data transmission. This allows receiving processes to pre-allocate appropriate memory buffers in advance, improving memory allocation efficiency while the overhead is minimized through compact header structures

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8745254B2Communicating arbitrary data in a concurrent computing environment
Publication Date: 2014.06.03 MATHWORKS INC
  • US8745254B2 patent drawing
  • US8745254B2 patent drawing
  • US8745254B2 patent drawing

AI summary

A communication protocol is provided for processes to send and receive arbitrary data in a concurrent computing environment. The communication protocol enables a process to send or receive arbitrary data without a user or programmer specifying the attributes of the arbitrary data. The communication protocol automatically determines the attributes of the arbitrary data, for example, the type and/or size of the data and sends information on the attributes of the data to a process to which the data is to be sent. Based on the information on the attributes of the data, the receiving process can allocate appropriate memory space for the data to be received.