7716118

System and Method for Providing Latency Protection for Trading Orders

PublishedMay 11, 2010
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
66 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. An apparatus, comprising: a processor; memory communicatively coupled to the processor and storing instructions that, when executed by the processor, cause the processor to: identify a latency value; receive, from a first trader, a first trading order for a trading product, wherein the first trading order comprises a quantity of the trading product and a price; receive, from a second trader, a second trading order for the trading product; identify a match between the first trading order and the second trading order based at least in part on the price; generate a potential trade record based on the match between the first trading order and the second trading order; store the potential trade record; initiate a configurable period of time; receive, during the configurable period of time, at least one change order from the first trader; act on the first trading order based at least in part on the at least one change order; upon expiration of the configurable period of time, determine that the potential trade record is no longer valid by determining that the first trading order no longer matches the second trading order; and responsively to determining that the potential trade record is no longer valid, not execute a trade involving the first trading order and the second trading order.

2

2. The apparatus of claim 1 , wherein the instructions, when executed by the processor, further cause the processor to: store the latency value in a latency value log in the memory.

3

3. The apparatus of claim 2 , wherein a plurality of latency values are stored in the latency value log and the plurality of latency values comprise the latency value; and wherein each latency value of the plurality of latency values is associated with a respective server of a plurality of servers in communication with the processor.

4

4. The apparatus of claim 3 , wherein the plurality of latency values comprise historic latency values.

5

5. The apparatus of claim 3 , wherein the plurality of latency values comprise current latency values.

6

6. The apparatus of claim 1 , wherein identifying the latency value comprises: accessing the latency value from the memory.

7

7. The apparatus of claim 1 , wherein the instructions, when executed by the processor, further cause the processor to: determine the configurable period of time.

8

8. The apparatus of claim 7 , wherein determining the configurable period of time comprises: setting the configurable period of time to a particular amount of time.

9

9. The apparatus of claim 7 , wherein determining the configurable period of time comprises: determining the configurable period of time based at least in part on the latency value.

10

10. The apparatus of claim 7 , wherein determining the configurable period of time comprises: determining the configurable period of time based at least in part on one or more latency values in a latency value log in the memory.

11

11. The apparatus of claim 1 , wherein the instructions, when executed by the processor, further cause the processor to: determine whether the latency value satisfies at least one configurable condition.

12

12. The apparatus of claim 11 , wherein determining whether the latency value satisfies the at least one configurable condition comprises: determining whether the latency value satisfies a configurable threshold.

13

13. The apparatus of claim 11 , wherein determining whether the latency value satisfies the at least one configurable condition comprises: determining that the latency value satisfies the at least one configurable condition; and wherein initiating the configurable period of time comprises: initiating the configurable period of time upon determining that the latency value satisfies the at least one configurable condition.

14

14. The apparatus of claim 11 , wherein determining whether the latency value satisfies the at least one configurable condition comprises: determining that the latency value satisfies the at least one configurable condition; and wherein the instructions, when executed by the processor, further cause the processor to: determine the configurable period of time.

15

15. The apparatus of claim 14 , wherein determining the configurable period of time comprises: setting the configurable period of time to a particular amount of time.

16

16. The apparatus of claim 14 , wherein determining the configurable period of time comprises: determining the configurable period of time based at least in part on the latency value.

17

17. The apparatus of claim 14 , wherein determining the configurable period of time comprises: determining the configurable period of time based at least in part on one or more latency values in a latency value log in the memory.

18

18. The apparatus of claim 17 , wherein setting the configurable period of time to the particular amount of time comprises: determining that the latency value satisfies the at least one configurable condition; and setting the configurable period of time to a particular amount of time.

19

19. The apparatus of claim 1 , wherein receiving the second trading order comprises: receiving the second trading order for the trading product, wherein the second trading order comprises a second quantity of the trading product and a second price; and wherein identifying the match between the first trading order and the second trading order comprises: identifying the match between the first trading order and the second trading order based at least in part on the price and the second price; and wherein the instructions, when executed by the processor, further cause the processor to: receive a third trading order for the trading product, wherein the third trading order comprises a third quantity of the trading product and a third price; identify a second latency value; receive a fourth trading order for the trading product; identify a potential trade between the third trading order and the fourth trading order based at least in part on the third price; determine that the second latency value does not satisfy at least one configurable condition; and execute a trade between the third trading order and the fourth trading order.

20

20. The apparatus of claim 19 , wherein the instructions, when executed by the processor, further cause the processor to: upon determining that the second latency value does not satisfy the at least one configurable condition, and prior to executing the trade between the third trading order and the fourth trading order, setting a second configurable period to zero.

21

21. The apparatus of claim 1 , wherein receiving the first trading order comprises: receiving, from the first trader via a server in communication with the processor, the first trading order, wherein the first trader submitted the first trading order at a client; and wherein the instructions, when executed by the processor, further cause the processor to: determine at least one of the first trader, the client, and the server.

