Dynamic Message Throttling via CPU Load Monitoring

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Electronic trading platforms face challenges in managing massive message flows from exchanges, leading to CPU overload and delayed or inaccurate market information, which can result in lost trading opportunities and significant financial losses.

Innovation Solution

A system and method for dynamically throttling message updates based on CPU utilization, adjusting the rate of message processing to maintain system responsiveness by monitoring CPU levels and applying different throttling levels to control message flow, ensuring timely and accurate market information dissemination.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If the electronic trading platform processes all market information messages in real-time, then the completeness and accuracy of market information is improved, but the CPU load increases causing system responsiveness to deteriorate

Engineering Contradiction:
Improvemarket information completenessVSAvoidsystem responsiveness
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The system dynamically adjusts the message processing rate based on real-time CPU utilization monitoring. The processor varies the rate at which market information messages are processed from the exchange, slowing down during high CPU load periods and speeding up when CPU resources are available, thereby maintaining both information completeness and system responsiveness

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the processing rate parameter of message flow based on CPU utilization levels. By monitoring CPU usage and adjusting the message processing speed accordingly, the system optimizes the balance between receiving complete market information and maintaining responsive system performance

Inventive Principle:
Principle #35Parameter changes

2Speed

If the CPU processes messages at high speed, then the speed of market information processing is improved, but the risk of CPU overload and processing errors increases

Engineering Contradiction:
Improvemessage processing speedVSAvoidprocessing accuracy
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system continuously monitors CPU utilization and uses this feedback to adjust the message processing rate. When CPU load becomes too high, the system automatically slows down processing to prevent errors, and speeds up when CPU resources are adequate, creating a self-regulating mechanism that maintains both speed and reliability

Inventive Principle:
Principle #23Feedback

3Productivity

If the system throttles message processing to reduce CPU load, then system responsiveness is improved, but the timeliness of market information updates deteriorates

Engineering Contradiction:
Improvesystem responsivenessVSAvoidinformation update delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system dynamically adjusts processing speed based on real-time conditions. During periods of high CPU utilization, it temporarily throttles processing to maintain responsiveness, but quickly recovers speed when CPU load decreases, thereby minimizing information update delays while maintaining overall system responsiveness

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12131382B2System and method for dynamically managing message flow
Publication Date: 2024.10.29 TRADING TECHNOLOGIES INTERNATIONAL INC
  • US12131382B2 patent drawing
  • US12131382B2 patent drawing
  • US12131382B2 patent drawing

AI summary

System and method for dynamically managing message flow. According to the example embodiments, an intermediary network device or a client device dynamically manages the flow of messages received from an electronic exchange by analyzing the client device's capabilities, such as CPU utilization. Based on a percentage of total CPU utilization, the level of throttling is dynamically adjusted, such that if the percentage of CPU utilization, or load, increases, then throttling is increased from a lower level to a higher level. Similarly, if the percentage of CPU utilization decreases significantly enough, then throttling is decreased to a lower level.