Method and apparatus for compressing hypertext transfer protocol (HTTP) messages
First Claim
1. A method for processing a digital protocol message which includes a plurality of recognizable data elements and data other than the recognizable data elements, comprising the steps of:
- (a) providing a plurality of codewords for coding a corresponding plurality of the recognizable data elements of the protocol;
each of said recognizable data elements comprising a string having a plurality of characters;
(b) parsing the digital protocol message to locate data elements thereof corresponding to said recognizable data elements and to locate said other data;
(c) outputting a corresponding one of said codewords for each of the recognizable data elements located in the digital protocol message to provide the message in a compressed format;
(d) coding the other data to provide coded data; and
(e) combining the coded data with the codewords in the compressed message.
4 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for compressing Internet protocol messages, such as HyperText Transport Protocol (HTTP) messages. Codewords (225) are provided for commonly occurring HTTP data elements, such as request lines, header lines, status lines, or portions thereof, such as method fields, URL fields, version fields, and status codes or messages. The codewords are used to provide a compressed HTTP message with a reduced amount of data relative to ASCII coding. If other data is included with the message, such as an entity body (e.g., a requested object such as an HTML page), the other data can be coded separately (215) and recombined (230) with the codewords for the HTTP data elements. The codewords may have reserved bits for providing specific information about the message. The amount of data that must be communicated, e.g., to or from a subscriber terminal (150), is thereby reduced. A message handler (340) decodes and processes the codewords. A compressed message handler 410 can be provided that processes/renders the compressed HTTP data (e.g., codewords) directly without decompressing them. The system is compatible with other compression techniques to provide even greater compression.
-
Citations
31 Claims
-
1. A method for processing a digital protocol message which includes a plurality of recognizable data elements and data other than the recognizable data elements, comprising the steps of:
-
(a) providing a plurality of codewords for coding a corresponding plurality of the recognizable data elements of the protocol;
each of said recognizable data elements comprising a string having a plurality of characters;
(b) parsing the digital protocol message to locate data elements thereof corresponding to said recognizable data elements and to locate said other data;
(c) outputting a corresponding one of said codewords for each of the recognizable data elements located in the digital protocol message to provide the message in a compressed format;
(d) coding the other data to provide coded data; and
(e) combining the coded data with the codewords in the compressed message. - 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, 24)
(f) parsing the compressed message to separate the coded data from the codewords thereof;
(g) decoding the coded data to recover the other data;
(h) providing the respective data elements for each corresponding codeword obtained in said step (f); and
(i) combining the data elements provided in said step (h) with the recovered other data to provide an uncompressed message.
-
-
3. The method of claim 1, comprising the further step of:
communicating the compressed message from at least one of a content server and a headend to at least one subscriber terminal in a communication network.
-
4. The method of claim 1, wherein:
the compressed message is communicated according to at least one of a Moving Picture Experts Group (MPEG) transport scheme and a Transmission Control Protocol/Internet Protocol (TCP/IP) transport scheme and an ALOHA protocol transport scheme and an Asynchronous Transfer Mode (ATM) transport scheme.
-
5. The method of claim 1, comprising the further step of:
communicating the compressed message from a subscriber terminal to at least one of a content server and a headend in a communication network.
-
6. The method of claim 5, wherein:
the compressed message is communicated according to at least one of a Moving Picture Experts Group (MPEG) transport scheme and a Transmission Control Protocol/Internet Protocol (TCP/IP) transport scheme and an ALOHA protocol transport scheme and an Asynchronous Transfer Mode (ATM) transport scheme.
-
7. The method of claim 1, comprising the further step of:
-
communicating the compressed message to a subscriber terminal in a communication network; and
processing the compressed message at the terminal without recovering the corresponding data elements.
-
-
8. The method of claim 7, wherein:
the compressed message is communicated according to at least one of a Moving Picture Experts Group (MPEG) transport scheme and a Transmission Control Protocol/Internet Protocol (TCP/IP) transport scheme and an Asynchronous Transfer Mode (ATM) transport scheme.
-
9. The method of claim 1, comprising the further steps of:
-
(f) parsing the compressed message to locate the codewords thereof; and
(g) providing the respective data elements for each corresponding codeword obtained in said step (f).
-
-
10. The method of claim 1, wherein:
the protocol message is a HyperText Transport Protocol (HTTP) message.
-
11. The method of claim 10, wherein:
at least one of the codewords designates whether the message is a request message or a response message.
-
12. The method of claim 10, wherein:
at least one of the codewords designates a request line of the message.
-
13. The method of claim 10, wherein:
at least one of the codewords designates a status line of the message.
-
14. The method of claim 10, wherein:
at least one of the codewords designates a header line of the message.
-
15. The method of claim 10, wherein:
at least one of the codewords designates a name/value pair that follow a header identifier in a header line of the message.
-
16. The method of claim 10, wherein:
at least one of the codewords designates a method field of the message.
-
17. The method of claim 10, wherein:
at least one of the codewords designates a Uniform Resource Locator (URL) field of the message.
-
18. The method of claim 10, wherein:
at least one of the codewords designates a protocol version field of the message.
-
19. The method of claim 10, wherein:
at least one of the codewords designates a status code and/or status message of the message.
-
20. The method of claim 10, wherein:
at least one of the codewords designates a length of at least one subsequent data element of the message.
-
21. The method of claim 10, wherein:
at least one of the codewords designates a length of at least one subsequent codeword of the message.
-
22. The method of claim 10, wherein:
at least one of the codewords designates a protocol type field of the message.
-
23. The method of claim 10, wherein:
at least one of the codewords designates a number of header lines of the message.
-
24. The method of claim 10, wherein:
at least one of the codewords designates a header type of a header line of the message.
-
25. An apparatus for processing a digital protocol message which includes a plurality of recognizable data elements and data other than the recognizable data elements, comprising:
-
(a) means for providing a plurality of codewords for coding a corresponding plurality of recognizable data elements of the protocol;
each of said recognizable data elements comprising a string having a plurality of characters;
(b) a parser for parsing the digital protocol message to locate data elements thereof corresponding to said recognizable data elements and to locate said other data;
(c) means for outputting a corresponding one of said codewords for each of the recognizable data elements located in the digital protocol message to provide the message in a compressed format;
(d) a coder for coding the other data to provide coded data; and
(e) a combiner for combining the coded data with the codewords in the compressed message.
-
-
26. A method for processing a digital protocol message that is in a compressed format, and which includes:
- (1) codewords that represent recognizable data elements of the protocol and (2) data other than said codewords, wherein each of said recognizable data elements comprises a string having a plurality of characters, comprising the steps of;
(a) providing a plurality of data elements of the protocol for decoding a corresponding plurality of the codewords;
(b) parsing the compressed message to locate the codewords thereof and the other data contained therein;
(c) providing the respective data elements for each corresponding codeword located in said step (b) to provide the digital protocol message in an uncompressed format; and
(d) combining the other data located in said step (b) with said data elements provided in said step (c) to provide the digital protocol message in the uncompressed format. - View Dependent Claims (27)
(e) handling the uncompressed digital protocol message obtained in said step (d) in accordance with the protocol.
- (1) codewords that represent recognizable data elements of the protocol and (2) data other than said codewords, wherein each of said recognizable data elements comprises a string having a plurality of characters, comprising the steps of;
-
28. An apparatus for processing a digital protocol message that is in a compressed format, and which includes:
- (1) codewords that represent recognizable data elements of the protocol and (2) data other than said codewords, wherein each of said recognizable data elements comprises a string having a plurality of characters, comprising;
(a) means for providing a plurality of data elements of the protocol for decoding a corresponding plurality of the codewords;
(b) a parser for parsing the compressed message to locate the codewords thereof and the other data contained therein;
(c) means for providing the respective data elements for each corresponding codeword located by said parser to provide the digital protocol message in an uncompressed format; and
(d) a combiner for combining the other data located by said parser with said data elements provided by said means (c) to provide the digital protocol message in the uncompressed format. - View Dependent Claims (29)
a message handler for handling the uncompressed digital protocol message in accordance with the protocol.
- (1) codewords that represent recognizable data elements of the protocol and (2) data other than said codewords, wherein each of said recognizable data elements comprises a string having a plurality of characters, comprising;
-
30. A method for processing a digital protocol message that is in a compressed format, and which includes:
- (1) codewords that represent recognizable data elements of the protocol, wherein each of said recognizable data elements comprises a string having a plurality of characters and (2) data other than said codewords, comprising the steps of;
(a) parsing the compressed message to locate the codewords thereof and the other data contained therein;
(b) providing the codewords located in said step (a) to a compressed protocol data message handler for processing thereat in accordance with the protocol without recovering the corresponding data elements; and
(c) providing the other data located in said step (c) to the compressed protocol data message handler for processing thereat in accordance with the protocol.
- (1) codewords that represent recognizable data elements of the protocol, wherein each of said recognizable data elements comprises a string having a plurality of characters and (2) data other than said codewords, comprising the steps of;
-
31. An apparatus for processing a digital protocol message that is in a compressed format, and which includes:
- (1) codewords that represent recognizable data elements of the protocol and (2) data other than said codewords, wherein each of said recognizable data elements comprises a string having a plurality of characters, comprising;
(a) a parser for parsing the compressed message to locate the codewords thereof and the other data contained therein;
(b) means for providing the codewords located by said parser to a compressed protocol data message handler for processing thereat without recovering the corresponding data elements in accordance with the protocol; and
(c) means for providing the other data located by the parser to the compressed protocol data message handler for processing thereat in accordance with the protocol.
- (1) codewords that represent recognizable data elements of the protocol and (2) data other than said codewords, wherein each of said recognizable data elements comprises a string having a plurality of characters, comprising;
Specification