System and Method For Data Feed Acceleration and Encryption
First Claim
1. A method of encoding a plurality of data fields to create an encoded data packet in a financial data stream using a data encoding engine, wherein multiple encoders applying a plurality of lossless compression techniques are applied to a plurality of data fields, the method comprising:
- providing a list that indicates data field parameters and associated data compression encoders;
providing a global state machine having a plurality of global states, the global states storing data used to compress data fields for a data packet based on a priori knowledge of the data stream;
providing an adaptive local state machine having a plurality of local states, the local states storing data used to compress data fields for a data packet based on knowledge of one or more data fields being compressed in generating the data packet, wherein the plurality of local states are reset at a point of the data packet such that the local states can be used in compressing a next data packet;
receiving a data field from the plurality of data fields;
analyzing the data field to determine one or more parameters of the data field;
selecting one or more lossless encoders based on the data field parameters and the list;
compressing the data field utilizing the one or more selected lossless encoders and data from the local states of the local state machine and global states of the global state machine; and
providing a descriptor for the encoded data packet in the financial data stream, wherein the descriptor indicates the one or more selected encoders for the encoded data field.
1 Assignment
0 Petitions
Accused Products
Abstract
The transmission of broadcast data, such as financial data and news feeds, is accelerated over a communication channel using data compression and decompression to provide secure transmission and transparent multiplication of communication bandwidth, as well as reduce the latency. Broadcast data may include packets having fields. Encoders associated with particular fields may be selected to compress those particular fields.
-
Citations
51 Claims
-
1. A method of encoding a plurality of data fields to create an encoded data packet in a financial data stream using a data encoding engine, wherein multiple encoders applying a plurality of lossless compression techniques are applied to a plurality of data fields, the method comprising:
-
providing a list that indicates data field parameters and associated data compression encoders; providing a global state machine having a plurality of global states, the global states storing data used to compress data fields for a data packet based on a priori knowledge of the data stream; providing an adaptive local state machine having a plurality of local states, the local states storing data used to compress data fields for a data packet based on knowledge of one or more data fields being compressed in generating the data packet, wherein the plurality of local states are reset at a point of the data packet such that the local states can be used in compressing a next data packet; receiving a data field from the plurality of data fields; analyzing the data field to determine one or more parameters of the data field; selecting one or more lossless encoders based on the data field parameters and the list; compressing the data field utilizing the one or more selected lossless encoders and data from the local states of the local state machine and global states of the global state machine; and providing a descriptor for the encoded data packet in the financial data stream, wherein the descriptor indicates the one or more selected encoders for the encoded data field. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of decoding one or more encoded data packets in a financial data stream using a data decoding engine, wherein multiple decoders applying a plurality of lossless decompression techniques are applied to an encoded data packet, the method comprising:
-
providing a list that indicates data field parameters and associated data decompression decoders; providing a global state machine having a plurality of global states, the global states storing data used to decompress a compressed data packet based on a priori knowledge of the data stream; providing an adaptive local state machine having a plurality of local states, the local states storing data used to decompress a compressed data packet based on knowledge of one or more data fields being decompressed from the data packet, wherein the plurality of local states are reset at a point of the data packet such that the local states can be used in decompressing a next data packet; receiving an encoded data packet from the financial data stream having one or more descriptors comprising one or more values, wherein the one or more descriptors indicate lossless encoders used to encode data fields associated with the encoded data packet; analyzing the encoded data packet to identify a descriptor; selecting one or more lossless decoders for a data field associated with the encoded data packet, wherein selecting is based on the descriptor and the list; decoding the data field with a selected lossless decoder and data from local states of the local state machine and from global states of the global state machine; and storing the data field in said adaptive local state machine, such that the decoded data field is available to decode one or more other data fields. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A method of encoding a plurality of data fields to create an encoded data packet in a financial data stream using a data encoding engine, wherein multiple encoders applying a plurality of lossless compression techniques are applied to a plurality of data fields, the method comprising:
-
receiving a data field from the plurality of data fields; analyzing the data field to determine one or more parameters of the data field; selecting one or more lossless encoders based on the one or more parameters and a list, wherein the list indicates parameters and associated encoders; encoding the data field with a selected lossless encoder utilizing content dependent data compression, if the one or more parameters are recognized as associated with a lossless encoder utilizing content dependent data compression, wherein the encoding the data field with a selected lossless encoder utilizing content dependent data compression comprises packet independent data encoding such that the data fields for a packet are encoded independently of data in other packets; encoding the data field with a selected lossless encoder utilizing content independent data compression, if the one or more parameters are not recognized as associated with a lossless encoder utilizing content dependent data compression; and providing a descriptor for the encoded data packet in the financial data stream, wherein the descriptor indicates the one or more selected lossless encoders for the encoded data field. - View Dependent Claims (24, 25, 26, 27, 30, 31, 32, 33, 34, 35, 36)
-
-
28. The method of claim 277, further comprising:
-
storing in one or more of the global state machines data fields that are likely to repeat in the financial data stream based on a priori knowledge of the data stream; and storing in one or more of the adaptive local state machines the received data field such that the data field is available to encode one or more other data fields.
-
-
29. The method of claim 288, further comprising resetting one or more of the adaptive local state machines at a point of the encoded data packet.
-
37. A method of decoding one or more encoded data packets of a financial data stream using a data decoding engine, wherein multiple decoders applying a plurality of lossless decompression techniques are applied to an encoded data packet, the method comprising:
-
receiving an encoded data packet from the financial data stream having one or more descriptors comprising one or more values, wherein the one or more descriptors indicate lossless encoders used to encode data fields associated with the encoded data packet, and further wherein the lossless encoders are selected based on analyses of parameters of the data fields; analyzing the encoded data packet of the financial data stream to identify a descriptor; selecting one or more lossless decoders for a data field associated with the data packet, wherein the selecting is based on the descriptor; decoding the data field with a selected lossless decoder utilizing content dependent data decompression, if the descriptor indicates the data field is encoded utilizing content dependent data compression, wherein the decoding the data field with a selected lossless decoder utilizing content dependent data decompression comprises packet independent data decoding such that the data fields for a packet are decoded independently of data in other packets; and decoding the data field with a selected lossless decoder utilizing content independent data decompression, if the descriptor indicates the data field is encoded utilizing content independent data compression. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51)
-
Specification