WO2000079764A1 - Robust delta encoding with history information - Google Patents

Robust delta encoding with history information Download PDF

Info

Publication number
WO2000079764A1
WO2000079764A1 PCT/SE2000/001270 SE0001270W WO0079764A1 WO 2000079764 A1 WO2000079764 A1 WO 2000079764A1 SE 0001270 W SE0001270 W SE 0001270W WO 0079764 A1 WO0079764 A1 WO 0079764A1
Authority
WO
WIPO (PCT)
Prior art keywords
header field
field value
packet
current
difference
Prior art date
Application number
PCT/SE2000/001270
Other languages
French (fr)
Inventor
Krister Svanbro
Lars-Erik Jonsson
Mikael Degermark
Hans Hannu
Original Assignee
Telefonaktiebolaget L M Ericsson (Publ)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget L M Ericsson (Publ) filed Critical Telefonaktiebolaget L M Ericsson (Publ)
Priority to MXPA01012521A priority Critical patent/MXPA01012521A/en
Priority to AU58621/00A priority patent/AU5862100A/en
Publication of WO2000079764A1 publication Critical patent/WO2000079764A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Definitions

  • the invention relates generally to packet communications and, more particularly, to header compression in packet communications.
  • IP Internet Protocol
  • the IP protocols were designed for wired links with high bandwidth capabilities, and because packet headers of the IP protocols are rather large, it is not always a simple task to use IP protocols with narrow band links, for example cellular links.
  • IP protocols are used for real-time data, for example ordinary speech
  • UDP User Datagram Protocol
  • DARPA RFC 768 User Datagram Protocol
  • RTP Real-Time Transport Protocol
  • header compression comprises the art of minimizing the necessary bandwidth for information carried in headers on a per-hop basis over point- to-point links.
  • Header compression takes advantage of the fact that some fields in the headers are not changing within a flow, and that most header changes are small and/or predictable.
  • Conventional header compression schemes make use of these facts and send static information only initially, while changing fields are sent either as uncompressed values (e.g., for completely random information) or as differences (or deltas) from packet to packet, the latter typically referred to as difference (or delta) encoding.
  • difference encoding When difference encoding is used, the compression scheme can be fragile, with its performance very dependent on link quality. For example, if packet loss is common on the link, quality suffers because many consecutive packets are typically lost each time a loss occurs.
  • the first technique uses periodic refreshes wherein absolute header data is sent.
  • RTT round-trip-time
  • An advantage of this solution is that its performance is not affected by the round-trip-time (RTT) of the link, due to the fact that no messages are sent from the de-compressor to the compressor. This means that it also works over simplex links.
  • RTT round-trip-time
  • there are a number of disadvantages with periodic refreshing For example, the average header overhead will be high due to the high number of large refresh headers, most of which are unnecessary. Also the number of lost packets will be high if errors on the link are common.
  • the other common way of keeping the context updated is to let the compressor send refreshing information (i.e., absolute header data) only when requested by the decompressor.
  • this solution also reduces the number of lost packets due to inconsistent context states after a link error.
  • the obvious disadvantages are dependence on the back channel of the duplex link, sensitivity to lost packets on the link, and the high number of consecutive lost packets that will occur in case of an invalid context (and associated refresh request) when the RTT is high.
  • Compression efficiency describes how much the headers are compressed. This can be expressed by the average or maximal header size, combinations of both, or in other ways.
  • Robustness describes how well the scheme handles loss on the link. Will loss of a packet make the header contexts inconsistent resulting in a large number of subsequent lost packets?
  • TCP (see, e.g., Jon Postel, Transmission Control Protocol, DARPA RFC 761, January 1980, incorporated herein by reference) flows, while ideas have later evolved to make compression of UDP and also RTP headers possible (see, e.g., Mikael Degermark, Bj ⁇ rn Nordgren and Stephen Pink, IP Header Compression, IETF RFC 2507, IETF Network Working Group, February 1999, incorporated herein by reference; and Steven Casner and Van Jacobson, Compressing IP/UDP/R TP Headers for Low-Speed Serial Links, IETF RFC 2508, IETF Network Working Group, February 1999, incorporated herein by reference).
  • CRTP compresses the 40 octets of RTP UDP/IP headers down to 2 octets for most packets and, as long as the links are reliable, this minimal size will almost be equal to the average.
  • CRTP uses difference encoding for three fields: the RTP sequence number field; the RTP time stamp field; and the ID field of the IP header.
  • CRTP uses update requests, as described above, to bring invalidated de-compressor contexts up to date.
  • CRTP performs well as long as the used link has a low bit-error rate and/or the RTT is small. However, this is often not the case for wireless links.
  • the RTT is generally also of a magnitude that results in a large number of consecutive lost packets before the de-compressor receives a context update. This is in general undesirable for applications such as real-time audio and video.
  • the overall packet- loss-rate will therefore also be too high and it is not considered possible to improve the wireless link characteristics to make the result better. Both reduction of the bit-error rate (BER) and the RTT would be too expensive. Thus, the robustness of CRTP is identified to be its weakness.
  • the present invention provides a principle of including, in each packet sent, history information about difference (delta) values of a certain number of previous packets. By doing that, the compression scheme becomes more robust and tolerant for packet loss because the lost difference information can be reconstructed using this history information.
  • Figure 1 illustrates an exemplary packet data transmitting station according to the invention.
  • Figure 2 illustrates an exemplary embodiment of the header compressor of Figure 1.
  • Figure 3 illustrates exemplary operations which can be performed by the header compressor of Figures 1 and 2.
  • Figure 4 illustrates an exemplary packet data receiving station according to the invention.
  • Figure 5 illustrates an exemplary embodiment of the header decompressor of Figure 4.
  • Figure 5 A illustrates an alternative to the embodiment of Figure 5.
  • Figure 6 illustrates exemplary operations which can be performed by the header decompressor embodiments of Figures 4-5 A.
  • loss of a packet on the link can result in an inconsistency between the respective context states of the header compressor and the header decompressor. This inconsistency would degrade the quality of the communication service, because packets that arrive during periods of context inconsistency cannot be passed to the user application. If the header compression/decompression scheme could tolerate the loss of some packets without experiencing context inconsistencies, then unacceptable degradations in quality might be avoided.
  • the header of Packet P can also carry information about the headers of preceding Packets P- 1 , P-2, etc.
  • some occurrences of lost packets on the link can be advantageously tolerated without context inconsistencies.
  • the total information can be advantageously coded in order to avoid an unacceptable increase in the size of the header.
  • the header of a given packet it is advantageous to include in the header of a given packet at least some historical information about the headers of previous packets in order to permit recovery from packet loss without context inconsistencies.
  • the scope of the historical information included in a given header can differ from one case to another, as described below.
  • Header decompression refers to the process of reconstructing desired (uncompressed) header information from the compressed header information produced by a header compression (HC) process.
  • Loss between HC and HD is a packet loss parameter for the link between header compression and header de-compressor. This parameter describes the maximal number of consecutive lost packets on the link that a header compression scheme can handle if the proposed encoding principles for changing fields are used. Of course, this requires that no other mechanism of the scheme is more sensitive to loss.
  • Loss before header compression is loss that has happened to the packet stream before it reaches the header compressor. This might be loss on the other end of the connection, for an example on an identical narrow band link using the same header compression scheme, but it could also be loss on a link in between (core network). Because of the low expectation of losing packets on such a reliable link, this loss is treated as insignificant compared to the loss in a possible narrow band link on the sending side. The reason for doing this simplification is that it then seems reasonable to set the requirement on LBC to the same value as for LCD. Individual Delta (ID) represents the change of the field since previous packet.
  • ID Individual Delta
  • AD Accumulated Delta
  • Encoded Delta Values is an encoding of the two parameters ID and AD so that they together can be represented with one parameter.
  • the Individual Delta, IDp for the Pth Packet of the sequence is given by the difference between the field (the sequence number field S P in the example of Equation 1 ) of Packet P and the corresponding field of immediately preceding Packet P-l.
  • the sequence number fields of Packets P and P-l are designated in Equation 1 as S P and S P.l5 respectively.
  • AD p ⁇ ⁇ ID p _ ⁇ , (K>2) (2)
  • the Accumulated Delta value AD P represents the sum of the respective individual deltas of a selected number (K) of packets which were transmitted prior to Packet P in the transmission sequence.
  • the Individual Delta and the Accumulated Delta values, ID P and AD P of Packet P can be encoded using an encoding function/ to produce an Encoded Delta value, ED P :
  • This Encoded Delta value ED P is then transmitted as part of the compressed header.
  • the inverse of/, namely/ 1 is applied to the Encoded Delta value to recover the Individual Delta value and the Accumulated Delta value as shown in Equation 4 below.
  • the present invention utilizes Equations 1 and 2 above to successfully maintain a valid decompressor context in situations when a number of consecutive packets are lost on the communication channel. For example, if K is set equal to two in Equation 2 above, then a loss of two consecutive packets can be handled at the receiving end. If K is set equal to two in Equation 2 above, then the Accumulated Delta value for Packet P is given by Equation 5 below.
  • Equations 6, 7 and 8 below respectively represent first, second and third guesses that can be performed by a header decompression scheme according to the present invention.
  • S P S LAST + ID P (6)
  • S P S LAST + IDp + ADp - ID LAST (7)
  • Equation 6 the first term represents the field value (in this example the sequence number field value) of the packet received at the receiver immediately before (i.e., the last packet received before) Packet P, and ID LAST in Equation 7 represents the corresponding ID value.
  • S LAST is Sp.i (no packet loss)
  • Equation 6 can be expected to yield the correct value of S P , as shown by Equation 1.
  • Equation 7 can be expected to yield the correct value of S P if S LAST is S P _ 2 (Packet P-1 lost). Otherwise Equation 7 will yield an incorrect value, whereupon Equation 8 can be used to guess S P . IfS LAST is Sp. 3 (Packets P-1 andP-21ost), then Equation 8 can be expected to yield a correct value of S P . Otherwise, Equation 8 will also fail to yield the correct value. It can be seen from the foregoing discussion that, as long as no more than two consecutive packets have been lost before arrival of Packet P, one of the three successive guesses corresponding to Equations 6-8 can be expected to identify the correct value S P .
  • Equation 7A Equation 7A
  • Equation 7 can be expected to yield the correct result if the last received packet was Packet P-2.
  • this equation can be expected to provide the correct value of S P if two consecutive packets have been lost.
  • the last received packet would be Packet P-3, so S LAST would be S P.3 .
  • Equation 8A Substituting S P _ 3 , and AD P (from Equation 5), into Equation 8 yields Equation 8A below.
  • S P _ 2 can be expressed as shown in Equation 7B above, then S P _ 3 can be expressed as Equation 8C below.
  • ADp IDp., + IDp_ 2 + IDp. 3 (9)
  • Equations 10-13 can be used to successfully maintain a valid decompressor context when losses of up to three consecutive packets occur.
  • Equation 10 assumes that Packet P-1 was received immediately before Packet P (no packet loss), Equation 11 assumes that Packet P-2 was received immediately before Packet P (one lost packet), Equation 12 assumes that Packet P-3 was received immediately before Packet P (two lost packets), and Equation 13 assumes that Packet P-4 was received immediately before Packet P (three lost packets).
  • Equation 10 can be expected to provide the correct value S P if S LAST is S P .
  • Equations 11, 12 and 13 can be expected to yield the correct value of S P if S LAST is S P . 2 , S P _ 3 , and S P . 4 , respectively.
  • ID NEXTLAST in Equation 11 represents the Individual Delta value of the packet received immediately before the packet received immediately before Packet P, that is, the next-to-last received packet.
  • Equations 10, 11, 12 and 13 respectively represent first, second, third and fourth guess attempts which can be made by an exemplary header decompression scheme according to the invention, using the appropriate values associated with the packets received last and next-to-last before Packet P.
  • Equation 11 fails in this situation because, ID NEXTLAST will in fact be ⁇ D P.4 , not ID P _ 3 , because Packet P-3 was not in fact received, contrary to the assumption of Equation 11 that only Packet P-2 was lost, and that Packet P-3 was received.
  • This situation can be handled by making a fifth guess after the four guesses corresponding to Equations 10-13 have failed.
  • This fifth guess basically treats the above-descried scenario as if Packet P-2 was not received, thus handling the situation as if there were three lost packets, namely Packets P- 1 , P-2 and P-3.
  • Equation 13 can be used again but, for this guess, S P _ 4 (which would correspond to the last-received packet if Packets P-1, P-2 and P-3 were indeed all lost) is inserted for AST .
  • Figure 1 illustrates an exemplary embodiment of a packet data transmitting station according to the invention which can perform the exemplary header compression operations described above.
  • a conventional communications application 11 provides header information 12 and payload information 13.
  • the payload information can be handled in conventional fashion by a payload processor 15 , which outputs a payload 16.
  • the header information is applied to a header compressor 14 which compresses the header information to produce a compressed header 17.
  • the payload 16 and the compressed header 17 comprise a packet 18.
  • a conventional transmitter 19 can receive the packet 18, and using well known techniques, transmit the packet across a radio communication link such as a cellular communication link.
  • the packet data transmitting station of Figure 1 can be, for example, either a fixed-site or mobile radio transmitting station operating in a cellular communication network.
  • Figure 2 illustrates an exemplary portion of the header compressor of Figure
  • Header information corresponding to a desired field in this example the sequence value S P described above, is input to a delta encoder 21 and a checksum generator 22.
  • the delta encoder performs conventional delta encoding generally according to
  • Equation 1 above to produce the Individual Delta value ID P corresponding to S P of Packet P.
  • This Individual Delta value is input to a buffer 24 which maintains a record of the Individual Delta values of the previous K packets.
  • a summing apparatus 25 is coupled to the buffer to receive the Individual Deltas, and is also provided with the value of K, in order to sum desired ones of the previous Individual Deltas according to Equation 2 to produce the Accumulated Delta AD P for Packet P.
  • An encoder 26 receives the Individual Delta ED P and Accumulated Delta AD P of Packet P, and encodes these into an Encoded Delta ED P for Packet P.
  • the checksum generator 22 uses the sequence number value S P to generate a checksum (for example, a CRC checksum), namely checksum P as shown in Figure
  • Checksum P at 29 is combined with the Encoded Delta value ED P at 20 to form a compressed header field 28 representing the sequence number S P .
  • This compressed header field 28 can be included in a compressed header such as shown at 17 of Figure 1.
  • Figure 2 illustrates compression of a single header field, it will be understood that other desired header fields can also be compressed using the techniques of Figure 2.
  • the encoder 26 of Figure 2 maps the Individual Delta ID P and the Accumulated Delta AD P into the combined Encoded Delta ED P .
  • a unique code value can be assigned for each possible combination of values of the individual Delta and the Accumulated Delta, which values can be determined, for example, by empirical observations.
  • the encoder 26 can thus be implemented as, for example, a look-up table having plural codes indexed against IDp/AD P combinations.
  • the most common values of the Encoded Delta ED P could be identified, and these most common values could be encoded using a relatively small amount of bits while the other less common values of ED P could be encoded using relatively more bits.
  • Figure 3 illustrates exemplary operations which can be performed by the exemplary header compressor embodiment of Figure 2.
  • the header field information is received at 31 , and the checksum is generated therefrom at 32.
  • the Individual Delta is calculated at 33 , and the Accumulated Delta is calculated at 34.
  • Encoded Delta is combined with the checksum to form the compressed header field.
  • FIG. 4 illustrates an exemplary packet data receiving station according to the invention.
  • a conventional receiver 46 can use well known techniques to receive from a radio communication link, such as a cellular communication link, a received version
  • the received version 18' includes a payload version 16' and a received compressed header version 17'.
  • the received payload version 16' is input to a payload processor 45 which can use conventional techniques to produce at 43 received payload information for input to a conventional packet data communications application 41.
  • the received compressed header version 17' is applied to a header decompressor 44, which decompresses the received header version and provides at 42 received header information for the communications application 41.
  • Figure 5 illustrates an exemplary portion of the header decompressor of Figure 4.
  • a received version 20' of an Encoded Delta ED P such as shown at 20 in Figure 2 is applied to a decoder 51 which can use Equation 4 to produce the Individual Delta and Accumulated Delta corresponding to Packet P.
  • the decoder which can be implemented, for example, with a look-up table having IDp/ADp combinations indexed against ED P values, outputs the Accumulated Delta AD P and the Individual Delta ID P to a reconstructor 53 which can, in example embodiments, make the header field guess attempts associated with Equations 6-8 above or Equations 10-13 above, depending on the value of K provided thereto.
  • the current guess of S P namely S P ' is output from the reconstructor at 55, and is applied to a checksum generator 56.
  • the checksum generator generates a checksum from the current guess S P ', and this checksum is input at 57 to a comparator 58 which compares the generated checksum 57 to received version 29' of an original checksum such as shown at 29 in Figure 2. If the compared checksums match, then the guess is considered to be correct, and the comparator activates an output 500 which operates a connection unit 59 in order to provide the guess S P ' from the reconstructor as received header information to the communications application 41. This correct guess is also fed back to the reconstructor 53 for storage as S LAST for use by the reconstructor in the next sequence of guess attempts using Equations 6-8 or 10-13.
  • the reconstructor can shift ID P into a two-stage shift register 52, thereby retaining a running record of UD LAST and ID NEXTLAST for use in Equations 6-8 or 10-13. If the generated checksum does not match the received checksum in the comparator, then the comparator output 500 notifies the reconstructor to make another attempt, for example try Equation 7 after having unsuccessfully tried Equation 6. If none of Equations 6-8 (or Equations 10-13 in another embodiment) result in a checksum match at the comparator 58, then the reconstructor 53 can output a fail signal to the communications application 41 , thereby indicating that the header field cannot be accurately reconstructed.
  • Figure 5 illustrates decompression of a single header field, it will be understood that other desired header fields can also be decompressed using the techniques of Figure 5.
  • Equation 13 is re-used with S M (which corresponds to the next-to-last received packet) inserted as S LAST instead of S P . 2 (which actually corresponds to the last received packet), the reconstructor of Figure 5 will need to maintain a running record of the S values of the last two received packets, S LAST and S NEXTLASJ . This can be done, for example, by maintaining a two-stage shift register similar to the register 52 of
  • Figure 6 illustrates exemplary operations which can be performed by the exemplary header decompressor portions of Figures 5 and 5 A.
  • the received version of the compressed header field arrives.
  • the Encoded Delta is decoded to produce the Individual Delta and the Accumulated Delta.
  • the reconstructor uses, for example, one of Equations 6-8 or 10-14 to make a reconstruction attempt or guess.
  • a checksum is generated from the reconstruction guess. If the generated checksum equals the received checksum at 65, then at 66 the reconstruction guess is accepted as the header field value.
  • the reconstructor makes another reconstruction guess at 63 (using another of Equations 6-8 or 10-14), unless it is determined at 67 that all attempts (i.e., all equations) have been exhausted. If so, then a failure indication is provided at 68.

