Local Variable Copies for Parallel Global State Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing environments with shared variables, especially in web applications, ensuring proper operation and avoiding data conflicts between parallel processes is challenging, particularly in event-driven applications where asynchronous processing leads to issues with maintaining consistent state updates.

Innovation Solution

Deferred state mutation is implemented by creating private views of the global state for each action chain, allowing explicit computer executable instructions to modify local variables instead of the global state, which are then merged at the end of execution to resolve conflicts, thereby isolating and managing state changes effectively.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple processes use shared variables in parallel, then productivity increases, but data conflicts and reliability deteriorate

Engineering Contradiction:
Improveparallel processing capabilityVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the shared global state into separate private state copies for each action chain. Instead of having multiple processes directly access and modify the same global variables, each action chain receives its own isolated copy of the state, eliminating data conflicts while maintaining parallel processing capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism (the state management system that creates and manages private state copies) between the action chains and the global state. This intermediary handles state isolation and mutation tracking, allowing parallel processes to operate independently while maintaining overall system consistency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If private views of global state are created for each action chain, then data conflicts are avoided and reliability improves, but device complexity increases

Engineering Contradiction:
Improvestate update consistencyVSAvoidstate management overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements self-service by having each action chain independently manage its own private state copy. The system automatically creates, distributes, and tracks state mutations without requiring manual intervention or complex coordination mechanisms between action chains, reducing the perceived complexity for developers.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent uses copying to create private state views for each action chain instead of using complex reference management or shared memory mechanisms. This copying approach simplifies the state management model by providing clear isolation guarantees while maintaining reasonable performance through selective copying of state data.

Inventive Principle:
Principle #26Copying

3Ease of operation

If explicit instructions modify global state directly, then ease of operation is maintained, but data conflicts occur reducing reliability

Engineering Contradiction:
Improvecode simplicityVSAvoidconcurrent state management
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent inverts the traditional approach by having action chains modify their private state copies instead of directly modifying the global state. The global state is updated indirectly through a coordination mechanism that reconciles mutations from multiple action chains, maintaining code simplicity while eliminating direct conflicts.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS12164908B2Providing local variable copies of global state for explicit computer executable instructions depending whether the global state is modified
Publication Date: 2024.12.10 ORACLE INT CORP
  • US12164908B2 patent drawing
  • US12164908B2 patent drawing
  • US12164908B2 patent drawing

AI summary

According to a method and a system a first action chain with a first explicit computer executable instruction that modifies a global variable is received. A second action chain with a second explicit computer executable instruction that reads the global state without modifying the global state is received. The first action chain and the second action chain implement parts of a client application. A first implicit executable instruction with a first local variable copy of the global state is created using the first explicit computer executable instruction as a first template.The client application is executed including executing the first and second action chains in parallel. The second explicit computer executable instruction using the global state is executed and the first implicit computer executable instruction using the first local variable copy is executed.