System and Method for Dynamically Managing Message Flow
First Claim
1. A method for managing message flow in an electronic trading system, the method comprising:
- defining a plurality of levels of throttling to be used on a plurality of incoming electronic messages received at a client device from an electronic exchange, wherein each level of throttling of the plurality of levels of throttling determines a different hold time, and wherein the plurality of incoming electronic messages comprises market information from the electronic exchange;
determining a first measurement of a resource utilization of the client device;
selecting a first level of throttling from the plurality of levels of throttling based on the first measurement of the resource utilization;
receiving one or more incoming messages and temporarily holding the market information in a data structure from the one or more incoming messages according to a first hold time of the first level of throttling; and
releasing the market information from the one or more incoming messages to be further processed and displayed by the client device when the first hold time expires according to the first level of the throttling.
4 Assignments
0 Petitions
Accused Products
Abstract
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.
47 Citations
20 Claims
-
1. A method for managing message flow in an electronic trading system, the method comprising:
-
defining a plurality of levels of throttling to be used on a plurality of incoming electronic messages received at a client device from an electronic exchange, wherein each level of throttling of the plurality of levels of throttling determines a different hold time, and wherein the plurality of incoming electronic messages comprises market information from the electronic exchange; determining a first measurement of a resource utilization of the client device; selecting a first level of throttling from the plurality of levels of throttling based on the first measurement of the resource utilization; receiving one or more incoming messages and temporarily holding the market information in a data structure from the one or more incoming messages according to a first hold time of the first level of throttling; and releasing the market information from the one or more incoming messages to be further processed and displayed by the client device when the first hold time expires according to the first level of the throttling. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method for managing message flow in an electronic trading system, the method comprising:
-
defining a plurality of levels of throttling to be used on a plurality of incoming electronic messages received at a client device from an electronic exchange, wherein each level of throttling of the plurality of levels of throttling determines a different hold time, and wherein the plurality of incoming electronic messages comprises market information from the electronic exchange; determining a first measurement of a resource utilization of the client device; selecting a first level of throttling from the plurality of levels of throttling based on the first measurement of the resource utilization; defining a first and second condition, wherein the first and second condition are used to determine a level of throttling to apply to the plurality of incoming electronic messages received at the client device, and wherein the first and second condition are user-defined; detecting the first condition at the client device and dynamically adjusting to a highest level of throttling; receiving one or more incoming messages and temporarily holding the market information in a data structure; and detecting a second condition and releasing the market information from the one or more incoming messages to be further processed and displayed by the client device.
-
-
20. A computer readable medium having program code recorded thereon for execution on a computer for managing message flow, comprising:
-
a first program code for defining a plurality of levels of throttling to be used on a plurality of incoming electronic messages received at a client device from an electronic exchange, wherein each level of throttling of the plurality of levels of throttling determines a different hold time, and wherein the plurality of incoming electronic messages comprises market information from the electronic exchange; a second program code for determining a first measurement of a resource utilization of the client device; a third program code for selecting a first level of throttling from the plurality of levels of throttling based on the first measurement of the resource utilization; a fourth program code for receiving one or more incoming messages and temporarily holding the market information in a data structure from the one or more incoming messages according to a first hold time of the first level of throttling; and a fifth program code for releasing the market information from the one or more incoming messages to be further processed and displayed by the client device when the first hold time expires according to the first level of the throttling.
-
Specification