Claims
- 1. A method for compressing data, wherein one or more types of encoding are applied to a data stream depending on identifiable data fields in the data stream, the method comprising the steps of:
recognizing a data field type of a data field in a data stream; selecting an encoder associated with the recognized data field type; encoding the data in the data field with the selected encoder; and appending a descriptor to the encoded data which identifies the selected encoder.
- 2. The method of claim 1, wherein the step of selecting an encoder associated with the recognized data field type is further based on a packet type.
- 3. The method of claim 2, comprising the step of using a packet independent encoder for encoding a UDP (User Datagram Protocol) data packet.
- 4. The method of claim 2, comprising the step of selecting packet independent or dependent encoders based on a packet type.
- 5. The method of claim 1, comprising the step of compressing data of an unrecognized data field using content independent data compression.
- 6. The method of claim 1, comprising the step of compressing data of an unrecognized packet type using content independent data compression.
- 7. The method of claim 1, comprising the step of using arithmetic encoding with single character codes to encode data of single character fields.
- 8. The method of claim 1, comprising the step of using Huffman encoding with small set multiple character codes to encode data of multiple character fields.
- 9. The method of claim 1, comprising the step of using variable length encoding with large set multiple character codes to encode data of multiple character fields.
- 10. The method of claim 9, wherein large set multiple character codes utilize truncation of trailing spaces.
- 11. The method of claim 1, comprising the step of using table-based encoding with large set multiple character codes to encode data of multiple character fields.
- 12. The method of claim 1, comprising the step of using variable length encoding with variable length codes to encode absolute number values.
- 13. The method of claim 1, comprising the step of using numerical difference encoding to encode relative numeric values.
- 14. The method of claim 1, comprising the step of encoding time data based on a difference between a previous time data.
- 15. The method of claim 1, comprising the step of difference encoding based on a first absolute values within a same data packet for packet independent data compression.
- 16. The method of claim 1, comprising the step of using difference encoding to encode a message sequence number.
- 17. The method of claim 1, wherein a date within a packet is encoded only one time if all messages have the same date.
- 18. The method of claim 17, comprising the step of including date data as part of a message only if the message has a different date.
- 19. The method of claim 1, comprising the step of including error detection codes in a compressed data packet.
- 20. A method for creating a data feed dependent data compression routine, comprising the steps of:
creating a description file that describes one or more data fields and one or more encoders associated with each data field; processing the description file with a data compression compiler; and outputting an executable file that is used to process a stream of data by recognizing data field types in the data stream and applying encoders associated with the recognized data field types to encode the data stream.
- 21. The method of claim 20, wherein the output file comprises a dynamic link library.
- 22. The method of claim 20, wherein the executable file comprises instructions for performing content independent data compression for unrecognized data fields.
- 23. The method of claim 22, wherein encoder types that are used for the content independent data compression are specified in the description file.
- 24. A method for creating a data feed dependent data compression routine, comprising the steps of:
creating a description file that describes one or more data fields and one or more encoders associated with each data field; processing the description file with a data compression compiler; and outputting source code that is used to process a stream of data by recognizing data field types in the data stream and applying encoders associated with the recognized data field types to encode the data stream.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a Continuation-in-Part of U.S. patent application Ser. No. 09/969,987, filed on Oct. 3, 2001, which claims the benefit of U.S. Provisional Application No. 60/237,571, filed on Oct. 3, 2000, both of which are fully incorporated herein by reference. In addition, this application claims the benefit of U.S. Provisional Application No. 60/378,517, filed on May 7, 2002, which is fully incorporated herein by reference.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60237571 |
Oct 2000 |
US |
|
60378517 |
May 2002 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09969987 |
Oct 2001 |
US |
Child |
10434305 |
May 2003 |
US |