System and method for low latency market data
First Claim
Patent Images
1. An apparatus for low latency data, the apparatus comprising:
- one or more feed handlers, each of the one or more feed handlers configured to;
receive a stream of market data, the market data comprising a plurality of market data segments; and
extract the plurality Of market data segments from the received stream of market data;
one or more queues comprising one or more data partitions, the one or more queues coupled to the one or more feed handlers via a direct connection, the direct connection comprising a cluster interconnect of Beowulf style, the one or more queues configured to;
receive the plurality of extracted market data segments from the one or more feed handlers;
store each of the extracted market data segments in a particular one of the one or more data partitions based on a characteristic of each of the extracted market data segments; and
filter the plurality of extracted market data segments stored in the one or more data partitions using one or more filters established by a particular one or more subscribers to create filtered data; and
one or more publishers, each of the one or more publishers configured to;
receive a portion of the filtered data;
publish the portion of the filtered data for the particular one or more subscribers; and
send, via a callback mechanism, a notification to the particular one or more subscribers when the one or more publishers receives the portion of the filtered data that was filtered by the filter established by the particular one or more subscribers;
the one or more queues operable to filter the plurality of extracted market data segments stored in the one or more data partitions by creating a plurality of jobs and scheduling the plurality of jobs to be executed in parallel on one or more computer systems in a computational cluster; and
wherein publishing the portion of the filtered data for the particular one or more subscribers comprises;
determining whether the filtered data is associated with a shared subscription;
publishing the filtered data to the particular one or more subscribers using an IP multicast channel if it is determined that the filtered data is associated with a shared subscription; and
publishing the filtered data to the particular one or more subscribers using a point-to-point messaging transport if it is determined that the filtered data is not associated with a shared subscription.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for low latency data comprises receiving a data stream comprising data from a data source, receiving the data via one or more queues, where each of the one or more queues is associated with one or more filters adapted to filter the data based at least upon a time predicate to create filtered data. Each of the one or more filters is established by one or more subscribers. The method also comprises receiving a portion of the filtered data that was filtered by a filter established by a particular one or more subscribers, and publishing the portion of the filtered data for the particular one or more subscribers.
32 Citations
73 Claims
-
1. An apparatus for low latency data, the apparatus comprising:
-
one or more feed handlers, each of the one or more feed handlers configured to; receive a stream of market data, the market data comprising a plurality of market data segments; and extract the plurality Of market data segments from the received stream of market data; one or more queues comprising one or more data partitions, the one or more queues coupled to the one or more feed handlers via a direct connection, the direct connection comprising a cluster interconnect of Beowulf style, the one or more queues configured to; receive the plurality of extracted market data segments from the one or more feed handlers; store each of the extracted market data segments in a particular one of the one or more data partitions based on a characteristic of each of the extracted market data segments; and filter the plurality of extracted market data segments stored in the one or more data partitions using one or more filters established by a particular one or more subscribers to create filtered data; and one or more publishers, each of the one or more publishers configured to;
receive a portion of the filtered data;publish the portion of the filtered data for the particular one or more subscribers; and send, via a callback mechanism, a notification to the particular one or more subscribers when the one or more publishers receives the portion of the filtered data that was filtered by the filter established by the particular one or more subscribers; the one or more queues operable to filter the plurality of extracted market data segments stored in the one or more data partitions by creating a plurality of jobs and scheduling the plurality of jobs to be executed in parallel on one or more computer systems in a computational cluster; and wherein publishing the portion of the filtered data for the particular one or more subscribers comprises; determining whether the filtered data is associated with a shared subscription; publishing the filtered data to the particular one or more subscribers using an IP multicast channel if it is determined that the filtered data is associated with a shared subscription; and publishing the filtered data to the particular one or more subscribers using a point-to-point messaging transport if it is determined that the filtered data is not associated with a shared subscription. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 68, 69)
-
-
24. A method for low latency data, the method comprising:
-
receiving a stream of market data, the market data comprising a plurality of market data segments; extracting the plurality of market data segments from the received stream of market data; receiving the plurality of extracted market data segments via one or more queues, the one or more queues comprising one or more data partitions, the plurality of extracted market data segments received via a direct connection, the direct connection comprising a cluster interconnect of Beowulf style; storing each of the extracted market data segments in a particular one of the one or more data partitions based on a characteristic of each of the extracted market data segments; filtering the plurality of extracted market data segments stored in the one or more data partitions using one or more filters established by a particular one or more subscribers to create filtered data, the filtering performed by creating a plurality of jobs and scheduling the plurality of jobs to be executed in parallel on one or more computer systems in a computational cluster; receiving a portion of the filtered data; and publishing the portion of the filtered data for the particular one or more subscribers, wherein publishing the portion of the filtered data for the particular one or more subscribers comprises; determining whether the filtered data is associated with a shared subscription;
publishing the filtered data to the particular one or more subscribers using an IP multicast channel if it is determined that the filtered data is associated with a shared subscription; andpublishing the filtered data to the particular one or more subscribers using a point-to-point messaging transport if it is determined that the filtered data is not associated with a shared subscription; and sending, via a callback mechanism, a notification to the particular one or more subscribers when the portion of the filtered data that was filtered by the filter established by the particular one or more subscribers is received. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 70, 71)
-
-
45. A program storage device readable by a machine, embodying a program of instructions executable by the machine to perform a method for low latency data, the method comprising:
-
receiving a stream of market data, the market data comprising a plurality of market data segments; extracting the plurality of market data segments from the received stream of market data; receiving the plurality of extracted market data segments via one or more queues, the one or more queues comprising one or more data partitions, the plurality of extracted market data segments received via a direct connection, the direct connection comprising a cluster interconnect of Beowulf style; storing each of the extracted market data segments in a particular one of the one or more data partitions based on a characteristic of each of the extracted market data segments; filtering the plurality of extracted market data segments stored in the one or more data partitions using one or more filters established by a particular one or more subscribers to create filtered data, the filtering performed by creating a plurality of jobs and scheduling the plurality of jobs to be executed in parallel on one or more computer systems in a computational cluster; receiving a portion of the filtered data; and publishing the portion of the filtered data for the particular one or more subscribers, wherein publishing the portion of the filtered data for the particular one or more subscribers comprises; determining whether the filtered data is associated with a shared subscription; publishing the filtered data to the particular one or more subscribers using an IP multicast channel if it is determined that the filtered data is associated with a shared subscription; and publishing the filtered data to the particular one or more subscribers using a point-to-point messaging transport if it is determined that the filtered data is not associated with a shared subscription; and sending, via a callback mechanism, a notification to the particular one or more subscribers when the portion of the filtered data that was filtered by the filter established by the particular one or more subscribers is received. - View Dependent Claims (46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 72, 73)
-
-
66. A method for low latency market data, the method comprising:
-
aggregating, by a first entity, one or more streams of market data, the market data comprising a plurality of market data segments; storing, by the second entity, each of the market data segments in a particular one of one or more data partitions based on a characteristic of each of the extracted market data segments, the market data segments received via a direct connection, the direct connection comprising a cluster interconnect of Beowulf style; filtering, by the second entity, the plurality of market data segments stored in the one or more data partitions using one or more filters established by a third entity, the filtering performed by creating a plurality of jobs and scheduling the plurality of jobs to be executed in parallel on one or more computer systems in a computational cluster; registering, by a second entity, one or more queries regarding the one or more data streams; publishing, by the second entity, one or more results for the one or more queries; and subscribing, by the third entity, for receipt of at least one of the one or more results, wherein publishing one or more results for the one or more queries comprises; determining whether the filtered data is associated with a shared subscription; publishing the filtered data using an IP multicast channel if it is determined that the filtered data is associated with a shared subscription; and publishing the filtered data using a point-to-point messaging transport if it is determined that the filtered data is not associated with a shared subscription; and sending, via a callback mechanism, a notification to the third entity when the filtered data that was filtered by the filter established by the third entity is received.
-
-
67. An apparatus for low latency market data, the apparatus comprising:
-
a feed handler adapted to aggregate one or more streams of market data, the market data comprising a plurality of market data segments; a message board coupled to the feed handler via a direct connection, the direct connection comprising a cluster interconnect of Beowulf style, the message board configured to; store each of the market data segments in a particular one of one or more data partitions based on a characteristic of each of the extracted market data segments; filter the plurality of market data segments stored in the one or more data partitions using one or more filters established by one or more subscribers, the filtering performed by creating a plurality of jobs and scheduling the plurality of jobs to be executed in parallel on one or more computer systems in a computational cluster; register one or more queries regarding the one or more data streams; publish one or more results for the one or more queries; and send, via a callback mechanism, a notification to the one or more subscribers when the message board receives market data segments that were filtered by the one or more filters established by the one or more subscribers; and one or more consumer applications configured to subscribe for receipt of at least one of the one or more results, wherein publishing one or more results for the one or more queries comprises; determining whether the filtered data is associated with a shared subscription; publishing the filtered data using an IP multicast channel if it is determined that the filtered data is associated with a shared subscription; and publishing the filtered data using a point-to-point messaging transport if it is determined that the filtered data is not associated with a shared subscription.
-
Specification