Abstract:
A data compression control method allows sharing of a common data compression entity by a plurality of SNDCP entities belonging to different SNDCP layers operating with LLC unacknowledged mode traffic. In particular, utilizing V.42bis compression, sharing is achieved by re-initializing a common V.42bis compression entity from a currently assigned SNDCP entity with compression parameters associated with currently assigned SNDCP entity. Advantageously, the method includes resetting a shared V.42bis compression entity using the C-INIT primitive before an N-PDU is sent. Similarly, in data decompression, a common decompression entity is made available to a plurality of SNDCP entities operating with unacknowledged mode data traffic. Employing the invention in a node offering data compression/decompression reduces the amount of resources used for data compression/decompression.

Description:
FIELD OF THE INVENTION  
         [0001]    The present invention relates to the use of V.42bis data compression entities in a telecommunication system, and particularly to a method of sharing a common V.42bis data compression entity by a plurality of SNDCP entities.  
           [0002]    The problem Areas  
           [0003]    In a digital mobile telecommunication system, herein exemplified by GPRS, the serving node, e.g. SGSN, typically is capable of handling a large number of concurrent calls or mobile stations (MS). The memory capacity of the serving node can be a limiting factor of the total node traffic when handling data compression, e.g. V.42bis compression. In particular, compression, such as V.42bis compression within the SNDCP layer of a SGSN, will consume memory for each established compression entity, and, hence, also for each tree which is allocated within its respective compression entity.  
           [0004]    Referring to the accompanying FIG. 1 illustrating the situation by way of example by referring to GPRS, the SNDCP layer is identified in its correct environment within the GPRS layer structure, showing also the protocol stack used for the payload. For example, IP-packets may constitute the payload.  
           [0005]    Referring again to the accompanying FIG. 1 illustrating the situation by way of example by referring to GPRS, it should be noted that one SNDCP layer in the SGSN is connected to one SNDCP layer in the mobile station (MS). Hence, as will be understood by a skilled person in the relevant arts, to handle multiple mobile stations, multiple SGSN protocol stacks may exist in a SGSN.  
           [0006]    Furthermore, with reference to FIG. 1 illustrating the situation by way of example by referring to GPRS, it should be noted that a SNDCP layer associated with one mobile station might comprise one or more SNDCP entities. That is, a mobile station may be connected within the SNDCP layer by more than one connection, which is also handled by the SNDCP layer. Further more, a SNDCP entity handles one of the connections within the SNDCP layer. An example of such a multiple SNDCP connection is depicted in the accompanying FIG. 4.  
           [0007]    Known Solutions and Problems with These  
           [0008]    A know solution according to what has been described above, is disclosed through the ETSI standard 04.65 SNDCP, section 6.6, “data compression”, which among other things states that:  
           [0009]    “Data compression is an optional SNDCP feature. Data compression applies to both SN-DATA and SN-UNITDATA primitives. Data compression, if used, shall be found on the entire N-PDU, including the possibly compressed protocol control information. FIG. 8 (of the standard, attached hereto as FIG. 3) shows an example of how the SNDCP functions may be used. Several NSAPIs may use a common data compression entity, that is, the same compression algorithm and the same dictionary. Separate data compression entities shall be used for acknowledged (SN-DATA) and acknowledged (SN-UNITDATA) data transfer. Several NSAPIs may be associated with one SAPI, that is, they may use the same QoS profile.” Accordingly, a V.42bis entity, and, hence, one tree, is allocated for each SNDCP entity or SAPI for acknowledged mode, using large amounts of memory for each SNDCP connection to the mobile.  
           [0010]    It will be recognized by a person skilled in the relevant arts that data packets are multiplexed in SNDCP. In a GPRS system, for example, IP packets arriving from the Internet, typically referred to as N-PDUs, are received in the SGSN on numbered NSAPIs (network layer service access point identifiers) belonging to a SNDCP layer. Next, SNDCP delivers SN-PDUs on SAPIs (service point access identifiers) to a LLC layer situated below the SNDCP layer.  
           [0011]    As for the example above, but in the opposite direction, for packets travelling from the mobile station and arriving at the SGSN, LLC packet data, typically referred to as SN-PDUs, containing SNDCP PDU segments, are received on the SAPI. Next, these are assembled into a complete N-PDU and sent to towards the Internet.  
           [0012]    Now, with reference to FIG. 4, some of the functions that SNDCP shall perform are as follows:  
           [0013]    a) Mapping of SN-DATA primitives onto LL-DATA primitives.  
           [0014]    b) Mapping of SN-UNITDATA primitives into LL-UNITDATA primitives.  
           [0015]    c) Multiplexing of N-PDUs from one or several network layer entities onto the appropriate LLC connection.  
           [0016]    d) Establishment, re-establishment and release of acknowledged peer-to-peer LLC operation.  
           [0017]    e) Supplementing the LLC layer in maintaining data integrity for acknowledged peer-to-peer LLC operation by buffering and retransmission of N-PDUs.  
           [0018]    f) Management of delivery sequence for each NSAPI, independently.  
           [0019]    g) Compression of redundant protocol control information (for example, TCP/IP header) at the transmitting entity and the compression at the receiving entity. The compression method is specific to the particular network layer or transport layer protocols in use.  
           [0020]    h) Compression of redundant user data at the transmitting entity and decompression at the receiving entity. Data compression is performed independently for each SAPI, and may be performed independently for each is PDP context in a GPRS system. Compression parameters are negotiated between the MS and the SGSN.  
           [0021]    i) Segmentation and re-assembly. The output of a compressor function is segmented to the maximum length of LL-PDU. These procedures are independent of the particular network layer protocol in use.  
           [0022]    j) Negotiation of the XID parameters between peer SNDCP entities using XID exchange.  
           [0023]    Now, referring to the accompanying FIG. 4, the flow through the SNDCP layer of a node will be explained. In the transmit direction, the order of functions are the following:  
           [0024]    i. Protocol control information compression  
           [0025]    ii. User data compression  
           [0026]    iii. Segmentation of compressed information into SN-data or SN-unit data PDUs.  
           [0027]    Referring again to the accompanying FIG. 4, in the reception flow, through the SNDCP layer of a node the order of functions are as follows:  
           [0028]    iv. Reassembly of SN-PDUs to N-PDU&#39;s  
           [0029]    v. User data decompression  
           [0030]    vi. Protocol control information decompression  
           [0031]    In the following, a simplified description of SNDCP-V.42bis communication and operation for LLC unacknowledged mode in an exemplary GPRS system is provided. During call set-up, SNDCP may or may not negotiate compression parameters with a message sent from the mobile station (MS) to a serving GRPS support node (SGSN), or from a SGSN to the MS. The message sent for this purpose is often referred to as an XID-command, to which the other participating side respond by a XID-response. Normally, both the MS and the SGSN will check that enough memory is available in the respective portions of the system for the compression entity, which contains both an expander and a compressor function, before an agreement is made with the other cooperating side to run compression. This can, for example, be done with a “Malloc” (memory allocation) before an XID-command or XID-response, respectively, is sent with compression parameters. At this stage in the call set up procedure, the SNDCP will, or may, send an initial C-INIT command to the data compressor and/or data expander, with the negotiated compression parameters. According to V.42bis, the compression trees, the expander for the received direction and the compressor for the transmitted direction are, due to this C-INIT message, configured according to the negotiated parameters. Particularly, for operation in acknowledged mode, in the received direction from the mobile, in the SGSN a complete SNDCP PDU with compressed data is gathered from possibly multiple SNDCP PDU segments, before sending compressed data to the data expandor with a C-DATA message. In turn, the expandor returns data, but not necessarily all data corresponding to the compressed data which was received. SNDCP will, therefore, order a flushing of data to the expandor with the C-FLUSH message, to get the remaining data from the expandor, which remaining data the data expandor returns with a C-data message. Thereafter, according to the standard procedure for acknowledged mode, the compression entity is re-initialised by the SNDCP entity with a C-INIT message with the same compression parameters to make the expansion tree forget the “previous” handling of the data. The reason for this action is that LLC, in acknowledged mode, may lose SNDCP PDUs or segments of the SNDCP PDU, and it is up to the higher layers above the SNDCP protocol to retransmit data (for example by way of TCP). The data expandor may, therefore, not have retained enough knowledge of the previous SNDCP PDU for an acknowledged mode, since a complete SNDCP PDU may be lost, for example on the “air” interface for the mobile station (MS). In the transmit direction, e.g. from a SGSN to a mobile station (MS), for unacknowledged mode, a complete SNDCP NPDU with uncompressed data is sent to the data compressor with a C-DATA message. In turn, the data compressor returns data, but not necessarily all data corresponding to the uncompressed data which was provided to the data compressor. SNDCP will, therefore, order a flushing of data to the data compressor with the C-FLUSH message to get the remaining data from the compressor, which remaining data the data compressor returns with a C-DATA message. Thereafter, according to the standard for unacknowledged mode, the compression entity is re-initialised with a C-INIT message with the same compression parameters to make the compression tree forget the “previous” handling. The reason for this action is that the LLC in acknowledge mode may lose SNDCP PDUs or segments of the SNDCP PDU, and it is up to the higher layer protocols, typically situated above the SNDCP protocol, to retransmit data (for example by way of TCP). The data compressor may, therefore, not have retained sufficient knowledge of the previous SNDCP PDU for unacknowledged mode, since a complete SNDCP PDU may be lost, for example on the “air” interface to the mobile station (MS).  
         OBJECTS OF THE INVENTION  
         [0032]    It is an object of the present invention to provide a solution for improved data compression resource utilisation in a digital telecommunication system.  
         BRIEF DISCLOSURE OF THE INVENTION  
         [0033]    The invention provides a method of sharing a data compressor entity in a digital communication system, as recited in the accompanying independent patent claim  1 .  
           [0034]    Further advantageous features of the invention are recited in the accompanying dependent patent claims. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0035]    [0035]FIG. 1 is a schematic drawing illustrating a transmission plane view of a typical layered structure of a modem digital mobile communication system;  
         [0036]    [0036]FIG. 2 is a schematic drawing illustrating an exemplary representation of multiplexing of different protocols in the system as illustrated in FIG. 1;  
         [0037]    [0037]FIG. 3 is a schematic exemplary illustration of usage of NSAPIs, SNDCP functions and SAPIs;  
         [0038]    [0038]FIG. 4 is a schematic drawing illustrating compression processing for acknowledged mode and unacknowledged mode within the SNDCP layer of a node of an exemplary GPRS system; and  
         [0039]    [0039]FIG. 5 is a schematic drawing illustrating an exemplary multiplayer SNDCP arrangement employing a common compression entity of the invention. Layer  0  is shown in the example to include a plurality of SNDCP entities. 
     
    
     DETAILED DESCRIPTION OF EMBODIMENTS  
       [0040]    In the following, the invention will be explained by way of example and with reference to the accompanying drawings. In an exemplary GPRS system employing V.42 bis data compression, one V.42 bis data compression function entity suited within the serving node (SGSN) allocates on a processor a memory region sufficient to handle the maximum sized compression tree. All SNDCP connections to different MS&#39;s and all their SNDCP entities using LLC unacknowledged mode traffic type reuse the common V.42 bis entity and, therefore, the common V.42 bis tree(s) within this particular V.42 bis entity. For LLC unacknowledged mode, the compression tree is reset after each N-PDU is handled anyway by SNDCP entities. According to the invention the common V.42 bis entity can therefore, dependent of what has been negotiated by the SNDCP entity, in addition be initialised/pre-reset by the SNDCP entity with specific compression parameters using the C-INIT message before each N-PDU. In this way, all SNDCP connections may reuse one common V.42 bis entity and the common compression memory allocated tree with the entity for all SNDCP entity connections in a non-pre-empted, interrupted inhibited or none-interrupted environment for unacknowledged mode. It should be noted that the common V.42 bis entity and respective V.42 bis memory region is shared by all unacknowledged SNDCP entity connections within the same MS, or unacknowledged SNDCP entity connections to different MSs.  
         [0041]    The size of the common tree is logically limited to the maximum sizes of SGSN compression parameters supported. If less memory is needed, then only part of the common compression tree memory is used.  
         [0042]    Referring to FIG. 4, the SNDCP protocol is shown in its correct environments, with the common compression tree for LLC unacknowledged mode included. It should be noted that the SNDCP layer exists for each attached mobile. Accordingly, thousands such may exist at any given point in time. The common tree for unacknowledged mode is shared by all SNDCP entities and all SNDCP layers.  
         [0043]    In the following referring to a GPRS digital mobile communication system, the invention will be explained by way of example referring to SNDCP V.42 bis communication and operation for LLC unacknowledged mode.  
         [0044]    During call setup, SNDCP of a node may, or may not, negotiate compression parameters with a message sent from the MS to SGSN, or from SGSN to MS. The message sent for this purpose is referred to as a XID command, to which the other side will respond with an XID response.  
         [0045]    The MS and the SGSN will both normally check that enough memory is available in the respective portions of the system for the compression entity, which typically comprises an expandor as well compressor functions, before agreement is made with the other side to run compression. For example, this can be done with a “malloc” (memory allocation) before the XID command and/or response is sent with compression parameters.  
         [0046]    At this stage in the call set-op procedure, the SNDCP will, or may, send an initial C-INIT command to the data compressor and/or expandor with negotiated compression parameters.  
         [0047]    According to V.42bis the compression trees the expandor for the receive direction and the compressor for the transmit direction, respectively, are due to the C-INIT message configured according to the negotiated parameters.  
         [0048]    At reception of an assembled PDU received from the mobile (see FIG. 4), the compression entity is re-initialised according to the invention by the SNDCP entity with the C-INIT message with SNDCP entity specific compression parameters (see description in a previous section) in order to make the expansion tree forget the “previous action” and relate to negotiated parameters of this particular SNDCP. The reason for this is that the LLC in unacknowledged mode may lose SNDCP PDUs or segments of the SNDCP PDU, and it is up to higher layer protocols, such as for example TCP, situated above the SNDCP protocol layer to effect retransmission of data. The data expandor may, therefore, not have retained sufficient knowledge about the previous SNDCP PDU for unacknowledged mode, since even a complete SNDCP PDU may be lost on the “air” interface from the mobile. Then, for the unacknowledged mode, in the receive direction from the mobile, a complete SNDCP PDU with compressed data is gathered from possibly multiple SNDCP PDU segments before being sent to the data expandor with a C-DATA message. As a result, the expandor returns data, but not necessarily all data corresponding to the compressed data received. SNDCP will therefore order a flushing of data to the expandor with the C-FLUSH message in order to get the remaining data from the expander, which the data the expandor then will return with a C-DATA message. (An additional C-INIT message may also be sent simply to be compliant with the existing standard.)  
         [0049]    In the transmit direction to the mobile (see FIG. 4), the compression entity is re-initialised, according to the invention for unacknowledged mode, with the C-INIT message with SNDCP entity specific compression parameters in order to make the compression tree forget the “previous action” and relate to this SNDCP entities negotiated parameters. The reason for this is that LLC in unacknowledged mode may lose SNDCP PDUs or segments of the SNDCP PDU, and it is up to higher layer protocols, like for example TCP, situated above SNDCP protocol layer, to effect retransmission of data. The data compressor may therefore not have retained sufficient knowledge about the previous SNDCP PDU for unacknowledged mode, since a complete SNDCP PDU may by lost on the “air” interface to the mobile. Then, for the unacknowledged mode, in the transmit direction to the mobile, a complete SNDCP PDU with uncompressed data is sent to the data compressor with a C-DATA message. Consequently, the compressor returns data, but not necessarily all data corresponding to the uncompressed data received. SNDCP will, therefore, order to the compressor, with the C-FLUSH message, a flushing of data in order to get the remaining data from the compressor, which the data compressor then will return with a C-DATA message. (An additional C-INIT message may also be sent again simply to be compliant with the existing standard.)  
         [0050]    In the following will be explained how the invention relates to the ETSI standard 04.65 SNDCP.  
         [0051]    The following is a quote from the above reference standard:  
         [0052]    6.6 Data Compression.  
         [0053]    Data compression is an optional SNDCP feature. Data compression applies to both SN-DATA and SN-UNITDATA primitives.  
         [0054]    Data compression, if used, shall be performed on the entire N-PDU—including the possibly compressed protocol control information. FIG. 8 (of the standard) shows an example how the SNDCP functions may be used. Several NSAPIs may use a common data compression entity, i.e., the same compression algorithm and the same dictionary. Separate data compression entities shall be used for unacknowledged (SN-DATA) and unacknowledged (SN-UNITDATA) data transfer. Several NSAPIs may be associated with one SAPI, i.e., they may use the same QoS profile.  
         [0055]    According to the reference quoted above, NSAPIs apparently can already reuse a common compression entity, as it is specified that the entity is related to the compression algorithm and the same dictionary. However, each SNDCP layer has zero, one or more data compression algorithms per SNDCP layer, and there is one SNDCP layer for each mobile. The present invention allows several NSAPIs on the same, or different, SNDCP layers using unacknowledged mode to use a common data compression entity with different, or the same, algorithms on the same physical compression dictionary. That is, the standard should be updated with the present invention, to state that the compression algorithms of en entity can be re-initialised for unacknowledged mode. Hence, it can be made backwards compatible.  
         [0056]    Referring to the above quoted section 6.6 of the ETSI standard 04.65 SNDCP, the present invention could be incorporated by changing the standard as follows:  
         [0057]    6.6 Data compression.  
         [0058]    Data compression is an optional SNDCP feature. Data compression applies to both SN-DATA and SN-UNITDATA primitives.  
         [0059]    Data compression, if used, shall be performed on the entire N-PDU, including the possibly compressed protocol control information.  
         [0060]    [0060]FIG. 8 (of the standard) shows an example how the SNDCP functions may be used. Several NSAPIs may use a common data compression entity, that is, the same compression algorithm and the same dictionary.  
         [0061]    For unacknowledged mode, several NSAPIs from different SNDCP layers may use a common data compression entity by re-initialising it with different compression parameters, that is, different compression algorithms and on the same dictionary. Separate data compression entities shall be used for acknowledged (SN-DATA) and unacknowledged (SN-UNITDATA) data transfer. Several NSAPIs may be associated with one SAPI, that is, they may use the same QoS profile.  
         [0062]    Furthermore, the present invention is related to the ETSI standard 04.65 SNDCP, as follows:  
         [0063]    From the above-identified ETSI standard is quoted as follows:  
         [0064]    6.6.2.3 Operation of V.42 bis data compression.  
         [0065]    When V.42 bis is used with SN-UNITDATA primitives, the data in the compression entity shall be flushed (using the C-FLUSH primitive and then the compression entity shall be reset, after an N-PDU is sent. The LLC protocol shall operate in the protected mode of operation.  
         [0066]    According to the above quoted section 6.6.2.3, the V.42 bis entity must be reset after a N-PDU is sent for unacknowledged mode by the SNDCP entity. The C-INIT primitive, used to reset the compression function, can be sent before the data is provided to the V.42 bis entity, and the C-INIT primitive may contain the connection specific compression parameters for each SNDCP entity. That is, the present invention may be incorporated in the standard preferably by updating the standard to state that the compression entity should be reset before use. Hence, it can be made backwards compatible.  
         [0067]    According to what is stated above, incorporation in the above quoted section 6.6.2.3 of the ETSI standard 0.4.65 SNDCP as follows:  
         [0068]    6.6.2.3 Operation of the V.42 bis standard compression.  
         [0069]    . . .  
         [0070]    When the V.42 bis is used with SN-UNITDATA primitives, the data in the compression entity shall be flushed (using the C-FLUSH primitive), and then the compression entity shall be reset, with C-INIT, before and/or after and N-PDU is sent. The LLC protocol shall operate in the protected mode of operation.  
         [0071]    . . .  
         [0072]    The invention also is related to section 6.10 of the ETSI standard 04.65 SNDCP. Relevant to the above identified standard is section 6.10 as quoted in the following:  
         [0073]    6.10 Possible combinations of SNDCP protocol functions and their connection to service access points.  
         [0074]    The following combination of SNDCP protocol functions are allowed:  
         [0075]    . . .  
         [0076]    one data compression entity shall be connected to one SAPI,  
         [0077]    Referring to the above quoted section 6.10, the V.42 bis entity (data compression entity) must be connected to only one SAPI which in solutions known prior to the present invention, may be seen as logical. However, considering the present invention this is no longer the case. Considering the present invention, the invention may be incorporated in the above-identified standard by updating the standard to state that the compression entity for unacknowledged mode may be connected to multiple SAPIs. Hence, it will be backwards compatible.  
         [0078]    Incorporating the present invention in the ETSI standard 04.65 SNDCP can be made by changing section 6.10 of the standard as follows:  
         [0079]    6.10 Possible combinations of SNDCP protocol functions and their connection to service access points.  
         [0080]    The following combinations of SNDCP protocol functions are allowed:  
         [0081]    . . .  
         [0082]    one data compression entity shall be connected to one SAPI for acknowledge mode.  
         [0083]    One data compression entity shall be connected to one or more SAPIs for unacknowledged mode.  
         [0084]    Advantages  
         [0085]    The method of the invention obviates a high demand on memory for unacknowledged mode SNDCP traffic regardless of SAPI in a digital mobile communication arrangement.  
         [0086]    Broadening  
         [0087]    Although the present invention has been explained with reference to release 97 of the GPRS standard, the invention is not limited by this specific release. The invention also applies to later releases of said standard where the SNDCP layer exists at the Gb-interface and where the V.42 bis compression or other similar data compression exists.  
         [0088]    Although the invention is explained with reference to a SGSN in GPRS system, the invention applies equally well to mobile stations (MS). That is, traffic may use the same data compression tree for unacknowledged mode in a non-preemted environment regardless of SAPI.  
         [0089]    During e.g start-up of a processor in a node, or during the making of the 1 st  SNDCP layer on a processor in a node, which processor is handling the SNDCP layers, the common compression entity for unacknowledged mode (ref FIG. 5) traffic can be created/installed. This can e.g. be done by means of a function written in the “C” language and defined like this: “extern int Sndcp_v42bis_install_common_comp_entity_for_unack(void)”. When this function is executed in the processor, memory needed for the common compression entity is allocated, and standard V.42bis variables which are to be used by the common compression entity are ready for initialisation. Typically, in known systems, and in contrast to the method of the invention, the creation of a compression entity is done much later during the handling of XID commands and responses.  
         [0090]    The common compression entity which is created and installed on the node processor as described by way of example above, typically provides the normal functions for handling the standard messages like C-INIT, C-DATA etc. These functions can also e.g. be defined to be accessible as globally available functions (“extern”), such that all SNDCP layers associated with the processor of the node (i.e. handled by the node processor) can access the common functions that handle the reception of C-INIT, C-DATA and FLUSH commands in the common compression entity. Accordingly, the function of the common compression entity can be accessed from all SNDCP layers by such an “extern” definition.  
         [0091]    At the time of XID negotiation, the mode (acknowledged or unacknowledged) of the LLC layer, which is to be running in either acknowledged or unacknowledged mode, is known, and the SNDCP layer at this time exists along with the previously created/installed common compression entity, which is to be used for unacknowledged mode. The SNDCP management Entity (Ref FIG. 5) for each SNDCP layer, which management entity performs the XID negotiation handling, will for unacknowledged mode negotiate compression parameters lower than or equal to the maximum size for the common compression entity. Accordingly, the maximum size for compression parameters can be set to specific maximum values, such as e.g. P1=2048 and P2=20, for the common compression entity. This means that the memory allocated in the “Sndcp_v42bis_install_common_comp_entity_for_unack” function at any time is large enough and sufficient to handle the later incoming traffic, which is to be compressed or decompressed.  
         [0092]    During SNDCP entity handling of a (N- or SN-) PDU to be compressed or to be decompressed, the unacknowledged or acknowledged mode is known in the SNDCP entity. The “extern” functions in and provided by the common compression entity (which handles reception of C-INIT, C-DATA and FLUSH messages) on the associated processor shall be called if a PDU which is under processing is related to unacknowledged mode operation.  
         [0093]    The method described in the foregoing paragraphs under the heading “broadening” can equally well be applied for allowing the use of a common compression entity for each SAPI (typically the maximum SAPI number limit is set to 4 according to the present standard). Accordingly, a node processor system utilising the invention may include as many common compression entities as there are SAPIs.