Abstract:
The invention is related with the problem of utilizing data compression in a network of distributed stations. Often header compression is used to improve the bandwidth usage in networks, in particular wireless networks. Header compression could be implemented in access points or routers, but both implementations have serious problems, e.g. due to limited CPU power, lack of scalability, or handover latency. To resolve the problems the invention proposes to use a dedicated data compression server in the network and a new protocol to transparently deploy data compression in the network.

Description:
TECHNICAL FIELD 
       [0001]    The invention relates to the field of network communication, in particular computer networks and 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. Both of these implementations encounter different problems: 
         [0000]    1. APs and routers in an existing network may come from different manufacturers, they are based on different operating system platforms OS, and usually have very limited CPU performance, so it may be difficulty to implement header compression in them;
 
2. Lack of scalability. Because of limited CPU power, the number of header-compression-enabled mobile stations supported in a WLAN will be quite limited, and several header compression protocols can not be deployed simultaneously in the same network;
 
3. If the header compression is implemented in APs, that will need context transfer when mobile station roaming among a group of APs. This may cause longer handover latency.
 
       INVENTION 
       [0003]    To resolve all these problems, this invention proposes to add a data compression server to a network wherein a part of the stations is capable of using data compression for the exchange of data packets while another part is not. The data compression server support utilizing data compression for the transmissions from/to the data compression capable station to/from the non capable station on a part of the transfer path. This has the advantage that the overall data transport capacity in the network is subjectively increased. 
         [0004]    Furthermore the invention discloses a new type of protocol called THCDP (Transparent Header Compression Deployment Protocol) and a header compression apparatus to transparently deploy header compression in a network, e.g. a WLAN. This mechanism only needs minor modifications in existing network devices, and will not affect any existing services, and also, it won&#39;t prolong the handover latency of roaming mobile stations, and has good scalability. 
         [0005]    To achieve transparent deployment of header compression, two types of devices are added into the network: One is a HCC (Header Compression Controller) and the other a HCS (Header Compression Server). HCC will take care of the response to ARP queries (Address Resolution Protocol) for those header-compression-enabled mobile stations, so that the traffic may be intercepted by HCS, which will do header compression/decompression on the packets, and then forward them to the real destination. And also, an output ARP filter module is inserted into the protocol stack of a header-compression-enabled mobile station, so that the transmitted packets can be redirected to HCS to execute header compression. To improve the efficiency, the communication between two nodes which support the same header compression protocol will not be interceded by the HCS, and they will communicate directly with each other. 
         [0006]    This architecture also has good scalability. Through the coordination of HCC, different header compression protocols can be applied simultaneously in the same network by using several HCS, and also there can be several HCS for one header compression protocol to balance the load. And HCC and HCS can either reside in different servers or just in one physical server. 
       FURTHER ADVANTAGES 
       [0007]    1. Transparent deployment of header compression in a LAN without modification on any existing network devices;
 
2. Does not prolong the handover latency of mobile stations;
 
3. Header-compression-enabled mobile stations can coexist together with those without header compression in a same network;
 
