Event-Driven State Thread Architecture for Modular Application Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The Event-driven State Machine (EDSM) architecture is inefficient and complex, requiring significant processor time and resources to manage multiple modules or user sessions, making it difficult to design, program, and debug due to its monolithic nature and resource management challenges.

Innovation Solution

The implementation of event-driven state threads, where each module thread persists throughout the application's execution, maintaining its own state and resources, allowing for concurrent execution and reducing the burden on the main application by managing its own context and data, enabling efficient handling of user events without the need for frequent state updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If EDSM architecture is used to manage multiple modules or user sessions, then the application can handle multiple tasks, but the processor time and resource management complexity increases significantly

Engineering Contradiction:
Improveability to handle multiple modules or user sessionsVSAvoidresource management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent divides the monolithic EDSM architecture into separate thread modules, where each thread handles a specific module or user session independently. This segmentation allows each thread to maintain its own state and resources without interfering with other threads, thereby reducing the overall complexity of resource management while preserving the ability to handle multiple tasks simultaneously.

Inventive Principle:
Principle #1Segmentation

2Productivity

If EDSM architecture is used to multiplex multiple modules, then resource sharing is achieved, but the difficulty of design, programming, and debugging increases

Engineering Contradiction:
Improveresource sharing efficiencyVSAvoidease of design and programming
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

By segmenting the application into independent thread modules, each with its own state machine and event handling, the patent simplifies the design and programming process. Developers can work on individual threads independently without affecting others, making the system easier to program and debug while maintaining efficient resource sharing through the threaded architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a thread manager as an intermediary that coordinates between multiple thread modules and the underlying system resources. This mediator handles the complexity of resource allocation and synchronization, allowing individual threads to remain simple and easy to program while still achieving efficient resource sharing through the intermediary's management.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If monolithic EDSM architecture is used, then centralized control is maintained, but processor efficiency decreases due to frequent context switching

Engineering Contradiction:
Improvecentralized controlVSAvoidprocessor efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments the centralized EDSM into distributed thread modules, where each thread maintains its own state and executes independently. This eliminates the need for frequent context switching between modules, as each thread has its own execution context. The segmented architecture preserves operational control through thread coordination mechanisms while significantly improving processor efficiency by reducing context switch overhead.

Inventive Principle:
Principle #1Segmentation

4Reliability

If EDSM manages state for each session internally, then complete state tracking is achieved, but the amount of processor time required increases

Engineering Contradiction:
Improvestate tracking completenessVSAvoidprocessor time consumption
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the state management responsibility across multiple independent threads, where each thread maintains its own state internally rather than requiring centralized state management. This segmentation allows complete state tracking within each thread's isolated context while reducing processor time consumption by eliminating the overhead of centralized state management and frequent context switching between state-related operations.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8832711B1User interface for event-driven state thread architecture
Publication Date: 2014.09.09 EMC IP HLDG CO LLC
  • US8832711B1 patent drawing
  • US8832711B1 patent drawing
  • US8832711B1 patent drawing

AI summary

An application framework is disclosed for handling predefined events for various application modules executing as threads. Events are received and associated with a thread and an event handling function. Event handling functions are classified as mutually exclusive and non-mutually exclusive. Mutually exclusive functions are blocked while another mutually exclusive function is executing. Event handling functions are processed by setting a corresponding thread to execute the function and placing the thread in a ‘non-wait’ state. Threads in the ‘non-wait’ state are then executed concurrently under the control of a system thread manger and are returned to a ‘wait’ state when the handling function ends. Each such thread maintains the session state throughout use of the application.