Abstract:
The invention is related with network communication, in particular wireless networking. In order to improve bandwidth utilization, a header compression protocol is implemented in most wireless network systems, such as robust header compression ROHC for WLAN systems. When using multicast groups for data communication problems with ROHC are related with relative late initiation of stations that newly enter the multicast group. The invention proposes an improved state machine for the compressor in order to overcome this drawback. It is also proposed an improvement for the decompressors which omit sending positive acknowledgements in order to further improve compression efficiency. The invention also concerns an accordingly improved method for the exchange of data packets in a network of distributed stations.

Description:
FIELD OF THE INVENTION 
       [0001]    The invention is related to the field of network communication, in particular computer network or home networks. More particularly the invention relates to utilizing data compression for the network communication. 
       BACKGROUND OF THE INVENTION 
       [0002]    The technique of header compression created by Van Jacobson also called VJHC algorithm and described in RFC 1144 is well established and used to improve the bandwidth usage in a wireless local area network WLAN. It is a data compression protocol specifically designed to improve Transmission Control Protocol/Internet Protocol TCP/IP performance over slow serial links. The header compression technique reduces the normal 40 byte TCP/IP packet headers down to 3-4 bytes for the average case. It does this by saving the state of TCP connections at both ends of a link and only sending the differences in the header fields that change. In a WLAN, header compression can be implemented in access points AP or routers. With the fast deployment of WLANs, it makes sense to use a header compression scheme, specifically ROHC scheme, to reduce the traffic redundancy on the wireless link between WLAN access points—APs and mobile terminals. Currently, the most advanced and commonly used header compression scheme is Robust Header Compression—ROHC. This standardized compression method performs well over links where the packet loss rate is high, such as wireless links. ROHC is standardized in RFC 3095. 
         [0003]    While classical ROHC is very suitable for the scenario that there are just one compressor and one decompressor in the network, its feasibility and efficiency is greatly deteriorated when there are one compressor and multiple decompressors in the net, which is a common scenario when the AP delivers multicast streams to the mobile stations under its coverage. 
       ABSTRACT OF THE INVENTION 
       [0004]    When deploying classical ROHC on a WLAN multicast service, its feasibility and efficiency will be deteriorated in the following ways:
       The new decompressor will be initiated properly long after it joins in the multicast group.   The compression efficiency is decreased in the ROHC bidirectional modes, because all decompressors in the multicast group are obliged to send acknowledge packets—ACKs, unacknowledge packets—NACKs and STATIC-NACKs to the compressor.   The compressor must take actions accordingly for all acknowledgements and mode transition requests from the different decompressors. It will result in compression state and mode transition conflicts.       
 
         [0008]    Its an object of the invention to solve the problems of the ROHC compression scheme for a wireless networking multicast service. 
         [0009]    The problems are solved with the measures in independent claims  1 ,  12  and  21 . 
         [0010]    In accordance with one aspect of the invention, an enhancement is proposed when using ROHC Unidirectional Mode to compress a multicast service stream in a wireless network. In addition to the downward state transitions carried out due to timeouts and the need for updates, the compressor also immediately transits back to the initialization state Init-Reset—IR and sends IR updating packets as soon as it recognizes a new decompressor to join the multicast group by monitoring Membership Report messages. This has the advantage that a new decompressor in the multicast group will be initiated immediately. Therefore, the decompressor works properly from the very beginning of its membership. This amendment also results in the decrease of negative acknowledgements traffic caused by the delay of initiation when deploying conventional ROHC Bidirectional Mode in a WLAN multicast application. 
         [0011]    Further advantageous embodiments of the invention are disclosed in the dependent claims  2  to  11 . 
         [0012]    One further improvement consists in an algorithm to coordinate the delivery of IR packets caused by the periodic transition back to IR state and the need for initiating the new decompressor. The transition back period is newly started, when the extra transition to IR state has been performed. This avoids more frequent transitions to IR state and thus more transmissions of update IR packets. 
         [0013]    According to another aspect of the invention, an enhanced compression mode—Multicast Enhanced Mode (ME-mode) has been developed for deploying header compression with feedback mechanism in a wireless network multicast service. The key points of this ME mode are as follows:
       The transition logic for compression states in ME mode is based on four principles: the optimistic approach principle, the need for initiation, the need for updates, and negative acknowledgments.   The decompressor should not send ACKs for successful decompression of updating packets, and the compressor should not expect to get such ACKs either.   The decompressor transmits an NACK to indicate that the dynamic context of the decompressor is out of sync and a STATIC-NACK to indicate that the static context of the decompressor is not valid or has not been established. Based on the number of received negative acknowledgements—NACKs from different decompressors or the percentage of decompressors sending negative acknowledgements over all decompressors in the multicast group, the compressor will decide if it will transit back to lower compression state immediately.       
 
         [0017]    This improvement has the following advantages:
       Compared with conventional Bidirectional modes, the decompressor doesn&#39;t need to send an ACK packet for the successful decompression of an updating packet. It just sends an NACK- or STATIC-NACK-packet to indicate a decompression failure. This measure greatly increases the link usage efficiency.   By operating in the new ME mode, the transitions between the bidirectional modes of classical ROHC are avoided. In the ME mode, the compressor transits its state based on the amount of the negative acknowledges from multiple decompressors. This avoids the possibility of chaos caused by requesting different compression states and mode transitions from multiple decompressors.       
 
         [0020]    The invention also consists in correspondingly adapted devices for compression of data packets and correspondingly adapted devices for decompression of data packets as disclosed in the claims  12  to  21 . 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0021]    Embodiments of the invention are disclosed in the drawings and will be explained hereinafter. The drawings show in: 
           [0022]      FIG. 1  a typical WLAN surrounding; 
           [0023]      FIG. 2  a state diagram for a compressor working in classical unidirectional mode; 
           [0024]      FIG. 3  a state diagram for compressor working in the enhanced unidirectional mode; 
           [0025]      FIG. 4  a compressor downward transition flow chart for the enhanced unidirectional mode; 
           [0026]      FIG. 5  a state diagram for the compressor working in Bidirectional Optimistic mode; 
           [0027]      FIG. 6  a state diagram for the compressor working in Bidirectional Reliable mode; and 
           [0028]      FIG. 7  a state diagram for the compressor working in Multicast Enhanced mode; 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0029]    In streaming applications, the overhead of Internet Protocol IP, User Datagram Protocol—UDP, and Real Time Transport Protocol—RTP is 40 bytes for IPv4, or 60 bytes for IPv6. For Voice over IP—VoIP this corresponds to around 60% of the total amount of data sent. Such large overheads may be tolerable in wired links where capacity is often not an issue, but are excessive for wireless systems where bandwidth is scarce. 
         [0030]    ROHC compresses these 40 bytes or 60 bytes of overhead typically into only 1 or 3 bytes by placing a compressor before the link that has limited capacity and a decompressor after that link. The compressor converts the large overhead to only a few bytes, while the decompressor does the opposite. 
         [0031]    The ROHC algorithm is similar to video compression, in that a base frame and then several difference frames are sent to represent an IP packet flow. This has the advantage of allowing ROHC to survive many packet losses in its highest compression state, as long as the base frames are not lost. 
         [0032]      FIG. 1  shows the structure of a typical WLAN at home. A stationary personal computer PC is connected to a WLAN router R 1 . Also one PDA STA 1 , a Laptop STA 2  as well as a mobile phone STA 0  are integrated in the network. The WLAN interface is considered to be IEEE 802.11x compliant. There exist a number of derivates for this system. Well-known ones are IEEE 802.11a-h. The stations in the WLAN have Internet access via the WLAN router R 1 . All the wireless stations are considered to be ROHC-enabled. 
         [0033]    According to RFC 3095 the ROHC scheme has three modes of operation: the Unidirectional, the Bidirectional Optimistic, and the Bidirectional Reliable mode. The invention concerns improvements in each of the three modes. 
       ROHC Unidirectional Mode 
       [0034]    When a return path from decompressor to compressor is undesirable in WLAN, ROHC operates in the U mode (Unidirectional Mode) and packets are sent in one direction only: from compressor to decompressor. In U mode, transitions between compressor states are performed only on account of periodic timeouts and irregularities in the header field change patterns in the compressed packet stream. Due to the periodic refreshes and the lack of feedback for initiation of error recovery, compression in the U mode will be less efficient and has a slightly higher probability of loss propagation compared to any of the bidirectional modes. The classical state machine for the compressor in unidirectional mode is shown in  FIG. 1 . 
         [0035]    An ROHC compressor is in one of 3 main states. In Initialization and Reset—IR state, the compressor has just been created or reset, and full packet headers are sent. In First-Order—FO state, the compressor has detected and stored the static fields (such as IP addresses and port numbers) on both sides of the connection. The compressor is also sending dynamic packet field differences in FO state. Thus, FO state is essentially static+pseudo-dynamic compression. In Second-Order—SO state, the compressor is suppressing all dynamic fields such as RTP sequence numbers, and sending only a logical sequence number and partial checksum to cause the other side to predictively generate and verify the headers of the next expected packet. In general, FO state compresses all static fields and most dynamic fields. SO state is compressing all dynamic fields predictively using a sequence number and checksum. 
         [0036]    The size of the sequence number field governs the number of packets that ROHC can lose before the compressor must be reset to continue. The size of the sequence number in 1 and 2 byte ROHC packets is either 4 bits (−1/+14 frame offset), or 6 bits (−1/+62 frame offset), respectively, so ROHC can tolerate at most 62 lost frames with a 1-2 byte header. 
         [0037]    The transition logic for compression states in Unidirectional Mode is based on three principles: the optimistic approach principle, timeouts, and the need for updates. 
         [0038]    Transition to a higher compression state in unidirectional mode is carried out according to the optimistic approach principle. 
         [0039]    For the purpose of recovering form decompression failure, the compressor must periodically transit to lower compression states. Periodic transition to the IR state should be carried out less often than transition to the FO state. 
         [0040]    In addition to the downward state transitions carried out due to periodic timeouts, the compressor must also immediately transit back to the FO state when the header to be compressed does not conform to the established pattern. 
         [0041]    While this method is suitable for compressing unicast streams without usage of feedback channel, it encounters serious problems when being used in a multicast application in WLAN. Normally, the periodic transition back to IR state in the compressor is set to a long interval so that it can improve the bandwidth efficiency. However, when a mobile station that supports ROHC in WLAN joins the multicast group, it initially enters the No Context state (IR state) and only IR packets, which carry the static information fields, may be decompressed. Then the successful decompression of an IR packet will move the decompressor to the Full Context state (FO state). Otherwise, it will remain in No Context state, ignore and discard all the other types of ROHC packets. In the conventional ROHC Unidirectional Mode, it may take long before the new decompressor receives an IR packet and thus is initiated properly long after it has joined the multicast group. Before then, it can&#39;t decompress all packets in the multicast streams. This is totally unacceptable for a WLAN multicast service. 
         [0042]    In accordance with the invention, an enhancement for the compressor&#39;s state transition scheme in ROHC U mode is invented to solve the problem. The details of state transitions for the enhanced compressor are shown in  FIG. 3 . 
         [0043]    The transition logic for compression states in this enhanced scheme is based on four principles: the optimistic approach principle, timeouts, the need for updates and the need for initiation. 
         [0044]    In addition to the downward state transitions carried out due to periodic timeouts and the need for updates in classical U mode, the compressor must also immediately transit back to the IR state and send updating IR packets when it finds a new terminal in its coverage area has joined in the multicast group and is ready to receive a multicast stream. This is true, when the compressor is in FO state or in SO state. The multicast ROHC compressor monitors the IGMP packets to find out if there is a new party to join the multicast group by sending a Membership Report-message, and at the same time maintains a timer which lets it periodically transit back to the IR state and send IR refreshing packets. IGMP stands for Internet Group Management Protocol and is used by IP hosts to register their dynamic multicast group membership. It is also used by connected routers to discover these group members. The latest IGMP protocol(IGMPv3) is defined in RFC 3376. 
         [0045]    For example, if the time interval for the compressor to periodically transit back to the IR state is set to T, and at T 1  the compressor has sent a periodic IR refresh packet, normally the compressor will transit back to IR state and refresh the decompressor at T 2 =T 1 +T. However, at one time point T 3 (T 1 &lt;T 3 &lt;T 2 ) during the time interval, the multicast ROHC compressor finds there is an IGMP Membership Report message from a new terminal that indicates a new party has just joined in the multicast group. Then the compressor should transit back to the IR state and send the IR packet immediately so that the new joining decompressor can receive the IR packet and establish the decompression scenario just from the very beginning of its membership. And at the same time, the compressor modifies its state transition plan to schedule it will send the IR refreshing packets at T 3 +T if there isn&#39;t any other party to join the multicast group, instead of sending the IR packets at T 2 .  FIG. 4  is a flow diagram illustrating the described compressor downward transition logic. 
       ROHC Bidirectional Modes 
       [0046]    When there is a feedback channel available and desirable, compression with ROHC starts in the unidirectional mode and then transits to any of the bidirectional modes (O mode or R mode) as soon as a packet has reached the decompressor and it has replied with a feedback packet indicating that a mode transition is desired. 
         [0047]    The O mode (Bidirectional Optimistic Mode) is similar to the unidirectional mode. The difference is that a feedback channel is used to send error recovery requests and optionally acknowledgments of significant context updates from decompressor to compressor. Periodic refreshes are not used in the Bidirectional Optimistic Mode. 
         [0048]      FIG. 5  shows the classical state machine for the compressor in O mode. 
         [0049]    The transition logic for compression states in Bidirectional Optimistic Mode has much in common with the logic of the unidirectional mode. However, in optimistic mode there are no timeouts. Instead, the optimistic mode makes use of feedback messages from decompressor to compressor for transitions in the backward direction and for optional improved forward transitions. 
         [0050]    For the decompressor, the decompression states and the state transition logic are the same as for the decompression in unidirectional mode. What differs is the decompression and feedback logic. If the optional feedback feature is used once, the decompressor is required to continue to send optional feedback messages for the lifetime of the packet stream. 
         [0051]    The R mode (Bidirectional Reliable Mode) differs in many ways from U mode and O mode. The most important differences are a more intensive usage of the feedback channel and a stricter logic at both the compressor and the decompressor that prevents loss of context synchronization between compressor and decompressor except for very high residual bit error rates. Feedback is sent to acknowledge all context updates, including updates of the sequence number field. However, not every packet updates the context in Reliable Mode. 
         [0052]      FIG. 6  shows the classical state machine for the compressor in R mode. 
         [0053]    The transition logic for compression states in reliable mode is based on three principles: the secure reference principle, the need for updates, and negative acknowledgments. 
         [0054]    The upward transition is determined by the secure reference principle. The transition procedure is similar to the U mode, with one important difference: the compressor bases its confidence only on acknowledgments received from the decompressor. This ensures that the synchronization between the compression context and decompression context will never be lost due to packet losses. 
         [0055]    Downward transitions are triggered by the need for updates or by negative acknowledgment (NACKs and STATIC-NACKs). 
         [0056]    While the bidirectional modes (O mode or R mode) operate perfectly for the unicast application, there do exist some problems if it is used in multicast applications in a WLAN. One problem is that in these two modes, the compressors send IR updating packets only when they receive a STATIC-NACK message from the decompressor. When a new party joins the multicast group, there is no mechanism to ensure that the compressor sends an IR packet to make the newcomers be in synchronisation with the compressor immediately. Without the IR updating packets, the decompressor won&#39;t be able to decompress any other ROHC packets and will send back STATIC-NACK messages to the compressor continuously. 
         [0057]    Another problem is that after one decompressor sends a positive feedback message to indicate its successful decompression of an update in ROHC Bidirectional Mode, the compressor will expect to receive such packets for the lifetime of packet streams and transits to the higher compression state only after it receives ACK packets for the updates from the decompressor in the future. For the unicast application, because there is only one decompressor, the additional ACK messages won&#39;t increase the traffic significantly. But for the multicast service, if all decompressors in the multicast group use ACK messages to exchange information with the compressor, the accumulated ACK messages will reach a large scale and greatly decrease the compression efficiency. 
         [0058]    On the other hand, the ROHC compressor will transit back to lower compression state to send the updating packets as soon as it receives an NACK or STATIC-NACK message from the decompressor. For multicast applications in WLAN, the compressor sends the same compressed streams targeted to multiple decompressors. The decompressors&#39;s link conditions may be quite different. Using the conventional ROHC mechanism, the compressor will adapt its compression state according to the worst conditions decompressor. In the scenario that many decompressors are connected to the same compressor and only one decompressor&#39;s link condition is very bad, the compressor will transit back to lower compression state and send updating multicast packets to all decompressors in the group continuously based on the negative acknowledgements from the worst link condition decompressor. It is unnecessary for the majority in the group and obviates the multicast service philosophy. 
         [0059]    The third problem arises as far as mode transition is concerned. Because there are two modes (O mode and R mode) in Bidirectional ROHC Scheme, sometimes the decompressor may change its compression mode. When the mode transition is requested by one decompressor, the compressor will transit to the desired mode. According to this method, in multicast service, if one decompressor sends a mode transition request which asks for the compressor to change to the upward mode (R mode), the compressor will change to the mode accordingly. Thus the two parties will operate in R mode while other decompressors operate in another mode (O mode). It will cause mode synchronization problems for the ROHC compressor and decompressors&#39; operation in multicast service. 
         [0060]    In accordance with another embodiment of the invention, one enhanced compression mode—Multicast Enhanced Mode (ME mode) for deploying ROHC with feedback in a wireless network multicast service is proposed to solve the above problems. In such scenario, if the compressor and decompressors decide to use a feedback channel to exchange decompression state information, they will operate in this defined ME mode. The detailed information for the compressor and decompressor are illustrated as follows. 
         [0061]      FIG. 7  shows the state machine for the compressor in Multicast Enhanced Mode. 
         [0062]    The transition logic for compression states in ME mode is based on four principles: the optimistic approach principle, the need for initiation, the need for updates, and negative acknowledgments. 
         [0063]    Transition to a higher compression state in ME mode is carried out according to the optimistic approach principle. This means that the compressor transits to a higher compression state when it is fairly confident that the decompressors have received enough information to correctly decompress packets sent according to the higher compression state. 
         [0064]    When the compressor is in the IR state, it will stay there until it assumes that the decompressor has correctly received the static context information. For transition from the FO to the SO state, the compressor should be confident that the decompressor has all parameters needed to decompress according to a fixed pattern. The compressor normally obtains its confidence about decompressors&#39; status by sending several packets with the same information according to the lower compression state. If the decompressor receives any of these packets, it will be in sync with the compressor. 
         [0065]    When the optimistic approach is taken as described above, there will always be a possibility of failure since the decompressor may not have received sufficient information for correct decompression and thus send back negative acknowledgments to the compressor. If the number of received NACKs from different decompressors or the percentage of decompressors sending an NACK over all decompressors in the multicast group exceeds a predefined threshold, the compressor will transit back to the FO state and send updates to the decompressors immediately. Similarly, if the number of received STATIC-NACKs from different decompressors or the percentage of decompressors sending a STATIC-NACK over all decompressors in the multicast group exceeds a predefined threshold, the compressor will transit back to the IR state immediately. 
         [0066]    Furthermore, the compressor must immediately transit back to the IR state and send IR updating packets when it finds a new terminal in its coverage area has sent an IGMP Membership Report message that indicated it had joined in the multicast group. 
         [0067]    In addition to the downward state transitions carried out due to negative acknowledgments and the need for initiation, the compressor must also immediately transit back to the FO state when the header to be compressed does not conform to the established pattern. 
         [0068]    In the ME mode, the compressor should not expect to receive ACK messages from the decompressors when sending an updating packet. 
         [0069]    The decompression states and the state transition logic are the same as for the existing ROHC  0  mode case. What differs is the feedback logic. 
         [0070]    The existing ROHC feedback logic defines what feedback to send due to different events when operating in the various states. There are three principal kinds of feedback; ACK, NACK and STATIC-NACK. In the ME mode, for the purpose of decreasing additional network traffic, a decompressor does not send an ACK message to the compressor to inform that an updating packet is correctly decompressed. Instead, it will only send negative acknowledgements (NACK and STATIC-NACK) to the compressor. The NACK message indicates that the dynamic context of the decompressor is out of sync, and is generated when several successive packets have failed to be decompressed correctly. The STATIC-NACK message indicates that the static context of the decompressor is not valid or has not been established. NACK is generated when several successive packets have failed to be decompressed correctly. When the static context of the decompressor is not valid, the decompressor moves from SO or FO state to IR state, and sends a STATIC-NACK. 
         [0071]    For the purpose of decreasing negative acknowledgements traffic on feedback channel, if the failures continue to emerge, the decompressor may repeat the NACK or STATIC-NACK, but it should not repeat them continuously. 
         [0072]    The invention has been explained with state diagrams for the compressor. From the description above, it is evident, that similar state machines with the three states IR, FO, SO are implemented in the decompressors as well. 
         [0073]    The use of the invention is not restricted to WLAN systems, it can be used in other wired or wireless networking systems where header compression is utilized as well.