4. Good scalability, more header compression protocols and more header-compression enabled mobile stations can be supported by simply adding additional HCS into the network.
 
         [0008]    The invention also relates to a compression server as defined in the independent claim  17 , a network station as defined in independent claim  20  and a DHCP server as claimed in claim  23 . 
         [0009]    Further advantageous embodiments of the invention are apparent from the respective dependent claims. 
     
    
     
       DRAWINGS 
         [0010]    Embodiments of the invention are depicted in the drawings and will be explained hereinafter. The drawings show in: 
           [0011]      FIG. 1  the communication between a HC-enabled station and a non-HC-support PC; 
           [0012]      FIG. 2  the communication between two HC-enabled stations; 
           [0013]      FIG. 3  the message exchange for a HC server address acquirement; 
           [0014]      FIG. 4  the registration process; 
           [0015]      FIG. 5  the position of the output ARP filter module in a protocol stack; 
           [0016]      FIG. 6  the message exchange when a non-HC-enabled node initializes a communication with a HC-enabled node; 
           [0017]      FIG. 7  the message exchange when a HC-enabled station initializes a communication with another normal node; 
           [0018]      FIG. 8  the message exchange between two HC-enabled nodes; 
           [0019]      FIG. 9  Un-register process; 
           [0020]      FIG. 10   10  Heartbeat message; and 
           [0021]      FIG. 11   11  Message interactions between HCC and HCS; 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0022]    The operations of THCDP protocol will be explained with two examples.  FIGS. 1 and 2  show a simple yet typical LAN environment with THCDP header compression support.  FIG. 1  shows the scenario of a communication between a HC-enabled personal digital assistant STA 1 , hereinafter called PDA STA 1  and an ordinary non-HC-enabled remote personal computer PC 1 .  FIG. 2  shows the scenario of a communication between two HC-enabled devices PDA STA 1  and laptop STA 2 . 
         [0023]    PDA STA 1  and laptop STA 2  are two mobile stations connected to a local area network LAN through two access points AP 1  and AP 2 , and they may come from different manufactures. PDA STA 1  is a HC-enabled PDA phone; STA 2  is a HC-enabled laptop. Both of them support the robust header compression protocol—ROHC. The ROHC protocol is described in RFC 3095. PC 1  is a remote PC connected to the LAN via Internet and PC 2  is a local PC inside the LAN. Both computers PC 1  and PC 2  may communicate with PDA STA 1 . R 1  is the default router for the whole LAN. S 0  is a DHCP server, and S 1 , S 2  and S 3  are servers used for the header compression and decompression. For the sake of simplicity, they&#39;re illustrated as separate servers, but in a physical network, they may just be logic entities, and reside in the same physical server. Server S 1  is called a header compression controller HCC, which coordinates the operation of the server S 2  and S 3 . S 2  and S 3  are header compression servers HCS. Server S 1  has implemented the ROHC compression algorithm while server S 2  implements the VJHC algorithm. Servers S 2  and S 3  will register to HCC S 1  to inform it about their header compression abilities. 
         [0024]    After the HC-enabled mobile station PDA STA 1  roams into a WLAN, and associates with access point AP 1 , it will get the network configuration from DHCP server S 0 . Then it will negotiate its header compression ability with HCC S 1  through register messages. After a successful registration, HCC S 1  will take over the ARP response for PDA STA 1 , so that any ARP query for PDA STA 1  will be replied by HCC S 1 , either with the MAC address of the selected HCS (e.g. S 2 ), or with the original PDA STA 1 &#39;s MAC address. This depends on whether the ARP query is from a node which supports the same header compression protocol as PDA STA 1 . If yes (e.g. the ARP query is from laptop STA 2 , which also supports ROHC header compression as PDA STA 1 ), HCC S 1  will answer the ARP query with PDA STA 1 &#39;s original MAC address, so that laptop STA 2  and PDA STA 1  can make direct communication. If not (e.g. the ARP query is from router R 1  for the routed packets from the remote PC 1 ), HCC S 1  will answer the query with the MAC address of the selected HCS server (e.g. S 2  server&#39;s MAC), so that server S 2  can intercept the packets, and execute header compression on them. 
         [0025]    On the other hand, after having successfully registered to HCC server S 1 , a filter for output ARP packets will be hooked into the operating system protocol stack of PDA STA 1 , so that all the output ARP queries and ARP replies will be intercepted. All the ARP replies will be discarded, and any ARP query will incur a THCDP peer-to-peer ARP query sent from PDA STA 1  to HCC S 1 . 
         [0026]    The dashed lines in  FIG. 1  show the traffic path of a communication between PDA STA 1  and PC 1 . In this scenario, S 2  will intercept all the packets, and executes header compression/decompression for packets to/from PDA STA 1 . 
         [0027]    The dashed line in  FIG. 2  shows the traffic path of a communication between PDA STA 1  and laptop STA 2 . In this scenario, because both of the two stations support the ROHC header compression protocol, they will communicate directly with each other. 
         [0028]    As explained above, there are two types of header compression apparatuses in the network: HCS (Header Compression Server) and HCC (Header Compression Controller). HCS is the server which implements the header compression protocols. HCC coordinates the operation of HCS and deals with register/unregister messages from mobile stations, and also answers ARP requests for those registered mobile stations. 
         [0029]    To achieve transparent implementation of header compression, the HCC server S 1  takes care of the response to an ARP query from a non-HC enabled station to those HC-enabled mobile stations, and these stations will not answer the ARP query by themselves, so that the packets destined to these mobile stations may be redirected to HCS server S 1 , S 2  to compress the header. 
         [0030]    To improve the efficiency, the communication between two nodes which support the same header compression protocol will not be intercepted by the HCS, and they are allowed to directly communicate with each other. 
         [0031]    The next section will describe the message interaction of THCDP. There will be a unique identification number used for each type of THCDP message. The messages with the same ID number share the same message format, while their usages vary according to the specific scenario. 
       Interaction Between Mobile Station and HCC Server 
       [0032]    From the aspect of a mobile station, the main steps of the THCDP protocol include:
       Acquire the address of HCC;   Register to HCC;   Communicate with other nodes;   Un-register from the HCC;       
 
       i) Acquire the Address of HCC 
       [0037]    Once a mobile station enters a WLAN, it will acquire its IP configurations through the DHCP protocol. The DHCP protocol provides a framework for passing configuration information to hosts on a TCP/IP network. Configuration parameters and other control information are carried in tagged data items that are stored in the “options” fields of the DHCP message. To automatically configure the IP address of HCC in THCDP protocol, a new option field “HCCAddr” is added in the DHCPOFFER message to transfer the IP address of HCC to the mobile station. This is shown in  FIG. 3 . 
       ii) Register to HCC 
       [0038]    The registration process is shown in  FIG. 4 . Once the mobile station has acquired the IP address of HCC server S 1 , and the mobile station supports header compression, then it will send a register message including a list of supported HC algorithms to HCC S 1 . There&#39;s no user authentication during this process, for we take it for granted that user authentication should have been done in WLAN access control (e.g. through IEEE802.1x or some other mechanisms). This is not mandatory and for security reasons further authentication could be added, if needed. 
         [0039]    THCDP uses the text-based message format and UTF-8 (8-bit Unicode Transformation Format) encoding, and the messages are transferred through TCP connection. UTF-8 is specified in RFC 3629. 
         [0040]    All the messages use the basic format of RFC 2822. A message consists of a start-line, one or more header fields, an empty line indicating the end of the header fields, and an optional message body. 
         [0000]    
       
         
               
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 THCDP-message = 
                 message-type-line 
               
               
                   
                   
                 *message-header 
               
               
                   
                   
                 CRLF 
               
               
                   
                   
                 [ message-body ] 
               
               
                   
                 message type line = 
                 THCDP/V1.0 message- 
               
               
                   
                   
                 type 
               
               
                   
                   
               
             
          
         
       
     
         [0041]    The message-type-line, each message-header line, and the empty line must be terminated by a carriage-return line-feed sequence (CRLF). Note, that the empty line must be present even if the message-body is not. 
       Detailed Information for the Register Message: 
     Register Message 
       [0000]    
       
         
           
             Message ID: 1 
             Description: 
           
         
       
     
         [0044]    Register message is used by mobile stations to negotiate header compression protocol that will be used in future communication and the parameters of the HC protocol, and it can also be used by HCS servers to register its header compression ability to HCC. 
         [0045]    This message has a body, which contains one or more descriptions of the available header compression protocols. 
       Format: 
       [0046]      
         [0000]    
       
         
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 THCDP/V1.0 Register 
               
               
                   
                 From: x.x.x.x 
               
               
                   
                 MessageType: xxx 
               
               
                   
                 Content-Type: application/HCDESC 
               
               
                   
                 Content-Length: xxx 
               
               
                   
                 +&lt;Header compression protocol description&gt; 
               
               
                   
                   
               
             
          
         
       
     
         [0047]    Here, the value for “From” field specifies the source IP address of this message, and the value for “MessageType” field in message header can be HCS_REG or STA_REG, which means that the register message is from a HCS server or a mobile station. 
         [0048]    The body of the message is composed of one or more header compression protocol description, and the format of header compression protocol description is as follows: 
         [0000]    Name: protocol-name
 