Abstract

In the compression of header field values (12) to produce compressed header portions (17) of associated data packets (18) to be transmitted across a communication channel, there is included in each transmitted packet history information about delta values (ID) of a certain number of previous packets (18) in the transmission sequence. This makes the compression scheme more robust and tolerant of packet loss, because lost delta values (ID) can be reconstructed using the history information.

Description

ROBUST DELTA ENCODING WITH HISTORY INFORMATION
FIELD OF THE INVENTION
The invention relates generally to packet communications and, more particularly, to header compression in packet communications.
BACKGROUND OF THE INVENTION
Due to the tremendous success of the Internet, it has become a challenging task to make use of the Internet Protocol IP ( see, e.g., Jon Postel, Internet Protocol, DARPA RFC 791, September 1981, incorporated herein by reference) over all kind of links. However, because the IP protocols were designed for wired links with high bandwidth capabilities, and because packet headers of the IP protocols are rather large, it is not always a simple task to use IP protocols with narrow band links, for example cellular links. If we consider the scenario when the IP protocols are used for real-time data, for example ordinary speech, the User Datagram Protocol UDP (see, e.g., Jon Postel, User Datagram Protocol, DARPA RFC 768, August 1980, incorporated herein by reference) and the Real-Time Transport Protocol RTP (see, e.g, Henning Schulzrinne, Stephen L. Casner, Ron Frederick and Van Jacobson, REE: A Transport Protocol for Real-Time Applications, IETF RFC 1889, IETF Audio/Video Transport Working Group, January 1996, incorporated herein by reference) are applied on top of IP . Together they require a total amount of 40 header octets (IP 20, UDP 8 and RTP
12 octets). If we combine these header requirements with ordinary speech usage, which may have frame sizes as low as 15-20 octets, the header part will disadvantageously represent more than 70% of the packet. With the upcoming new IP version 6 (see, e.g., Steven Deering and Robert Hinden, Internet Protocol Version 6 (Ipv6) Specification, RFC 2460, IETF Network Working Group, December 1998, incorporated herein by reference), which has a header of 40 bytes, this problem will increase. Reducing the header sizes would improve the spectrum efficiency and save a lot of money when transmitting over wireless links. The term header compression (HC) comprises the art of minimizing the necessary bandwidth for information carried in headers on a per-hop basis over point- to-point links. Header compression takes advantage of the fact that some fields in the headers are not changing within a flow, and that most header changes are small and/or predictable. Conventional header compression schemes make use of these facts and send static information only initially, while changing fields are sent either as uncompressed values (e.g., for completely random information) or as differences (or deltas) from packet to packet, the latter typically referred to as difference (or delta) encoding. When difference encoding is used, the compression scheme can be fragile, with its performance very dependent on link quality. For example, if packet loss is common on the link, quality suffers because many consecutive packets are typically lost each time a loss occurs.
Conventional header compression/decompression schemes are often realized using state machines, and the challenging task is to keep the compressor and de- compressor states, (or contexts), consistent with each other.
In general, there are two different conventional techniques to keep the decompressor context updated. The first technique uses periodic refreshes wherein absolute header data is sent. An advantage of this solution is that its performance is not affected by the round-trip-time (RTT) of the link, due to the fact that no messages are sent from the de-compressor to the compressor. This means that it also works over simplex links. On the other hand, there are a number of disadvantages with periodic refreshing. For example, the average header overhead will be high due to the high number of large refresh headers, most of which are unnecessary. Also the number of lost packets will be high if errors on the link are common. The other common way of keeping the context updated is to let the compressor send refreshing information (i.e., absolute header data) only when requested by the decompressor. This requires a duplex link but reduces the average header overhead because no unnecessary updates are performed. Provided that the RTT is small, this solution also reduces the number of lost packets due to inconsistent context states after a link error. The obvious disadvantages are dependence on the back channel of the duplex link, sensitivity to lost packets on the link, and the high number of consecutive lost packets that will occur in case of an invalid context (and associated refresh request) when the RTT is high.
For all header compression schemes, two measures describe their performance. Compression efficiency describes how much the headers are compressed. This can be expressed by the average or maximal header size, combinations of both, or in other ways. Robustness describes how well the scheme handles loss on the link. Will loss of a packet make the header contexts inconsistent resulting in a large number of subsequent lost packets?
Normally, most conventional header compression schemes perform well, but they require links with low error rates and small RTT's.
Currently, there exist a number of different conventional header compression schemes. In fact, they are not really different schemes but different development states of the same one. The earliest proposals (see, e.g., Van Jacobson, Compressing TCP/IP Headers for Low-Speed Serial Links, IETF RDC 1144, IETF Network Working Group, February 1990, incorporated herein by reference) handle only compression of
TCP (see, e.g., Jon Postel, Transmission Control Protocol, DARPA RFC 761, January 1980, incorporated herein by reference) flows, while ideas have later evolved to make compression of UDP and also RTP headers possible (see, e.g., Mikael Degermark, Bjδrn Nordgren and Stephen Pink, IP Header Compression, IETF RFC 2507, IETF Network Working Group, February 1999, incorporated herein by reference; and Steven Casner and Van Jacobson, Compressing IP/UDP/R TP Headers for Low-Speed Serial Links, IETF RFC 2508, IETF Network Working Group, February 1999, incorporated herein by reference). Today it could therefore be stated that for real-time data flows there is just one scheme for header compression (see Casner and Jacobson above), which is currently being standardized within the IETF by the Audio/Video-Transport working group, and which is referred to herein as CRTP.
CRTP compresses the 40 octets of RTP UDP/IP headers down to 2 octets for most packets and, as long as the links are reliable, this minimal size will almost be equal to the average. CRTP uses difference encoding for three fields: the RTP sequence number field; the RTP time stamp field; and the ID field of the IP header. CRTP uses update requests, as described above, to bring invalidated de-compressor contexts up to date.
A more general scheme for compression of UDP/TP headers (see Degermark, et al. above), which uses the periodic refreshing principle, may also be used, but the RTP headers are then sent uncompressed, resulting in 12 extra header octets in each packet.
CRTP performs well as long as the used link has a low bit-error rate and/or the RTT is small. However, this is often not the case for wireless links. The RTT is generally also of a magnitude that results in a large number of consecutive lost packets before the de-compressor receives a context update. This is in general undesirable for applications such as real-time audio and video. The overall packet- loss-rate will therefore also be too high and it is not considered possible to improve the wireless link characteristics to make the result better. Both reduction of the bit-error rate (BER) and the RTT would be too expensive. Thus, the robustness of CRTP is identified to be its weakness.
The present invention provides a principle of including, in each packet sent, history information about difference (delta) values of a certain number of previous packets. By doing that, the compression scheme becomes more robust and tolerant for packet loss because the lost difference information can be reconstructed using this history information.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 illustrates an exemplary packet data transmitting station according to the invention.
Figure 2 illustrates an exemplary embodiment of the header compressor of Figure 1.
Figure 3 illustrates exemplary operations which can be performed by the header compressor of Figures 1 and 2.
Figure 4 illustrates an exemplary packet data receiving station according to the invention. Figure 5 illustrates an exemplary embodiment of the header decompressor of Figure 4.
Figure 5 A illustrates an alternative to the embodiment of Figure 5. Figure 6 illustrates exemplary operations which can be performed by the header decompressor embodiments of Figures 4-5 A.
DETAILED DESCRIPTION
As indicated above, loss of a packet on the link can result in an inconsistency between the respective context states of the header compressor and the header decompressor. This inconsistency would degrade the quality of the communication service, because packets that arrive during periods of context inconsistency cannot be passed to the user application. If the header compression/decompression scheme could tolerate the loss of some packets without experiencing context inconsistencies, then unacceptable degradations in quality might be avoided. According to the invention, assuming a sequence of timewise consecutive packets, Packet P-2, Packet P- 1 , Packet P, etc., if the header of Packet P can also carry information about the headers of preceding Packets P- 1 , P-2, etc., then some occurrences of lost packets on the link can be advantageously tolerated without context inconsistencies. In order to accommodate in the header of a given packet information about the headers of previous packets, the total information can be advantageously coded in order to avoid an unacceptable increase in the size of the header. Thus, as described generally above, and as described in more detail below, it is advantageous to include in the header of a given packet at least some historical information about the headers of previous packets in order to permit recovery from packet loss without context inconsistencies. The scope of the historical information included in a given header can differ from one case to another, as described below.
The following definitions are used in this description.
Header decompression (HD) refers to the process of reconstructing desired (uncompressed) header information from the compressed header information produced by a header compression (HC) process. Loss between HC and HD (LCD) is a packet loss parameter for the link between header compression and header de-compressor. This parameter describes the maximal number of consecutive lost packets on the link that a header compression scheme can handle if the proposed encoding principles for changing fields are used. Of course, this requires that no other mechanism of the scheme is more sensitive to loss.
Loss before header compression (LBC) is loss that has happened to the packet stream before it reaches the header compressor. This might be loss on the other end of the connection, for an example on an identical narrow band link using the same header compression scheme, but it could also be loss on a link in between (core network). Because of the low expectation of losing packets on such a reliable link, this loss is treated as insignificant compared to the loss in a possible narrow band link on the sending side. The reason for doing this simplification is that it then seems reasonable to set the requirement on LBC to the same value as for LCD. Individual Delta (ID) represents the change of the field since previous packet.
If a packet has sequence number 42 and the previous one number 40 the individual delta of packet 42 is ID=2.
Accumulated Delta (AD) is a sum over the ID values of the previous K packets, where K depends on how well the scheme is supposed to remember changes. As will be evident from the following description, larger values of K provide greater robustness, and therefore can accommodate larger LBCs.
Encoded Delta Values (ED) is an encoding of the two parameters ID and AD so that they together can be represented with one parameter.
The aforementioned ID for a given header field of the Pth packet of a sequence of timewise consecutive packets, Packet P-2, Packet P-l, Packet P, etc., is given by
Equation 1 below.
IDP = SP - SP.1 (1)
Thus, the Individual Delta, IDp for the Pth Packet of the sequence is given by the difference between the field (the sequence number field SP in the example of Equation 1 ) of Packet P and the corresponding field of immediately preceding Packet P-l. The sequence number fields of Packets P and P-l are designated in Equation 1 as SP and SP.l5 respectively.
The Accumulated Delta value described above can be defined for Packet P as shown in Equation 2 below.
K
ADp = Σ ∑ IDp_χ, (K>2) (2)
Thus, the Accumulated Delta value ADP represents the sum of the respective individual deltas of a selected number (K) of packets which were transmitted prior to Packet P in the transmission sequence.
As shown in Equation 3 below, the Individual Delta and the Accumulated Delta values, IDP and ADP of Packet P can be encoded using an encoding function/ to produce an Encoded Delta value, EDP:
EDP = /(IDP, ADP) (3)
This Encoded Delta value EDP is then transmitted as part of the compressed header.
At the receiving end, the inverse of/, namely/1 is applied to the Encoded Delta value to recover the Individual Delta value and the Accumulated Delta value as shown in Equation 4 below.
Figure imgf000008_0001
The present invention utilizes Equations 1 and 2 above to successfully maintain a valid decompressor context in situations when a number of consecutive packets are lost on the communication channel. For example, if K is set equal to two in Equation 2 above, then a loss of two consecutive packets can be handled at the receiving end. If K is set equal to two in Equation 2 above, then the Accumulated Delta value for Packet P is given by Equation 5 below.
Figure imgf000008_0002
Equations 6, 7 and 8 below respectively represent first, second and third guesses that can be performed by a header decompression scheme according to the present invention.
SP = SLAST + IDP (6) SP = SLAST + IDp + ADp - IDLAST (7)
Figure imgf000009_0001
In each of Equations 6-8 above, the first term
Figure imgf000009_0002
represents the field value (in this example the sequence number field value) of the packet received at the receiver immediately before (i.e., the last packet received before) Packet P, and IDLAST in Equation 7 represents the corresponding ID value. Thus, as seen from Equation 6, if SLAST is Sp.i (no packet loss), then Equation 6 can be expected to yield the correct value of SP, as shown by Equation 1.
However, if SLAST is not SP.„ then Equation 6 will not yield the correct value of SP, so a second attempt to guess SP can be made using Equation 7. Equation 7 can be expected to yield the correct value of SP if SLAST is SP_2 (Packet P-1 lost). Otherwise Equation 7 will yield an incorrect value, whereupon Equation 8 can be used to guess SP. IfSLAST is Sp.3 (Packets P-1 andP-21ost), then Equation 8 can be expected to yield a correct value of SP. Otherwise, Equation 8 will also fail to yield the correct value. It can be seen from the foregoing discussion that, as long as no more than two consecutive packets have been lost before arrival of Packet P, one of the three successive guesses corresponding to Equations 6-8 can be expected to identify the correct value SP.
Returning to Equation 7, and as mentioned above, this equation can be expected to provide the correct value if only one packet has been lost. In such case, the last packet arrival would be Packet P-2, so S^ and IDLAST are SP_2 and IDP.2, respectively. Substituting SP.2, IDP.2, and ADP (from Equation 5) into Equation 7, yields Equation 7A below.
SP = SP.2 + IDp + IDp., (7A) Recognizing that SP.2 can be expressed as shown in Equation 7B below
Figure imgf000009_0003
and substituting this expression for SP.2 in Equation 7A, we have
Figure imgf000009_0004
Comparison of Equation 1 with Equation 7C shows that Equation 7 can be expected to yield the correct result if the last received packet was Packet P-2. Returning to Equation 8, and as mentioned above, this equation can be expected to provide the correct value of SP if two consecutive packets have been lost.
In such case, the last received packet would be Packet P-3, so SLAST would be SP.3.
Substituting SP_3, and ADP (from Equation 5), into Equation 8 yields Equation 8A below.
SP = SP.3 + IDp + IDp., + IDP_2 (8A)
Recognizing that SP_3 can be expressed as shown in Equation 8B below.
Figure imgf000010_0001
And recalling that SP_2 can be expressed as shown in Equation 7B above, then SP_3 can be expressed as Equation 8C below.
Sp.3 = SP., - IDp., - IDp.2 (8C)
Substituting the Equation 8C expression for SP.3 into Equation 8A yields Equation 8D below.
Figure imgf000010_0002
Comparison of Equation 1 above with Equation 8D shows that Equation 8 can be expected to yield the correct result if the last received packet was Packet P-3. Equation 9 below corresponds to Equation 2 above with K=3.
ADp = IDp., + IDp_2 + IDp.3 (9)
Using this formulation of the Accumulated Delta, Equations 10-13 below can be used to successfully maintain a valid decompressor context when losses of up to three consecutive packets occur.
SP = SLAST + IDP (10)
Sp = SLAST + IDp + ADP - IDLAST - IDNEXTLAST (11)
SP = S^T + IDp + ADP - IDLAST (12) SP = SLAST + rDP + ADP (13)
More specifically, Equation 10 assumes that Packet P-1 was received immediately before Packet P (no packet loss), Equation 11 assumes that Packet P-2 was received immediately before Packet P (one lost packet), Equation 12 assumes that Packet P-3 was received immediately before Packet P (two lost packets), and Equation 13 assumes that Packet P-4 was received immediately before Packet P (three lost packets). Thus, Equation 10 can be expected to provide the correct value SP if SLAST is SP.,, and Equations 11, 12 and 13 can be expected to yield the correct value of SP if SLAST is SP.2, SP_3, and SP.4, respectively.
Note that IDNEXTLAST in Equation 11 represents the Individual Delta value of the packet received immediately before the packet received immediately before Packet P, that is, the next-to-last received packet.
In generally the same manner described above with respect to Equations 6-8,
Equations 10, 11, 12 and 13 respectively represent first, second, third and fourth guess attempts which can be made by an exemplary header decompression scheme according to the invention, using the appropriate values associated with the packets received last and next-to-last before Packet P.
There is one rare scenario in which the guess of Equation 11 will fail to produce the correct value of SP in the case of a loss of one packet, even though Equation 11 is normally expected to provide the correct value in such case. The scenario is as follows: Packet P-4 is received; Packet P-3 is lost; Packet P-2 is received; Packet P-1 is lost; and Packet P is received. Equation 11 fails in this situation because, IDNEXTLAST will in fact be ΓDP.4, not IDP_3, because Packet P-3 was not in fact received, contrary to the assumption of Equation 11 that only Packet P-2 was lost, and that Packet P-3 was received.
This situation can be handled by making a fifth guess after the four guesses corresponding to Equations 10-13 have failed. This fifth guess basically treats the above-descried scenario as if Packet P-2 was not received, thus handling the situation as if there were three lost packets, namely Packets P- 1 , P-2 and P-3. In this fifth guess, Equation 13 can be used again but, for this guess, SP_4 (which would correspond to the last-received packet if Packets P-1, P-2 and P-3 were indeed all lost) is inserted for AST.
Figure 1 illustrates an exemplary embodiment of a packet data transmitting station according to the invention which can perform the exemplary header compression operations described above. A conventional communications application 11 provides header information 12 and payload information 13. The payload information can be handled in conventional fashion by a payload processor 15 , which outputs a payload 16. The header information is applied to a header compressor 14 which compresses the header information to produce a compressed header 17. The payload 16 and the compressed header 17 comprise a packet 18. A conventional transmitter 19 can receive the packet 18, and using well known techniques, transmit the packet across a radio communication link such as a cellular communication link. The packet data transmitting station of Figure 1 can be, for example, either a fixed-site or mobile radio transmitting station operating in a cellular communication network. Figure 2 illustrates an exemplary portion of the header compressor of Figure
1. Header information corresponding to a desired field, in this example the sequence value SP described above, is input to a delta encoder 21 and a checksum generator 22. The delta encoder performs conventional delta encoding generally according to
Equation 1 above to produce the Individual Delta value IDP corresponding to SP of Packet P. This Individual Delta value is input to a buffer 24 which maintains a record of the Individual Delta values of the previous K packets. A summing apparatus 25 is coupled to the buffer to receive the Individual Deltas, and is also provided with the value of K, in order to sum desired ones of the previous Individual Deltas according to Equation 2 to produce the Accumulated Delta ADP for Packet P. An encoder 26 receives the Individual Delta EDP and Accumulated Delta ADP of Packet P, and encodes these into an Encoded Delta EDP for Packet P.
The checksum generator 22 uses the sequence number value SP to generate a checksum (for example, a CRC checksum), namely checksum P as shown in Figure
2. Checksum P at 29 is combined with the Encoded Delta value EDP at 20 to form a compressed header field 28 representing the sequence number SP. This compressed header field 28 can be included in a compressed header such as shown at 17 of Figure 1. Although Figure 2 illustrates compression of a single header field, it will be understood that other desired header fields can also be compressed using the techniques of Figure 2.
The encoder 26 of Figure 2 maps the Individual Delta IDP and the Accumulated Delta ADP into the combined Encoded Delta EDP. In one example, a unique code value can be assigned for each possible combination of values of the individual Delta and the Accumulated Delta, which values can be determined, for example, by empirical observations. The encoder 26 can thus be implemented as, for example, a look-up table having plural codes indexed against IDp/ADP combinations. In some embodiments, the most common values of the Encoded Delta EDP could be identified, and these most common values could be encoded using a relatively small amount of bits while the other less common values of EDP could be encoded using relatively more bits.
Figure 3 illustrates exemplary operations which can be performed by the exemplary header compressor embodiment of Figure 2. The header field information is received at 31 , and the checksum is generated therefrom at 32. The Individual Delta is calculated at 33 , and the Accumulated Delta is calculated at 34. At 35 , the Encoded
Delta is produced in response to the Individual and Accumulated Deltas. At 36, the
Encoded Delta is combined with the checksum to form the compressed header field.
Figure 4 illustrates an exemplary packet data receiving station according to the invention. A conventional receiver 46 can use well known techniques to receive from a radio communication link, such as a cellular communication link, a received version
18' of a transmitted packet such as Packet 18 of Figure 1. The received version 18' includes a payload version 16' and a received compressed header version 17'. The received payload version 16' is input to a payload processor 45 which can use conventional techniques to produce at 43 received payload information for input to a conventional packet data communications application 41. The received compressed header version 17' is applied to a header decompressor 44, which decompresses the received header version and provides at 42 received header information for the communications application 41.
Figure 5 illustrates an exemplary portion of the header decompressor of Figure 4. In Figure 5, a received version 20' of an Encoded Delta EDP such as shown at 20 in Figure 2 is applied to a decoder 51 which can use Equation 4 to produce the Individual Delta and Accumulated Delta corresponding to Packet P. The decoder, which can be implemented, for example, with a look-up table having IDp/ADp combinations indexed against EDP values, outputs the Accumulated Delta ADP and the Individual Delta IDP to a reconstructor 53 which can, in example embodiments, make the header field guess attempts associated with Equations 6-8 above or Equations 10-13 above, depending on the value of K provided thereto. The current guess of SP, namely SP' is output from the reconstructor at 55, and is applied to a checksum generator 56.
The checksum generator generates a checksum from the current guess SP', and this checksum is input at 57 to a comparator 58 which compares the generated checksum 57 to received version 29' of an original checksum such as shown at 29 in Figure 2. If the compared checksums match, then the guess is considered to be correct, and the comparator activates an output 500 which operates a connection unit 59 in order to provide the guess SP' from the reconstructor as received header information to the communications application 41. This correct guess is also fed back to the reconstructor 53 for storage as SLAST for use by the reconstructor in the next sequence of guess attempts using Equations 6-8 or 10-13. Upon receipt of the new SLAST, the reconstructor can shift IDP into a two-stage shift register 52, thereby retaining a running record of UDLAST and IDNEXTLAST for use in Equations 6-8 or 10-13. If the generated checksum does not match the received checksum in the comparator, then the comparator output 500 notifies the reconstructor to make another attempt, for example try Equation 7 after having unsuccessfully tried Equation 6. If none of Equations 6-8 (or Equations 10-13 in another embodiment) result in a checksum match at the comparator 58, then the reconstructor 53 can output a fail signal to the communications application 41 , thereby indicating that the header field cannot be accurately reconstructed.
Although Figure 5 illustrates decompression of a single header field, it will be understood that other desired header fields can also be decompressed using the techniques of Figure 5. In order to implement the above-described special scenario guess wherein
Equation 13 is re-used with SM (which corresponds to the next-to-last received packet) inserted as SLAST instead of SP.2 (which actually corresponds to the last received packet), the reconstructor of Figure 5 will need to maintain a running record of the S values of the last two received packets, SLAST and SNEXTLASJ. This can be done, for example, by maintaining a two-stage shift register similar to the register 52 of
Figure 5. An example 52A of the SLAST/SNEXTLAST register is shown in Figure 5A. The above-described re-use of Equation 13 for a fifth guess can thus be described by Equation 14 below: p = SNEXTLAST + IDp + ADP (14)
Figure 6 illustrates exemplary operations which can be performed by the exemplary header decompressor portions of Figures 5 and 5 A. At 61 the received version of the compressed header field arrives. At 62, the Encoded Delta is decoded to produce the Individual Delta and the Accumulated Delta. At 63, the reconstructor uses, for example, one of Equations 6-8 or 10-14 to make a reconstruction attempt or guess. At 64, a checksum is generated from the reconstruction guess. If the generated checksum equals the received checksum at 65, then at 66 the reconstruction guess is accepted as the header field value. If the generated checksum does not match the received checksum at 65, then the reconstructor makes another reconstruction guess at 63 (using another of Equations 6-8 or 10-14), unless it is determined at 67 that all attempts (i.e., all equations) have been exhausted. If so, then a failure indication is provided at 68.
It will be evident to workers in the art that the exemplary embodiments described above can be readily implemented by suitable modifications in software, hardware or both in header compressors and decompressors of conventional packet data transmitting and receiving stations. It will also be evident that the above-described invention is applicable to packet communications over any lossy, narrow bandwidth link, including real-time communications applications such as, for example, real-time audio and video applications.
Although exemplary embodiments of the present invention have been described above in detail, this does not limit the scope of the invention, which can be practiced in a variety of embodiments.

