System and method for data feed acceleration and encryption
DC CAFCFirst Claim
Patent Images
1. A method of decoding one or more encoded messages of a data packet 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 message, the method comprising:
- receiving an encoded message in a data packet of the financial data stream having a plurality of data fields associated with the encoded message and one or more descriptors comprising one or more values, wherein the one or more descriptors indicate data field types of the data fields and lossless encoders used to encode the data fields, and further wherein the lossless encoders are selected based on analyses of content of the data fields;
analyzing the encoded message to identify a descriptor;
selecting one or more lossless decoders for a data field associated with the encoded message, wherein the selecting is based on the descriptor and a description file, and further wherein the description file comprises data field types and associated lossless decoders;
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; 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.
0 Assignments
Litigations
0 Petitions
Reexamination
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 latency. Broadcast data may include packets having fields. Encoders associated with particular fields may be selected to compress those particular fields.
541 Citations
123 Claims
-
1. A method of decoding one or more encoded messages of a data packet 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 message, the method comprising:
-
receiving an encoded message in a data packet of the financial data stream having a plurality of data fields associated with the encoded message and one or more descriptors comprising one or more values, wherein the one or more descriptors indicate data field types of the data fields and lossless encoders used to encode the data fields, and further wherein the lossless encoders are selected based on analyses of content of the data fields; analyzing the encoded message to identify a descriptor; selecting one or more lossless decoders for a data field associated with the encoded message, wherein the selecting is based on the descriptor and a description file, and further wherein the description file comprises data field types and associated lossless decoders; 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; 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 (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system for encoding a plurality of data blocks to create an encoded data packet in a financial data stream, wherein multiple encoders applying a plurality of lossless compression techniques are applied to a plurality of data blocks, the system comprising:
-
an input interface that receives a data block from the plurality of data blocks; a memory with a fixed table of data blocks based on a priori knowledge of the financial data stream and an adaptive table of data blocks; a data encoding engine operatively connected to said input interface and said memory having a computer readable program code of instructions executable by the data encoding engine, said instructions comprising instructions to; analyze content of the data block to determine a data block type; select one or more lossless encoders for the data block based on the data block type and a computer file, wherein the computer file indicates data block types and associated encoders; encode the data block with a selected lossless encoder using a data block in said adaptive table identified by said selected lossless encoder, if available, otherwise using a data block in said fixed table identified by said selected lossless encoder; and store the data block in said adaptive table, such that the data block is available to encode one or more other data blocks; and an output interface operatively connected to said data encoding engine that outputs the encoded data packet with a descriptor comprising one or more values, wherein the descriptor indicates the selected one or more lossless encoders. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A system for encoding a plurality of data blocks to create an encoded data packet in a financial data stream, wherein multiple encoders applying a plurality of lossless compression techniques are applied to a plurality of data blocks, the system comprising:
-
an input interface that receives a data block; a data encoding engine operatively connected to said input interface having a computer readable program code of instructions executable by the data encoding engine, said instructions comprising instructions to; analyze content of the data block to determine a data block type; select one or more lossless encoders based on the data block type and a computer file, wherein the computer file indicates data block types and associated encoders; encode the data block with a selected lossless encoder utilizing content dependent data compression, if the data block type is recognized as associated with a lossless encoder utilizing content dependent data compression; and encode the data block with a selected lossless encoder utilizing content independent data compression, if the data block type is not recognized as associated with a lossless encoder utilizing content dependent data compression; and an output interface operatively connected to said data encoding engine that outputs a descriptor comprising one or more values in the encoded data packet in the financial data stream, wherein the descriptor indicates the one or more selected lossless encoders. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
-
29. A method of encoding a plurality of data blocks 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 blocks, the method comprising:
-
receiving a data block from the plurality of data blocks; analyzing content of the data block to determine a data block type; selecting one or more lossless encoders based on the data block type and a computer file, wherein the computer file indicates data block types and associated encoders; encoding the data block with a selected lossless encoder utilizing content dependent data compression, if the data block type is recognized as associated with a lossless encoder utilizing content dependent data compression; encoding the data block with a selected lossless encoder utilizing content independent data compression, if the data block type is 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 block. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
-
-
43. A method of encoding a plurality of data blocks to create an encoded data packet for 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 blocks, the method comprising:
-
providing a fixed table of data blocks based on a priori knowledge of the financial data stream; providing an adaptive table of data blocks; receiving a data block from the plurality of data blocks; analyzing content of the data block to determine a data block type; selecting one or more lossless encoders for the data block based on the data block type and a computer file, wherein the computer file indicates data block types and associated encoders; encoding the data block with a selected lossless encoder using a data block in said adaptive table identified by said selected lossless encoder, if available, otherwise using a data block in said fixed table identified by said selected lossless encoder; storing the data block in said adaptive table, such that the data block is available to encode one or more other data blocks; and providing a descriptor for the encoded data packet, wherein the descriptor indicates the selected one or more lossless encoders for the encoded data block. - View Dependent Claims (44, 45, 46, 47, 48, 49, 50, 51)
-
-
52. A method of encoding one or more messages to create an encoded data packet for 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 of a message, the method comprising:
-
providing a fixed table of data fields based on a priori knowledge of the financial data stream; providing an adaptive table of data fields; receiving a message from the one or more messages; analyzing content of a data field in the message to determine a data field type; selecting one or more lossless encoders for the data field based on the data field type and a computer file, wherein the computer file indicates data block types and associated encoders; encoding the data field with a selected lossless encoder using a data field in said adaptive table identified by said selected lossless encoder, if available, otherwise using a data field in said fixed table identified by said selected lossless encoder; storing the data field in said adaptive table, such that the data field is available to encode one or more other data fields; and providing a descriptor for the encoded data packet, wherein the descriptor indicates the selected one or more lossless encoders for the encoded data field. - View Dependent Claims (53, 54, 55, 56, 57, 58, 59)
-
-
60. A system for encoding one or more messages to create an encoded data packet in a financial data stream, wherein multiple encoders applying a plurality of lossless compression techniques are applied to a plurality of data fields of a message, the system comprising:
-
an input interface that receives a message, wherein the message comprises a plurality of data fields; a data encoding engine operatively connected to said input interface having a computer readable program code of instructions executable by the data encoding engine, said instructions comprising instructions to; analyze content of a data field of the message to determine a data field type; select one or more lossless encoders based on the data field type and a description file, wherein the description file indicates data field types and associated encoders; encode the data field with a selected lossless encoder utilizing content dependent data compression, if the data block type is recognized as associated with a lossless encoder utilizing content dependent data compression; and encode the data field with a selected lossless encoder utilizing content independent data compression, if the data block type is not recognized as associated with a lossless encoder utilizing content dependent data compression; and an output interface operatively connected to said data encoding engine that outputs a descriptor in the encoded data packet in the financial data stream, wherein the descriptor indicates the selected one or more lossless encoders. - View Dependent Claims (61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72)
-
-
73. 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 blocks associated with the encoded data packet, and further wherein the lossless encoders are selected based on analyses of content of the data blocks; analyzing the encoded data packet of the financial data stream to identify a descriptor; selecting one or more lossless decoders for a data block associated with the data packet, wherein the selecting is based on the descriptor; decoding the data block with a selected lossless decoder utilizing content dependent data decompression, if the descriptor indicates the data block is encoded utilizing content dependent data compression; and decoding the data block with a selected lossless decoder utilizing content independent data decompression, if the descriptor indicates the data block is encoded utilizing content independent data compression. - View Dependent Claims (74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90)
-
-
91. 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 fixed table of data blocks based on a priori knowledge of the financial data stream; providing an adaptive table of data blocks; 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 blocks associated with the encoded data packet, and further wherein the lossless encoders are selected based on analyses of content of the data blocks; analyzing the encoded data packet to identify a descriptor; selecting one or more lossless decoders for a data block associated with the encoded data packet, wherein the selecting is based on the descriptor; decoding the data block with a selected lossless decoder using a data block in said adaptive table identified by said selected lossless decoder, if available, otherwise using a data block in said fixed table identified by said selected lossless decoder; and storing the decoded data block in said adaptive table, such that the decoded data block is available to decode one or more other data blocks. - View Dependent Claims (92, 93, 94, 95, 96, 97)
-
-
98. A system for decoding one or more encoded data packets of a financial data stream, wherein multiple decoders applying a plurality of lossless decompression techniques are applied to an encoded data packet, the system comprising:
-
an input interface that receives 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 blocks associated with the encoded data packet, and further wherein the lossless encoders are selected based on analyses of content of the data blocks; a data decoding engine operatively connected to said input interface having a computer readable program code of instructions executable by the data decoding engine, said instructions comprising instructions to; analyze the encoded data packet of the financial data stream to identify a descriptor; select one or more lossless decoders for a data block associated with the encoded data packet, wherein the selecting is based on the descriptor; decode the data block with a selected lossless decoder utilizing content dependent data decompression, if the descriptor indicates the data block is encoded utilizing content dependent data compression; and decode the data block with a selected lossless decoder utilizing content independent data decompression, if the descriptor indicates the data block is encoded utilizing content independent data compression; and an output interface operatively connected to said data decoding engine that outputs data from the data packet. - View Dependent Claims (99, 100, 101, 102, 103, 104, 105, 106, 107)
-
-
108. A system for decoding one or more data packets in a financial data stream, wherein multiple decoders applying a plurality of lossless decompression techniques are applied to an encoded data packet, the system comprising:
-
an input interface that receives 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 blocks associated with the data packet, and further wherein the lossless encoders are selected based on analyses of content of the data blocks; a memory with a fixed table of data blocks based on a priori knowledge of the financial data stream and an adaptive table of data blocks; a data decoding engine operatively connected to said input interface and said memory having a computer readable program code of instructions executable by the data decoding engine, said instructions comprising instructions to; analyze the encoded data packet to identify a descriptor; select one or more lossless decoders for a data block associated with the encoded data packet, wherein the selecting is based on the descriptor; decode the data block with a selected lossless decoder using a data block in said adaptive table identified by said selected lossless decoder, if available, otherwise using a data block in said fixed table identified by said selected lossless decoder; and store the decoded data block in said adaptive table, such that the decoded data block is available to decode one or more other data blocks; and an output interface operatively connected to said data decoding engine that outputs data from the data packet. - View Dependent Claims (109, 110, 111, 112, 113, 114)
-
-
115. A system for decoding one or more encoded messages of a data packet in a financial data stream, wherein multiple decoders applying a plurality of lossless decompression techniques are applied to an encoded message, the system comprising:
-
an input interface that receives an encoded message in a data packet from the financial data stream having a plurality of data fields associated with the encoded message and one or more descriptors comprising one or more values, wherein the one or more descriptors indicate data field types of the data fields and lossless encoders used to encode the data fields, and further wherein the lossless encoders are selected based on analyses of content of the data fields; a memory with a fixed table of data fields based on a priori knowledge of the financial data stream and an adaptive table of data fields; a data decoding engine operatively connected to said input interface and said memory having a computer readable program code of instructions executable by the data decoding engine, said instructions comprising instructions to; analyze the encoded message to identify a descriptor; select one or more lossless decoders for a data field associated with the encoded message, wherein the selecting is based on the descriptor and a description file, and further wherein the description file comprises data field types and associated lossless decoders; decode the data field with a selected lossless decoder using a data field in said adaptive table identified by said selected lossless decoder, if available, otherwise using a data field in said fixed table identified by said selected lossless decoder; and store the decoded data field in said adaptive table, such that the decoded data field is available to decode one or more other data fields; and an output interface operatively connected to said data decoding engine that outputs data from the data packet. - View Dependent Claims (116, 117, 118, 119, 120, 121, 122, 123)
-
Specification