Message Batching Checkpoints for Parallel Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current message batching systems in networks face inefficiencies due to the need for synchronous message handling and response waiting, which increases transaction time and does not effectively manage message dependencies and ordering.

Innovation Solution

Implementing a distributed system that uses checkpoints to control message dependencies and ordering, allowing messages to be executed in parallel and reducing the need for synchronous responses, with the initiator node sending fewer collect messages and marking messages for error handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If synchronous message handling is used to ensure message dependencies and ordering, then message execution correctness is improved, but transaction time increases due to waiting for responses

Engineering Contradiction:
Improvemessage execution correctnessVSAvoidtransaction time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the message batch into multiple groups using checkpoint messages. Messages before a checkpoint are executed synchronously to ensure correctness, while messages after the checkpoint can be executed in parallel. This segmentation allows the system to maintain reliability for critical message ordering while reducing overall transaction time through parallel execution of independent message groups.

Inventive Principle:
Principle #1Segmentation

2Productivity

If parallel message execution is implemented to reduce transaction time, then productivity is improved, but message dependency management becomes more complex

Engineering Contradiction:
Improvemessage execution speedVSAvoiddependency management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces checkpoint messages as intermediary elements that mediate between synchronous and parallel message execution. These checkpoint messages serve as synchronization barriers that coordinate parallel message execution while maintaining dependency relationships. The checkpoint mechanism simplifies dependency management by providing clear delimiters that indicate when parallel execution can safely begin and when synchronization is required.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of time

If fewer collect messages are sent to reduce waiting time, then loss of time is reduced, but error handling capability may be compromised

Engineering Contradiction:
Improveresponse waiting timeVSAvoiderror handling capability
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent implements preliminary error handling by including error-handling information in checkpoint messages before parallel message execution begins. This allows participant nodes to pre-configure error handling strategies and the initiator node to establish error response mechanisms in advance. By preparing error handling procedures beforehand, the system can reduce the number of collect messages needed while maintaining robust error handling capability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8238350B2Message batching with checkpoints systems and methods
Publication Date: 2012.08.07 EMC IP HLDG CO LLC
  • US8238350B2 patent drawing
  • US8238350B2 patent drawing
  • US8238350B2 patent drawing

AI summary

Systems and methods are provided for passing control of message dependencies and ordering to one or more network nodes participating in a transaction. Thus, messages can be sent to the participating nodes and the participating nodes can handle the messages according to their respective dependencies without first sending a response or waiting for the next message to arrive. In one embodiment, at least one message is flagged with a checkpoint to indicate that messages sent before the checkpoint are to be handled by the participating nodes before messages after the checkpoint. Messages may also be flagged with error-handling information. For example, a message may be marked to indicate that if the message fails, no further messages are to be sent to the node had the failure. Responses to a group of messages can be collected in a single operation.