Event-Driven Programming Model for Scalable Distributed Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software development practices, particularly in distributed systems, face challenges in achieving agility and adaptability due to the lack of a unified programming model, leading to business and technical silos, constrained interoperability, and difficulties in testing and debugging, which hinder the transformation into real-time digital businesses.

Innovation Solution

A cloud-native architecture that utilizes an event-driven programming model with a system agent program executing dynamically assigned functions in a blackboard memory, enabling parallel execution and context sharing between inter-dependent processes, and dynamically assigning web containers based on published events to facilitate complex event processing and dataflow modeling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a unified programming model is implemented for event-driven processing, then interoperability and adaptability improve, but system complexity increases

Engineering Contradiction:
ImproveinteroperabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an event broker as an intermediary component that mediates between event sources and event consumers. The event broker receives events from multiple sources, standardizes their format, and routes them to appropriate consumers, thereby improving interoperability without requiring direct integration between all system components. This mediator approach reduces system complexity by centralizing the integration logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The event-driven programming model provides a universal framework that can handle diverse event types and communication patterns through a single standardized interface. The model supports multiple event sources, consumers, and routing strategies within one unified architecture, enabling different systems to interoperate without custom integration code for each pair of components.

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

2Productivity

If asynchronous parallel dataflow processes are used, then processing speed and scalability improve, but difficulty in testing and debugging increases

Engineering Contradiction:
Improveprocessing speedVSAvoidtesting and debugging difficulty
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent incorporates comprehensive event logging and tracing mechanisms that provide feedback about event flow through the asynchronous parallel dataflow processes. Each event carries metadata including source, destination, timestamp, and processing state, enabling developers to track event progression through multiple parallel streams. This feedback mechanism makes testing and debugging feasible by providing visibility into otherwise opaque asynchronous operations.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If dynamic application construction is enabled, then adaptability to changing requirements improves, but loss of information and increased complexity occur

Engineering Contradiction:
ImproveadaptabilityVSAvoidinformation loss
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The event-driven model enables applications to be constructed dynamically by pre-defining event handlers and subscription mechanisms that can be activated and configured at runtime. Event sources and consumers are registered in advance with their processing logic, but the actual event flow and active subscriptions are determined dynamically based on runtime conditions. This preliminary setup reduces information loss by preserving the event processing logic while allowing flexible activation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11573844B2Event-driven programming model based on asynchronous, massively parallel dataflow processes for highly-scalable distributed applications
Publication Date: 2023.02.07 ENTERPRISEWEB LLC
  • US11573844B2 patent drawing
  • US11573844B2 patent drawing
  • US11573844B2 patent drawing

AI summary

An example method comprises receiving one or more published events by an event hook application program interface (API) from one or more client applications, passing a model to a web server configured to generate web containers in concurrent threads, receiving, by any number of worker nodes, each web container, each of the worker nodes including a system agent program for dynamically assigned functions, the web containers being provided to the any number of worker nodes for logical isolation of system agent execution in memory, and performing the dynamically assigned functions by the system agent program in a blackboard memory, the blackboard memory being a shared memory with non-blocking reads and writes and performing functionality, the dynamically assigned functions being executed in parallel and at least two of the dynamically assigned functions sharing context between inter-dependent processes.