22

22. The apparatus of claim 21 , wherein the instructions, when executed by the processor, further cause the processor to: determine the configurable period of time based at least in part on at least one of the first trader, the client, and the server.

23

23. The apparatus of claim 21 , wherein the instructions, when executed by the processor, further cause the processor to: receive, from a third trader via another server in communication with the processor, a third trading order for the trading product, wherein the third trader submitted the first trading order at another client; identify a second latency value; determine at least one of the third trader, the another client, and the another server; determine a second configurable period of time based at least in part on at least one of the first trader, the client, and the server; identify a potential trade between the third trading order and another trading order; initiate the second configurable period of time.

24

24. The apparatus of claim 1 , wherein the instructions, when executed by the processor, further cause the processor to: prior to initiating the configurable period of time, determining the configurable period of time based at least in part on a plurality of latency values stored in the memory, wherein the plurality of latency values comprise the latency value.

25

25. The apparatus of claim 24 , wherein determining the configurable period of time comprises: applying a plurality of configurable conditions to the plurality of latency values stored in the database; setting the configurable period of time to a particular time value.

26

26. The apparatus of claim 24 , wherein determining the configurable period of time comprises: determining whether all latency values of the plurality of latency values stored in the memory are less than or equal to a first value.

27

27. The apparatus of claim 26 , wherein determining the configurable period of time further comprises: determining that all latency values of the plurality of latency values are less than or equal to the first value; and setting the configurable period of time to a first time value.

28

28. The apparatus of claim 27 , wherein determining the configurable period of time further comprises: determining that all latency values of the plurality of latency values are not less than or equal to the first value; and setting the configurable period of time to a second time value.

29

29. The apparatus of claim 27 , wherein determining the configurable period of time further comprises: determining that all latency values of the plurality of latency values are not less than or equal to the first value; and determining whether any latency value of the plurality of latency values is greater than the first value and less than a second value.

30

30. The apparatus of claim 29 , wherein determining the configurable period of time further comprises: determining that at least one latency value of the plurality of latency values is greater than the first value and less than the second value; and setting the configurable period of time to a second time value.

31

31. The apparatus of claim 29 , wherein determining the configurable period of time further comprises: determining that at least one latency value of the plurality of latency values is not greater than the first value and less than the second value.

32

32. The apparatus of claim 31 , wherein determining the configurable period of time further comprises: setting the configurable period of time to a third time value.

33

33. The apparatus of claim 31 , wherein determining the configurable period of time further comprises: prior to setting the configurable period of time to a third time value, determining that at least one latency value of the plurality of latency values is greater than or equal to the second value.

34

34. The apparatus of claim 1 , wherein acting on the first trading order causes the first trading order to no longer match the second trading order.

35

35. The apparatus of claim 1 , wherein acting on the first trading order comprises: canceling the first trading order based at least in part on the at least one change order.

36

36. The apparatus of claim 35 , wherein canceling the first trading order comprises: deleting the first trading order at least in part on the at least one change order.

37

37. The apparatus of claim 1 , wherein acting on the first trading order comprises: changing a characteristic of the first trading order based at least in part on the at least one change order.

38

38. The apparatus of claim 37 , wherein changing the characteristic of the first trading order comprises: changing the price of the first trading order based at least in part on the at least on change order.

39

39. The apparatus of claim 37 , wherein changing the characteristic of the first trading order comprises: changing the quantity of the first trading order based at least in part on the at least on change order.

40

40. The apparatus of claim 37 , wherein not executing the trade comprises: deleting the first trading order.

41

41. The apparatus of claim 37 , wherein not executing the trade comprises: preventing an execution of the trade.

42

42. The apparatus of claim 1 , wherein the instructions, when executed by the processor, further cause the processor to: store the first trading order in a first order book in the memory; and store the second trading order in a second order book in the memory.

43

43. The apparatus of claim 42 , wherein determining that the first trading order no longer matches the second trading order comprises: scanning the first order book and the second order book.

44

44. The apparatus of claim 42 , wherein acting on the first trading order comprises: deleting the first trading order from the first order book based at least in part on the at least one change order.

45

45. The apparatus of claim 44 , wherein determining that the first trading order no longer matches the second trading order comprises: scanning at least the first order book; and determining that the first trading order has been deleted from the first order book.

46

46. The apparatus of claim 42 , wherein not executing the trade comprises: deleting the first trading order from the first order book.

47

47. The apparatus of claim 42 , wherein not executing the trade comprises: moving the first trading order from the first order book to another order book.

48

48. The apparatus of claim 1 , wherein not executing the trade comprises: preventing an execution of the trade.

49

49. The apparatus of claim 1 , wherein not executing the trade comprises: deleting the first trading order.

50

