IP Library Granted Patent US 8,868,776
Granted Patent B2
US 8,868,776 · App. 13/363,642 · Granted Oct 21, 2014

System and method for dynamically managing message flow

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,868,776
App. No.
13/363,642
Filed
Feb 1, 2012
Granted
Oct 21, 2014
Kind
B2
Art Unit
2458
USPC
709/232
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.

Claims (29)

1. A method comprising:

dynamically throttling, via a client device, market information received at the client device from an electronic exchange, where a level of throttling is dynamically adjusted between at least a first level of throttling and a second level of throttling according to utilization of a monitored resource of the client device, and where the level of throttling includes storing the market information received at the client device via the client device for a hold time associated with the level of throttling; and

displaying, via the client device, the dynamically throttled received market information according to expiration of the hold time.

2. The method of claim 1 where the level of throttling is selected from a plurality of throttling levels according to a utilization level of the monitored resource.

3. The method of claim 2 further comprising receiving a throttling management strategy via the client device, where the level of throttling is selected based on the throttling management strategy.

4. The method of claim 3 where each level of throttling of the plurality of throttling levels comprises a different hold time.

5. The method of claim 1 where the monitored resource comprises a central processing unit.

6. The method of claim 1 where dynamically throttling the market information comprises adjusting between at least the first level of throttling and the second level of throttling according to a change in a utilization level of the monitored resource.

7. The method of claim 1 where the monitored resource comprises a plurality of central processing units.

8. The method of claim 7 where the utilization of the monitored resource comprises utilization of a first central processing unit of the plurality of central processing units.

9. The method of claim 8 where the first central processing unit comprises a busiest central processing unit of the plurality of central processing units.

10. The method of claim 1 where the utilization of a monitored resource is based on incoming messages.

11. A non-transitory computer readable medium having instructions recorded thereon which when executed by a processor cause the processor to carry out acts comprising:

dynamically throttling, via a client device, market information received at the client device from an electronic exchange, where a level of throttling is dynamically adjusted between at least a first level of throttling and a second level of throttling according to utilization of a monitored resource of the client device, and where the level of throttling includes storing the market information received at the client device via the client device for a selected hold time associated with the level of throttling; and

displaying, via the client device, the dynamically throttled received market information according to expiration of the hold time.

12. The non-transitory computer readable medium of claim 11 where the level of throttling is selected from a plurality of throttling levels according to a utilization level of the monitored resource.

13. The non-transitory computer readable medium of claim 12 where the acts further comprise receiving a throttling management strategy via the client device, where the level of throttling is selected based on the throttling management strategy.

14. The non-transitory computer readable medium of claim 13 where each level of throttling of the plurality of throttling levels comprises a different hold time.

15. The non-transitory computer readable medium of claim 11 where the monitored resource comprises a central processing unit.

16. The non-transitory computer readable medium of claim 11 where dynamically throttling the market information comprises adjusting between the at least the first level of throttling and the second level of throttling according to a change in a utilization level of the monitored resource.

17. The non-transitory computer readable medium of claim 11 where the monitored resource comprises a plurality of central processing units.

18. The non-transitory computer readable medium of claim 17 where the utilization of the monitored resource comprises utilization of a first central processing unit of the plurality of central processing units.

19. The non-transitory computer readable medium of claim 18 where the first central processing unit comprises a busiest central processing unit of the plurality of central processing units.

20. The non-transitory computer readable medium claim 11 where the utilization of a monitored resource is based on incoming messages.

21. A message flow manager comprising:

a central processing unit;

a resource utilization monitor communicatively coupled with the central processing unit and configured to monitor utilization of a resource of a client device;

a throttler configured to dynamically throttle received market information processing at the client device between at least a first level of throttling and a second level of throttling at a level of throttling according to the resource utilization monitor to store throttled received market information, where the level of throttling is dynamically adjusted between at least a first level of throttling and a second level of throttling according to utilization of the resource, and where the level of throttling includes storing the received market information for a selected hold time associated with the level of throttling; and

a display coupled to the throttler and configured to display the throttled received market information according to expiration of the hold time.