Parameters: *&lt;para_name=value;&gt;
 
         [0049]    After receiving a register message from the mobile station, HCC server S 1  will send an ACK (acknowledge) packet together with a list of supported header compression protocols to the mobile station. On the other hand, when all the available HCS servers S 1 , S 2  have reached their maximum allowed number of clients, the HCC may send a NACK (not acknowledge) packet back to the mobile station to refuse the header compression request. The same may be done, if HCC finds that none of the requested header compression protocols is supported by any of the HCS servers S 1 , S 2 . 
         [0050]    The mobile station will never send any header-compressed packets when receiving NACK from HCC. On the other hand, if having received an ACK from HCC, the mobile station will select one header compression protocol and send an ACK to HCC (It can send NACK on some other rare conditions). 
       Detailed Information for the ACK Message: 
     ACK Message 
       [0000]    
       
         
           
             Message ID: 2 
             Description: 
           
         
       
     
         [0053]    ACK message is used by mobile stations or HCC during the negotiation of header compression protocol used and header compression parameters. This type of message also has a message body, which contains a description to the header compression protocol.
       Format:       
 
         [0000]    
       
         
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 THCDP/V1.0 ACK 
               
               
                   
                 From: x.x.x.x 
               
               
                   
                 Content-Type: application/HCDESC 
               
               
                   
                 Content-Length: xxx 
               
               
                   
                 +&lt;Header compression protocol description&gt; 
               
               
                   
                   
               
             
          
         
       
     
       Detailed Information for the NACK Message: 
     NACK Message 
       [0000]    
       
         
           
             Message ID: 3 
             Description: 
           
         
       
     
         [0057]    NACK message is used by mobile stations and HCC during the registration negotiation. 
         [0058]    Format: 
         [0000]    
       
         
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 THCDP/V1.0 NACK 
               
               
                   
                 From: x.x.x.x 
               
               
                   
                 Reason: xxxx 
               
               
                   
                   
               
             
          
         
       
     
         [0059]    Here, the value for field “Reason” gives the reason of why a request is refused, it&#39;s a normal string. 
         [0060]    After a successful registration process, the mobile station and HCC will reach an agreement on which header compression protocol to use, and global parameters of this protocol. 
         [0061]    After having successfully registered to a HCC, the mobile station will execute the following operations:
       Hook an output ARP packet filter module  30  into the operating system&#39;s protocol stack. This is illustrated in  FIG. 5 . This module will discard all output ARP reply packets from OS ARP module  20  of the mobile station. When an output ARP query packet from the OS ARP module  20  is received, and the query is for the MAC address of HCC, then this module simply constructs an ARP reply, informing OS ARP module  20  about the real MAC address of HCC. Otherwise, it will send a customized peer-to-peer ARP query (called THCDP ARP query) to HCC, and the HCC will send a THCDP ARP reply. After receiving the reply from HCC, the mobile station will construct a normal ARP reply packet and deliver it to OS ARP module  20 ;   Enable header compression;       
 
       Detailed Information for the THCDP ARP Query Message: 
     THCDP ARP Query Message 
       [0000]    
       
         
           
             Message ID: 4 
             Description 
           
         
       
     
         [0066]    THCDP ARP query message is sent from a HC-enabled mobile station to HCC, used by a HC-enabled mobile station to query the MAC address of other nodes;
       Format:       
 
         [0000]    
       
         
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 THCDP/V1.0 ARPQUERY 
               
               
                   
                 From: x.x.x.x 
               
               
                   
                 QueryIP: x.x.x.x 
               
               
                   
                   
               
             
          
         
       
     
         [0068]    Here, the value for “QueryIP” field specifies the IP address for which this ARP query is invoked. 
         [0069]    And the HCC will execute the following operations after a mobile station has registered to it:
       Add the registered mobile station into a proxy ARP list, this will enable to create proxy ARP responses for this mobile station;   When a THCDP ARP query message is received from this registered mobile station; it will generate a THCDP ARP reply according to the following situations:
           If the THCDP ARP query message is querying the MAC address of another mobile station which supports the same header compression protocol as this querying station, HCC will send back the queried station&#39;s real MAC address;   If the THCDP ARP query message is for some other station, not being capable of performing header compression as queried, then HCC sends the MAC address of the suitable HCS server with that capability back to the querying station.   
               
 
       Detailed Information for the THCDP ARP Reply Message: 
     THCDP ARP Reply Message 
       [0000]    
       
         
           
             Message ID: 5 
             Description: 
           
         
       
     
         [0076]    THCDP ARP reply message, sent from HCC to a HC-enabled mobile station, used to inform a HC-enabled mobile station about the MAC address of other nodes;
       Format:       
 
         [0000]    
       
         
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 THCDP/V1.0 ARPREPLY 
               
               
                   
                 From: x.x.x.x 
               
               
                   
                 QueryIP: x.x.x.x 
               
               
                   
                 MAC: xx:xx:xx:xx:xx:xx 
               
               
                   
                   
               
             
          
         
       
     
         [0078]    Here, the value for “MAC” field is the MAC address for the IP address specified in “QueryIP” field. 
         [0000]    Communication with Other Nodes 
         [0079]    After registration, the HC-enabled station can communicate with other nodes through header-compressed IP packets. 
         [0080]      FIGS. 6 and 7  illustrate the situation of the communication between a HC-enabled mobile station STA 1  and another normal node PC 2 . In this scenario, the two nodes communicate with each other through the HCS server S 2 .  FIG. 6  shows the message interaction when PC PC 2  initializes the communication. In this case the PC sends the IP packets uncompressed to HCS S 2 , which forwards those packets in compressed form to PDA STA 1 . In the backward direction PDA STA 1  sends its packets in compressed form to HCS S 2 , which performs decompression and forwards them to the PC in uncompressed form.  FIG. 7  shows that the reply message to the broadcast ARP query from PC 2 , see  FIG. 6 , is blocked in the output ARP filter module  30  of PDA STA 1 . Further, the ARP query to PC 2  generated in OS ARP module  20  of PDA STA 1  is intercepted in the output ARP filter module  30  and converted into a THCDP ARP query to PC 2 . The THCDP ARP reply message is received in output ARP filter module  30  and converted into an ARP reply message with the source address of HCS server S 2 . This reply message is forwarded to OS ARP module  20 . The communication through IP packets is like in  FIG. 6 . 
         [0081]      FIG. 8  depicts the communication between two HC-enabled mobile stations: STA 1  and STA 2 . Supposing both of these nodes support ROHC, then they can communicate with each other directly in compressed form. In this situation, no matter which node starts up the communication, the message interaction is much the same.  FIG. 8  shows the scenario when PDA STA 1  initializes the communication. 
         [0000]    Unregister from the HCC 
         [0082]    If the mobile station will no longer need header compression, e.g. when the header compression module is disabled, it should send an Unregister message to the header compression controller S 1  to inform it to release resources, see  FIG. 9 . After this, the HCC will stop answering ARP queries for this mobile station, and the mobile station will invalidate all entries in its ARP tables, so that after this, it can get the real MAC address of the destination nodes according to normal ARP protocol and after that send packets directly to the destinations. 
       Detailed Information for the Unregister Message: 
     Unregister Message 
       [0000]    
       
         
           
             Message ID: 6 
             Description: 
           
         
       
     
         [0085]    Unregister message, sent from HC-enabled mobile station or HCS to HCC to un-register;
       Format:       
 
         [0000]    
       
         
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 THCDP/V1.0 UNREGISTER 
               
               
                   
                 From: x.x.x.x 
               
               
                   
                   
               
             
          
         
       
     
       Heartbeat Message 
       [0087]    To release the resources as soon as possible when a mobile station unexpectedly crashes, the THCDP protocol requires from the mobile stations to report their liveliness by sending HeartBeat messages periodically to HCC. If there&#39;s no heartbeat message for a defined time, HCC will take it for granted that the mobile station has crashed or left the current network, and release all the resources related to this mobile station just like receiving an Unregister message. 
       Detailed Information for the ACK Message: 
     Heartbeat Message 
       [0000]    
       
         
           
             Message ID: 7 
             Description: 
           
         
       
     
         [0090]    Heartbeat message is sent from HC-enabled mobile station or HCS to HCC to inform their liveliness;
       Format:       
 
         [0000]    
       
         
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 THCDP/V1.0 HEARTBEAT 
               
               
                   
                 From: x.x.x.x 
               
               
                   
                   
               
             
          
         
       
     
       Interaction Between HCC and HCS 
       [0092]    Besides the interactions between mobile station and HCS, HCS also need to report to HCC about its existence and header compression ability, so that the HCC can redirect the register request from mobile station to the appropriate HCS. This is done through Register, Unregister and periodic Heartbeat messages as illustrated in  FIG. 11 . 
         [0093]    The invention is not restricted to the use of header compression in a network. The invention relates to utilizing data compression in general in a network for bandwidth optimization. 
         [0000]    
       
         
               
             
               
               
             
           
               
                   
               
               
                 Table of used abbreviations 
               
               
                   
               
             
             
               
                   
               
             
          
           
               
                 ACK 
                 Acknowledge 
               
               
                 AP 
                 Access Point 
               
               
                 ARP 
                 Address Resolution Protocol 
               
               
                 CPU 
                 Central Processing Unit 
               
               
                 CRLF 
                 Carriage Return Line Feed 
               
               
                 DHCP 
                 Dynamic Host Configuration Protocol 
               
               
                 HC 
                 Header Compression 
               
               
                 HCC 
                 Header Compression Controller 
               
               
                 HCDESC 
                 Header Compression Description, a string value in 
               
               
                   
                 Content-Type field of THCDP header. 
               
               
                 HCS 
                 Header Compression Server 
               
               
                 ID 
                 Identification 
               
               
                 IP 
                 Internet Protocol 
               
               
                 MAC 
                 Medium Access 
               
               
                 NACK 
                 Not Acknowledge 
               
               
                 PC 
                 Personal Computer 
               
               
                 PDA 
                 Personal Digital Assistance 
               
               
                 RFC 
                 Request For Comment 
               
               
                 ROHC 
                 Robust Header Compression 
               
               
                 STA 
                 Station 
               
               
                 TCP 
                 Transmission Control Protocol 
               
               
                 THCDP 
                 Transparent Header compression Deployment Protocol 
               
               
                 UTF-8 
                 8 Bit Unicode Transformation Format 
               
               
                 VJHC 
                 Van Jacobson Header Compression 
               
               
                 WLAN 
                 Wireless Local Area Network