50. The apparatus of claim 1 , wherein not executing the trade comprises: assigning priority to an order other than the first trading order such that the trade is not executed.

51

51. The apparatus of claim 1 , wherein not executing the trade comprises: matching the first trading order to another trading order.

52

52. The apparatus of claim 1 , wherein not executing the trade comprises: matching the second trading order to another trading order.

53

53. The apparatus of claim 1 , wherein identifying the latency value comprises: receiving the latency value.

54

54. The apparatus of claim 53 , wherein the instructions, when executed by the processor, further cause the processor to: receive a test order; and send an acceptance message in response to the test order.

55

55. The apparatus of claim 54 , wherein receiving the latency value comprises: receiving the latency value from a server.

56

56. The apparatus of claim 55 , further comprising: the server, wherein the server is communicatively coupled to the processor, the server comprising: a second processor; a second memory communicatively coupled to the second processor and storing second instructions that, when executed by the second processor, cause the second processor to: submit the test order at a first time; receive, at a second time, the acceptance message; determine the latency value based at least in part on the first time and the second time; and transmit the latency value.

57

57. The apparatus of claim 56 , wherein the instructions, when executed by the processor, further cause the processor to: prevent execution of the test order in response to receiving the test order, wherein the test order is associated with an artificial trading product.

58

58. The apparatus of claim 57 , wherein preventing execution of the test order comprises: prevent execution of any trades involving the test order in response to receiving the test order because the test order is associated with the artificial trading product, wherein the test order is not associated with a price.

59

59. The apparatus of claim 1 , wherein identifying the latency value comprises: determining the latency value.

60

60. The apparatus of claim 59 , wherein the instructions, when executed by the processor, further cause the processor to: receive a test order at a first time, wherein the test order comprises a second time at which the test order was transmitted from a server; and wherein determining the latency value comprises: determining the latency value based at least in part on the first time and the second time.

61

61. The apparatus of claim 1 , wherein receiving the second trading order comprises: receiving the second trading order for the trading product, wherein the second trading order comprises a second quantity of the trading product and a second price; and wherein identifying the match between the first trading order and the second trading order comprises: identifying the match between the first trading order and the second trading order based at least in part on the price and the second price.

62

62. The apparatus of claim 61 , wherein the price matches the second price; and wherein identifying the match between the first trading order and the second trading order further comprises: identify the match between the first trading order and the second trading order based at least in part on the price matching the second price.

63

63. The apparatus of claim 61 , wherein the instructions, when executed by the processor, further cause the processor to: receive a third trading order for the trading product, wherein the third trading order comprises a third quantity of the trading product and a third price; receive a fourth trading order for the trading product; identify a match between the third trading order and the fourth trading order based at least in part on the third price; generate a second potential trade record based on the match between the third trading order and the fourth trading order; store the second potential trade record in the timer queue; initiate a second configurable period of time; and if no change order associated with the third trading order and the fourth trading order is received during the second configurable period of time, upon expiration of the second configurable period of time, determine that the second potential trade record is valid by determining that the third trading order still matches the fourth trading order; and responsively to determining that the potential trade record is valid, execute a trade involving the third trading order and the fourth trading order.

64

64. The apparatus of claim 1 , wherein storing the potential trade record comprises: storing the potential trade record in a timer queue in the memory.

65

65. The apparatus of claim 64 , wherein the timer queue is associated with a callback function, the callback function being configured to notify and prompt the processor to, upon an expiration of the configurable period of time, determine whether the potential trade record is still valid.

66

66. A method, comprising: identifying, by a processor of a computer, a latency value; receiving, from a first trader, by the processor, a first trading order for a trading product, wherein the first trading order comprises a quantity of the trading product and a price; receiving, from a second trader, by the processor, a second trading order for the trading product; identifying, by the processor, a match between the first trading order and the second trading order based at least in part on the price; generating, by the processor, a potential trade record based on the match between the first trading order and the second trading order; storing, by the processor, the potential trade record in the memory; initiating, by the processor, a configurable period of time; receiving, by the processor, during the configurable period of time, at least one change order from the first trader; acting, by the processor, on the first trading order based at least in part on the at least one change order; upon expiration of the configurable period of time, determining, by the processor, that the potential trade record is no longer valid by determining that the first trading order no longer matches the second trading order; and responsively to determining that the potential trade record is no longer valid, not executing, by the processor, a trade involving the first trading order and the second trading order.

Patent Metadata

Filing Date

Unknown

Publication Date

May 11, 2010

Inventors

Peter Bartko
John Robert Capuano
Joseph C. Noviello
Brian Alexander Weston

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “SYSTEM AND METHOD FOR PROVIDING LATENCY PROTECTION FOR TRADING ORDERS” (7716118). https://patentable.app/patents/7716118

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.

SYSTEM AND METHOD FOR PROVIDING LATENCY PROTECTION FOR TRADING ORDERS — Peter Bartko | Patentable