Data packet header compression for unidirectional transmission
First Claim
1. A method for serving full-length and reduced-length data packets from a server to a client over a unidirectional broadcast medium, each full-length data packet having a data payload and an uncompressed header with multiple fields, the method comprising the following steps:
- at the server;
compressing an uncompressed header to form an associated compressed header having a subset of one or more of the fields so that the fields that are common to the associated uncompressed and compressed headers are identical;
forming a reduced-length data packet having the compressed header and a data payload;
appending a compression key to each of the full-length and reduced-length data packets, the compression key specifying whether the appended data packet is full-length or reduced-length and whether the full-length and reduced-length data packets have associated uncompressed and compressed headers;
transmitting the full-length and reduced-length data packets from the server to the client over a unidirectional broadcast medium;
at the client;
extracting the uncompressed header from the full-length data packet;
storing the uncompressed header;
extracting the compressed header from the reduced-length data packet; and
decompressing the compressed headers by adding fields from the uncompressed header stored at the client that is indicated by the compression keys as being associated to the compressed header, the added fields restoring the subset of fields contained in the compressed header to said multiple fields contained in the uncompressed header.
2 Assignments
0 Petitions
Accused Products
Abstract
A broadcast transmission system transmits data packets from a server to a client over a unidirectional broadcast network. The system transmits both full-length data packets, which have uncompressed headers, and reduced-length data packets, which have compressed headers derived from associated uncompressed headers. The server compresses the data packets by compressing the packet header. Compressed packet headers contain fewer header fields than their associated uncompressed headers. The server transmits a series of intermixed full-length and reduced-length packets to the client. As the packets are received, the client determines whether the packets are full-length or reduced-length. If the packet is full-length, the client stores the uncompressed header in a header table. If the packet is reduced-length, the client rebuilds the compressed header from its corresponding uncompressed headers in the header table.
-
Citations
42 Claims
-
1. A method for serving full-length and reduced-length data packets from a server to a client over a unidirectional broadcast medium, each full-length data packet having a data payload and an uncompressed header with multiple fields, the method comprising the following steps:
-
at the server; compressing an uncompressed header to form an associated compressed header having a subset of one or more of the fields so that the fields that are common to the associated uncompressed and compressed headers are identical; forming a reduced-length data packet having the compressed header and a data payload; appending a compression key to each of the full-length and reduced-length data packets, the compression key specifying whether the appended data packet is full-length or reduced-length and whether the full-length and reduced-length data packets have associated uncompressed and compressed headers; transmitting the full-length and reduced-length data packets from the server to the client over a unidirectional broadcast medium; at the client; extracting the uncompressed header from the full-length data packet; storing the uncompressed header; extracting the compressed header from the reduced-length data packet; and decompressing the compressed headers by adding fields from the uncompressed header stored at the client that is indicated by the compression keys as being associated to the compressed header, the added fields restoring the subset of fields contained in the compressed header to said multiple fields contained in the uncompressed header. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for compressing a data packet for transmission over a broadcast medium, the data packet comprising a data payload and an uncompressed packet header having multiple fields, the method comprising the following steps:
-
forming a compressed packet header comprising at least one, but not all, of the fields from the uncompressed packet header; appending the data payload to the compressed packet header; and appending a compression key to the compressed packet header, the compression key having a first block containing information to inform a receiver that the appended packet header is a compressed packet header and a second block containing an index to a table at the receiver that identifies the memory location of the uncompressed packet header. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A method for compressing an uncompressed packet header of a UDP/IP data packet to be transmitted over a broadcast medium, the uncompressed packet header having an IP portion containing multiple IP fields and a UDP portion containing multiple UDP fields, the method comprising the following steps:
-
forming a compressed packet header comprising at least one, but not all, of the IP fields in the uncompressed packet header; and appending a compression key to the compressed packet header, the compression key comprising a first block containing information to inform a receiver that the appended packet header is a compressed packet header and a second block containing an index to a table at the receiver that identifies where the uncompressed packet header is or will be stored. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A broadcast transmission system for transmitting full-length and reduced-length data packets from a server to a client over a broadcast medium, comprising:
-
a packet header compressor resident at the server to compress an uncompressed header with multiple fields into an associated compressed header with at least one, but not all, of the fields from an associated uncompressed header; a packet encoder resident at the server to form full-length and reduced-length data packets, the full-length data packets including a data payload and an uncompressed header and the reduced-length data packets including a data payload and a compressed header, the packet encoder further including with each full-length data packet a header index value, the packet encoder further including with each reduced-length data packet the header index value of the full-length data packet that contains the uncompressed header that is associated with the compressed header within the reduced-length data packet; wherein the packet encoder appends a first bit value to the full-length data packets and a second bit value to the reduced-length data packets to differentiate the full-length and reduced-length data packets; a transmitter at the server to transmit the full-length and reduced-length data packets over the broadcast medium; a receiver at the client to receive the full-length and reduced-length data packets from the distribution medium; and a packet decoder at the client to extract the header index values from the full-length data packets and store the uncompressed headers of the full-length data packets in memory locations referenced by corresponding header index values; and a packet header decompressor at the client to reconstruct uncompressed headers from the compressed headers in the reduced-length data packets, the packet header decompressor utilizing the header index values from the reduced-length data packets to reference the memory locations containing the associated uncompressed headers and reconstruct missing fields in the compressed headers from the fields in the associated uncompressed headers. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A data packet compressor for compressing a data packet for transmission over a broadcast medium, the data packet comprising a data payload and an uncompressed packet header having multiple fields, comprising:
-
a packet header compressor to form a compressed packet header having at least one, but not all, of the fields from the uncompressed packet header; a packet encoder to append a header index value to the compressed packet header, the header index value identifying for a recipient the uncompressed packet header from which the compressed packet header is formed; and wherein the packet encoder appends a bit value to the header index value to indicate that the appended header is compressed; the packet encoder further appending a data payload to the compressed packet header. - View Dependent Claims (34, 35, 36, 37)
-
-
38. A data packet decompressor for decompressing a compressed data packet received from a broadcast medium, the compressed data packet comprising a data payload, a compressed packet header with one or more fields, a header index value, and a bit value to the header index value to indicate that the appended header is compressed, comprising:
-
a packet decoder to extract the compressed header from the compressed data packet; a packet header decompressor to access a memory location referenced by the header index value, the memory location holding a full uncompressed packet header having multiple fields that include the fields in the compressed data packet and other fields missing from the compressed data packet; and the packet header decompressor rebuilding a decompressed packet header from the compressed packet header by adding the missing fields from the memory location to the fields in the compressed data packet. - View Dependent Claims (39)
-
-
40. A network packet structure embodied on a computer-readable medium, comprising:
-
a full-length data packet type comprising; a data payload; an uncompressed header appended to the data payload, the uncompressed header having multiple fields; a header index value to reference a memory location at a destination to hold the uncompressed header; a first bit value to identify the packet as the full-length data packet type; and
,a reduced-length data packet type derived from the full-length data packet type comprising; a data payload; a compressed header appended to the data payload, the compressed header having at least one, but not all, of the fields found in the uncompressed header; the header index value; and a second bit value to identify the packet as the reduced-length data packet type. - View Dependent Claims (41, 42)
-
Specification