Distributed Matching Engine Feature Modules

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed computing systems, particularly electronic trading platforms, face challenges in handling high-throughput, low-latency, fault-tolerant, and deterministic processing of complex data transaction requests while maintaining system maintainability and flexibility.

Innovation Solution

The implementation of a distributed computing system with feature modules that manage specific types of data transaction requests, such as discretion, pegging, and reserve orders, and a matching engine that processes these requests efficiently, allowing for the apportionment of processing logic and load between feature modules and the matching engine, enhancing system performance and maintainability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If distributed computing systems process complex data transaction requests with high throughput, then processing capacity increases, but system complexity and difficulty of maintaining determinism increase

Engineering Contradiction:
Improveprocessing capacityVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments processing logic into distinct feature modules (discretion module, pegging module, reserve module) that each handle specific order types. This modular architecture allows the matching engine to process multiple order types simultaneously through parallel module execution, increasing throughput while maintaining manageable complexity through clear separation of concerns.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an order management system as an intermediary layer between the matching engine and the exchange. This intermediary handles complex order management tasks including parent request creation, child order generation, and coordination between different feature modules, thereby shielding the core matching engine from complexity while maintaining high processing capacity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If the system handles more types of orders with complex behaviors, then adaptability increases, but system maintainability decreases

Engineering Contradiction:
Improveorder type flexibilityVSAvoidsystem maintainability
Core Design Contradiction:
Adaptability or versatilityVSEase of repair

Solution Approach 1:

Each order type (discretion, pegging, reserve) is handled by a dedicated feature module with encapsulated logic. This segmentation allows individual modules to be developed, tested, and maintained independently, improving maintainability while supporting diverse order types. New order types can be added by creating new modules without affecting existing functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The matching engine provides universal processing capabilities that work across all order types through a common interface. The engine can process parent requests, child orders, and various order modifications uniformly, while specific behaviors are determined by the appropriate feature module, thereby maintaining simplicity in the core engine while supporting versatility.

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

3Device complexity

If processing logic is centralized in one matching engine, then system simplicity increases, but processing speed and throughput decrease

Engineering Contradiction:
Improvesystem simplicityVSAvoidprocessing speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system segments the matching engine into multiple specialized feature modules that can execute in parallel. Each module (discretion, pegging, reserve) processes specific order types independently, enabling concurrent processing of multiple orders simultaneously, thereby increasing throughput while maintaining logical organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a single-threaded sequential processing model to a multi-dimensional parallel processing architecture. The matching engine processes multiple parent requests and child orders across different dimensions (different order types, different feature modules) simultaneously, dramatically increasing processing speed while maintaining system coherence through centralized coordination.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

4Loss of time

If the system processes real-time data with time-bound constraints, then responsiveness improves, but system reliability under load decreases

Engineering Contradiction:
Improveprocessing latencyVSAvoidfault tolerance
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system performs preliminary actions by pre-validating order parameters, pre-allocating resources, and pre-establishing processing pipelines for different order types. Parent requests are validated and prepared before being passed to child order generation, reducing critical path latency while maintaining reliability through early error detection and prevention.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The order management system acts as a mediator that buffers and coordinates real-time processing between incoming orders and the matching engine. This intermediary layer provides fault isolation, ensuring that failures in one feature module or processing stream do not propagate to others, thereby maintaining system reliability under high load while preserving real-time responsiveness.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11809412B2Systems and methods of distributed processing
Publication Date: 2023.11.07 NASDAQ INC
  • US11809412B2 patent drawing
  • US11809412B2 patent drawing
  • US11809412B2 patent drawing

AI summary

In some embodiments a distributed computing system is provided that includes a plurality of different feature modules and a matching engine. The different feature modules each provide different processing for handling parent requests and submitting, to the matching engine, commands for child data transaction requests that are associated with the parent request.