Abstract:
A method for selectively maintaining compression state and applying a compression technique after a PPP renegotiation on a U m  interface of a wireless communication network. A communication device receives packetized data transmitted from a terminal device, which is coupled to the communication device via an R m  interface. The communication device determines whether the received packetized data comprises compressed or uncompressed data. Upon determining that the received packetized data comprises compressed data, the communication device determines whether connection information identifying a compression slot is included in the compressed data. The communication device further determines whether the connection information exceeds a highest-numbered decompression slot from a plurality of decompression slots on said U m  interface. The communication device sets up a local decompression slot, in the communication device, which corresponds to the connection information in order to maintain said compression state, wherein the local decompression slot is set up in response to determining that the connection information exceeds the highest-numbered decompression slot. The communication device decompresses the compressed packetized data when it receives compressed packetized data containing said connection information.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    This invention generally relates to the field of wireless communications. More particularly, the present invention relates to a novel method for determining when to maintain a compression state and efficiently applying compression techniques on a wireless communication device.  
           [0003]    2. Description of Related Art  
           [0004]    Recent innovations in wireless communication and computer-related technologies, as well as the unprecedented growth of Internet subscribers, have paved the way for mobile computing. In fact, the popularity of mobile computing has placed greater demands on the current Internet infrastructure to provide mobile users with more support. A crucial part of meeting these demands and providing users with the necessary support is the use of Code Division Multiple Access (CDMA) technology in wireless communication systems.  
           [0005]    CDMA is a digital radio-frequency (RF) channelization technique defined in the Telecommunications Industry Association/Electronics Industries Association Interim Standard-95 (TIA/EIA IS-95), entitled “MOBILE STATION-BASE STATION COMPATIBILITY STANDARD FOR DUAL-MODE WIDE BAND SPREAD SPECTRUM CELLULAR SYSTEM”, published in July 1993 and herein incorporated by reference. Other standards describing CDMA operations include TIA TR45.5, The CDMA2000 ITU-R RTT Candidate Submission, approved May 15, 1998 and Third Generation Partnership Project—Technical Specification Group—Radio Access Network/Radio Interface Protocol Architecture, Release 99, both of which are incorporated by reference. Wireless communication systems employing CDMA technology assign a unique code to communication signals and spread these communication signals across a common (wideband) spread spectrum bandwidth. As long as the receiving apparatus in a CDMA system has the correct code, it can successfully detect and select its communication signal from the other signals concurrently transmitted over the same bandwidth. The use of CDMA produces an increase in system traffic capacity, improves overall call quality and noise reduction, and provides a reliable transport mechanism for data service traffic.  
           [0006]    [0006]FIG. 1 illustrates the basic elements of such a wireless data communication system  100 . Practitioners will readily appreciate that these elements, and their interfaces, may be modified, augmented, or subjected to various standards known in the art, without limiting their scope or function. System  100  allows a mobile terminal equipment, TE2 device  102  (e.g., the terminal equipment such as laptop or palmtop computer) to communicate with a gateway entity, such as an Interworking Function (IWF)  108  or a Packet Data Serving Node (PSDN). The IWF  108  serves as a gateway between the wireless network and other networks, such as the Public Switched Telephone Network (PSTN) or wireline packet data networks providing Internet- or Intranet-based access. System  100  includes a wireless communication device, MT2 device  104  (e.g., wireless telephone), and a Base Station/Mobile Switching Center (BS/MSC)  106  or Radio Access Network (RAN). Often the IWF  108  will be co-located with the BS/MSC  106 . An L interface may couple IWF  108  to BS/MSC  106 . The TE2 device  102  is electronically coupled to the MT2 device  104  via the R m  interface. The MT2 device  104  communicates with the BS/MSC  106  via the wireless interface U m . The TE2 device  102  and the MT2 device  104  may be integrated into a single unit (e.g., MT0 device) or may be separated out, as in the case of an installed mobile phone unit in which a laptop is the TE2 device  102  and the transceiver is the MT2 device  104 . It is important to note that, as indicated by FIG. 2, the combination of the TE2 device  102  and the MT2 device  104 , whether integrated or separate, is generally referred to as a mobile station (MS)  103 .  
           [0007]    Other support is made possible by applying various well-known protocols to control, manage, or otherwise facilitate different aspects of wireless communications. For example, the life-blood of the Internet infrastructure, the Internet Protocol (IP), has been incorporated in many wireless communication services to accommodate packet-oriented services. The IP protocol specifies the addressing and routing of packets (datagrams) between host computers and is defined in Request For Comment 791 (RFC 791) entitled, “INTERNET PROTOCOL DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION,” published September 1981, and herein incorporated by reference.  
           [0008]    The IP protocol is a network layer protocol that encapsulates data into IP packets for transmission. Addressing and routing information is affixed in the header of the packet. IP headers contain 32-bit addresses that identify the sending and receiving hosts. These addresses are used by intermediate routers to select a path through the network for the packet towards its ultimate destination at the intended address. Thus, the IP protocol allows packets originating at any Internet node in the world to be routed to any other Internet node in the world.  
           [0009]    Another well-known protocol incorporated in wireless communications systems is the Point-to-Point Protocol (PPP) protocol, which provides, inter alia, Internet access. The PPP protocol is described in detail in Request for Comments 1661 (RFC 1661), entitled “THE POINT-TO-POINT PROTOCOL (PPP)”, published July 1994 and herein incorporated by reference.  
           [0010]    Essentially, the PPP protocol specifies a method for transporting multi-protocol datagrams over point-to-point links and contains three main components: a method of encapsulating multi-protocol datagrams; a Link Control Protocol (LCP) for establishing, configuring, and testing a data link connection; and a family of Network Control Protocols (NCPs) for establishing and configuring different network-layer protocols.  
           [0011]    In an effort to provide a host of services on wireless communication systems, various standards have been developed to accommodate the wireless data transmission between the TE2 device  102  and the IWF  108 . For example, the TIA/EIA IS-707.5 standard, entitled “DATA SERVICE OPTIONS FOR WIDEBAND SPREAD SPECTRUM SYSTEMS: PACKET DATA SERVICES,” published February 1998, and herein incorporated by reference, defines requirements for support of packet data transmission capability on TIA/EIA IS-95 systems and specifies a suite of packet data bearer services. Similarly, the TIA/EIA IS-707-A.5 standard, entitled “DATA SERVICE OPTIONS FOR SPREAD SPECTRUM SYSTEMS: PACKET DATA SERVICES,” and the TIA/EIA IS-707-A.9 standard, entitled “DATA SERVICE OPTIONS FOR SPREAD SPECTRUM SYSTEMS: HIGH-SPEED PACKET DATA SERVICES,” both published in March 1999 and incorporated by reference, also define requirements for packet data transmission support on TIA/EIA IS-95 systems. In addition, new standards such as TIA/EIA IS-707-A-1 and A-2, entitled “DATA SERVICE OPTIONS FOR SPREAD SPECTRUM SYSTEMS: CDMA2000 HIGH-SPEED PACKET DATA SERVICES,” (Ballot Resolution Version  1999)  and incorporated by reference, also define requirements for packet data transmission support on CDMA systems.  
           [0012]    In particular, the IS-707.5 standard provides certain packet data service modes that may be used to communicate between the TE2 device  102  and IWF  108  via BS/MSC  106 . In doing so, IS-707.5 introduces the Network Model, which details the packet data protocol requirements for the R m  and U m  interfaces. The network model represents the situation where a first PPP link is set up between the TE2 device  102  and the MT2 device  104 , and a second PPP link, independent of the first, is set up between the MT2 device  104  and the IWF  108 . This model makes the MT2 device  104  responsible for unframing any received PPP packets and re-framing them before forwarding them to their final destination as well as providing mobility management and network address management.  
           [0013]    [0013]FIG. 2 illustrates the protocol stacks in each entity of the IS-707.5 Network Model. At the far left of FIG. 2 is a protocol stack, shown in conventional vertical format, depicting the protocol layers running on the TE2 device  102  (e.g., the mobile terminal, laptop or palmtop computer). The TE2 protocol stack is illustrated as being logically connected to the MT2 device  104  protocol stack over the R m  interface. The MT2 device  104 , is illustrated as being logically connected to the BS/MSC  106  protocol stack over the U m  interface. The BS/MSC  106  protocol stack is, in turn, shown as being logically connected to the IWF  108  protocol stack over the L interface.  
           [0014]    By way of example, the protocols depicted in FIG. 2, operate as follows: the PPP layer on the TE2  102  device associated with the R m  interface (i.e., PPP R    208 ), encodes packets from the upper layer protocols  204 , and the network layer IP protocol  206 . The PPP R  layer  208  then transmits the packets across the R m  interface using an applicable protocol, such as, for example, the TIA/EIA 232-F protocol  210 , and the packets are received by the TIA/EIA-232-F-compatible port on the MT2 device  104 . The TIA/EIA-232-F standard is defined in “INTERFACE BETWEEN DATA TERMINAL EQUIPMENT AND DATA CIRCUIT-TERMINATING EQUIPMENT EMPLOYING SERIAL BINARY DATA INTERCHANGE”, published in October 1997 and herein incorporated by reference. It is to be understood that other standards or protocols known to artisans of ordinary skill in the art may be used to define the transmission across the R m  interface. For example, other applicable R m  interface standards may include, the “UNIVERSAL SERIAL BUS (USB) SPECIFICATION, Revision 1.1”, published in September 1998, and the “BLUETOOTH SPECIFICATION VERSION 1.0A CORE, published in July 1999, both incorporated by reference.  
           [0015]    The TIA/EIA 232-F protocol  212  on the MT2 device  104  receives the packets from the TE2 device  102  and passes them to the PPP R  layer  213  of the MT2 device  104 . The PPP R  layer  213  unframes the packets encapsulated in the PPP frames and typically, when a data connection is up, layer  213  transfers the packets to the PPP layer associated with the U m  interface (i.e., PPP U  layer  217 ). PPP U  layer  217  formats the packets in PPP frames for transmission to a PPP U  peer located in the IWF  108 . The Radio Link Protocol (RLP)  216  and IS-95 protocol  214 , both of which are well known in the art, are used to transmit the packet-encapsulated PPP frames to the BS/MSC  106  over the U m  interface. The RLP protocol  216  is defined in the IS-707.2 standard, entitled “DATA SERVICE OPTIONS FOR WIDEBAND SPREAD SPECTRUM SYSTEMS: RADIO LINK PROTOCOL”, published in February 1998 and herein incorporated by reference, and the IS-95 protocol is defined in the IS-95 standard identified above.  
           [0016]    A corresponding RLP protocol  220  and IS-95 protocol  222  in the BS/MSC  106  transfer the packets to the relay layer protocol  224  for transmission across the L interface to the relay layer protocol  224  on the IWF  108 . The PPP U  layer  232  then unframes the received packets and transfers them to the network layer protocol IP  230 , which in turn either passes them to the upper layer protocols  228  or forwards them to their final destination.  
           [0017]    Under the IS-707.5 Network Model, the configuring, enabling, and disabling of the IP modules  206 ,  230  on both ends of the PPP link is provided by the Internet Protocol Control Protocol (IPCP). IPCP is a part of a family of network control protocols included in the PPP protocol and described in Request for Comment (RFC) 1332, “THE PPP INTERNET PROTOCOL CONTROL PROTOCOL (IPCP)”, published in May 1992 and herein incorporated by reference.  
           [0018]    IPCP utilizes configuration request messages to negotiate various configuration options. One such option is the IP Compression Protocol Option. When enabled, this option generally employs the Van Jacobson compression methodology for compressing the TCP/IP headers in a PPP packet. The Van Jacobson compression methodology improves the efficiency of a protocol by reducing the overhead in the packet headers and is described in RFC 1144 entitled, “COMPRESSING TCP/IP HEADERS FOR LOW-SPEED SERIAL LINKS”, published in February 1990 and herein incorporated by reference. The Van Jacobson compression methodology is a compression algorithm that relies on knowledge of the fields in the TCP/IP headers to determine how they are likely to change from packet to packet. The negotiation of the IP Compression Protocol Option also requires the specification of maximum compression slot ID field, which determines the maximum number of compression and decompression slots for a particular PPP link and whether the connection ID can be compressed out.  
           [0019]    The IPCP configuration option negotiations occur separately for both the R m  interface and the U m  interface. That is, the negotiation over the R m  interface is separate from the negotiation the U m  interface. The MT2 device  104  must, therefore, separately negotiate configuration options for the PPP R  link over the R m  interface and the PPP U  link over the U m  interface (see FIG. 2).  
           [0020]    Due to the fact that the MT2 device  104  is mobile, it is possible that it may move to an area that is served by a different IWF  108 . When this happens, a handoff will occur, handing the MT2 device  104  over to the new IWF  108  for service. When a handoff occurs, the PPP U  link must be renegotiated over the U m  interface, as discussed above. Because PPP negotiation for the R m  and U m  interfaces are independent, the renegotiation need only occur on the U m  interface.  
           [0021]    Of key import, however, is the renegotiation of the maximum number of U m  interface compression slots in the reverse link direction (i.e., transmissions from the MT2 device  104  to the IWF  108 , refer to FIG. 2). For example, when a call is initially brought up, the network model may attempt to optimize the negotiation process by trying to establish the same IPCP configuration options for the U m  and R m  interfaces in both the forward and reverse link directions. This includes instituting the same number of maximum compression slots for the U m  and R m  interfaces in both directions and the same ID compression status, so that a compressed packet generated by the TE2 device  102  and having a specific connection ID (i.e., compression slot ID) can be subsequently decompressed by the IWF  108 . As such, this network model optimization enables the MT2 device  104  not to uncompress and recompress, that is, the compressed packet is passed through the MT2 without having any Van Jacobson compression algorithms applied to it.  
           [0022]    However, if, due to the movement of the MT2 device  104 , the PPP U  link is renegotiated, there are no assurances that the maximum number of decompression slots that can be supported by the new IWF  108  will match the number of compression slots that were initially negotiated between on the TE2 device  102  and the MT2 device  104 . It is, therefore, quite possible that after renegotiation, the maximum number of compression slots on the U m  interface is less than the maximum number of compression slots on the R m  interface. As such, the TE2 device  102  could transmit a compressed packet with a connection ID (i.e., compression slot ID) that is greater than what could be accommodated by the decompression slot with the highest ID on the IWF  108 . In such cases, the compression slot will not be recognized by the IWF  108  and the packet will be discarded.  
           [0023]    The mismatch between the maximum number of R m  compression slots and U m  decompression slots will, at best, decrease the transmission efficiency of the wireless communication system by forcing the uncompressed retransmission of all packets having compression slot IDs greater than the highest-numbered decompression slot ID. At worst, this mismatch will result in the loss of all packets having compression slot IDs greater than the highest-numbered decompression slot ID.  
           [0024]    Therefore, what is needed is a novel method and system that selectively determines when to maintain a compression state and apply compression techniques on a wireless communication device in order to optimize the transmission efficiency of a wireless communication system.  
         SUMMARY OF THE INVENTION  
         [0025]    The present invention addresses the need identified above by providing a method that determines when to maintain a compression state and apply compression techniques on a wireless communication device.  
           [0026]    Methods consistent with the principles of the present invention as embodied and broadly described herein include a communication device for receiving packetized data transmitted from a terminal device which is coupled to the communication device via an R m  interface. The communication device determines whether the received packetized data comprises compressed or uncompressed headers and then determines whether connection information identifying a compression slot is included in the compressed data in response to determining that the received packetized data comprises compressed data. The communication device further determines whether the connection information exceeds a highest-numbered decompression slot from a plurality of decompression slots on said U m  interface. The communication device sets up a local decompression slot, in the communication device, which corresponds to the connection information in order to maintain said compression state, wherein the local decompression slot is set up in response to determining that the connection information exceeds the highest numbered decompression slot. The communication device decompresses the compressed packetized data when it receives compressed packetized data containing said connection information. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0027]    The accompanying drawings, which are incorporated in and constitute a part of this Specification, illustrate an embodiment of the invention and, together with the description, explain the objects, advantages, and principles of the invention. In the drawings:  
         [0028]    [0028]FIG. 1 is a high level block diagram depicting various elements of a wireless communication system.  
         [0029]    [0029]FIG. 2 schematically describes the protocol stacks of a wireless communication system.  
         [0030]    [0030]FIGS. 3A, 3B are flow-chart diagrams describing a first embodiment of the invention.  
         [0031]    [0031]FIGS. 4A, 4B are flow-chart diagrams describing a second embodiment of the invention. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0032]    The following detailed description of the embodiments of the present invention refers to the accompanying drawings that illustrate these. Other embodiments are possible and modifications may be made to the embodiments without departing from the spirit and scope of the invention. Therefore, the following detailed description is not meant to limit the invention. Rather the scope of the invention is defined by the appended claims.  
         [0033]    It will be apparent to one of ordinary skill in the art that an embodiment of the present invention, as described below, may be realized in a variety of implementations, including the software, firmware, and hardware of the entities illustrated in the figures (i.e., TE2 device  102 , MT2 device  104 , BS/MSC  106  and IWF  108 ). The actual software code or control hardware used to implement the present invention is not limiting of the present invention. Thus, the operation and behavior of the present invention will be described without specific reference to the actual software code or hardware components. Such non-specific references are acceptable because it is clearly understood that a person of ordinary skill in the art would be able to design software and control hardware to implement the embodiment of the present invention based on the description herein.  
         [0034]    1. First Embodiment  
         [0035]    [0035]FIG. 3 is a flow-chart diagram depicting a first embodiment of the present invention. As such, FIG. 3 details the operation of the MT2 device  104  for determining when to apply compression techniques.  
         [0036]    When a packet arrives from the TE2 device  102 , the MT2 device  104 , in step S 305 , first determines whether the packet is a TCP packet. This is because the IP Compression Protocol Option, specifically the Van Jacobson compression technique, only operates on TCP-based packet headers. Therefore, if the incoming packet is not a TCP packet, it is routed to the PPP U  framer on the MT2 device  104  prior to being transmitted to the U m  interface, as indicated in step S 310 . If it is a TCP packet, the MT2 device  104 , progresses to step S 315 .  
         [0037]    In step S 315 , the MT2 device  104  determines whether the incoming packet is an uncompressed TCP packet. Generally, the arrival of an uncompressed TCP packet occurs during the initial stages of a connection to establish the compression state or to reset the compression state after packet retransmission. If the packet is an uncompressed TCP packet, the MT2 device  104  saves the connection ID and marks it as seen, as indicated in step S 320 . The MT2 device  104  then determines, in step S 325 , whether the connection ID is greater than N, where N is the maximum number of decompression slots on the U m  interface (i.e., at the IWF  108 ). As part of the IPCP renegotiation process, the MT2 device  104  is aware of the maximum number of decompression slots that the IWF  108  can support. Therefore, if the packet contains a connection ID that is not greater than N, the IWF  108  has sufficient decompression slots to accommodate the connection ID, and the MT2 device  104  sends the packet to the PPP U  framer for transmission, as in step S 310 . If, on the other hand, the packet connection ID is greater than N, the MT2 device  104 , in step S 330 , sets up a local decompression slot within the MT2 device  104 , so that packets with that particular connection ID can be decompressed by the MT2 device  104  prior to transmission, in order to be sent out as uncompressed packets. The decompression slot setup within the MT2 device  104  is feasible because the TCP packet is uncompressed, and can be used to establish the decompression states. In step S 335 , the MT2 device  104  changes the protocol field of the PPP packet to the IP protocol, and sends the packet to the PPP U  framer of step S 310 . By changing the protocol field and transmitting the uncompressed packet, the MT2 device  104  ensures that the U m  will not attempt to uncompress the packet and will simply forward the packet.  
         [0038]    Returning to step S 315 , if the incoming packet is a compressed TCP packet (i.e., Van Jacobson compressed packet), the MT2 device  104  determines, in step S 340 , whether the packet contains connection ID. If the packet does not contain a connection ID, the MT2 device  104 , in step S 345 , checks to see whether MT2 device  104  has saved a last connection ID. If it did not, the MT2 device  104  will discard the packet because it will not be recognized by the IWF  108 , as indicated in step S 365 . If the MT2 device  104  did save a last connection ID, it determines, in step S 350 , whether the last connection ID is greater than N (i.e, the maximum number of decompression slots). If the last connection ID is not greater than N, the MT2 device  104  sends the packet to the PPP U  framer for transmission, as in step S 310 . If the last connection ID is greater than N, the MT2 device  104  must then determine whether there exists compression state for the saved connection ID, as indicated in step S 355 . If there is no compression state, the MT2 device  104  discards the packet, as in step S 365 ; if there is compression state, the MT2 device  104 , in step S 360 , decompresses the header of the packet locally and sends the packet to the PPP U  framer for transmission as an IP packet, as in step S 310 .  
         [0039]    Returning to step S 340 , if the Van Jacobson-compressed packet contains a connection ID, the MT2 device  104  determines, in step S 370 , whether the connection ID is greater than N. If it is, the MT2 device  104  then determines, in step S 375  whether there exists compression state for the connection ID, and if so, the MT2 device  104  decompresses the packet as per step S 360  and sends the packet to the PPP U  framer for transmission, as indicated in step S 310 . If in step S 375 , the MT2 device  104  determines that the connection ID is not greater than N, the MT2 device  104  then checks, in step S 380 , whether it has seen this connection ID before. If the MT2 device  104  did not previously see that connection ID, it will discard the packet as indicated in step S 365 , because the packet will not be recognized by the IWF  108 . If the MT2 device  104  has seen this connection ID before, it saves as last connection ID seen, as in step S 385 , and subsequently sends the packet to the PPP U  framer for transmission, as indicated in step S 310 .  
         [0040]    Thus, this embodiment incorporates decompression slots on the MT2 device  104  to decompress, by proxy, TCP packets with compression slot IDs that exceed the range of renegotiated decompression slots on the U m  interface. As such, this embodiment provides a system and method that efficiently applies PPP header compression techniques, which minimizes the retransmission of packets having compression slot IDs greater than the highest-numbered decompression slot or the loss of such packets. In addition, this embodiment allows the MT2 device to avoid maintaining such a state while the number of slots is the same on both sides.  
         [0041]    2. Second Embodiment  
         [0042]    [0042]FIG. 4 is a flow-chart diagram depicting a second embodiment of the present invention. As a packet arrives from the TE2 device  102 , the MT2 device  104 , in step S 405 , first determines whether the packet is a TCP-compliant packet. As stated above with respect to the first embodiment, this is because the Van Jacobson compression technique only operates on TCP/IP-based packet headers. Therefore, if the arriving packet is not a TCP packet, it is routed to the PPP U  framer on the MT2 device  104  prior to being transmitted to the U m  interface, as indicated in step S 410 . If the packet is a TCP packet, the MT2 device  104 , progresses to step S 415 .  
         [0043]    In step S 415 , the MT2 device  104  determines whether the incoming packet is an uncompressed TCP packet. As previously noted, the arrival of an uncompressed TCP packet occurs during the initialization stage or the reset packet stage. If the packet is an uncompressed TCP packet then the MT2 device  104  saves the connection ID as indicated in step S 420 .  
         [0044]    In step S 422 , the MT2 device  104  determines whether all the U m  interface decompression slots are occupied, and thus, unable to decompress any more connections. Unlike the first embodiment, which incorporates decompression slots on the MT2 device  104  to accommodate compression slot IDs that exceed the U m  interface range of decompression slots, this embodiment first determines whether there exists any unoccupied U m interface decompression slots (i.e., slots on the IWF  108 ). If there exists unoccupied U m  decompression slots, the MT2 device  104  maps the connection ID to one of the unoccupied U m  interface decompression slots. This embodiment, therefore, only institutes local decompression slots on the MT2 device  104  if all the U m  interface decompression slots are occupied.  
         [0045]    Hence, if in step S 422 , the U m  interface has not run out of slots, the MT2 device  104  then determines whether the packet&#39;s connection ID is greater than N, as indicated in step S 424 . If it is, the MT2 device  104 , in step S 426 , maps the packet&#39;s connection ID to a free U m  interface decompression slot in order to accommodate the subsequent decompression of the packet by the IWF  108 . The MT2 device  104  then changes the packet&#39;s connection ID to the mapped U m  decompression slot ID and registers that U m  slot ID as being occupied, in steps S 428  and S 432 , respectively. The MT2 device  104  subsequently routes the packet to the PPP U  framer before transmitting the packet across the U m  interface, as indicated in step S 410 .  
         [0046]    If, in step S 424 , the packet&#39;s connection ID is not greater than N, the MT2 device  104  progresses to step S 430 , where it checks to see if that U m  compression slot is available. If that slot is available, the MT2 device  104  registers the U m  slot ID as being occupied and subsequently routes the packet to the PPP U  framer, as indicated by steps S 432  and S 410 , respectively. If that slot is not available, the MT2 device  104  progresses to step S 426 .  
         [0047]    Returning to step S 422 , if the U m  interface has run out of slots to accommodate the decompression of the packet with the compression slot ID, the MT2 device  104  advances to steps S 434  and S 436 , where it respectively maps the compression slot ID from the R m  interface to a local decompression slot ID and sets up the local decompression slot on the on the MT2 device  104 . As stated above with respect to the first embodiment, the setup for the local decompression slot is feasible because the header information is exposed in the uncompressed TCP packet. In step S 438 , the MT2 device  104  changes the protocol field of the PPP packet to the IP protocol (as well as changes the protocol field in the IP header to the connection ID and calculates the IP header checksum) and then sends the packet to the PPP U  framer of step S 410 . By changing the protocol field and transmitting the uncompressed IP packet, the MT2 device  104  ensures that the U m  will not attempt to uncompress the packet and will simply forward the packet, in accordance with the IP protocol.  
         [0048]    In an effort to save memory on the MT2 device  104 , it may be desirable to restrict the number of local decompression slots. As such, an optimization technique may be employed to recycle the local decompression slot on the MT2 device  104 . One such optimization technique is the “least recently used” algorithm whereby local decompression slots that are reserved for particular R m  compression slot IDs, but are seldom used, are reclaimed and mapped to service other compression slot IDs. It is important to note that such a technique may impact the throughput of the reclaimed connection.  
         [0049]    Returning to step S 415 , if the packet is a compressed TCP packet, the MT2 device  104  then progresses to step S 440 , where it determines whether the packet contains a connection ID. If so, the MT2 device  104  advances to step S 442 , where it checks to see whether the connection ID corresponds to a local decompression slot on the MT2 device  104 . If the memory optimization techniques used in step S 434  are employed (e.g., least recently used algorithm), the determination of step S 442  may require checking existing mappings to investigate whether the ID corresponds to a local decompression slot.  
         [0050]    If the decompression slot is local, the MT2 device  104 , in step S 450 , decompresses the packet and routes the packet to the PPP U  framer of step S 410 . If the decompression slot is not local, the MT2 device  104 , in step S 444 , checks to see whether it has seen this connection ID before. If the MT2 device  104  has not seen this connection ID before, it discards the packet, in step S 456 , because it will not be recognized by the IWF  108 . If, on the other hand, it has seen the connection ID before, the MT2 device  104 , in step S 446 , saves the connection ID and then proceeds to check, in step S 448 , whether the connection ID has been mapped to a different decompression slot on the U m  interface (see, for example, steps S 426  and S 428 ). If it has, the MT2 device  104  changes the connection ID to the mapped U m  slot ID and subsequently routes the packet to the PPP U  framer, as indicated by steps S 458  and S 410 , respectively. If the connection ID has been not been mapped, the MT2 device  104  simply routes the packet to the PPP U  framer of step S 410 .  
         [0051]    Returning to step S 440 , if there does not exist a connection ID in the packet, the MT2 device  104  progresses to step S 452 , where it checks to see whether the it saved a value for the last connection ID. If the MT2 device  104  does not have such a value, it discards the packet, in step S 456 . If MT2 device  104  does have a value for the last connection ID, it determines, in step S 454 , whether this value corresponds to a local decompression slot on the MT2 device  104 . If it does, the MT2 device  104 , in step S 450 , decompresses the packet accordingly, and routes the packet to the PPP U  framer of step S 410 . If the last connection ID does not correspond to a local decompression slot on the MT2 device  104 , the MT2 device proceeds to step S 448 , where it checks to see whether the connection ID has been mapped to a different decompression slot on the U m  interface (see, for example, steps S 426  and S 428 ). If it has, the MT2 device  104  changes the connection ID to the mapped U m  slot ID and subsequently routes the packet to the PPP U  framer, as indicated by steps S 458  and S 410 , respectively. If the connection ID has been not been mapped, the MT2 device  104  simply routes the packet to the PPP U  framer of step S 410 .  
         [0052]    Thus, this embodiment first attempts to accommodate TCP packets with R m  compression slot IDs that exceed U m  interface decompression slots, by mapping such compression slots to an unoccupied U m  decompression slot. If all U m  decompression slots are occupied, this embodiment institutes local decompression slots on the MT2 device and even recycles these slots if needed, to decompress, by proxy, the TCP packets with the exceeding compression slot IDs. As such, this embodiment, provides a system and method that efficiently and intelligently applies PPP header compression techniques. By doing so, this embodiment minimizes the retransmission of packets having compression slot IDs greater than the highest-numbered decompression slot or the loss of such packets. In addition, this embodiment allows the MT2 device to avoid maintaining such a state while the number of slots is the same on both sides.  
         [0053]    The processes associated with the presented embodiments may be stored in any storage device, such as, for example, non-volatile memory, an optical disk, magnetic tape, or magnetic disk. Furthermore, the processes may be programmed when the system is manufactured or via a computer-readable medium at a later date. Such a medium may include any of the forms listed above with respect to storage devices and may further include, for example, a carrier wave modulated, or otherwise manipulated, to convey instructions that can be read, demodulated/decoded and executed by the system.  
         [0054]    The foregoing description of preferred embodiments of the present invention provides illustration and description, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible consistent with the above teachings or may be acquired from practice of the invention. Accordingly, the scope of the invention is defined by the claims and their equivalents.