WO2024251668A1 - Procédé d'obtention d'un ensemble de règles de compression d'un paquet de données transmis dans un réseau - Google Patents
Procédé d'obtention d'un ensemble de règles de compression d'un paquet de données transmis dans un réseau Download PDFInfo
- Publication number
- WO2024251668A1 WO2024251668A1 PCT/EP2024/065211 EP2024065211W WO2024251668A1 WO 2024251668 A1 WO2024251668 A1 WO 2024251668A1 EP 2024065211 W EP2024065211 W EP 2024065211W WO 2024251668 A1 WO2024251668 A1 WO 2024251668A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- compression
- rule
- rules
- value
- field
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6052—Synchronisation of encoder and decoder
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6064—Selection of Compressor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
Definitions
- the technical field is that of data compression and decompression. More specifically, the invention relates to a method for obtaining a set of compression rules capable of compressing a data packet transmitted in a network. It will be seen below that the set of compression rules obtained according to the method of the invention will be used during a compression phase of a data packet transmitted in a network.
- Modern digital telecommunications operate on the principle of exchanging data packets between transmitters and receivers using protocols such as the IP protocol (acronym for Internet Protocol).
- a set of data packets relating to a communication is sent by the transmitter to a receiver.
- the packets contain the address of the receiver so that they can be addressed to it using different routing algorithms, and the content of the communication is reconstructed by the receiver by grouping the data contained in the different packets.
- many protocols must be used, each of which fulfills a role from the physical sending of bits, atomic elements constituting digital data, to the interpretation of data for computer applications. Bits are traditionally grouped into bytes, sets of eight bits.
- the different protocols are traditionally seen as being organized into layers, with a protocol from one layer relying on a protocol from a lower layer.
- the OSI model Open Systems Interconnection
- the Internet model describe the articulation of the various protocols between different layers.
- the HTTP protocol (from the English Hypertext Transfer Protocol) is a protocol of the Application layer, which allows to transfer data to or from a website.
- the data to be transferred is organized in data packets.
- the HTTP protocol uses the TCP protocol (from the English Transmission Control Protocol) which belongs to the Transport layer, for example to request the transfer of data packets representing the content of a website to a user.
- the TCP protocol for example, works in three phases: the establishment of a connection, the transfer of data, and the end of the connection.
- the protocols of the Transport layer will use a protocol of the Network layer, generally the Internet Protocol (IP) protocol in one of its versions IPv4 or Ipv6.
- IP Internet Protocol
- This protocol is only interested in the transmission of data organized in packets from one address to another, without taking into account the establishment of the connection or the order of arrival of the data packets forming a transmission, these considerations being managed by the protocol of the upper Transport layer.
- the IP protocol will use a protocol of the Link layer, for example the Ethernet protocol which will organize the sending of the elementary data constituting the packet, these elementary data being bits, transmitted using the layer Physical, whether using an optical fiber transmission, or by wireless communication depending on the case.
- Other protocols of the Application layer will use other protocols of the lower layers to carry out their functions.
- the CoAP protocol from the English Constrained Application Protocol
- UDP protocol from the English User Datagram Protocol
- a common point to all protocols on all layers is the organization of the data exchanged in data packets.
- a data packet is organized in two parts: a first part is the header of the packet which groups together the information necessary for the protocol which is responsible for processing the packet; a second part is the payload which groups the data carried in the packet itself.
- Packet headers include fields.
- a field is a continuous set of bits of a fixed or variable length. When a field is of variable length, mechanisms are used to determine the length of the field actually transmitted.
- a field has an identifier that indicates the nature of the value that is present in the field.
- the values present in the field are used by the protocol concerned to process the packet appropriately. For example, in the header of an IP packet, a field whose identifier is Version will contain the version number of the protocol used. The size of this field is four bits.
- Other fields concern, for example, the source and destination IP addresses of the packet.
- a header is therefore naturally divided into several sections, namely the header fields.
- the payload of the packet can also be divided into several sections, for example by defining sections of a constant length expressed in number of bits.
- a packet analysis tool such as Wireshark or tcpdump can be used to capture and analyze data packets.
- the analysis makes it possible to separate a data packet exchanged on a network between its header and the payload, and to read the information included in the header and the data included in the payload and to identify the various sections of a packet, both in its header and in its payload.
- the typical header of a packet will consist of multiple concatenated headers, one for each encapsulated protocol. For example, an Ethernet frame encapsulating an IP packet will start with the IP header, followed by the UDP header. The fields of the IP packet will therefore be followed in the frame by the fields of the UDP packet.
- a first example of a protocol compressing the values of the header fields of data packets is the ROHC protocol (acronym for Robust Header Compression) which is defined by the IETF (Internet Engineering Task Force) standardization body in the RFC (Request For Comments, specification documents at the base of the Internet) document number 3095.
- the basic idea of this protocol is that certain values of the fields of the headers of the packets forming the same communication will not change from one communication to another. For example, the values of the source and destination address fields will remain the same during a communication.
- the data exchanged by these objects is often very small in size, and may be limited to signaling that the object is still active, or the object may want to send back a single value, such as a temperature for a thermometer, or a water level for a water meter.
- the size of the headers of the data packets proportionally to the size of the payload will therefore be proportionally larger in the context of LPWANs than in other contexts. There is therefore a need for efficient compression of data packets which, in the context of LPWANs, will focus on compressing the values of the header fields.
- the SCHC protocol (acronym for Static Context Header Compression), defined by the IETF in the RFC 8724 was designed to be used in the context of LPWANs.
- compression rules For a given context, for example a type of connected object deployed in a given network, compression rules will be defined. These rules group together operations that can be applied to the values of the fields in the packet headers. These operations can be of three types, all based on the idea that the values of certain fields, or part of the values, can be erased before transmission and then reconstructed on reception: • A first type of compression operation is erasure: the value of the field is read and will be erased by the compression module if the value is indeed the expected one. The compression module is for example located in the connected object. The erased value will be inserted on reception by the decompression module which is located in the gateway and which has the same rules as the compression module.
- This type of operation is suitable for fields that take a constant value, such as the Version field of IP packets. If the field takes a value other than the expected one, the operation does not apply, the compression rule is ignored, and another rule will possibly be used or the value of the field may be transmitted unchanged.
- a second type of compression operation uses a dictionary: a dictionary is constructed for some values of the field and if the value of the field is in the dictionary, the compression module will replace the value of the field by its index in the dictionary. The decompression module uses the dictionary to replace the index by the deleted value.
- a field value outside the dictionary can be transmitted unchanged if no rule applies.
- a third type of operation consists of the deletion of the prefix: the value of the field is a sequence of bits, and a more or less long prefix can be defined in a compression operation. If the value has this prefix, the prefix will be deleted during compression and inserted during decompression, or the value will be transmitted unchanged if the prefix is not recognized by the operation. For reasons of completion, a fourth type of operation is defined which consists of ignoring the value of the field and transmitting it as is. Other combinations are possible, as well as other compression/decompression actions, for example to process variable length fields. A set of compression rules will then be defined for a given deployment context.
- compression rules can be defined for a gateway managing an LPWAN network and for all the equipment connected to this network and to the Internet via the gateway.
- the set of rules will then be able to process in compression and decompression all the data packets that are exchanged in the LPWAN network, the compression being limited to the values of the header fields.
- the SCHC protocol makes it possible to determine which compression rule applies when a data packet circulates in the network.
- each compression rule present in the set is defined for a given header format of packet and will consist of a set of operations to be applied to the values of the fields of the header of a packet that respects the format.
- Several rules can cover the same data packet header format.
- compression rules will be defined for the format of IP packets encapsulating a UDP packet, and these rules will include operations for all the fields of an IP packet header followed by a UDP packet header.
- a compression rule is part of a set of rules and has a rule identifier. The set of rules will seek to cover all the possible formats of data packet headers that can be exchanged in a given context.
- the SCHC compression/decompression protocol is applied by a compression module that will process a packet before sending it to a decompression module.
- the compression and decompression modules have the same set of rules, defined for a given context. The protocol will consist, when a data packet must be processed by the compression module, in browsing the set of rules available to the compression module in order to retain one or more rules.
- a rule does not match the format of the fields in the header of the processed packet, the rule is not retained. If the format of the fields matches, it is necessary to examine whether the values of the fields correspond to all the matching operators provided in the rule. If this is not the case, the rule is again not retained. If no rule in the set matches, the packet is sent without processing. In all cases, the payload of the packet is not processed by the SCHC protocol.
- packet compression limited to the compression of the values of the header fields will still be effective, because the size of the fields is heads is proportionally large.
- the interest of the operation which consists of ignoring the value of the field and transmitting it as is.
- This operation makes it possible to ensure that a rule can actually be applied to all the fields of a given header: for the fields which are easy to compress, an efficient compression operation will be defined, and for the other fields the operation which does nothing will serve as completion. Finally, several rules can be retained for which the format of the fields on the one hand and the values of the fields on the other hand correspond.
- One rule is then chosen, and only one, for example the first encountered in the rule set, or chosen randomly, at the choice of the SCHC protocol implementation.
- the operations provided in the rule are applied by the compression module to the values of the fields in the packet header. Then the packet is transmitted with its compressed header values, as well as the identifier of the rule that was applied.
- the decompression module receives the packet whose header values have been compressed; uses the identifier of the rule to find the operations that have been applied; and applies the symmetric decompression operations. For example, if, for a value of a field, the compression operation used a dictionary, the decompression module will use the transmitted index value to replace it with the value provided in the dictionary.
- the rule ID used for compression must be passed, along with some values (dictionary indexes), there will be a limit beyond which adding new compression rules in a given context will no longer be interesting because the possible gain brought by the additional rule is exceeded by the transmission cost induced by the increase in the size of the rule identifier as new rules are added. For example, beyond eight rules, the transmitted rule identifier will be encoded on three bits instead of two.
- the expert therefore builds a set of rules that will be deployed, for example attached to compression and decompression modules embedded in a set of connected objects and a corresponding gateway, to implement the SCHC protocol.
- the SCHC protocol was initially designed in the context of LPWANs but it could be used in other contexts, such as home networks, or for the compression of frame headers Ethernet.
- the compression operations of the SCHC protocol could also be applied to sections of the payload of a data packet and not only to the header.
- the deployment of the SCHC protocol is slowed down by the need to create new rules for each context of use. This situation means that easily accessible compression potentials are not used.
- the invention relates to a method for obtaining a set of compression rules for a data packet transmitted in a network, the packet comprising sections taking respective values expressed in the form of a sequence of bits, the packet being capable of being compressed by applying compression rules capable of removing bits from a value taken by a section of the packet, the method comprising, for several given packet sections, obtaining a potential of compression for a given section, relative to the values taken by the given section in the packets belonging to a set of data packets, called a learning set, followed by obtaining the set of compression rules based on the compression potentials obtained. Thanks to the invention, a set of compression rules relevant in terms of compression is automatically created.
- the compression rules comprise compression operations that apply to values taken by sections of data packets.
- the compression rules of the set obtained can be applied to the data packets transmitted in the network in order to achieve effective and efficient compression of the transmitted data packets.
- the advantage of the invention is that the compression rules can change automatically when the transmission context changes and remain effective. This makes it possible to facilitate the deployment of compression protocols and to use them in many contexts, including dynamic contexts.
- quantities called compression potentials are obtained from a set of packets, called a learning set. This learning set is representative of the expected traffic, which will have to be compressed by the set of compression rules obtained. We will see below that Obtaining compression potentials allows identifying the most promising sections for compression in this representative set and thus to guide the creation of compression rules.
- the section of the data packet to the value of which a compression operation is applied is a field of a header of the data packet.
- the section of the data packet to the value of which a compression operation is applied is a field of a header of the data packet. previous modes, the section of the data packet to the value of which a compression is a predefined delimitation of the data packet load.
- the fields of a header are themselves sections defined beforehand since the structure of the header, and therefore its delimitation into several fields, is defined by the protocol, or the stack of protocols, to which the transmitted data packet belongs.
- the data packet to which said at least one compression operation has been applied is transmitted jointly with the data representative of the compression rule to which belongs to said compression operation.
- the data packet is transmitted jointly with the data representative of the compression rule that has been applied to it. This joint transmission will facilitate the subsequent decompression operation that will be applied to the data packet, by ensuring that, when a data packet is transmitted, it is transmitted with the information that makes it possible to know the compression operation that has been applied to it.
- the transmitted data packet is formed by concatenating data representative of a compression rule, said data being an identifier of the compression rule consisting of a sequence of bits, with the data packet to which at least one compression operation belonging to said compression rule that belongs to a set of compression rules obtained by learning has been applied.
- a precise format of the compressed data packet is defined that will facilitate the transmission thereof.
- the transmitted data packet is a new data packet formed by concatenating a compression rule identifier, namely a sequence of bits, with the original data packet to which the compression rule has been applied.
- obtaining the set of compression rules comprises implementing a reinforcement learning algorithm. Reinforcement learning, unlike supervised learning, does not require any expert intervention. The technical effect obtained is therefore that compression rules can be obtained automatically in order to achieve the compression of data packets transmitted in the network.
- a first advantage is that compression rules can be obtained at low cost and quickly since this obtaining does not involve an expert.
- Another advantage is that the compression rules can change automatically when the transmission context changes and remain effective.
- the reinforcement learning algorithm implemented in obtaining the set of compression rules uses as a learning set the so-called learning set, formed of data packets collected beforehand; implements an environment that includes the so-called learning set and the set of compression rules; and the change of state in the reinforcement learning algorithm includes adding a new rule to the set of compression rules.
- the invention relies in this embodiment on the use of a learning algorithm, the invention requires using a training set that must be defined beforehand. This training set is a set of data packets for which the learning algorithm will seek to produce a set of compression rules that compresses it as best as possible.
- This training set is the so-called training set that is used to obtain the compression potentials of a given section of a packet according to the values taken by the given section in the packets of the so-called training set. It is clear that the training will be all the more relevant as the training set is representative of the expected traffic whose data packets must be compressed. If the training set is too small, in particular, the training will not be able to obtain a set of compression rules that are effective in all cases, because examples of traffic that could have been compressed are not present in the training set.
- Reinforcement learning consists in evolving the set of compression rules that is learned, in an environment comprising the training set that the set of compression rules must compress. This evolution is done by adding a new rule to the set of compression rules.
- the reinforcement learning algorithm comprises a reward function that is calculated according to the compression of the packets of the training set by the compression rules belonging to the set of compression rules. It is advantageous for several parameters of the reinforcement learning algorithm to be defined in order to be able to execute it. Reinforcement learning consists of making an actor evolve, here the set of compression rules that we learn, in an environment, here the union of the set of rules and the training set, and to guide the actor's evolutions thanks to a reward function.
- the reward function is the compression carried out by the set of compression rules on the packets of the training set.
- the change of state is the addition of a rule to the set of rules; the reward function will come to penalize if this addition of rule is relevant or not and allows the set of compression rules to evolve towards better compression.
- the advantage of this mode is therefore to specify how to execute a reinforcement learning algorithm to learn a set of compression rules and how to choose relevant parameters of the reinforcement learning to obtain good compression of the packets of the training set by the set of rules resulting from the training.
- the training of a set of compression rules is carried out from an initial set consisting of a single rule not carrying out any compression.
- the starting point is a rule set consisting of a single rule applying to all packets in the collected training set. This set ensures that from the start, the set of rules will apply to the entire training set even if the initial rule does not perform compression on the section values of the packets in the training set.
- the set of compression rules evolves so as to ensure that, for all packets in the training set, there is a rule in the set of compression rules that can apply, which is indeed the case with this single rule performing no compression.
- the advantage of this embodiment is that it does not require the intervention of any expert to define the initial set of compression rules that is subjected to the learning algorithm.
- the learning of a set of compression rules is carried out from an initial set comprising a compression rule provided by an expert.
- the advantage of this embodiment is to allow an expert to ensure that a rule that seems very useful to him is indeed present in the set of compression rules. By placing it from the start of the learning, we obtain this result. The rest of the learning algorithm can be done by reinforcement, therefore without subsequent intervention by the expert. We therefore obtain here a mixed mode where the intervention of the expert is limited.
- the management method comprises the following steps executed when obtaining the compression rule set: • a step of selecting a rule belonging to the set of compression rules using at least one compression potential among those obtained; • a step of creating a new rule from the selected rule using at least one compression potential among those obtained; • adding the new rule to the set of compression rules; and, furthermore, said steps are iterated, until a stopping criterion is satisfied, using at the next iteration the set of rules modified by the addition of the new rule. Thanks to this embodiment, the obtaining of a set of compression rules is guided efficiently. Indeed, the obtaining can work by randomly performing state changes that will be retained or not according to a reward function.
- the compression performed by the set of rules on the so-called training set is calculated and the obtaining stops when the compression no longer progresses. This will happen for example when all the values of the sections of the packets of the so-called training set are compressed. In this case, it is no longer possible to add a compression operation.
- the compression performed by the new set may be less than the compression performed by the previous set because it must be taken into account that the compression rules must be identified, and that the size of the index of the added rule may be larger than the compression performed by this rule.
- This mode makes it possible to ensure that the size of the set of rules obtained always remains below a certain size, which is advantageous in a context where one wants to save resources and where one wants to ensure that the indexes of the compression rules can be encoded with a limited number of bits (from two to four for example).
- This embodiment is particularly advantageous when the set of compression rules obtained by the method is used by equipment with limited memory capacities, which will only be able to memorize a limited number of compression rules for data sent or received.
- the two modes can be combined, namely that the learning continues as long as the compression carried out by the set of rules progresses unless a predefined maximum size is reached.
- the logarithms are necessarily negative or zero since the frequencies are worth 1 at most.
- the negations make the entropy estimator necessarily positive.
- the entropy estimator can therefore be worth at least zero. This is the case when the given section presents a single value in the so-called learning set. The frequency of appearance of this single value is therefore worth 1; and the logarithm is worth 0.
- the entropy estimator will always be less than the length of the section expressed in bits. If a delimited section, or a field, takes a large number of different values, and therefore if its entropy estimator increases, then the length of the section expressed in bits that is necessary to encode this large number of different values will also increase and will always remain greater than the entropy estimator.
- the quantity called the field compression potential is therefore always positive and will be maximal for a given section when its entropy estimator is zero. This happens when the section takes a single value in the so-called learning set and we easily understand that a section that takes a single value will be easy to compress. All we have to do is erase this value!
- the field compression potential decreases as the entropy estimator increases. If a section with a zero entropy estimator appears only a few times in the training set, or if the length of the section is small, another section with a higher entropy estimator but which appears more often, or whose length is greater, may be more interesting to compress than the section with a zero entropy estimator.
- the compression potential of the field takes into account the number of times the section appears as well as its length.
- the field compression potential therefore makes it possible to effectively guide the obtaining algorithm by indicating the sections of the learning set whose compression will yield the most according to the reward function which is given by the compression carried out, said sections possibly being header fields of the packets or delimited sections of the packet payload.
- the field compression potential is calculated according to the formula in which ⁇ + ⁇ ⁇ is a strictly positive constant. This embodiment provides a variant for obtaining a field compression potential. In this formula, the potential is indeed maximal when the entropy estimator is zero.
- the positive constant ensures the definition of the field compression potential in this case.
- This variant is suitable for the case where the section is of fixed length.
- the field compression potential is called corrected compression potential and is calculated for a given section by multiplying the field compression potential by a factor of ⁇ ⁇ correction ⁇ ⁇ where N is the number of times the section appears in the set called number of different values that the section takes in the so-called learning set; and ⁇ , ⁇ and ⁇ are chosen positive coefficients.
- N is the number of times the section appears in the set called number of different values that the section takes in the so-called learning set
- ⁇ , ⁇ and ⁇ are chosen positive coefficients.
- the field compression potential guides the obtaining algorithm but has the following defect: when a section has different values distributed uniformly, the entropy estimator increases too slowly as new values are observed in the so-called learning set.
- the coefficients ⁇ , ⁇ and ⁇ are preferably positive to ensure that the correction factor changes the compression potential in the desired direction.
- the idea is that a section that presents all different values must be disadvantaged compared to a section presenting an observation that seems less random.
- the positive coefficients ⁇ , ⁇ and ⁇ are chosen to take constant values.
- the correction factor will then cancel the field compression potential 1 for this section.
- the correction factor is 1 ⁇ and the corrected ⁇ correction potential is therefore reduced compared to the initial value of the field correction potential, but is ultimately very little reduced.
- Other constant values can of course be taken to refine the correction provided by the correction factor.
- the field compression potential being non-zero, the obtaining algorithm can in certain contexts add one or more compression rules relating to the section.
- the positive coefficients ⁇ , ⁇ and ⁇ are chosen according to K and N.
- This embodiment is constructed according to the same model as that seen previously for the potential of field compression, and using the same quantities, a compression potential adapted to the values that a given section takes in the training set, knowing that a section can be a field of a packet header or a delimited section of a packet payload. It can be noted that this value compression potential is expressed according to the length of the value and is therefore adapted to a section of variable length. A value of short length but which appears frequently may have a higher compression potential than a longer value but which appears less frequently. This potential will also guide the creation of compression rules by indicating the values which are to be compressed as a priority.
- the effective length of the value taken by the section is taken into account and can compensate for a lower frequency of occurrence.
- the frequency of occurrence of a value is strictly positive and is worth 1 at most.
- the partial entropy estimator of a value will therefore also be positive and will be worth 0 for a value that happens to be the unique value taken by a section in the so-called learning set and which would then have a frequency of occurrence that would be worth 1.
- the partial entropy estimator of a value will always be strictly less than 1.
- the compression potential of a value will therefore always be positive and will be maximal for a value that would be the unique value observed for a given section and will be minimal for the value that is observed least often in this section in the so-called learning set.
- the value compression potential is calculated according to the formula ⁇ in which ⁇ is a strictly positive constant. With this embodiment, an alternative formula is given for calculating a value compression potential.
- one of the compression potentials obtained is called a field bit compression potential and is calculated for a rank ⁇ of a given section, the ranks ⁇ varying from 0 to ⁇ ⁇ 1, L being the minimum length of the values taken by the section in the learning set, said length L being expressed in number of bits, and said quantity is calculated according to the formula 1 ⁇ ⁇ ( ⁇ ⁇ ),
- this quantity is calculated for a section which can be a header field or a delimited load section, and the term “field bit compression potential” is retained because it is used, in many embodiments, to apply to a header field.
- the principle is again to note frequencies of appearance, here the frequencies of the bit values 0 or 1 for a given rank of the section. If this frequency is 1, this means that, for a given rank, it is always the same bit value which appears, and the entropy estimator will then be minimal and will be worth 0 by convention.
- the field bit compression potential for this rank will then be 1, and this is the maximum value that this quantity can take.
- the logarithm to base 2 is -1 and the entropy estimator is equal to 1, which gives a field bit compression potential for this rank that will be equal to 0, which is the minimum value that this quantity can take.
- the base 2 logarithms are equal to -2 and -0.415 respectively.
- the step of selecting a rule belonging to the set of compression rules comprises the partition of the so-called learning set into subsets attributed to a rule of the set of compression rules; the calculation of a compression potential for the rules of the set of compression rules and the selection of the rule according to its compression potential, the compression potential of a rule being calculated from field compression potentials calculated on the subset of the so-called learning set attributed to the compression rule.
- the field compression potentials are used to select a rule from the set of compression rules that is being obtained.
- the so-called training set is partitioned by assigning to a given rule the subset for which the rule performs the best compression.
- the field compression potentials are calculated for the fields not compressed by the rule in question and then added together for all the packets in the so-called training set.
- the obtaining will seek to improve a rule that applies to more headers than another and will also avoid recreating rules that have already been created.
- the starting point of the obtaining algorithm being a set formed by a single rule that applies to all values (ignoring them) and that does not compress, this rule will be initially selected during the first iteration of the algorithm.
- a rule will then be created from this initial rule, which will for example erase a value that occurs frequently for a field.
- the rule created will therefore be the one that achieves the best compression for packets with this value, since it erases it, while the initial rule does nothing.
- the compression potential of the rule is then calculated by taking into account the erasure achieved for this value.
- the initial rule, which does nothing, may be selected later because it has a certain compression potential for packets that do not have the value erased by the created rule.
- the calculation of a compression potential for a rule is carried out by adding the field compression potentials for the remaining sections of the identified subset.
- the calculation of a compression potential for a rule is carried out by retaining the maximum of the field compression potentials for the remaining sections of the identified subset. In this mode, rather than carrying out an addition of the field compression potentials, the rule which presents a maximum is retained. This calculation variant can be more efficient in calculation operation, and faster, while providing good guidance for the obtaining algorithm.
- the step of selecting a rule belonging to the compression rule set is performed by randomly drawing a rule from the set of compression rules.
- This embodiment provides an alternative to the embodiment that consists of calculating a compression potential for each rule.
- the advantage of this embodiment is to provide an alternative that is simpler to perform.
- the step of creating a new rule from the selected rule is performed by creating one or more candidate rules and retaining a rule from among the candidate rules created according to the effectiveness of the compression performed by this rule on packets from the training set. Thanks to this last embodiment, the obtaining is indeed guided by a reward function linked to the compression performed by the set of compression rules that is being obtained.
- a rule is selected, from which one or more candidate rules will be created, and it is indeed the rule that performs the most effective compression that is added to the set of compression rules.
- the step of creating a new rule from the selected rule is carried out in choosing a section according to its field compression potential and creating candidate rules formed by adding to the selected rule a compression operation applying to the values taken by the section.
- an obtaining algorithm is defined, which allows to create compression rules from a selected rule while being guided by the compression potentials.
- one or more candidate rules are created, first by selecting a section according to its field compression potential and then adding to the selected rule a compression operation that applies to the values taken by the section in question.
- a compression operation consists of erasing a complete value or a portion of a section when the section takes a value specified in the operation. The erased value may be replaced by a dictionary index.
- Knowledge of the applied compression rule may make it possible to reconstruct the value(s) (or portions of values) erased by the operation(s) included in the applied compression rule. The most effective rule among the candidate rules will be retained.
- a compression operation added to the selected rule is an operation value erasure, the value being chosen according to the value compression potentials of the values taken by the selected section.
- a first candidate rule is created, which adds a very efficient compression operation, namely the deletion of a value.
- the value is chosen thanks to the value compression potentials, which we have seen take into account the potentially variable length of the values taken by the section.
- a compression operation added to the selected rule is an operation of replacing a value taken by the selected section by an index of a dictionary in which, if the selected rule already includes, for the selected section, an operation of replacing a value by an index of a dictionary, the value whose value compression potential is the highest is added to the dictionary; otherwise, a dictionary is created comprising the two values whose value compression potential is the highest.
- another type of candidate rule is created, or improved, which consists of replacing a value by a dictionary index.
- a compression operation added to the selected rule is an operation of prefix erasure up to a rank ⁇ , the rank ⁇ being determined by multiplying together the potentials of field bit compression of the chosen section starting from rank 0 to the maximum rank, until the product is less than a given threshold, for example as soon as the product becomes strictly less than 1.
- another kind of candidate rule is created which consists in erasing the prefixes of the values taken by a given section.
- the field bit compression potentials make it possible to detect prefixes common to many values. Thanks to all of these embodiments, an obtaining algorithm is defined, which makes it possible to create compression rules from a selected rule while being guided by the compression potentials.
- the algorithm can create candidate rules at each step, each rule being able to correspond to a compression operation among the main operations defined by the SCHC protocol.
- To create the candidate rules the obtaining algorithm begins by selecting the section whose field compression potential is the strongest.
- the candidate rules created will apply to one or more values of this section.
- a first candidate rule consists of adding a value deletion operation to the selected rule.
- the deleted value is simply the one whose value compression potential is the higher, which is not necessarily the most frequent value in the case of a section at length variable.
- a second rule consists of adding a value replacement operation by a dictionary index to the selected rule. If the selected rule already includes a dictionary index replacement operation for this section, the modification will consist of adding a new dictionary reference for the value with the highest compression potential. Otherwise, the modification will create a dictionary index replacement operation; and since this operation only makes sense for at least two values, the dictionary created will include the two values with the highest value compression potentials.
- a third rule consists of adding a bit prefix deletion operation. To define the rule, it is important to decide up to which rank to delete the bit prefix. For this, we use the field bit compression potentials. If a bit compression potential is 1 for a given rank, this means that the values for this rank all have the same bit 0 or 1.
- the algorithm consists of choosing to stop when a given threshold is crossed by the product. If the values for the first two ranks, for example, all have the same bit, the product of the bit compression potentials will be 1. If the next rank has a frequency of 0.5 for bits 0 and 1, the bit compression potential for this rank is zero, and the product will cancel. The passage of the product under a threshold is therefore obvious, and the rule created will indeed erase the prefix for the first two ranks and not for the third.
- the algorithm will only create candidate rules for erasing the prefix for prefixes which take the same value expressed in sequences of bits up to the rank for which the product is less than 1.
- candidate rules would be created randomly
- the compression rule set will be limited in size because the most efficient compression rules will be created first to be added to the compression rule set.
- a predefined order is applied to choose the candidate rule to be added in the event of equality between the compressions performed by candidate rules.
- the predefined order to choose the candidate rule consists in favoring the candidate rule performing a value deletion, then the candidate rule performing a replacement by a dictionary index, then the candidate rule performing a prefix deletion. Thanks to these embodiments, a predefined order makes it possible to ensure that a choice will be made between the candidate rules in the event of equality of the compression performed by these rules.
- candidate rules are created by randomly adding or modifying a compression operation to the selected rule. With this mode, a variant of the algorithm is proposed that does not use guidance by compression potentials.
- the so-called learning set is separated into several subsets of data packets, the packets grouped in a subset all having the same header format corresponding to a stack of protocols, and characterized in that the obtaining of a set of compression rules is applied separately to the subsets of the so-called learning set before grouping the sets of rules obtained for the subsets into a single set of rules.
- the invention relates to a method for managing the transmission of a data packet in a network, the packet comprising sections taking respective values, characterized in that it comprises the following steps: • first obtaining a set of compression rules comprising compression operations which can be applied to the values taken by the sections of said data packet; • applying at least one compression operation to a section value of said data packet, said operation being included in a compression rule belonging to said set of compression rules obtained; • transmitting said data packet and a data item representative of the compression rule to which said operation belongs; • receiving said data packet and said representative data item; • applying to said data packet at least one symmetrical decompression operation of the at least one compression operation applied to a section value of said data packet.
- a complete transmission of the data packet is carried out, by transmitting the compressed data packet.
- Obtaining the compression rules makes it possible to make the method automatic, without expert intervention.
- Transmitting the data representative of the compression rule that was applied to the transmitted packet makes it possible to find this rule and therefore the compression operations included in the rule, and to restore the original packet by applying the symmetrical decompression operations.
- a compressed packet has therefore been transmitted instead of the original packet, which allows very significant savings in terms of hardware and energy resources. Since the compression rules are obtained automatically, there is no need to involve an expert, which makes it very easy to deploy the efficient transmission according to the invention.
- the method further comprises a preliminary step of collecting transmitted packets in the network to form a so-called learning set used during the step of obtaining a set of compression rules and a step of synchronised deployment in the nodes of the network of the set of compression rules obtained.
- the transmission of packets in the network is done by taking into account the packets actually transmitted.
- the preliminary obtaining of the set of compression rules generally uses a so-called learning set. This can be provided by an expert, or generated automatically according to predefined constraints. But the preferred embodiment is the one where the so-called learning set is collected among the packets transmitted in the network.
- the obtaining is then done with a so-called learning set directly representative of the packet traffic in the network and the compression rules obtained will therefore be much more suitable.
- the set of compression rules Once the set of compression rules is obtained, it must be deployed in the nodes of the network in a synchronized manner so that a node that receives a compressed packet, and the data representative of the compression rule used, can find this rule and apply the symmetric decompression operation.
- the method can be implemented permanently.
- the collection of data packets used to form the so-called learning set is permanent and makes it possible to capture context changes in the ongoing transmission of packets.
- a first set of compression rules can already be deployed and, if the context changes, for example if the IP addresses of the network nodes change, the compression rules become ineffective.
- the collected packets make it possible to restart obtaining the compression rules with a new so-called learning set, and the deployment of a new set of compression rules then makes it possible to adapt to the new context, and to perform effective compressions again.
- the deployment must be synchronized in order to ensure that the node receiving a compressed packet knows the compression rule that has been applied in order to be able to perform the symmetric decompression operation to restore the data packet.
- the compression rules of the set of compression rules obtained, the compression operations included in said compression rules, and the symmetric decompression operations are compression and decompression rules and operations as defined in the SCHC protocol. Thanks to this embodiment, the SCHC protocol can be deployed in dynamic contexts.
- the invention relates to an entity for managing the obtaining of a set of compression rules capable of compressing a data packet transmitted in a network, the packet comprising sections taking respective values expressed in the form of a sequence of bits, the packet being capable of being compressed by applying compression rules capable of removing bits from a value taken by a section of the packet, characterized in that the management entity comprises the following modules: a module for obtaining a compression potential for a given section, relative to the values taken by the given section in the packets belonging to a set of data packets, called the learning set; • a module for obtaining the set of compression rules according to the compression potentials obtained.
- the invention relates to a data packet formed by concatenating data representative of a compression rule, said data being an identifier of the compression rule consisting of a sequence of bits, with a data packet to which at least one compression operation belonging to said compression rule which belongs to a set of compression rules obtained by the method has been applied.
- the invention relates to network equipment comprising an entity for managing the obtaining of a set of compression rules according to the invention.
- the invention relates to a system for managing the transmission of a data packet in a network, the packet comprising sections taking respective values, characterized in that the system comprises the following modules: • a module for previously obtaining a set of compression rules comprising compression operations which can be applied to the values taken by the sections of a data packet; • a module for applying at least one compression operation to a section value of a data packet, said operation being included in a compression rule belonging to a set of compression rules obtained; • a module for transmitting a data packet to which a compression operation has been applied and a data item representative of a compression rule to which said compression operation belongs; • a module for receiving a data packet and a data item representative of a compression rule; • a module for applying to a data packet a symmetrical decompression operation of a compression operation applied to a section value of said data packet.
- the transmission management system further comprises: • a module for collecting transmitted data packets in the network to form a so-called learning set used by a module for obtaining a set of compression rules; • a module for synchronised deployment in the nodes of the network of a set of compression rules obtained.
- the data carriers may be any entity or device capable of storing the programs.
- the carriers may comprise a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a magnetic recording means such as a hard disk.
- the carriers may be transmissible media such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means.
- the programs according to the invention may in particular be downloaded from a network such as the Internet.
- the information carrier may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method in question.
- FIG 2 represents an example of obtaining a set of compression rules by implementing a learning algorithm.
- Figure 2 is subdivided into four sub-figures 2.A, 2.B, 2.C and 2.D, corresponding to four learning steps.
- FIG 3 represents an example of calculating field compression potentials explaining the interest in using a corrected field compression potential.
- FIG 4 represents an example of calculating value compression potentials explaining the difference between a compression potential of a value and its frequency of occurrence.
- FIG 5 represents an example of a data packet transmission system according to the invention, showing the deployment of such a system in a network comprising a gateway and two terminals.
- FIG 6 represents another example of a data packet transmission system according to the invention, showing the deployment of such a system in a network comprising two routers.
- Detailed description Figure 1 shows an entity 300 for obtaining a set RS of compression rules as well as a entity for managing the compression 100 of a data packet P transmitted in a network NET and an entity for managing the decompression 200 of a data packet P.
- the entity 300 for obtaining a set RS of compression rules comprises a module 301 for obtaining a compression potential PC relative to the values taken by the sections of data packets belonging to a set E of data packets, a so-called learning set, as well as a module APP for obtaining the set RS of compression rules as a function of the compression potentials PC obtained.
- the module APP implements a learning algorithm in order to obtain the set RS of compression rules.
- the examples presented in FIG. 1 and the following figures correspond to these exemplary embodiments in which a learning algorithm is implemented.
- the learning algorithm uses a learning set which is the so-called set of learning.
- FIG. 1 describes two entities for managing the compression 100 and the decompression 200 of a data packet P in order to illustrate the use of the set RS of compression rules obtained by the implementation of the method by the obtaining entity 300.
- the two entities for managing the compression 100 and the decompression 200 belong to the same network NET which is a communication network using protocols for transmitting data packets P.
- NET which is a communication network using protocols for transmitting data packets P.
- the compression management entity 100 comprises a module 101 for applying at least one compression operation to a section value of a data packet P, said operation being included in a compression rule belonging to a set of compression rules RS, said set RS being obtained by learning.
- the compression management entity 100 comprises a module 102 for transmitting a data packet. P to which at least one compression operation has been applied and a data representative of the compression rule to which said operation belongs.
- the decompression management entity 200 comprises a module 201 for receiving a data packet P to which at least one compression operation has been applied to a section value of said packet P, said operation being included in a compression rule belonging to a set of compression rules.
- compression RS said RS set being obtained by learning, and of a data item representing the compression rule to which said operation belongs.
- the decompression management entity 200 comprises a module 202 for applying to a data packet P at least one symmetrical decompression operation of a compression operation applied to a section value of said packet P.
- the transmission of the data packet P by the module 102, and the reception of the same packet P by the module 201, is represented by an arrow connecting the module 102 to the module 201, labeled by the packet P.
- the transmission and reception of the data item representing the compression rule applied to the packet P are not represented in FIG. 1.
- the data packet P and the representative data are transmitted and received jointly.
- the decompression management entity 200 Since the compression management entity 100 and the decompression management entity 200 have the same set of compression rules RS obtained, the decompression management entity 200 will be able to use the data representative of the compression rule applied to the packet P to find it. It is then easy to determine the symmetrical decompression operation.
- the module 202 for applying a symmetrical decompression operation then makes it possible to restore the data packet P as it was before the application of a compression operation.
- the data packet P has therefore been transmitted in the network after application to the values taken by the sections of the packet P of one or more compression operations by the compression management entity 100.
- the transmission of the packet P once compressed makes it possible to achieve significant savings in energy and material resources.
- the packet P is then restored by the decompression management entity 200 for later use.
- the values are specified as a sequence of 8 bits, and we see that they are differentiated by the prefix.
- the values are specified as a sequence of 8 bits, but here, unlike the values of the C4 field, these four values have an identical prefix on the first 6 bits.
- the frequencies of occurrence are presented as a percentage in Figure 2.A and following, but, for the calculations to follow, the frequencies are strictly positive quantities, less than or equal to 1.
- a percentage of 100% corresponds to a quantity of 1; a percentage of 80% to 0.8; a percentage of 25% to 0.25 and a percentage of 10% to 0.1. It is possible to calculate PCC field compression potentials for the four fields C1, C2, C3 and C4.
- the reinforcement learning algorithm of the compression rule set RS begins with the selection of a rule from the set RS. Since the set RS includes only rule R0 at this stage, it is this rule R0 which will be selected. We will see in the later stages how the selection can be made when there are multiple rules in the RS compression rule set. From the rule R0, several candidate rules will be created in the example embodiment presented here.
- the first step to create the candidate rules consists in our example in choosing a field among the fields C1, C2, C3, C4.
- the embodiment of the learning algorithm uses the field compression potentials PCC(C1), PCCC(C2), PCC(C3) and PCC(C4).
- the algorithm will here choose a section using the field compression potentials for all the sections whose taken values are to be compressed.
- This calculation of the field compression potentials PCC must take into account the compressions carried out by the compression rules present in the set of compression rules RS.
- a possible embodiment is to perform a partition of the learning set E according to the rules of compression of the RS set, and to calculate the PCC field compression potentials for each rule of the RS set using the subsets of the training set E assigned to each rule. At this initial stage, only the rule R0, which does not perform any compression, is present.
- the calculation of the field compression potentials PCC is therefore the one presented above.
- the field compression potential PCC(C1) is the largest among the four potentials PCC(C1), PCC(C2), PCC(C3) and PCC(C4), it is this field C1 that will be chosen to create the candidate rules from the selected rule R0.
- three candidate rules will be created, corresponding to the addition to the selected rule R0 of three possible compression operations on the values taken by the field C1 in the packets of the training set E.
- the first candidate rule created consists of the addition of an erasure operation.
- value compression potentials PCV are calculated.
- the second candidate rule created consists of adding a replacement operation by an index of a dictionary.
- the added operation consists replace this unique value ⁇ 1 1 by a dictionary index. Since the dictionary in question would be used for a single value, it would only include a single bit.
- the third candidate rule created consists of adding an operation to erase the prefixes common to the values taken by the field.
- the added operation consists of erasing the value itself, since all the prefix bits are obviously common for this single value.
- the next step of the learning algorithm will consist of retaining a rule among the candidate rules created to add it to the set of compression rules RS.
- the reward function used in our embodiment is the compression performed by the candidate rules on the packets of the training set E.
- the first candidate rule would perform the deletion of the value ⁇ 1 1 taken by the C1 field. As this field has a length of 8 bits, and the value ⁇ 1 1 appears in the packets from the training set E (its frequency of occurrence ⁇ 1 1 is 100%), the compression achieved by this candidate rule is 8*10000, or 80000 bits.
- the second candidate rule would achieve the replacement of the value ⁇ 1 1 taken by field C1 by an index of a dictionary.
- the compression achieved by this rule for a packet would not be 8 bits, but only 7 bits. Multiplying by the 10,000 packets in the training set, the compression achieved by this candidate rule is 70,000 bits.
- the third candidate rule would perform the deletion of the prefix common to the values taken by the C1 field. Since the C1 field, in the training set E, only takes the value ⁇ 1 1, then all this value would be erased by the common prefix erasure operation. This third candidate rule therefore achieves the same compression as the first candidate rule, namely 80,000 bits.
- the chosen candidate rule is the one that achieves the best compression. In the event of a tie, a selection criterion can be defined.
- the erasure operation is favored over the index replacement operation, itself over the common prefix erasure operation. It is therefore this compression rule R1, noted ⁇ 1: [ ⁇ ⁇ ( ⁇ 1 1 )], which will be added to the RS set of compression rules.
- the notation ⁇ uses the acronym ns for not sent to indicate a value not transmitted.
- a compression rule is noted in our figures as a sequence of operations placed between brackets.
- the set of compression rules RS therefore includes two rules, the initial rule R0 and the rule R1 which has just been added to it. In the embodiment presented here, when an added rule applies to all the data packets in the training set to which the selected rule applies, then the selected rule is removed from the set of compression rules.
- the initial rule R0 which does not perform any compression, applies to all the packets in the training set E and this is also the case for the rule R1 which erases the value ⁇ 1 1 , since this value is taken by 100% of the fields C1 of the packets of the training set E.
- the initial rule R0 is therefore removed from the set RS, which is represented in Figure 2.A by the crossed-out box placed on it.
- Figure 2.B corresponds to the state S1 of learning, after the first step, and to the second step of reinforcement learning according to one embodiment.
- the training set E is not modified, and still includes 10000 packets, which include 4 fields C1, C2, C3, C4 of length L of 8 bits each.
- the set of compression rules RS being trained has been modified and now includes the rule R1 for erasing the value ⁇ 1 1 , rule noted ⁇ 1: [ ⁇ ⁇ ( ⁇ 1 1 )].
- This has an influence on the calculation of the PCC field compression potentials in our embodiment, and is represented in Figure 2.B by the square box crossing out the entire C1 field in the training set E.
- the calculation of the PCC field compression potentials uses the formula ⁇ ( ⁇ ⁇ ⁇ ), in which N is the number of times the field appears in the training set.
- the RS set only includes one rule R1 at this step S1, it is this rule R1 that is selected in our example.
- a field must be selected to create one or more candidate rules. In our embodiment, it is the field that has the highest PCC compression potential that is chosen, and it is therefore here the C2 field.
- three candidate rules will be created, adding to the R1 rule a compression operation on the selected C2 field. The first will be a value deletion operation, this value being chosen according to the value compression potentials. Since the C2 field is of fixed length, value compression potentials give the same rankings as the frequency of occurrence. The value will be the one that appears most frequently and therefore will be the value ⁇ 2 1 which appears with a frequency of 80%.
- the second candidate rule will consist of adding a dictionary operation. Since there is no dictionary operation for field C2, this is therefore a creation that will replace two values taken by field C2, namely the value ⁇ 2 1 , which has the highest value compression potential and one of the two values ⁇ 2 2 and ⁇ 2 3 , whose value compression potentials are equal. Let's say that the value ⁇ 2 2 randomly selected.
- the third candidate rule consists of adding a prefix operation, and it is assumed that the values taken by the C2 field are similar to those taken by the C3 field, and therefore do not have a common prefix.
- the next step of the learning algorithm will consist of selecting a rule from the candidate rules created to add it to the set of compression rules RS.
- the reward function used in our implementation is the compression performed by the candidate rules on the packets of the training set E.
- the first candidate rule performs the erasure of the value which has a length of 8 bits, and which appears in 8000 packets of the training set E.
- the compression achieved by this candidate rule is therefore 64000 bits.
- the second candidate rule achieves the replacement of the values ⁇ 2 1 and ⁇ 2 2 by an index of a dictionary, which must therefore use at least one bit.
- the second candidate rule therefore replaces a value of a length of 8 bits by an index of one bit. It therefore performs a compression of 7 bits for each packet where it is applied.
- this second rule is applied for 9000 packets, those for which the value of the C2 field is taken by ⁇ 2 1 or ⁇ 2 2 .
- the first candidate rule therefore achieves better compression than the second. It is assumed that the third candidate rule is not effective because the values taken by the C2 field do not have a common prefix. It is therefore the first candidate rule that will be retained and added to the set of compression rules RS, giving the rule R2.
- rule R1 applies to all the packets in the training set E, while the rule R2 only applies to the 8000 packets in the training set E in which the field C2 takes the value ⁇ 2 1 .
- rule R1 is not not deleted from the set RS of compression rules which will now include the two rules R1 and R2.
- the reinforcement learning algorithm will use a partition of the training set E by assigning subsets of the training set E to the compression rules of the set RS. As long as there was only one rule R0 then R1 in the set RS, this was not important.
- the learning algorithm will assign all packets of the selected rule to the created rule, and it is not necessary to keep the selected rule in the RS set of compression rules. If the created rule does not apply to all packets of the selected rule, the created rule is assigned the packets to which it applies and the created rule is kept in the RS set of compression rules and the residue of packets to which the created rule does not apply is assigned to it. This partition will allow us to refine the calculation of field compression potentials as we will see in the next steps. We again assume that a stopping criterion is not satisfied and will present the next step of the reinforcement learning algorithm.
- Figure 2.C corresponds to the state S2 of the learning, as obtained after the second step, and to the third step of the reinforcement learning according to one embodiment.
- the set RS of compression rules comprises two rules R1 and R2.
- the set RS of compression rules comprises two rules R1 and R2.
- one possible embodiment uses the calculation of field compression potentials PCC according to a partition of the training set E into subsets attributed to the rules R1 and R2.
- PCC field compression potentials
- the field compression potentials PCC(C1), PCC(C2), PCC(C3) and PCC(C4) are then calculated for the two subsets realizing the partition of the training set E, by applying to these packets the compression rule that has been assigned to them.
- field C1 whether in the 2000 packets assigned to rule R1 or the 8000 packets assigned to rule R2, the respective application of rules R1 and R2 will clear the value ⁇ 1 1 taken by the C1 field.
- the C1 field therefore does not appear in any packet of the two subsets, and magnitude N used in the formula for calculating the field compression potential PCC(C1) is therefore zero in both cases. In other words, whether for packets assigned to rule R1 or for those assigned to rule R2, the field compression potential PCC of field C1 is zero.
- the 8000 packets of the training set E that are assigned to it are those to which rule R2 applies, a rule that includes the compression operation consisting of erasing the value ⁇ 2 1 .
- the C2 field is therefore completely erased in the subset of packets assigned to rule R2.
- the C2 field does not appear in this subset and here we have a zero magnitude N and therefore a zero field compression potential PCC(C2).
- the two values for the field compression potential PCC(C2) are present in Figure 2.C, namely 14000 for the subset assigned to rule R1 and 0 for the subset assigned to rule R2.
- PCC(C3) and PCC(C4) we saw above that we assumed that the frequencies of appearance of the different values taken by the C3 and C4 fields are the same in the two sub-rules R1 and in rule R2.
- the field compression potentials PCC(C3) and PCC(C4) are 2000*(8-2), or 12000; whereas for rule R2, which was assigned to 8000 packets, the field compression potentials PCC(C3) and PCC(C4) are 8000*(8-2), or 48000.
- rule R2 would be selected.
- Another possible embodiment is to calculate the PCC field compression potential of a rule by taking the maximum of the PCC field compression potentials for this rule rather than by performing the sum. This embodiment also leads us to select rule R2. The creation of candidate rules will therefore be done from rule R2.
- the selection between fields C3 and C4 to decide which rules candidates will be created can be done randomly or by following another criterion, for example order of occurrence.
- field C3 is selected.
- Three candidate rules are then created by starting from rule R2 and adding a compression operation working on the values taken by field C3.
- the four values taken by field C3 are equiprobable and do not have common prefixes, as can be seen in Figure 2.C.
- the candidate rule consisting of deleting a common prefix will therefore have no compression efficiency.
- the compression achieved by the dictionary index replacement operation is also calculated for the 8000 packets to which rule R2 applies. Two values are replaced; that is, for half of the packets in question.
- the addition of an erasure operation would result in an erasure of a value of length 8 bits appearing in 2000 packets (a quarter of the 8000 packets assigned to R2), i.e. a compression of 16000 bits.
- the second candidate rule will be rule R2 to which is added a value replacement operation by a dictionary index.
- the compression achieved by the replacement operation by a dictionary index is calculated for the 8000 packets to which rule R2 applies. Two values are replaced; i.e. for half of the packets in question.
- the third candidate rule will be rule R2 to which is added an operation of erasing a common prefix.
- This candidate rule is an opportunity to illustrate the operation of the field bit compression potentials. These potentials are calculated for the 8 ranks numbered from 0 to 7, for the values taken by the C4 field in the relevant packets of the training set. These four values ⁇ 4 1 , ⁇ 4 2 , ⁇ 4 3 and ⁇ 4 4 are equiprobable and have the same value for the first 6 bits, which are all 1. The frequency of appearance of bit 1 at rank 0 is therefore 1, and conversely, the frequency of appearance of bit 0 at rank 0 is 0.
- This rule R3 is noted as follows: ⁇ 3: [ ⁇ ⁇ ( ⁇ 1 1) + ⁇ ⁇ ( ⁇ 2 1) + ⁇ ⁇ ⁇ ( ⁇ 4,6)], the acronym "msb" meaning most significant bits, that is to say the English term to indicate the prefix bits, C4 indicating that the rule applies to the values taken by the C4 field and 6, that the first 6 bits are concerned.
- the compression carried out by this candidate rule is the erasure of six bits of the values taken by the C4 field in the 8000 packets assigned to the R2 rule, since the common 6-bit prefix is present for the four values taken by the C4 field.
- step S2 as after step S2, other steps of the learning algorithm of the set of compression rules RS can take place which will add compression operations taking into consideration the remaining compression potentials to finally obtain an efficient compression of the training set E.
- step S2 as after step S2
- other steps of the learning algorithm of the set of compression rules RS can take place which will add compression operations taking into consideration the remaining compression potentials to finally obtain an efficient compression of the training set E.
- the stopping of the learning algorithm several possibilities exist.
- the first possibility consists in calculating the compression achieved by a new rule added to the set of compression rules RS and to add it and iterate the learning algorithm again only if the addition of this new rule improves the compression achieved on the packets of the training set.
- a single bit is sufficient to identify the compression rule used.
- two bits are required, and so on.
- this effect is retroactive, i.e. compression calculations that are performed when the RS set of compression rules comprises four rules, which can be designated by two bits, must be repeated for all compression rules when the RS set increases to five rules, which therefore requires that all rules be designated by at least three bits.
- Another possibility is to give a maximum size to the RS set of compression rules. For example, it may be decided to limit the size of the RS set to 8 compression rules, in order to ensure that compression rules used to compress data packet headers with only 3 bits can be identified.
- Figure 3 represents another example of a computational step of the learning algorithm by reinforcement that is implemented in this example of obtaining a set RS of rules of compression. This example illustrates the interest of calculating a field compression potential corrected by a factor.
- the sections of packets that we will seek to compress are the two fields C1 and C2.
- For field C2 on the other hand, it has a different value in the 100 packets of the training set E.
- the entropy estimator seeks, as its name suggests, to estimate the entropy that the values taken by the section seem to exhibit in light of the training set E.
- the compression of the C1 field will be done by a single value deletion rule taken by C1 in the training set E, i.e. a maximum compression of 200 bits.
- a defect of the entropy estimator, which appears in the example of Figure 3, is that this quantity grows at too low a rate even in the presence of maximum entropy. This is what we see in the field C2.
- the entropy taken by the values of the field C2 in the training set E is maximum, since here we have 100 different values for the 100 packets, the 100 values therefore have the same frequency of appearance, namely 1%, i.e. 0.01.
- CORR the correction factor
- the correction factor CORR is 1 – 1/100 or 0.99 and the corrected compression potential PCC(C1) * CORR is 198.
- the correction factor CORR is 1 – 100/100 or 0 and the corrected compression potential PCC(C2) * CORR is also cancelled.
- the correction factor CORR which is indicated in figure 3 by the line Corr
- the added rule R1’ will be that of erasing the unique value ⁇ 1 1 taken by the C1 field.
- the R0 rule can be removed from the training set because all packets processed by the R0 rule are also processed by R1’. This is indicated by the crossed-out box placed on the R0 rule in the definition of the RS compression rule set.
- the correction factor CORR is equal to ⁇ (1 ⁇ ⁇ ⁇ where N is the number of times the section appears in the training set; K is the ⁇ + number of different values the section takes in the training set; and ⁇ , ⁇ and ⁇ are chosen positive coefficients.
- N the number of times the section appears in the training set
- K the ⁇ + number of different values the section takes in the training set
- ⁇ , ⁇ and ⁇ are chosen positive coefficients.
- the section we are interested in is a field C, which happens to be of variable length.
- the field C takes three values V1, V2 and V3 in the training set E.
- PCV N * (L – H)
- H a partial entropy estimator which is the product of the frequency of occurrence of the value and its logarithm in base 2. Since the field C is of variable length, we must use the length of each value V1, V2 and V3 taken by the field C.
- Figure 4 gives the calculation of the three value compression potentials PCV(V1), PCV(V2) and PCV(V3) for the three values V1, V2 and V3.
- the greatest length L3 1000 bits makes this value more interesting to compress, for example by erasing it, than the other values, even if V3 is the value with the lowest frequency of occurrence.
- This simple calculation example shows that it is indeed the length of the value that can be erased by a compression operation that is the main determinant of the value compression potential, and therefore that it is indeed an effective compression potential that is used in the learning algorithm according to the invention and not simple frequencies of occurrence.
- the calculation example also shows the importance that the training set E reflects the actual traffic that must be compressed. With a very low frequency, a very long value will still be selected as having good compression potential. If the number of deployed compression rules is limited, and this very long value is ultimately almost never present, the compression rule that concerns it may end up taking the place of another compression rule that applies to a shorter but more frequent value, so that effective compressions will not be achieved due to the poor estimation of the frequencies in the training set E.
- Figure 5 represents a complete SYS system for transmitting data packets in a NET network that uses a set RS of compression rules obtained by a method according to the invention.
- the SYS system has an architecture where several network devices are found, namely a gateway GW and two terminals DVC1 and DVC2.
- the SYS transmission system according to the invention is formed of these three devices GW, DV1 and DVC2. These network devices are connected by the NET network. This can be, for example, a local network where the GW gateway allows DVC1, DVC2 terminals to access other wider networks, such as the Internet.
- the communication protocols between the GW, DVC1, DVC2 network devices can be of any type as long as they are based on the transmission of data packets P, P’.
- the NET network can therefore be a local home network using a WiFi communication link, or a network of deployment of LPWAN type connected objects using a LoRa communication link or any other link suitable for connected objects or a mobile network
- the GW gateway is a base station and the DVC1, DVC2 terminals are mobile terminals.
- the GW gateway comprises a compression management entity 100; a decompression management entity 200; as well as an obtaining entity 300 (not shown in the figure) which comprises a module 301 for obtaining a compression potential (not shown in the figure), an APP module for obtaining a set RS of compression rules, a COL collection module, and a DEP deployment module.
- the DVC1 terminal comprises a compression management entity 100 and a management entity of decompression 200.
- the DVC2 terminal for its part, only comprises a compression management entity 100 and no decompression management entity 200. It may have been decided, when building the SYS system, that the DVC2 terminal almost exclusively transmitted P packets and received almost none. To save the memory size required for building the DVC2 terminal, it may therefore have been decided not to integrate a decompression management entity 200 into the DVC2 terminal. It will therefore not be possible to transmit to the DVC2 terminal a compressed P packet according to the invention, because it could not decompress it and therefore restore it.
- the compression management entity jointly transmits the identifier I of the compression rule and the compressed packet P, which is illustrated by the arrow labeled I+P between the compression management entity 100 belonging to the GW gateway and the decompression management entity 200 belonging to the DVC1 terminal.
- the DVC2 terminal for its part, addresses a compressed packet P’, which has been compressed using a rule whose identifier is I’.
- the compression management entity 100 of the DVC2 terminal therefore addresses a concatenation I’+P’ to the decompression management entity 200 of the GW gateway.
- the network equipment that receives it restores a compressed packet P, P’ by applying the symmetrical decompression operations of the compression operations that were applied to the values taken by the sections of the data packet P, P’.
- the identifiers I, I’ transmitted jointly with the packets P, P’ make it possible to find the rule and therefore the compression operations that were applied.
- the GW gateway has a COL collection module that allows the GW gateway to gather the data packets P, P’ that pass through the GW gateway.
- the GW gateway is ideally placed to see all the packets P, P’ passing through the NET network.
- the packets P, P’ collected by the COL module will make it possible to create a learning set E that will be used by the APP learning module also present in the GW gateway.
- the APP learning module learns the RS compression rule set by using packets P, P' actually collected in the NET network by the COL collection module, which is a point for greatly improving the relevance of the learning and the RS compression rule set.
- the DEP deployment module will then synchronously deploy the RS compression rule set in the GW gateway and the DVC1, DVC2 terminals of the SYS system.
- Sampling strategies can be used to build training sets that are as representative as possible of the traffic in the NET network, according to the transmission times or according to the actions of the terminals DVC1, DVC2 and the gateway GW.
- the transmission system SYS therefore fulfills the expected technical objective, namely the application of very efficient compression rules to the packets P, P’ by using a training module APP to perform the automatic learning of the set of compression rules RS.
- the collection module COL to feed the training module APP with a training set E representative of the traffic present in the NET network and the deployment module DEP in a synchronized manner of the set of compression rules RS compression obtained by learning allows to ensure that this very efficient compression of the packets P, P’ is obtained on the one hand without human intervention and on the other hand will adapt in the event of a change of context in the NET network, for example in the event of a change in the IP addresses of the GW, DVC1, DVC2 network equipment or in the event of the addition of new equipment in the network.
- the placement of the COL collection, APP learning and DEP deployment modules in the GW gateway provides an efficient architecture where the functions related to learning are centralized in the GW gateway.
- FIG. 6 for its part, represents a complete SYS system for transmitting data packets in a NET network according to the invention, but having a different architecture from that seen in Figure 5.
- the SYS system here comprises three network devices, namely two routers RTR1 and RTR2 and a separate server SRV.
- the NET network can here be for example an IP network core and the two routers RTR1, RTR2 can form a branch of a long-distance network connecting two points.
- the communication link can then be on a very high-speed optical fiber, and the underlying protocol can be for example Gigabit Ethernet often used in the network core, or any other suitable protocol.
- the two routers RTR1, RTR2 each comprise a compression management entity 100 and decompression 200 which allow the exchange of packets P, P', transmitted jointly with identifiers I, I' of compression rules belonging to the RS set.
- identifiers I, I' of compression rules belonging to the RS set We saw in the presentation of figure 5 how the transmission of packets P, P' worked.
- the SYS transmission system includes a SRV server dedicated to learning the RS compression rule set.
- the RTR1 router includes a COL collection module that will address P1, P2, P3 packets to the SRV server.
- a COL collection module can be placed in a single RTR1 router since it sees, in transmission or reception, all the packets transiting on the NET network. But we can also have several COL collection modules, one in each RTR1 router, RTR2, depending on the practicality of this deployment. If the SRV server is co-located with the RTR1 router in the same data center or network room, it will be much more efficient to deploy a COL collection module only in the RTR1 router and not in the RTR2 router which can be very far away in the case of long-distance transmission.
- the SRV server is dedicated to learning the RS compression rule set.
- module can correspond to a software component as well as to a hardware component or a set of hardware and software components, a software component itself corresponding to one or more computer programs or subprograms or more generally to any element of a program capable of implementing a function or a set of functions as described for the modules concerned.
- a hardware component corresponds to any element of a hardware assembly capable of implementing a function or a set of functions for the module concerned (integrated circuit, smart card, memory card, etc.).
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP24730365.4A EP4725181A1 (fr) | 2023-06-09 | 2024-06-03 | Procédé d'obtention d'un ensemble de règles de compression d'un paquet de données transmis dans un réseau |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR2305874A FR3149743A1 (fr) | 2023-06-09 | 2023-06-09 | Procédé de gestion de la compression d’un paquet de données transmis dans un réseau |
| FRFR2305874 | 2023-06-09 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024251668A1 true WO2024251668A1 (fr) | 2024-12-12 |
Family
ID=87889522
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2024/065211 Ceased WO2024251668A1 (fr) | 2023-06-09 | 2024-06-03 | Procédé d'obtention d'un ensemble de règles de compression d'un paquet de données transmis dans un réseau |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4725181A1 (fr) |
| FR (1) | FR3149743A1 (fr) |
| WO (1) | WO2024251668A1 (fr) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20210110292A1 (en) * | 2017-03-29 | 2021-04-15 | Acklio | Method for learning from a compression/decompression context and corresponding device, system and computer program product |
-
2023
- 2023-06-09 FR FR2305874A patent/FR3149743A1/fr not_active Withdrawn
-
2024
- 2024-06-03 WO PCT/EP2024/065211 patent/WO2024251668A1/fr not_active Ceased
- 2024-06-03 EP EP24730365.4A patent/EP4725181A1/fr active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20210110292A1 (en) * | 2017-03-29 | 2021-04-15 | Acklio | Method for learning from a compression/decompression context and corresponding device, system and computer program product |
Non-Patent Citations (1)
| Title |
|---|
| TOMOSKOZI MATE ET AL: "Packet Header Compression: A Principle-Based Survey of Standards and Recent Research Studies", IEEE COMMUNICATIONS SURVEYS & TUTORIALS, IEEE, vol. 24, no. 1, 20 January 2022 (2022-01-20), pages 698 - 740, XP011901225, DOI: 10.1109/COMST.2022.3144473 * |
Also Published As
| Publication number | Publication date |
|---|---|
| EP4725181A1 (fr) | 2026-04-15 |
| FR3149743A1 (fr) | 2024-12-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3987752B1 (fr) | Procede et dispositif d'obtention d'une adresse ip | |
| FR2852472A1 (fr) | Appareil et procede pour le filtrage par modele de flux de trafic dans un systeme de communication mobile | |
| EP3603000B1 (fr) | Procédé d'apprentissage d'un contexte de compression/décompression, dispositif, système et produit programme d'ordinateur correspondants | |
| EP1958398A1 (fr) | Procede de reconstruction d'un reseau ad hoc et des n uds du reseau correspondant | |
| WO2024251668A1 (fr) | Procédé d'obtention d'un ensemble de règles de compression d'un paquet de données transmis dans un réseau | |
| WO2024251669A1 (fr) | Titre : procédé d'obtention d'un ensemble de règles de compression d'un paquet de données transmis dans un réseau | |
| FR3153486A1 (fr) | Procédé de gestion de la compression d’un paquet de données transmis dans un réseau | |
| EP3777308B1 (fr) | Procédé de communication | |
| EP4576700A1 (fr) | Procede et dispositif de construction d'un jumeau numerique reseau d'un reseau de communication | |
| EP3643024B1 (fr) | Émission et réception d'un flux de données | |
| EP2428008B1 (fr) | Procede de traitement de flots dans un reseau de communication | |
| WO2025224131A1 (fr) | Procédé de gestion d'un ensemble de règles de compression de paquets de données | |
| WO2025224129A1 (fr) | Procédé de gestion d'un ensemble de règles de compression de paquets de données | |
| WO2026017825A1 (fr) | Gestion de la transmission et de la reception d'un paquet de donnees compresse | |
| EP3967006B1 (fr) | Procédé de sélection de passerelles | |
| EP2456135A1 (fr) | Procédé et dispositif de détermination de chemin(s) de communication entre des équipements de communication à interfaces de communication multiples | |
| EP4009584A1 (fr) | Procédé de détermination de classifieurs pour la détection d'attaques dans un réseau de communication, dispositif de détermination associé | |
| WO2010094882A1 (fr) | Procede de commutation de noeud d'acces | |
| FR2915044A1 (fr) | Procede de determination de la dynamique d'un reseau logique | |
| WO2026017824A1 (fr) | Procédé de compression par règles et entite de gestion correspondante | |
| EP2365680A1 (fr) | Dispositif de gestion dynamique des pages de sites internet dont les fréquentations et audience doivent être analysées | |
| FR2932630A1 (fr) | Procede et dispositif de construction d'un codage reseau pour la transmission de paquets de donnees, produit programme d'ordinateur et moyen de stockage et support d'enregistrement correspondants | |
| Alouf | Parameter estimation and performance analysis of several network applications | |
| FR3157749A1 (fr) | Procédé et dispositif de construction d’un jumeau numérique réseau d’un réseau de communication | |
| EP4009209A1 (fr) | Procédé de détermination de quantités pour la détection d'attaques dans un réseau de communication, dispositif de détermination associé |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24730365 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2024730365 Country of ref document: EP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2024730365 Country of ref document: EP Effective date: 20260109 |
|
| ENP | Entry into the national phase |
Ref document number: 2024730365 Country of ref document: EP Effective date: 20260109 |
|
| ENP | Entry into the national phase |
Ref document number: 2024730365 Country of ref document: EP Effective date: 20260109 |
|
| ENP | Entry into the national phase |
Ref document number: 2024730365 Country of ref document: EP Effective date: 20260109 |
|
| WWP | Wipo information: published in national office |
Ref document number: 2024730365 Country of ref document: EP |