Providing an independent compression server within a network, as well as a method, network station and DHCP server

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.

This application claims the benefit, under 35 U.S.C.§365 of International Application PCT/EP2006/069212, filed Dec. 1, 2006, which was published in accordance with PCT Article 21(2) on Jun. 28, 2007 in English and which claims the benefit of European patent application No. 05292760.5, filed Dec. 19, 2005.

TECHNICAL FIELD

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

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: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

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.

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't prolong the handover latency of roaming mobile stations, and has good scalability.

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.

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

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.

The invention also relates to a compression server, a network station and a DHCP server.

Further advantageous embodiments of the invention are apparent from the respective dependent claims.

DETAILED DESCRIPTION OF THE INVENTION

The operations of THCDP protocol will be explained with two examples.FIGS. 1 and 2show a simple yet typical LAN environment with THCDP header compression support.FIG. 1shows the scenario of a communication between a HC-enabled personal digital assistant STA1, hereinafter called PDA STA1and an ordinary non-HC-enabled remote personal computer PC1.FIG. 2shows the scenario of a communication between two HC-enabled devices PDA STA1and laptop STA2.

PDA STA1and laptop STA2are two mobile stations connected to a local area network LAN through two access points AP1and AP2, and they may come from different manufactures. PDA STA1is a HC-enabled PDA phone; STA2is a HC-enabled laptop. Both of them support the robust header compression protocol—ROHC. The ROHC protocol is described in RFC 3095. PC1is a remote PC connected to the LAN via Internet and PC2is a local PC inside the LAN. Both computers PC1and PC2may communicate with PDA STA1. R1is the default router for the whole LAN. S0is a DHCP server, and S1, S2and S3are servers used for the header compression and decompression. For the sake of simplicity, they're illustrated as separate servers, but in a physical network, they may just be logic entities, and reside in the same physical server. Server S1is called a header compression controller HCC, which coordinates the operation of the server S2and S3. S2and S3are header compression servers HCS. Server S1has implemented the ROHC compression algorithm while server S2implements the VJHC algorithm. Servers S2and S3will register to HCC S1to inform it about their header compression abilities.

After the HC-enabled mobile station PDA STA1roams into a WLAN, and associates with access point AP1, it will get the network configuration from DHCP server S0. Then it will negotiate its header compression ability with HCC S1through register messages. After a successful registration, HCC S1will take over the ARP response for PDA STA1, so that any ARP query for PDA STA1will be replied by HCC S1, either with the MAC address of the selected HCS (e.g. S2), or with the original PDA STA1's MAC address. This depends on whether the ARP query is from a node which supports the same header compression protocol as PDA STA1. If yes (e.g. the ARP query is from laptop STA2, which also supports ROHC header compression as PDA STA1), HCC S1will answer the ARP query with PDA STA1's original MAC address, so that laptop STA2and PDA STA1can make direct communication. If not (e.g. the ARP query is from router R1for the routed packets from the remote PC1), HCC S1will answer the query with the MAC address of the selected HCS server (e.g. S2server's MAC), so that server S2can intercept the packets, and execute header compression on them.

On the other hand, after having successfully registered to HCC server S1, a filter for output ARP packets will be hooked into the operating system protocol stack of PDA STA1, 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 STA1to HCC S1.

The dashed lines inFIG. 1show the traffic path of a communication between PDA STA1and PC1. In this scenario, S2will intercept all the packets, and executes header compression/decompression for packets to/from PDA STA1.

The dashed line inFIG. 2shows the traffic path of a communication between PDA STA1and laptop STA2. In this scenario, because both of the two stations support the ROHC header compression protocol, they will communicate directly with each other.

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.

To achieve transparent implementation of header compression, the HCC server S1takes 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 S1, S2to compress the header.

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.

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

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

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 inFIG. 3.

ii) Register to HCC

The registration process is shown inFIG. 4. Once the mobile station has acquired the IP address of HCC server S1, and the mobile station supports header compression, then it will send a register message including a list of supported HC algorithms to HCC S1. There'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.

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.

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.

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 messageMessage ID: 1Description:

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.

This message has a body, which contains one or more descriptions of the available header compression protocols.Format:

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.

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:Name: protocol-nameParameters: *<para_name=value;>

After receiving a register message from the mobile station, HCC server S1will 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 S1, S2have 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 S1, S2.

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 messageMessage ID: 2Description:

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:

Detailed information for the NACK message:NACK messageMessage ID: 3Description:

NACK message is used by mobile stations and HCC during the registration negotiation.Format:

Here, the value for field “Reason” gives the reason of why a request is refused, it's a normal string.

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.

After having successfully registered to a HCC, the mobile station will execute the following operations:Hook an output ARP packet filter module30into the operating system's protocol stack. This is illustrated inFIG. 5. This module will discard all output ARP reply packets from OS ARP module20of the mobile station. When an output ARP query packet from the OS ARP module20is received, and the query is for the MAC address of HCC, then this module simply constructs an ARP reply, informing OS ARP module20about 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 module20;Enable header compression;

Detailed information for the THCDP ARP query message:THCDP ARP query messageMessage ID: 4Description:

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:

Here, the value for “QueryIP” field specifies the IP address for which this ARP query is invoked.

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'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 messageMessage ID: 5Description:

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:

Here, the value for “MAC” field is the MAC address for the IP address specified in “QueryIP” field.

Communication with Other Nodes

After registration, the HC-enabled station can communicate with other nodes through header-compressed IP packets.

FIGS. 6 and 7illustrate the situation of the communication between a HC-enabled mobile station STA1and another normal node PC2. In this scenario, the two nodes communicate with each other through the HCS server S2.FIG. 6shows the message interaction when PC PC2initializes the communication. In this case the PC sends the IP packets uncompressed to HCS S2, which forwards those packets in compressed form to PDA STA1. In the backward direction PDA STA1sends its packets in compressed form to HCS S2, which performs decompression and forwards them to the PC in uncompressed form.FIG. 7shows that the reply message to the broadcast ARP query from PC2, seeFIG. 6, is blocked in the output ARP filter module30of PDA STA1. Further, the ARP query to PC2generated in OS ARP module20of PDA STA1is intercepted in the output ARP filter module30and converted into a THCDP ARP query to PC2. The THCDP ARP reply message is received in output ARP filter module30and converted into an ARP reply message with the source address of HCS server S2. This reply message is forwarded to OS ARP module20. The communication through IP packets is like inFIG. 6.

FIG. 8depicts the communication between two HC-enabled mobile stations: STA1and STA2. 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. 8shows the scenario when PDA STA1initializes the communication.

Unregister from the HCC

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 S1to inform it to release resources, seeFIG. 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 messageMessage ID: 6Description:

Unregister message, sent from HC-enabled mobile station or HCS to HCC to un-register;Format:

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'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 messageMessage ID: 7Description:

Heartbeat message is sent from HC-enabled mobile station or HCS to HCC to inform their liveliness;Format:

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 inFIG. 11.

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.