Stateless Process Synchronization via Visual Templates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing application development tools face challenges in synchronizing stateless process execution across multiple threads and instances, which can lead to data corruption and conflicts, as they require manual coding of synchronization constructs in advanced programming languages.

Innovation Solution

A visual or other development tool interface is provided to enable developers to define application processes with specified synchronization needs, generating application code that invokes a stateless process engine to ensure synchronization across threads and instances, using constructs like synchronization objects to manage access to shared resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual coding of synchronization constructs is used in advanced programming languages, then synchronization control is achieved, but development complexity and time increase

Engineering Contradiction:
Improvesynchronization controlVSAvoiddevelopment complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer (synchronization template and development tool) between the developer and the complex synchronization implementation. The template pre-defines synchronization constructs and patterns, allowing developers to invoke synchronization by selecting and configuring templates rather than writing low-level code. This mediator handles the complexity of thread-safe programming while providing a simple interface to developers.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system enables self-service synchronization through automated code generation. The development tool automatically generates thread-safe code based on selected templates and user input, eliminating the need for developers to manually write complex synchronization logic. The generated code includes necessary locks, critical sections, and synchronization primitives automatically configured by the tool.

Inventive Principle:
Principle #25Self-service

2Productivity

If stateless process execution is used across multiple threads and instances, then processing speed and scalability improve, but data corruption and conflicts increase

Engineering Contradiction:
Improveprocessing speedVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the stateless process execution into synchronized and non-synchronized portions using templates. Critical sections that access shared resources are clearly demarcated and isolated, allowing parallel execution in non-critical sections while maintaining data integrity in synchronized sections. This segmentation enables maximum parallelism without compromising data integrity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The synchronization template performs preliminary setup of synchronization mechanisms before process execution. Locks, critical sections, and synchronization primitives are pre-configured and initialized in the template, ensuring that when multiple threads and instances execute the process, data integrity is maintained from the outset without runtime overhead for setup.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If synchronization is implemented without templates, then flexibility is maintained, but implementation time and effort increase

Engineering Contradiction:
Improveimplementation flexibilityVSAvoidimplementation time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The synchronization template system is dynamic and adaptable. Developers can select from multiple template types (e.g., read-write locks, mutual exclusion, atomic operations) and configure parameters to match specific synchronization needs. The template mechanism allows runtime configuration and customization while maintaining the benefits of pre-defined structures, balancing flexibility with efficiency.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9626228B1Synchronizing stateless process across multiple instances
Publication Date: 2017.04.18 DELL EMC
  • US9626228B1 patent drawing
  • US9626228B1 patent drawing
  • US9626228B1 patent drawing

AI summary

Synchronization stateless process execution is disclosed. In various embodiments, an indication is received that an instance of a process with respect to which stateless execution is being performed is to enter a block of the process with respect to which synchronization with one or more other instances of the process is to be provided. A current turn to perform the block with respect to which synchronization is to be provided is secured on behalf of the process instance. The block with respect to which synchronization is to be provided is allowed to be performed by the process instance.