Multithreaded Worker and Exclusion Area Framework

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multithreaded computing environments face challenges in resource contention and interference between threads, leading to incorrect results and increased latency due to shared variable access, which conventional locking mechanisms do not adequately address.

Innovation Solution

The introduction of a 'Worker' concept to represent thread-specific execution context, allowing threads to execute without locking code, and the use of 'Exclusion Areas' to protect shared resources, enabling safe concurrent access and minimizing latency by using a single physical lock for multiple resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional locking mechanisms are used to protect shared variables, then thread safety is improved, but execution latency increases and productivity decreases

Engineering Contradiction:
Improvethread safetyVSAvoidexecution latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments shared resources into thread-specific execution contexts (Workers). Each thread operates on its own Worker instance with dedicated variables, eliminating the need for locks. This segmentation resolves the contradiction by providing thread safety through isolation rather than synchronization, thus avoiding latency penalties.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The Worker object serves as an intermediary between threads and shared resources. Instead of threads directly accessing shared variables with locking, they access Worker-specific variables through the Worker intermediary. This eliminates lock contention while maintaining data integrity, resolving the latency-safety contradiction.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If locks are taken to prevent thread interference, then correctness is improved, but device complexity and ease of operation worsen

Engineering Contradiction:
ImprovecorrectnessVSAvoidlocking mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the locking mechanism entirely from the system by using thread-specific Workers. Correctness is achieved not through complex locking protocols but through simple Worker instance isolation. This removes the complexity burden while maintaining reliability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Each Worker instance automatically provides its own isolated execution context and variables, eliminating the need for external locking management. Threads simply use their assigned Worker's variables without needing to understand or manage lock complexity, improving ease of operation while maintaining correctness.

Inventive Principle:
Principle #25Self-service

3Productivity

If multiple threads access shared variables concurrently, then productivity is improved, but manufacturing precision and measurement precision worsen due to incorrect results

Engineering Contradiction:
Improveconcurrent execution capabilityVSAvoidcomputation accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

By segmenting execution contexts into separate Worker instances, each thread gets its own private variables. This allows concurrent execution (high productivity) without variable clobbering (maintained accuracy), as each thread operates independently on its own data.

Inventive Principle:
Principle #1Segmentation

4Productivity

If thread-specific execution contexts are implemented, then resource contention is reduced and productivity improves, but device complexity increases due to Worker management

Engineering Contradiction:
Improveconcurrent execution efficiencyVSAvoidWorker context management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The Worker class serves multiple functions: it acts as a thread-specific execution context container, provides isolated variables for each thread, and manages its own lifecycle. This multi-functionality consolidates what would otherwise require separate complex management systems into a single versatile component, improving productivity while controlling complexity.

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

Data Source

PatentUS8327374B1Framework for executing multiple threads and sharing resources in a multithreaded computer programming environment
Publication Date: 2012.12.04 REAL TIME INNOVATIONS
  • US8327374B1 patent drawing
  • US8327374B1 patent drawing
  • US8327374B1 patent drawing

AI summary

Techniques for execution of multiple threads in a multithreaded computing programming environment are disclosed. The techniques are especially well suited for environments that use multilayered programming architecture where a higher layer can build on the functions provided by a lower layer where the delay time is an important consideration. In one aspect, the conceptual notion of a “Worker” effectively serves to represent the thread-specific execution context for a thread of execution (“thread”) in a multithreaded computing environment. Another aspect, provides the notion of an Exclusion Area (EA) as logical lock that serves to protect shared resources in a multithreaded environment. The combination of the worker and EA are used to provide a powerful framework that, among other things, allows minimizing of the delay time.