Claims

WHAT IS CLAIMED IS:
1. A method of compressing a current header field value to produce a compressed header portion of an associated current data packet to be transmitted across a communication channel, comprising: determining a first difference between the current header field value and a corresponding header field value associated with a previous packet that precedes the current packet in a sequence of packets provided for transmission across the communication channel; and providing in the compressed header portion information indicative of the first difference and further indicative of a second difference between header field values which correspond to the current header field value and are respectively associated with first and second previous packets which precede the current packet in the sequence.
2. The method of Claim 1 , wherein said providing step includes encoding the first and second differences to produce an encoded representation of the first and second differences.
3. The method of Claim 2, wherein said encoding step includes using a look-up table to determine the encoded representation in response to the first and second differences.
4. The method of Claim 1, wherein said providing step includes determining a third difference between header field values which correspond to the current header field value and are respectively associated with the first previous packet and a third previous packet that precedes the current packet in the sequence, and determining a fourth difference between header field values which correspond to the current header field value and are respectively associated with the second previous packet and the third previous packet, and summing the third and fourth differences to produce the second difference.
5. The method of Claim 1, including generating a checksum from the current header field value, and providing the checksum in the compressed header portion along with the information indicative of first and second differences.
6. The method of Claim 1 , wherein the communication channel includes a wireless communication link.
7. The method of Claim 1, wherein the header field value includes a sequence number.
8. A method of decompressing a compressed header portion of a current data packet received from a communication channel to produce a desired header field value, comprising: obtaining from the compressed header portion first information indicative of a first difference between the desired header field value and a corresponding header field value of a previous packet that preceded the current packet in a sequence of packets transmitted across the communication channel, and said obtaining step including obtaining from the compressed header portion second information indicative of a second difference between header field values which correspond to the desired header field value and are respectively associated with first and second previous packets which preceded the current packet in the transmission sequence; and guessing the desired header field value based on the first and second information.
9. The method of Claim 8, wherein said guessing step includes guessing the desired header field value based on the first and second information and also based on a header field value corresponding to the desired header field value and associated with a previous packet that preceded the current packet in the transmission sequence and was received last before the current packet.
10. The method of Claim 8, including extracting from the compressed header portion a received version of a coded representation which represents the first and second differences and was produced at a transmitting end of the communication channel, said obtaining step including decoding the received version of the encoded representation to obtain the first and second information.
11. The method of Claim 10, wherein said decoding step incudes using a look-up table to determine the first and second information in response to the received version of the encoded representation.
12. The method of Claim 8, including generating a checksum from the guess of the desired header field value, extracting from the compressed header portion a received version of a checksum generated from the desired header field value at a transmitting end of the communication channel, and comparing the generated checksum to the received checksum version to determine whether the guess is correct.
13. The method of Claim 8, wherein the communication channel includes a wireless communication link.
14. The method of Claim 8, wherein the second difference is a sum of third and fourth differences, wherein the third difference is a difference between header field values which correspond to the current header field value and are respectively associated with the first previous packet and a third previous packet that preceded the current packet in the transmission sequence, and wherein the fourth difference is a difference between header field values which correspond to the current header field value and are respectively associated with the second previous packet and the third previous packet.
15. The method of Claim 8, wherein the header field value includes a sequence number.
16. An apparatus for compressing a current header field value to produce a compressed header portion of an associated current data packet to be transmitted across a communication channel, comprising: an input for receiving header field values; a difference determining apparatus coupled to said input for determining a first difference between the current header field value and a corresponding header field value associated with a previous packet that precedes the current packet in a sequence of packets provided for transmission across the communication channel, and for determining a second difference between header field values which correspond to the current header field value and are respectively associated with first and second previous packets which precede the current packet in the sequence; and an output coupled to said difference determining apparatus for outputting the compressed header portion including information indicative of the first and second differences.
17. The apparatus of Claim 16, including an encoder coupled between said output and said difference determining apparatus for encoding the first and second differences to produce at said output and encoded representation of the first and second differences.
18. The apparatus of Claim 16, wherein said difference determining apparatus is operable to determine a third difference between header field values which correspond to the current header field value and are respectively associated with the first previous packet and a third previous packet that precedes the current packet in the sequence, and to determine a fourth difference between header field values which correspond to the current header field value and are respectively associated with the second previous packet and the third previous packet, and said difference determining apparatus operable for summing the third and fourth differences to produce the second difference.
19. The apparatus of Claim 16, including a checksum generator coupled to said input for receiving the current header field value and generating therefrom a checksum, said checksum generator coupled to said output for providing the checksum in the compressed header portion along with said information indicative of first and second differences.
20. The apparatus of Claim 16, wherein the communication channel includes a wireless communication link.
21. The apparatus of Claim 16, wherein the header field value includes a sequence number.
22. An apparatus for decompressing a compressed header portion of a current data packet received from a communication channel to produce a desired header field value, comprising: an input for receiving the compressed header portion; a reconstructor coupled to said input for receiving first information obtained from the compressed header portion and indicative of a first difference between the desired header field value and a corresponding header field value of a previous packet that preceded the current packet in a sequence of packets transmitted across the communication channel, said reconstructor further for receiving second information obtained from the compressed header portion and indicative of a second difference between header field values which correspond to the desired header field value and are respectively associated with first and second previous packets which preceded the current packet in the transmission sequence; and said reconstructor responsive to said first and second information for guessing the desired header field value.
23. The apparatus of Claim 22, wherein said reconstructor has an input for receiving a header field value corresponding to the desired header field value and associated with a previous packet that preceded the current packet in the transmission sequence and was received last before the current packet, said reconstructor operable to guess the desired header field value responsive to said first and second information and said header field value received at said reconstructor input.
24. The apparatus of Claim 22, including a decoder coupled between said input and said reconstructor for receiving from said compressed header portion a received version of a coded representation which represents the first and second differences and was produced at a transmitting end of the communication channel, said decoder operable for decoding the received version of the encoded representation to obtain the first and second information.
25. The apparatus of Claim 22, wherein said reconstructor has an output for outputting a guess of the desired header field value, and further including a checksum generator coupled to said reconstructor output for receiving said guess and generating therefrom a checksum, said checksum generator including an output for outputting said checksum, and further including a comparator coupled to said input for receiving from said compressed header portion a received version of a checksum that was generated from the desired header field value at a transmitting end of the communication channel, said comparator coupled to said checksum generator output for receiving therefrom said checksum, said comparator operable to compare said received checksum version to said checksum generated by said checksum generator to determine if said guess is correct.
26. The apparatus of Claim 22, wherein the communication channel includes a wireless communication link.
27. The apparatus of Claim 22, wherein the header field value includes a sequence number.
PCT/SE2000/001270 1999-06-18 2000-06-16 Robust delta encoding with history information WO2000079764A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
MXPA01012521A MXPA01012521A (en) 1999-06-18 2000-06-16 Robust delta encoding with history information.
AU58621/00A AU5862100A (en) 1999-06-18 2000-06-16 Robust delta encoding with history information

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US33555799A 1999-06-18 1999-06-18
US09/335,557 1999-06-18

