Asynchronous Event-Loop Concurrency Control via Input and Output Gates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Concurrency control in asynchronous event-loop based program environments is challenging due to race conditions and premature confirmation of write operations, especially in distributed databases where global synchronization is slow and eventual consistency is error-prone, leading to potential data loss and incorrect behavior.

Innovation Solution

Implementing an asynchronous event-loop with an input gate that controls the flow of events and an output gate that manages outgoing messages, preventing events from being delivered and messages from being transmitted until storage operations are complete, ensuring data integrity and preventing race conditions by deferring events and messages until storage operations are fully synchronized.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If global synchronization procedure is used in distributed database, then data consistency is improved, but system speed deteriorates as the number of nodes grows

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent segments the monolithic database into multiple independent distributed databases, each with its own event loop and event queue. This segmentation allows each database to operate independently with its own synchronization events, eliminating the need for global synchronization across all nodes while maintaining data consistency within each distributed database unit.

Inventive Principle:
Principle #1Segmentation

2Reliability

If write operation confirmation is delayed until fully durable, then data integrity is improved, but confirmation speed deteriorates

Engineering Contradiction:
Improvedata integrityVSAvoidconfirmation speed
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-configuring the event loop to handle storage completion events and by establishing the event queue structure in advance. When write operations occur, the system has already prepared the mechanisms to track and confirm them efficiently, reducing the time penalty associated with waiting for durability confirmation.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If events are allowed to interleave during storage operations, then program responsiveness is improved, but race conditions worsen

Engineering Contradiction:
Improveprogram responsivenessVSAvoidrace condition prevention
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The event loop acts as an intermediary between incoming events and the storage operations. It receives events, manages their execution order, and coordinates with storage completion events to ensure proper sequencing. This intermediary mechanism allows the system to maintain responsiveness by processing events through the event loop while preventing race conditions through controlled event delivery and execution sequencing.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If outgoing messages are transmitted during storage operations, then message throughput is improved, but data loss risk worsens

Engineering Contradiction:
Improvemessage throughputVSAvoiddata loss prevention
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system implements feedback by monitoring storage operation status and using storage completion events to control message transmission. The event loop receives feedback about storage operation completion and adjusts message sending accordingly, ensuring messages are only transmitted after successful storage confirmation while maintaining high throughput through efficient event-driven coordination.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11861420B2Concurrency control in an asynchronous event-loop based program environment
Publication Date: 2024.01.02 CLOUDFLARE INC
  • US11861420B2 patent drawing
  • US11861420B2 patent drawing
  • US11861420B2 patent drawing

AI summary

Concurrency control in an asynchronous event-loop based program environment is described. A program is implemented with an asynchronous event-loop. A piece of code controls events into the program by preventing events from being delivered to the program while a storage operation is executing except for storage completion events. Those events are prevented from being delivered to the program until the storage operation completes and the program is not executing code.