Event-Driven Microservice Flows With Loose-Coupled Service Discovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing technologies face challenges in managing complex mobile and computer applications due to tight coupling of functions, leading to increased complexity, bugs, and reduced flexibility and code reusability, with conventional methods lacking effective decoupling and configuration management.

Innovation Solution

A system and method for managing flow configurable event-driven microservices using a processor to provide memory space addresses, automatic service discovery, and configuration files to connect functions in a sequence or parallel mode, with data mapping and event envelopes to ensure loose coupling and immutability, allowing for decoupled data models and statelessness.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If conventional tight coupling approach is used to write application code, then code execution is straightforward and simple, but code complexity increases and flexibility is reduced as the application grows

Engineering Contradiction:
Improvecode execution simplicityVSAvoidapplication complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent divides the monolithic application into independent microservices that can be developed, deployed, and scaled separately. Each microservice encapsulates specific business logic and communicates through standardized interfaces, reducing overall system complexity while maintaining execution simplicity through modular architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an event bus as an intermediary layer between microservices, enabling asynchronous communication and decoupling service interactions. This mediator allows services to publish and subscribe to events without direct dependencies, simplifying execution flow while managing complexity through standardized event-driven patterns.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If microservices architecture is used with conventional direct method invocation, then application size is reduced into smaller modules, but tight coupling between functions is created

Engineering Contradiction:
Improveapplication sizeVSAvoidcode flexibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The event bus serves as a mediator that replaces direct method invocations between microservices. Services publish events to the bus rather than calling each other directly, achieving loose coupling while maintaining small module sizes. This allows independent deployment and easier adaptation of individual services.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements dynamic service discovery and routing where microservices can be added, removed, or modified at runtime without affecting the entire system. The event-driven architecture allows flexible configuration and adaptation of service interactions, enhancing code versatility while maintaining modular structure.

Inventive Principle:
Principle #15Dynamics

3Ease of operation

If Flow-Based Programming is used to separate business logic from connectivity, then data processing follows clear input/process/output steps, but transaction data model remains coupled with business logic

Engineering Contradiction:
Improvedata processing clarityVSAvoiddata model coupling
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent extracts the data model layer from business logic by implementing separate data transfer objects (DTOs) and event schemas. Business logic operates on abstract event structures while connectivity and data persistence handle concrete model implementations, achieving clear input/process/output separation while decoupling data models through interface-based interactions.

Inventive Principle:
Principle #2Taking out (Extraction)

4Ease of manufacture

If conventional configuration management is used in tightly coupled applications, then setup is straightforward, but patches are required multiple times during development and documentation is inadequate

Engineering Contradiction:
Improveinitial setup simplicityVSAvoiddevelopment time
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The patent implements configuration files and service registries that are established beforehand, allowing services to automatically discover and configure their dependencies during startup. This preliminary setup eliminates the need for repeated manual configuration and patching during development, reducing development time while maintaining straightforward initial setup through standardized templates.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12585511B2Flow configurable event-driven microservices
Publication Date: 2026.03.24 ACCENTURE GLOBAL SOLUTIONS LTD
  • US12585511B2 patent drawing
  • US12585511B2 patent drawing
  • US12585511B2 patent drawing

AI summary

Systems and methods for managing flow configurable event-driven microservices are disclosed. A system provides, for each function in sequence of steps corresponding to transaction flow associated with model of event-driven microservices, an address of associated memory space using route name. The system connects each function with another function in memory space and/or different application instances with automatic service discovery. The system transports, for event-driven microservices, an input and/or output comprising message and/or an event comprising object corresponding to payload, in an event envelope, based on a configuration file/a configuration file-like handle. Additionally, the system executes a sequence of steps connecting each function in sequential mode or parallel mode, based on a configuration file/a configuration file-like handle. The system performs data mapping between transaction data states (‘stateful data model’) in a transaction and input/output of each function that is connected in two or more steps in single transaction.