Publications (1)

Publication Number Publication Date
WO2000079764A1 true WO2000079764A1 (en) 2000-12-28

Family

ID=23312282

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SE2000/001270 WO2000079764A1 (en) 1999-06-18 2000-06-16 Robust delta encoding with history information

Country Status (4)

Country Link
CN (1) CN1357189A (en)
AU (1) AU5862100A (en)
MX (1) MXPA01012521A (en)
WO (1) WO2000079764A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001028180A2 (en) * 1999-10-14 2001-04-19 Nokia Corporation Method and system for compressing and decompressing packet headers
WO2003001826A2 (en) * 2001-06-22 2003-01-03 Motorola Inc Method and apparatus for transmitting data
GB2386805A (en) * 2002-03-22 2003-09-24 Roke Manor Research Differential compression of packet headers wherein the mask of changed bits is compared with previous bit mask and only transmitted if different
WO2004017577A1 (en) * 2002-08-14 2004-02-26 Lg Electronics Inc. System for compressing and transmitting multimedia data
WO2006105526A1 (en) * 2005-03-31 2006-10-05 Intel Corporation Apparatus, system and method for decreasing the size of regularly sent management signalling messages in wireless networks by sending delta information if possible
WO2007065458A1 (en) * 2005-12-07 2007-06-14 Siemens Home And Office Communication Devices Gmbh & Co. Kg Method, circuit arrangement and terminal for transmitting voice and/or video data via ip-based networks
EP1926282A3 (en) * 1999-10-14 2009-03-11 Nokia Corporation Method and system for compressing and decompressing packet headers
US7539130B2 (en) 2000-03-28 2009-05-26 Nokia Corporation Method and system for transmitting and receiving packets

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100884956B1 (en) 2002-08-14 2009-02-23 엘지전자 주식회사 Method and system for tansmitting/receiving asymmetric two-way packet data
CN100393064C (en) * 2004-06-21 2008-06-04 信息产业部电信研究院 Group message header compression in IP telecommunication network system
WO2007065300A1 (en) * 2005-12-08 2007-06-14 Intel Corporation A header compress/decompress framework
CN101170487B (en) * 2006-10-25 2010-05-12 华为技术有限公司 Compression method and compression system and compression device in data stream multiplexing
CN106187708A (en) * 2016-07-25 2016-12-07 西安岳达生物科技股份有限公司 A kind of preparation method of high-purity hydroxytyrosol
CN107861832B (en) * 2017-09-27 2020-11-13 深信服科技股份有限公司 Data verification method and device and readable storage medium

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
DEGERMARK M. ET AL.: "Low-loss TCP/IP header compression for wireless networks", WIRELESS NETWORKS, US, ACM, vol. 3, no. 5, pages 375 - 387, XP000728935 *
G. MAMAIS ET AL.: "Evaluation of the Casner-Jacobson algorithm for compressing the RTP/UDP/IP headers", THIRD IEEE SYMPOSIUM ON COMPUTERS AND COMMUNICATIONS, ISCC'98, PROCEEDINGS, 1998, pages 543 - 548, XP002932493 *
M. DEGERMARK ET AL.: "IP header compression", RFC2507, February 1999 (1999-02-01), pages 1 - 31, XP002932490 *
S. CASNER ET AL.: "Compressing ID/UDP/RTP headers for low-speed serial links", RFC2508, February 1999 (1999-02-01), pages 1 - 17, XP002932492 *
STEPHEN J. PERKINS ET AL.: "Dependency removal for transport protocol header compression over noisy channels", 1997 IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS, 1997. ICC'97 MONTREAL, TOWARDS THE KNOWLEDGE MILLENNIUM, vol. 2, 1997, pages 1025 - 1029, XP002932491 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1931103A3 (en) * 1999-10-14 2009-03-11 Nokia Corporation Method and system for compressing and decompressing packet headers
WO2001028180A3 (en) * 1999-10-14 2001-12-20 Nokia Networks Oy Method and system for compressing and decompressing packet headers
EP2323337A3 (en) * 1999-10-14 2017-06-07 Nokia Technologies Oy Method and system for compressing and decompressing packet headers
US6882637B1 (en) 1999-10-14 2005-04-19 Nokia Networks Oy Method and system for transmitting and receiving packets
WO2001028180A2 (en) * 1999-10-14 2001-04-19 Nokia Corporation Method and system for compressing and decompressing packet headers
EP1926282A3 (en) * 1999-10-14 2009-03-11 Nokia Corporation Method and system for compressing and decompressing packet headers
US7539130B2 (en) 2000-03-28 2009-05-26 Nokia Corporation Method and system for transmitting and receiving packets
WO2003001826A2 (en) * 2001-06-22 2003-01-03 Motorola Inc Method and apparatus for transmitting data
WO2003001826A3 (en) * 2001-06-22 2003-12-04 Motorola Inc Method and apparatus for transmitting data
GB2386805A (en) * 2002-03-22 2003-09-24 Roke Manor Research Differential compression of packet headers wherein the mask of changed bits is compared with previous bit mask and only transmitted if different
GB2386805B (en) * 2002-03-22 2004-05-26 Roke Manor Research Apparatus and method for compression of a signalling portion of a communications packet
KR100889864B1 (en) * 2002-08-14 2009-03-24 엘지전자 주식회사 Method and system for compressing and transmitting multimedia data
WO2004017577A1 (en) * 2002-08-14 2004-02-26 Lg Electronics Inc. System for compressing and transmitting multimedia data
WO2006105526A1 (en) * 2005-03-31 2006-10-05 Intel Corporation Apparatus, system and method for decreasing the size of regularly sent management signalling messages in wireless networks by sending delta information if possible
US7864701B2 (en) 2005-03-31 2011-01-04 Intel Corporation Apparatus, system and method capable of decreasing management frame size in wireless networks
WO2007065458A1 (en) * 2005-12-07 2007-06-14 Siemens Home And Office Communication Devices Gmbh & Co. Kg Method, circuit arrangement and terminal for transmitting voice and/or video data via ip-based networks

Also Published As

Publication number Publication date
AU5862100A (en) 2001-01-09
CN1357189A (en) 2002-07-03
MXPA01012521A (en) 2002-07-02

Similar Documents

Publication Publication Date Title
EP1222789B1 (en) Robust header compression in packet communications
US6680921B1 (en) Estimation of time stamps in real-time packet communications
US10631202B2 (en) Header compression optimization method during and after handovers in cellular communication network
EP1271886B1 (en) Packet header compression
USRE43100E1 (en) Apparatus and method for header decompression
EP1415474B1 (en) Method and compressor for compressing packet timestamp information
US20040199660A1 (en) Method of multiplexing compressed and uncompressed internet protocol packets
WO2000079764A1 (en) Robust delta encoding with history information
EP1482668A1 (en) PACKET TRANSMITTER, PACKET RECEIVER AND PACKET TRANSMISSION METHOD
US20040165585A1 (en) Packet transmission apparatus and packet transmission method
US7450586B2 (en) Network header compression arrangement
US20040165542A1 (en) Packet transmitter and packet transmitter method
Boggia et al. ROHC+: A new header compression scheme for TCP streams in 3G wireless systems
CN108737349B (en) Voice data packet processing method and device
JP2002094553A (en) Device and method for transmitting packet
Yang et al. Compression Techniques for VoIP Transport over Wireless Interfaces
US20040136380A1 (en) Packet transmitter, packet receiver and packet transmission method
EP1482700A1 (en) Packet transmitter and packet transmission method
JP2004229318A (en) Device and method for decompressing header
JP2004215307A (en) Apparatus and method for header decompression

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 00809083.1

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: PA/a/2001/012521

Country of ref document: MX

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP