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 PDF

Info

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
Application number
PCT/EP2024/065211
Other languages
English (en)
Inventor
Quentin Lampin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
Orange SA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Orange SA filed Critical Orange SA
Priority to EP24730365.4A priority Critical patent/EP4725181A1/fr
Publication of WO2024251668A1 publication Critical patent/WO2024251668A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial 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]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6052Synchronisation of encoder and decoder
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6064Selection of Compressor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols 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

L'invention se rapporte à un procédé d'obtention d'un ensemble (RS) de règles de compression aptes à compresser un paquet de données (P) transmis dans un réseau (NET), le paquet (P) comprenant des sections prenant des valeurs respectives exprimées sous la forme de suite de bits, le paquet (P) étant apte à être compressé par application de règles de compression aptes à supprimer des bits d'une valeur prise par une section du paquet (P), le procédé comprenant, pour plusieurs sections données de paquets, une obtention d'un potentiel de compression (PC) pour une section donnée, relativement aux valeurs prises par la section donnée dans les paquets appartenant à un ensemble (E) de paquets de données, dit ensemble d'apprentissage, suivie par l'obtention de l'ensemble (RS) de règles de compression en fonction des potentiels de compression (PC) obtenus.

Description

Description Titre : Procédé d’obtention d’un ensemble de règles de compression d’un paquet de données transmis dans un réseau Domaine technique Le domaine technique est celui de la compression et de la décompression de données. Plus précisément, l’invention se rapporte à un procédé d’obtention d’un ensemble de règles de compression aptes à compresser un paquet de données transmis dans un réseau. On verra dans la suite que l’ensemble de règles de compression obtenu selon le procédé de l’invention sera utilisé lors d’une phase de compression d’un paquet de données transmis dans un réseau. Les télécommunications numériques modernes fonctionnent sur le principe de l’échange de paquets de données entre émetteurs et récepteurs suivant des protocoles tels que le protocole IP (acronyme de l’anglais Internet Protocol). Un ensemble de paquets de données relatifs à une communication est envoyé par l’émetteur vers un récepteur. Les paquets contiennent l’adresse du récepteur pour pouvoir lui être adressé grâce à différents algorithmes de routage, et le contenu de la communication est reconstruit par le récepteur en regroupant les données contenues dans les différents paquets. Pour réaliser une communication complète, de nombreux protocoles doivent être utilisés qui remplissent chacun un rôle depuis l’envoi physique de bits, éléments atomiques constituant les données numériques, jusqu’à l’interprétation de données pour les applications informatiques. Les bits sont classiquement regroupés en octets, ensembles de huit bits. Les différents protocoles sont classiquement vus comme étant organisés en couches, un protocole d’une couche s’appuyant sur un protocole d’une couche inférieure. Le modèle OSI (de l’anglais Open Systems Interconnection) et le modèle Internet décrivent l’articulation des divers protocoles entre différentes couches. Par exemple, dans une version simplifiée, le protocole HTTP (de l’anglais Hypertext Transfer Protocol) est un protocole de la couche Application, qui permet de transférer des données vers ou depuis un site web. Les données à transférer sont organisées en paquets de données. Le protocole HTTP utilise le protocole TCP (de l’anglais Transmission Control Protocol) qui appartient à la couche Transport, par exemple pour demander le transfert de paquets de données représentant le contenu d’un site web vers un utilisateur. Le protocole TCP, par exemple, fonctionne en trois phases : l’établissement d’une connexion, le transfert de données, et la fin de la connexion. Les protocoles de la couche Transport utiliseront un protocole de la couche Réseau, en général le protocole IP (Internet Protocol) dans une de ses versions IPv4 ou Ipv6. Ce protocole ne s’intéresse qu’à la transmission de données organisées en paquets d’une adresse vers une autre, sans s’occuper de l’établissement de la connexion ou de l’ordre d’arrivée des paquets de données formant une transmission, ces considérations étant gérées par le protocole de la couche Transport supérieure. Le protocole IP utilisera un protocole de la couche Liaison, par exemple le protocole Ethernet qui va organiser l’envoi des données élémentaires constituant le paquet, ces données élémentaires étant des bits, transmis en utilisant la couche Physique, que ce soit en utilisant une émission par fibre optique, ou par une communication sans fil suivant les cas. D’autres protocoles de la couche Application vont utiliser d’autres protocoles des couches inférieures pour réaliser leurs fonctions. Par exemple, le protocole CoAP (de l’anglais Constrained Application Protocol) utilisé dans le domaine de l’Internet des objets s’appuie en général sur le protocole UDP (de l’anglais User Datagram Protocol) de la couche Transport. Un point commun à l’ensemble des protocoles sur l’ensemble des couches est l’organisation des données échangées en paquets de données. Un paquet de données est organisé en deux parties : une première partie est l’en-tête (traduction de l’anglais header) du paquet qui regroupe les informations nécessaires au protocole qui a la charge de traiter le paquet ; une seconde partie est la charge (traduction de l’anglais payload) qui regroupe les données transportées dans le paquet lui-même. Au niveau de la couche Liaison, on parle de trame plutôt que de paquet, et, en plus de l’en-tête, il existe un pied de trame indiquant la fin de la trame. Les en-têtes de paquets comprennent des champs. Un champ est un ensemble continu de bits d’une longueur fixe ou variable. Quand un champ est de longueur variable, des mécanismes permettent de savoir quelle est la longueur du champ effectivement transmis. Quand la valeur présente dans un champ de longueur fixe est de longueur variable, des bits de bourrage (traduction de l’anglais padding) vont compléter la valeur jusqu’à la longueur fixe du champ. Un champ dispose d’un identifiant qui indique la nature de la valeur qui est présente dans le champ. Les valeurs présentes dans le champ sont utilisées par le protocole concerné pour traiter le paquet de façon appropriée. Par exemple, dans l’en-tête d’un paquet IP, un champ dont l’identifiant est Version contiendra le numéro de version du protocole utilisé. La taille de ce champ est de quatre bits. D’autres champs concernent par exemple les adresses IP source et destination du paquet. Un en- tête est donc naturellement divisé en plusieurs sections, à savoir les champs de l’en-tête. La charge du paquet peut également être divisée en plusieurs sections, par exemple en définissant des sections d’une longueur constante exprimée en nombre de bits. Un outil d’analyse de paquets tel que Wireshark ou tcpdump permet de capturer et analyser des paquets de données. L’analyse permet de séparer un paquet de données échangé sur un réseau entre son en-tête et la charge utile, et de lire les informations comprises dans l’en-tête et les données comprises dans la charge utile et d’identifier les diverses sections d’un paquet, à la fois dans son en-tête et dans sa charge. Nous rappelons que, à la suite de l’encapsulation des paquets de données, l’en-tête typique d’un paquet sera constitué de plusieurs en-têtes concaténés, un pour chaque protocole encapsulé. Par exemple, une trame Ethernet encapsulant un paquet IP commencera par l’en-tête IP, suivi de l’en-tête UDP. Les champs du paquet IP seront donc suivis dans la trame par les champs du paquet UDP. L’ensemble de ces éléments sont bien connus dans l’état de la technique et ne seront pas décrits plus avant. Etat de la technique Il existe un besoin clair de compression des données échangées dans les télécommunications numériques pour économiser au mieux les ressources matérielles et en énergie consommées par les réseaux de télécommunications. Ce besoin explique la création de protocoles dédiés à la compression des paquets de données échangées. Les paquets de données échangées sont constitués, comme on l’a vu, d’une part d’un en-tête contenant les informations nécessaires à la transmission du paquet et d’autre part d’une charge utile comprenant les données transmises par le paquet en tant que telles. La compression peut donc porter sur la charge utile, ou bien sur les en-têtes de paquets de données. Comme les valeurs de certains champs des en-têtes de paquets de données vont prendre des valeurs constantes ou variant peu, il est possible de procéder à des compressions très efficaces des paquets de données en cherchant uniquement à comprimer les valeurs des champs des en-têtes des paquets de données. Un premier exemple de protocole comprimant les valeurs des champs d’en-têtes de paquets de données est le protocole ROHC (acronyme de l’anglais Robust Header Compression) qui est défini par l’organisme de standardisation IETF (pour Internet Engineering Task Force) dans le document RFC (Request For Comments, documents de spécification à la base d’Internet) numéro 3095. L’idée de base de ce protocole est que certaines valeurs des champs des en-têtes des paquets formant une même communication ne vont pas changer d’une communication sur l’autre. Par exemple, les valeurs des champs d’adresse source et destination vont rester les mêmes pendant une communication. Après un envoi d’un premier paquet contenant les valeurs de ces champs, ces valeurs seront effacées dans les en-têtes des paquets suivants afin de comprimer l’en-tête du paquet, et donc le paquet lui-même, et seront insérées à la réception puisqu’elles sont connues après l’envoi du premier paquet. L’effacement est effectué par un module de compression et l’insertion de la valeur par un module de décompression. D’autres types de compression peuvent être appliqués. On obtient ainsi une compression très efficace des paquets de données même si la compression se limite aux en-têtes. Le protocole ROHC est utilisé par exemple dans les réseaux de télécommunications mobiles. Mais il nécessite que soit construit pour chaque communication un contexte indiquant quelles valeurs peuvent être comprimées, et de quelle manière. Les émetteurs et les récepteurs doivent donc mettre à jour régulièrement les contextes utilisés pour la compression des en-têtes. Cette opération de mise à jour est très coûteuse et d’autres mécanismes vont être préférés dans certains contextes d’utilisation. Le contexte des réseaux de communication dédiés aux objets connectés impose des contraintes supplémentaires. On parle ici de réseaux étendus à basse consommation, également dénommés LPWANs, acronyme de l’anglais Low-Power Wide Area Networks. Dans un tel réseau, on retrouve des objets connectés qui doivent économiser au maximum leur consommation électrique, comme des compteurs déployés à des endroits n’ayant pas d’alimentation électrique et devant utiliser une batterie pendant plusieurs années. Ces objets communiquent sans fil avec une passerelle qui couvre une zone étendue. La mise à jour du contexte à chaque communication impliquerait une consommation de bande passante élevée, si bien que le protocole ROHC de compression d’en-têtes n’est pas adapté dans ce cadre. De plus, les données échangées par ces objets sont souvent de taille très réduite, et peuvent se limiter à signaler que l’objet est toujours actif, ou bien l’objet peut vouloir remonter une seule valeur, telle qu’une température pour un thermomètre, ou un niveau d’eau pour un compteur d’eau. La taille des en-têtes des paquets de données proportionnellement à la taille de la charge utile va donc être proportionnellement plus grande dans le contexte des LPWANs que dans d’autres contextes. Il existe donc un besoin de compression efficace des paquets de données qui, dans le contexte des LPWANs, va se porter sur la compression des valeurs des champs des en-têtes. Le protocole SCHC (acronyme de l’anglais Static Context Header Compression), défini par l’IETF dans la RFC 8724, a été conçu pour être utilisé dans le contexte des LPWANs. Il se fonde sur un contexte statique. Pour un contexte donné, par exemple un type d’objet connecté déployé dans un réseau donné, des règles de compression vont être définies. Ces règles regroupent des opérations qui peuvent être appliquées aux valeurs des champs des en-têtes de paquets. Ces opérations peuvent être de trois types, toutes fondées sur l’idée que des valeurs de certains champs, ou une partie des valeurs, peuvent être effacées avant transmission puis reconstruites à la réception : • Un premier type d’opération de compression est l’effacement : la valeur du champ est lue et sera effacée par le module de compression si la valeur est bien celle attendue. Le module de compression est par exemple situé dans l’objet connecté. La valeur effacée sera insérée à la réception par le module de décompression qui, lui, est situé dans la passerelle et qui dispose des mêmes règles que le module de compression. Ce type d’opération est adapté aux champs qui prennent une valeur constante, comme le champ Version des paquets IP. Si le champ prend une autre valeur que celle attendue, l’opération ne s’applique pas, la règle de compression est ignorée, et une autre règle sera éventuellement utilisée ou bien la valeur du champ pourra être transmise inchangée. • Un deuxième type d’opération de compression utilise un dictionnaire : un dictionnaire est construit pour certaines valeurs du champ et si la valeur du champ se trouve dans le dictionnaire, le module de compression va remplacer la valeur du champ par son index dans le dictionnaire. Le module de décompression utilise le dictionnaire pour remplacer l’index par la valeur effacée. Là encore, une valeur de champ en-dehors du dictionnaire pourra être transmise inchangée si aucune règle ne s’applique. • Un troisième type d’opération consiste en l’effacement du préfixe : la valeur du champ est une suite de bits, et un préfixe plus ou moins long peut être défini dans une opération de compression. Si la valeur a bien ce préfixe, le préfixe sera effacé à la compression et inséré à la décompression, ou bien la valeur sera transmise inchangée si le préfixe n’est pas reconnu par l’opération. Pour des raisons de complétion, un quatrième type d’opération est défini qui consiste à ignorer la valeur du champ et à la transmettre telle quelle. D’autres combinaisons sont possibles, ainsi que d’autres actions de compression/ décompression, par exemple pour traiter les champs de longueur variable. Un ensemble de règles de compression va alors être défini pour un contexte de déploiement donné. Par exemple, des règles de compression (et leurs règles symétriques de décompression) peuvent être définies pour une passerelle gérant un réseau LPWAN et pour l’ensemble des équipements connectés à ce réseau et à Internet grâce à la passerelle. L’ensemble de règles pourra alors traiter en compression et décompression l’ensemble des paquets de données qui s’échangent dans le réseau LPWAN, la compression se limitant aux valeurs des champs des en-têtes. Le protocole SCHC permet de déterminer quelle règle de compression s’applique lorsqu’un paquet de données circule dans le réseau. Pour cela, chaque règle de compression présente dans l’ensemble est définie pour un format donné d’en-tête de paquet et va consister en un ensemble d’opérations à appliquer sur les valeurs des champs de l’en-tête d’un paquet qui respecte le format. Plusieurs règles peuvent couvrir un même format d’en-tête de paquet de données. Par exemple, des règles de compression vont être définies pour le format des paquets IP encapsulant un paquet UDP, et ces règles comprendront des opérations pour tous les champs d’un en-tête de paquet IP suivi par un en-tête de paquet UDP. Une règle de compression fait partie d’un ensemble de règles et dispose d’un identifiant de règle. L’ensemble de règles va chercher à couvrir l’ensemble des formats possibles d’en-têtes de paquets de données qui peuvent être échangés dans un contexte donné. Le protocole SCHC de compression/décompression est appliqué par un module de compression qui va traiter un paquet avant de l’adresser à un module de décompression. Les modules de compression et de décompression disposent du même ensemble de règles, défini pour un contexte donné. Le protocole va consister, lorsqu’un paquet de données doit être traité par le module de compression, à parcourir l’ensemble de règles dont dispose le module de compression afin de retenir une ou plusieurs règles. Si une règle ne correspond pas au format des champs de l’en-tête du paquet traité, la règle n’est pas retenue. Si le format des champs correspond, il faut examiner si les valeurs des champs correspondent à tous les opérateurs de correspondance prévus dans la règle. Si ce n’est pas le cas, la règle là encore n’est pas retenue. Si aucune règle de l’ensemble ne correspond, le paquet est expédié sans traitement. Dans tous les cas, la charge utile du paquet n’est pas traitée par le protocole SCHC. Dans le contexte des LPWANs, la compression du paquet limitée à la compression des valeurs des champs des en-têtes sera quand même efficace, car la taille des en- têtes est proportionnellement importante. On voit ici l’intérêt de l’opération qui consiste à ignorer la valeur du champ et à la transmettre telle quelle. Cette opération permet de s’assurer qu’une règle pourra effectivement s’appliquer à tous les champs d’un en- tête donné : pour les champs faciles à comprimer, une opération de compression efficace sera définie, et pour les autres champs l’opération qui ne fait rien servira de complétion. Finalement, plusieurs règles peuvent être retenues pour lesquelles le format des champs d’une part et les valeurs des champs d’autre part correspondent. Une règle est alors choisie, et une seule, par exemple la première rencontrée dans l’ensemble de règles, ou bien choisie aléatoirement, au choix de l’implémentation du protocole SCHC. Les opérations prévues dans la règle sont appliquées par le module de compression aux valeurs des champs de l’en-tête du paquet. Puis le paquet est transmis avec les valeurs de son en-tête comprimées, ainsi qu’avec l’identifiant de la règle qui a été appliquée. Le module de décompression reçoit le paquet dont les valeurs de l’en-tête ont été comprimées ; utilise l’identifiant de la règle pour trouver les opérations qui ont été appliquées ; et applique les opérations symétriques de décompression. Par exemple, si, pour une valeur d’un champ, l’opération de compression a utilisé un dictionnaire, le module de décompression utilisera la valeur de l’index transmise pour le remplacer par la valeur prévue dans le dictionnaire. Comme l’identifiant de la règle utilisée pour la compression doit être transmis, ainsi que certaines valeurs (index des dictionnaires), il va exister une limite au-delà de laquelle ajouter de nouvelles règles de compression dans un contexte donné ne sera plus intéressant car le gain éventuel qu’apporte la règle supplémentaire est dépassé par le coût de transmission induit par l’augmentation de la taille de l’identifiant de règle au fur et à mesure que de nouvelles règles sont ajoutées. Par exemple, au-delà de huit règles, l’identifiant de règle transmis sera codé sur trois bits au lieu de deux. Si rajouter une neuvième règle ne fait gagner en moyenne qu’un seul bit, l’ajout de cette neuvième règle n’est pas intéressant. De même si une règle ajoutée implique l’utilisation de bits supplémentaires pour encoder les index de dictionnaires. Il est facile de voir que les opérations de compression et de décompression dans le protocole SCHC peuvent être sans perte, c’est-à-dire que la décompression de l’en-tête du paquet de données selon les opérations prévues dans le protocole SCHC reconstruit exactement l’en-tête tel qu’il était avant compression. C’est le cas général même s’il peut exister des cadres d’utilisation où ce n’est pas le cas. Les ensembles de règles de compression sont donc définies, dans le protocole SCHC, pour un contexte donné, statique, et correspondent aux formats des paquets attendus dans les échanges entre émetteurs et récepteurs. Ils sont définis par un expert qui sait que, dans un contexte de déploiement donné, tel ou tel protocole va être utilisé, selon une encapsulation donnée, et qui sait donc quels formats des en-têtes de paquets sont attendus. L’expert sait également que tel ou tel champ des paquets respectant tel ou tel format prendra une valeur constante, ou bien une valeur parmi un ensemble de taille limitée, ou bien une valeur qui aura souvent le même préfixe. Par exemple, l’expert sait que le champ IP-Version qui apparaîtra dans les en- têtes des paquets respectant plusieurs formats (IP seul, ou IP encapsulant des paquets UDP, ou autre…) sera constante. Ou bien l’expert sait que les valeurs d’adresses IP présentes dans un champ donné appartiennent à une plage limitée et auront donc un préfixe commun. Cette connaissance permet à l’expert de choisir l’opération la plus appropriée pour un champ donné dans un format donné et de l’intégrer dans la règle. L’expert construit donc un ensemble de règles qui sera déployé, par exemple attaché à des modules de compression et de décompression embarqués dans un ensemble d’objets connectés et une passerelle correspondante, pour mettre en œuvre le protocole SCHC. Le protocole SCHC a été initialement conçu dans le contexte des réseaux LPWANs mais il pourrait être utilisé dans d’autres contextes, comme les réseaux domestiques, ou pour la compression d’en-têtes de trames Ethernet. Les opérations de compression du protocole SCHC pourraient aussi être appliquées à des sections de la charge d’un paquet de données et pas seulement à l’en-tête. Dans la situation actuelle, le déploiement du protocole SCHC est ralenti par le besoin de créer de nouvelles règles pour chaque contexte d’utilisation. Cette situation fait que des potentiels de compression facilement accessibles ne sont pas utilisés. Ceci a des impacts négatifs sur les consommations énergétiques et matérielles des réseaux LPWANs ou celles d’autres réseaux dans lesquels la compression des en-têtes selon le protocole SCHC pourrait être utilisée. Une autre limite de la situation actuelle est que les règles de compression définies pour un contexte de déploiement donné ne vont plus aussi bien fonctionner quand ce contexte évolue. Par exemple, si un objet connecté redémarre, son adresse réseau peut changer ou bien les numéros de port qu’il utilise, et des règles de compression qui étaient efficaces peuvent se retrouver inefficaces. C’est un point qui introduit de l’inefficacité dans les compressions qui peuvent être obtenues. De plus, il est souhaitable d’utiliser les opérations de compression définies par le protocole SCHC, qui apportent une compression très efficace, dans un maximum de contextes. Par exemple, ces opérations de compression devraient pouvoir s’appliquer à des sections de la charge du paquet, et pas seulement à des champs d’en-tête. Or, il n’existe pas à l’heure actuelle de solution technique permettant d’appliquer les principes de compression d’en-têtes définis dans le protocole SCHC à un contexte dynamique, même si celui- ci est faiblement dynamique. Par exemple, si, dans un contexte de déploiement, la compression SCHC s’applique à une valeur d’adresse IP, et que cette valeur vient à changer même si c’est à une fréquence très faible, la règle établie dans un contexte statique devient inopérante dès le premier changement d’adresse IP. Ou bien, si une section donnée d’une charge varie, même peu, les règles du protocole SCHC ne vont pas s’appliquer. L’invention vient améliorer la situation. Exposé de l’invention Selon un premier aspect fonctionnel, l’invention a trait à un procédé d’obtention d’un ensemble de règles de compression d’un paquet de données transmis dans un réseau, le paquet comprenant des sections prenant des valeurs respectives exprimées sous la forme de suite de bits, le paquet étant apte à être compressé par application de règles de compression aptes à supprimer des bits d’une valeur prise par une section du paquet, le procédé comprenant, pour plusieurs sections données de paquets, une obtention d’un potentiel de compression pour une section donnée, relativement aux valeurs prises par la section donnée dans les paquets appartenant à un ensemble de paquets de données, ensemble dit d’apprentissage, suivie par l’obtention de l’ensemble de règles de compression en fonction des potentiels de compression obtenus. Grâce à l’invention, un ensemble de règles de compression pertinentes en terme de compression est créé automatiquement. Les règles de compression comprennent des opérations de compression qui s’appliquent à des valeurs prises par des sections de paquets de données. Les règles de compression de l’ensemble obtenu peuvent être appliquées aux paquets de données transmis dans le réseau afin de réaliser une compression effective et efficace des paquets de données transmis. L’avantage de l’invention est que les règles de compression peuvent changer automatiquement quand le contexte de transmission change et rester efficaces. Cela permet de faciliter le déploiement de protocoles de compression et de les utiliser dans de nombreux contextes, y compris des contextes dynamiques. Dans l’invention, des grandeurs dites potentiels de compression sont obtenues à partir d’un ensemble de paquets, ensemble dit d’apprentissage. Cet ensemble dit d’apprentissage est représentatif du trafic attendu, qui devra être comprimé par l’ensemble de règles de compression obtenu. On verra dans la suite que l’obtention de potentiels de compression permet d’identifier les sections les plus prometteuses à comprimer dans cet ensemble représentatif et ainsi de guider la création de règles de compression. L’obtention de potentiels de compression repose sur les fréquences d’apparition de valeurs différentes dans l’ensemble dit d’apprentissage, ce qui est une grandeur facile à obtenir même pour de très grands ensembles dit d’apprentissage. Selon un mode de réalisation, le procédé comprend de surcroît l’application d’au moins une opération de compression à une valeur de section dudit paquet de données, ladite opération étant comprise dans une règle de compression appartenant à l’ensemble de règles de compression obtenu, suivie par la transmission dudit paquet de données auquel ladite au moins une opération de compression a été appliquée et d’une donnée représentative de la règle de compression à laquelle appartient ladite opération. Grâce à ce mode de réalisation, les règles de compression obtenues sont appliquées à des paquets de données et permettent de réaliser des compressions effectives. Les paquets de données sont comprimés par l’application d’opérations de compression qui effacent des portions de valeur, voire des valeurs complètes, prises par des sections du paquet de données. Pour reconstruire les portions de valeur effacées à la réception du paquet comprimé, celui-ci doit être transmis avec une donnée représentative de la règle de compression qui lui a été appliquée. Selon un mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, la section du paquet de données à la valeur de laquelle est appliquée une opération de compression est un champ d’un en-tête du paquet de données. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, la section du paquet de données à la valeur de laquelle est appliquée une opération de compression est une délimitation définie au préalable de la charge du paquet de données. Ces deux modes de réalisation permettent d’appliquer l’invention à l’ensemble des valeurs prises par les sections du paquet de données, qu’il s’agisse de champs d’en-têtes ou bien de parties délimitées et définies au préalable de la charge du paquet. Dans ce dernier cas, le fait que la délimitation soit définie au préalable permet de faciliter l’application du procédé. Une opération donnée, retrouvée grâce à la donnée représentative transmise, va par exemple s’appliquer aux 256 premiers bits de la charge, et le paquet pourra être rétabli à l’original en utilisant la connaissance de cette définition au préalable de la délimitation. Une autre délimitation définie au préalable peut par exemple consister à s’appliquer à la totalité de la charge du paquet, ou bien à la première ou seconde moitié, ou à toute autre proportion définie au préalable. Les champs d’un en-tête sont eux-mêmes des sections définies au préalable puisque la structure de l’en-tête, et donc sa délimitation en plusieurs champs, est définie par le protocole, ou l’empilement de protocoles, auquel appartient le paquet de données transmis. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, le paquet de données auquel ladite au moins une opération de compression a été appliquée est transmis conjointement avec la donnée représentative de la règle de compression à laquelle appartient ladite opération de compression. Grâce à ce mode de réalisation, le paquet de données est transmis conjointement avec la donnée représentative de la règle de compression qui lui a été appliquée. Cette transmission conjointe permettra de faciliter l’opération de décompression ultérieure qui sera appliquée au paquet de données, en s’assurant que, lorsqu’un paquet de données est transmis, il est transmis avec l’information qui permet de connaître l’opération de compression qui lui a été appliquée. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, le paquet de données transmis est formé en concaténant une donnée représentative d’une règle de compression, ladite donnée étant un identifiant de la règle de compression consistant en une suite de bits, avec le paquet de données auquel a été appliqué au moins une opération de compression appartenant à ladite règle de compression qui appartient à un ensemble de règles de compression obtenu par apprentissage. Grâce à ce mode de réalisation, un format précis du paquet de données compressé est défini qui va permettre de faciliter la transmission de celui-ci. Le paquet de données transmis est un nouveau paquet de données formé en concaténant un identifiant de la règle de compression, à savoir une suite de bits, avec le paquet de données original auquel a été appliqué la règle de compression. Le paquet de données compressé est donc transmis conjointement avec un identifiant de la règle de compression qui permettra de retrouver celle-ci parmi l’ensemble de règles de compression obtenu par apprentissage. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, l’obtention de l’ensemble de règles de compression comprend la mise en œuvre d’un algorithme d’apprentissage par renforcement. L’apprentissage par renforcement, au contraire de l’apprentissage supervisé, ne nécessite aucune intervention d’expert. L’effet technique obtenu est donc que les règles de compression peuvent être obtenues automatiquement afin de réaliser la compression des paquets de données transmis dans le réseau. Un premier avantage est que les règles de compression peuvent être obtenues à bas coût et rapidement puisque cette obtention ne fait pas intervenir d’expert. Un autre avantage est que les règles de compression peuvent changer automatiquement quand le contexte de transmission change et rester efficaces. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, l’algorithme d’apprentissage par renforcement mis en œuvre dans l’obtention de l’ensemble’ de règles de compression utilise comme ensemble d’apprentissage l’ensemble dit d’apprentissage, formé de paquets de données collectés au préalable ; met en œuvre un environnement qui comprend l’ensemble dit d’apprentissage et l’ensemble de règles de compression ; et le changement d’état dans l’algorithme d’apprentissage par renforcement comprend l’ajout d’une nouvelle règle à l’ensemble de règles de compression. Comme l’invention s’appuie dans ce mode de réalisation sur l’utilisation d’un algorithme d’apprentissage, l’invention nécessite d’utiliser un ensemble d’apprentissage qui doit être défini au préalable. Cet ensemble d’apprentissage est un ensemble de paquets de données pour lequel l’algorithme d’apprentissage va chercher à produire un ensemble de règles de compression qui le comprime au mieux. Cet ensemble d’apprentissage est l’ensemble dit d’apprentissage qui est utilisé pour obtenir les potentiels de compression d’une section donnée d’un paquet selon les valeurs prises par la section donnée dans les paquets de l’ensemble dit d’apprentissage. Il est clair que l’apprentissage sera d’autant plus pertinent que l’ensemble d’apprentissage sera représentatif du trafic attendu dont on doit comprimer les paquets de données. Si l’ensemble d’apprentissage est trop petit, en particulier, l’apprentissage ne pourra pas obtenir un ensemble de règles de compression efficaces dans tous les cas, car des exemples de trafic qui auraient pu être comprimés ne sont pas présents dans l’ensemble d’apprentissage. L’apprentissage par renforcement consiste à faire évoluer l’ensemble de règles de compression qui est appris, dans un environnement comprenant l’ensemble d’apprentissage que l’ensemble de règles de compression doit compresser. Cette évolution se fait par l’ajout d’une nouvelle règle à l’ensemble de règles de compression. L’ensemble d’apprentissage, quant à lui, n’évolue pas durant la phase d’apprentissage. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, l’algorithme d’apprentissage par renforcement comprend une fonction de récompense qui est calculée selon la compression des paquets de l’ensemble d’apprentissage par les règles de compression appartenant à l’ensemble de règles de compression. Il est avantageux que plusieurs paramètres de l’algorithme d’apprentissage par renforcement soient définis afin de pouvoir l’exécuter. Un apprentissage par renforcement consiste à faire évoluer un acteur, ici l’ensemble de règles de compression que l’on apprend, dans un environnement, ici la réunion de l’ensemble de règles et de l’ensemble d’apprentissage, et de guider les évolutions de l’acteur grâce à une fonction de récompense. La fonction de récompense est la compression réalisée par l’ensemble de règles de compression sur les paquets de l’ensemble d’apprentissage. Meilleure est la compression réalisée par l’ensemble de règles, meilleur est cet ensemble et donc l’apprentissage par renforcement aura tendance à produire un ensemble de règles qui produit une meilleure compression. Comme déjà vu, le changement d’état est l’ajout d’une règle à l’ensemble de règles ; la fonction de récompense viendra sanctionner si cet ajout de règle est pertinent ou non et permet bien de faire évoluer l’ensemble de règles de compression vers une meilleure compression. L’avantage de ce mode est donc de préciser comment exécuter un algorithme d’apprentissage par renforcement pour apprendre un ensemble de règles de compression et comment choisir des paramètres pertinents de l’apprentissage par renforcement pour obtenir une bonne compression des paquets de l’ensemble d’apprentissage par l’ensemble de règles résultat de l’apprentissage. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, l’apprentissage d’un ensemble de règles de compression est réalisé à partir d’un ensemble initial consistant en une règle unique ne réalisant aucune compression. Dans ce mode de réalisation, le point de départ est un ensemble de règles formé d’une règle unique s’appliquant à tous les paquets de l’ensemble d’apprentissage collecté. Cet ensemble permet de s’assurer que dès le départ, l’ensemble de règles va bien s’appliquer à tout l’ensemble d’apprentissage même si la règle initiale ne réalise pas de compression sur les valeurs de sections des paquets de l’ensemble d’apprentissage. Dans la plupart des modes de réalisation de notre invention, l’ensemble de règles de compression évolue de manière à s’assurer que, pour tous les paquets de l’ensemble d’apprentissage, il existe dans l’ensemble de règles de compression une règle qui puisse s’appliquer, ce qui est bien le cas avec cette règle unique ne réalisant aucune compression. L’avantage de ce mode de réalisation est de ne nécessiter l’intervention d’aucun expert pour définir l’ensemble initial de règles de compression qui est soumis à l’algorithme d’apprentissage. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, l’apprentissage d’un ensemble de règles de compression est réalisé à partir d’un ensemble initial comprenant une règle de compression fournie par un expert. L’avantage de ce mode de réalisation est de permettre à un expert de s’assurer qu’une règle qui lui semble très utile est bien présente dans l’ensemble de règles de compression. En la plaçant dès le départ de l’apprentissage, on obtient ce résultat. Le reste de l’algorithme d’apprentissage pourra se faire par renforcement, donc sans intervention ultérieure de l’expert. On obtient donc ici un mode mixte où l’intervention de l’expert est limitée. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, le procédé de gestion comprend les étapes suivantes exécutées lors de l’obtention de l’ensemble de règles de compression : • une étape de sélection d’une règle appartenant à l’ensemble de règles de compression en utilisant au moins un potentiel de compression parmi ceux obtenus ; • une étape de création d’une nouvelle règle à partir de la règle sélectionnée en utilisant au moins un potentiel de compression parmi ceux obtenus ; • l’ajout de la nouvelle règle à l’ensemble de règles de compression ; et, de plus, lesdites étapes sont itérées, jusqu’à ce qu’un critère d’arrêt soit satisfait, en utilisant à l’itération suivante l’ensemble de règles modifié par l’ajout de la nouvelle règle. Grâce à ce mode de réalisation, l’obtention d’un ensemble de règles de compression est guidé de façon efficace. En effet, l’obtention peut fonctionner en réalisant aléatoirement des changements d’état qui seront retenus ou non selon une fonction de récompense. Cette manière de procéder pourrait d’une part prendre beaucoup de temps et d’autre part conduire à des ensembles de règles de compression comprenant un nombre trop élevé de règles si les règles les plus efficaces ne sont pas créées en premier. Or, on a vu que si un trop grand nombre de règles de compression est créé, cela devient un obstacle à une compression efficace car l’index de la règle utilisée lors d’une compression doit être transmise avec le paquet comprimé. Un trop grand nombre de règles implique un index codé sur un grand nombre de bits qui rend inefficace la compression. Il faut donc guider l’obtention des règles de compression. Pour cela, les potentiels de compression obtenus vont d’abord indiquer quelle règle est sélectionnée pour créer une nouvelle règle puis comment créer une nouvelle règle à partir de la règle sélectionnée. L’obtention fonctionne par itération jusqu’à ce qu’un critère d’arrêt soit satisfait, et l’itération consiste à appliquer le même algorithme à un environnement formé du nouvel ensemble de règles de compression (avec une nouvelle règle ajoutée) et de l’ensemble dit d’apprentissage. Pour s’assurer que l’obtention prend bien en compte l’ajout de la nouvelle règle, il peut être utile de calculer à l’itération suivante des potentiels de compression qui prennent bien en compte l’ajout de la nouvelle règle. Cela peut se faire en isolant dans l’ensemble dit d’apprentissage les sous-ensembles de paquets pour lesquels les différentes règles s’appliquent. Dans ce mode, les valeurs comprimées par la nouvelle règle ne seront pas prises en compte dans les calculs de potentiels de compression. Les potentiels de compression ne seront calculés que pour les valeurs qui ne sont pas comprimées dans l’état courant de l’ensemble de règles de compression qui est en cours d’obtention. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, si la règle ajoutée s’applique à tous les paquets de données de l’ensemble dit d’apprentissage auxquels la règle sélectionnée s’applique, alors la règle sélectionnée est retirée de l’ensemble de règles de compression. Il est avantageux que l’ajout de la nouvelle règle assure que l’ensemble de règles qui est en cours d’obtention va bien s’appliquer à l’ensemble des paquets de l’ensemble dit d’apprentissage. C’est pour cela que, dans ce mode de réalisation, si la règle ajoutée ne couvre pas l’ensemble des paquets que couvrait la règle sélectionnée à partir de laquelle a été créée la règle ajoutée, alors la règle sélectionnée est conservée. Comme l’algorithme d’obtention peut partir, dans certains modes, d’un ensemble comprenant une règle initiale s’appliquant à tous les paquets, on est sûr alors de bien disposer à la fin d’un ensemble de règles s’appliquant à tous les paquets de l’ensemble dit d’apprentissage. Cependant, la suppression de la règle sélectionnée si la règle ajoutée couvre les mêmes paquets permet de s’assurer que des règles inutiles ne sont pas conservées et donc de minimiser la taille de l’ensemble de règles de compression résultat de l’algorithme d’apprentissage. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, le critère d’arrêt est satisfait quand la compression obtenue sur l’ensemble dit d’apprentissage par l’ensemble modifié de règles de compression est inférieure ou égale à la compression obtenue par l’ensemble de règles précédent. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, le critère d’arrêt est satisfait quand l’ensemble de règles atteint une taille prédéterminée exprimée en nombre de règles ou en nombre d’opérations de compression incluses dans les règles. Ces deux modes ont l’intérêt de proposer un critère d’arrêt facile à calculer. Dans le premier mode, la compression réalisée par l’ensemble de règles sur l’ensemble dit d’apprentissage est calculée et l’obtention s’arrête quand la compression ne progresse plus. Cela va arriver par exemple quand toutes les valeurs des sections des paquets de l’ensemble dit d’apprentissage sont comprimées. Dans ce cas, il n’est plus possible de rajouter une opération de compression. La compression réalisée par le nouvel ensemble peut être inférieure à la compression réalisée par l’ensemble précédent car il faut prendre en compte que les règles de compression doivent être identifiées, et que la taille de l’index de la règle ajoutée peut être plus grand que la compression réalisée par cette règle. Dans le deuxième mode, on utilise un critère de taille absolue de l’ensemble de règles de compression, soit en nombre de règles soit en nombre d’opérations. Ce mode permet de s’assurer que la taille de l’ensemble de règles obtenu reste toujours inférieure à une certaine taille, ce qui est avantageux dans un contexte où l’on veut économiser les ressources et où on veut s’assurer que les index des règles de compression pourront être encodés avec un nombre limité de bits (de deux à quatre par exemple). Ce mode de réalisation est particulièrement avantageux quand l’ensemble de règles de compression obtenu par le procédé est utilisé par des équipements aux capacités mémoire limitées, qui ne pourront mémoriser qu’un nombre limité de règles de compression de données émises ou reçues. Les deux modes peuvent être combinés, à savoir que l’apprentissage se poursuit tant que la compression réalisée par l’ensemble de règles progresse sauf si une taille maximale prédéfinie est atteinte. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, l’un des potentiels de compression obtenu est dit potentiel de compression de champ et est calculé pour une section donnée de longueur fixe suivant la formule ^^( ^^ − ^^) dans laquelle N est le nombre de fois que la section apparaît dans l’ensemble dit d’apprentissage ; L est la longueur de la section exprimée en bits et H est une grandeur dite estimateur d’entropie de champ qui
Figure imgf000015_0001
suivant la formule ^^ = − ^^∈[1, ^^] ^^ ^^ ^^ ^^ ^^2( ^^ ^^) dans laquelle K est le nombre de valeurs différentes ^^ ^^∈[1, ^^] que prend la section dans l’ensemble dit d’apprentissage et ^^ ^^ est la fréquence d’apparition de la valeur ^^ ^^. Dans de nombreux modes de réalisations, les sections pour les valeurs desquelles l’algorithme d’obtention va chercher à produire des opérations de compression appartenant à des règles sont des champs d’en-têtes. Ceci explique le choix des termes « potentiel de compression de champ » et « estimateur d’entropie de champ ». Cependant, le mode de réalisation peut s’appliquer aussi bien à des champs d’en-tête qu’à des sections délimitées dans la charge d’un paquet de données. La formule de calcul dans ce mode de réalisation s’applique à une section dont la longueur L, exprimée en bits, est constante pour toutes les valeurs prises par la section dans l’ensemble dit d’apprentissage. On verra plus loin qu’un autre mode de réalisation peut s’appliquer à des sections de taille variable. Grâce à ce mode de réalisation, le potentiel de compression de champ est calculé pour une section donnée, afin de détecter quelle est la section la plus intéressante à comprimer et guider ainsi l’algorithme d’obtention. Pour cela, nous utilisons une grandeur qui estime l’entropie présente dans une section délimitée des charges des paquets de l’ensemble dit d’apprentissage ou dans un champ donné des en-têtes des paquets de l’ensemble dit d’apprentissage, que nous appelons section en général. Nous rappelons qu’une entropie (au sens de la théorie de l’information) se calcule à partir de probabilités. Ici, nous disposons d’un ensemble dit d’apprentissage, donc de valeurs observées. C’est pour cela que nous calculons un estimateur d’entropie, et non une entropie proprement dite, à partir des fréquences d’apparition ^^ ^^ des valeurs ^^ ^^ que prend la section considérée. Ces fréquences sont strictement positives et inférieures ou égales à 1 par définition. Les logarithmes des fréquences sont pris en base 2 pour s’appliquer à des valeurs exprimées en bits. Les logarithmes sont forcément négatifs ou nuls puisque les fréquences valent 1 au maximum. Les négations rendent l’estimateur d’entropie forcément positif. L’estimateur d’entropie peut donc valoir au minimum zéro. C’est le cas quand la section donnée présente une seule valeur dans l’ensemble dit d’apprentissage. La fréquence d’apparition de cette valeur unique vaut donc 1 ; et le logarithme vaut 0. Par ailleurs, l’estimateur d’entropie sera toujours inférieur à la longueur de la section exprimée en bits. Si une section délimitée, ou un champ, prend un grand nombre de valeurs différentes, et donc si son estimateur d’entropie augmente, alors la longueur de la section exprimée en bits qui est nécessaire pour encoder ce grand nombre de valeurs différentes va également croître et restera toujours supérieure à l’estimateur d’entropie. La grandeur dite potentiel de compression de champ est donc toujours positive et sera maximale pour une section donnée quand son estimateur d’entropie est nul. Cela arrive quand la section prend une valeur unique dans l’ensemble dit d’apprentissage et on comprend facilement qu’une section qui prend une valeur unique va être facile à comprimer. Il suffit d’effacer cette valeur ! Le potentiel de compression de champ diminue au fur et à mesure que l’estimateur d’entropie augmente. Si une section dont l’estimateur d’entropie est nul n’apparaît que peu de fois dans l’ensemble d’apprentissage, ou bien si la longueur de la section est faible, une autre section dont l’estimateur d’entropie est plus élevé mais qui apparaît plus souvent, ou dont la longueur est plus grande, pourra être plus intéressant à comprimer que la section à l’estimateur d’entropie nulle. C’est pour cela que le potentiel de compression du champ prend en compte le nombre de fois que la section apparaît ainsi que sa longueur. Le potentiel de compression de champ permet donc de guider de façon efficace l’algorithme d’obtention en indiquant les sections de l’ensemble d’apprentissage dont la compression rapportera le plus selon la fonction de récompense qui est donnée par la compression réalisée, lesdites sections pouvant être des champs d’en- têtes des paquets ou des sections délimitées de la charge des paquets. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, le potentiel de compression de champ est calculé pour une section donnée de longueur variable suivant la formule ∑ ^^ ^^=1 ^^ ^^ . ( ^^ ^^ − ^^ ^^) dans laquelle K est le nombre de valeurs ^^ que
Figure imgf000017_0001
prend la section dans l’ensemble dit d’apprentissage ; ^^ le nombre de fois que la section
Figure imgf000017_0002
^^ ^^ dans l’ensemble dit d’apprentissage ; ^^ la longueur de la valeur ^^ ^^ exprimée en bits et ^^ est une
Figure imgf000017_0003
^^ grandeur dite estimateur d’entropie partielle d’une valeur, qui est calculée pour la valeur ^^ ^^ suivant la formule ^^ ^^ ^^ ^^ ^^ ^^ ^^2( ^^ ^^) dans laquelle ^^ ^^ est la fréquence d’apparition de la valeur
Figure imgf000017_0004
^^ dans l’ensemble dit d’apprentissage. Grâce à ce mode de réalisation, le potentiel de compression de champ peut être calculé pour une section de longueur variable. Plusieurs éléments vont donc être pris en compte dans ce calcul. Une valeur qui apparaît fréquemment, mais qui est de faible longueur, pourra moins contribuer au potentiel de compression de champ qu’une valeur qui apparaît moins fréquemment mais dont la longueur est plus grande. Ce mode de réalisation permet donc de réaliser un calcul précis du potentiel de compression de champ même pour une section de longueur variable. On peut remarquer que la formule utilisée dans ce mode donne les mêmes résultats que la formule donnée précédemment dans le cas où la section a une longueur L constante pour toutes les valeurs prises par la section. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les ^^ modes précédents, le potentiel de compression de champ est calculé suivant la formule
Figure imgf000017_0005
dans laquelle ^^+ ^^ ^^ est une constante strictement positive. Ce mode de réalisation donne une variante pour obtenir un potentiel de compression de champ. Dans cette formule, le potentiel est bien maximal quand l’estimateur d’entropie est nul. La constante positive permet d’assurer la définition du potentiel de compression de champ dans ce cas. Cette variante est adaptée au cas où la section est de longueur fixe. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou les
Figure imgf000017_0006
modes précédents, le potentiel de compression de champ est calculé suivant la formule ^^=1 ^^ ^^ ^^+ ^^ dans laquelle ^^ est une constante strictement positive. Ce mode de réalisation reprend la variante précédente mais en l’adaptant au cas où la section est de longueur variable. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, le potentiel de compression de champ est dit potentiel de compression corrigé et est calculé pour une section donnée en multipliant le potentiel de compression de champ par un facteur de ^^− ^^ correction ^^ − lequel N est le nombre de fois que la section apparaît dans l’ensemble dit
Figure imgf000018_0001
nombre de valeurs différentes que prend la section dans l’ensemble dit d’apprentissage ; et ^^, ^^ et ^^ sont des coefficients positifs choisis. Dans notre expérience, le potentiel de compression de champ permet de guider l’algorithme d’obtention mais présente le défaut suivant : quand une section présente des valeurs différentes réparties uniformément, l’estimateur d’entropie augmente trop lentement au fur et à mesure que de nouvelles valeurs sont observées dans l’ensemble dit d’apprentissage. Pour peu qu’elle ait une grande longueur, une section qui présente des valeurs à chaque fois différentes dans l’ensemble dit d’apprentissage pourra avoir un meilleur potentiel de compression de champ qu’une section avec peu de valeurs mais une taille plus petite. Or, à l’usage, c’est bien cette section avec peu de valeurs pour laquelle on souhaite créer une ou plusieurs règles de compression qui s’appliqueront au peu de valeurs observées. Alors que la section très longue avec des valeurs observées toutes différentes sera peu intéressante car il est probable qu’à l’usage, les valeurs qui apparaîtront dans cette section seront encore de nouvelles valeurs, et donc des valeurs qui ne seront pas comprimées par les règles de compression apprises sur un ensemble d’apprentissage où elles n’apparaissent pas. C’est pour corriger ce défaut que nous introduisons un facteur de correction qui permet d’obtenir un potentiel de compression corrigé. Les coefficients ^^, ^^ et ^^ sont de préférence positifs pour assurer que le facteur de correction fasse évoluer le potentiel de compression dans le sens voulu. L’idée est qu’une section qui présente des valeurs toutes différentes doit être défavorisée par rapport à une section présentant une observation semblant moins aléatoire. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, les coefficients positifs ^^, ^^ et ^^ sont choisis pour prendre des valeurs constantes. Selon un mode de réalisation particulier de ce dernier mode, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, les coefficients positifs ^^, ^^ et ^^ prennent les valeurs ^^ = 1, ^^ = 0 et ^^ = 0. ^^ Grâce à ce dernier mode, le facteur de correction prend la valeur 1 − et vaut donc zéro quand toutes les ^^ valeurs de la section sont différentes et que l’on a ^^ = ^^. Une telle observation dans l’ensemble dit d’apprentissage d’une section dont toutes les valeurs sont différentes indique fortement que les valeurs en dehors de l’ensemble dit d’apprentissage seront également différentes, et qu’une telle section ne pourra pas être comprimée efficacement. Le facteur de correction va alors annuler le potentiel de compression de champ 1 pour cette section. Quand une section prend une seule valeur, le facteur de correction vaut 1 − et le ^^ potentiel de correction corrigé est donc diminué par rapport à la valeur initiale du potentiel de correction de champ, mais est finalement très peu diminué. D’autres valeurs constantes peuvent bien sûr être prises pour affiner la correction apportée par le facteur de correction. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, les coefficients positifs ^^, ^^ et ^^ prennent les valeurs ^^ = 1, ^^ = 1 et ^^ = 0. ^^−1 Grâce à ce dernier mode, le facteur de correction prend la valeur 1 − et vaut donc exactement 1 quand ^^
Figure imgf000019_0001
la section prend une seule valeur, c’est-à-dire pour ^^ = 1. A l’opposé, le de correction ne s’annule pas quand ^^ = ^^ ce qui peut être intéressant pour conserver un potentiel de compression de champ non nul même sur une section qui semble quand même être très aléatoire puisque toutes les valeurs prises par la section dans l’ensemble d’apprentissage sont différentes. Ainsi, le potentiel de compression de champ étant non nul, l’algorithme d’obtention pourra dans certains contextes ajouter une ou des règles de compression relatives à la section. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, les coefficients positifs ^^, ^^ et ^^ sont choisis en fonction de K et de N. Ce mode de réalisation permet d’obtenir d’autres valeurs du facteur de correction pour affiner son choix en fonction des tailles des échantillons observés dans l’ensemble d’apprentissage. Par exemple, en prenant ^^ = 0,5 ^^ 1, ^^ = 0,5 ^^ et ^^ = ^^, on obtient un facteur de correction qui vaut 1 −
Figure imgf000019_0002
et qui présente une influence différenciée selon la taille de l’échantillon des valeurs observées pour la section dont on calcule le potentiel de compression corrigé. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, l’un des potentiels de compression obtenu est dit potentiel de compression de valeur et est calculé pour une valeur ^^ ^^ d’une section donnée suivant la formule ^^( ^^ − ^^ ^^) dans laquelle N est le nombre de la valeur ^^ ^^ apparaît dans l’ensemble dit d’apprentissage ; L est la longueur de la valeur ^^ ^^ en bits ; et ^^ ^^ est une grandeur dite estimateur d’entropie partielle d’une valeur qui est calculée suivant la formule ^^ ^^ = − ^^ ^^ log2( ^^ ^^) dans laquelle ^^ ^^ est la fréquence d’apparition de la valeur ^^ ^^. Ce mode de réalisation construit, selon le même modèle que celui vu précédemment pour le potentiel de compression de champ, et en utilisant les mêmes grandeurs, un potentiel de compression adapté aux valeurs que prend une section donnée dans l’ensemble d’apprentissage, sachant qu’une section peut être un champ d’un en-tête de paquet ou une section délimitée d’une charge de paquet. On peut noter que ce potentiel de compression de valeur s’exprime suivant la longueur de la valeur et est donc adapté à une section de longueur variable. Une valeur de faible longueur mais qui apparaît fréquemment pourra avoir un potentiel de compression supérieur à une valeur plus longue mais qui apparaît moins fréquemment. Ce potentiel va lui aussi guider la création de règles de compression en indiquant les valeurs qui sont à compresser en priorité. Ce ne sera donc pas forcément la valeur qui apparaît le plus fréquemment puisque, dans le cas d’une section de longueur variable, la longueur effective de la valeur prise par la section est prise en compte et peut compenser une fréquence d’apparition plus faible. Comme vu précédemment, la fréquence d’apparition d’une valeur est strictement positive et vaut 1 au maximum. L’estimateur d’entropie partielle d’une valeur sera donc également positif et vaudra 0 pour une valeur qui se trouverait être la valeur unique prise par une section dans l’ensemble dit d’apprentissage et qui aurait alors une fréquence d’apparition qui vaudrait 1. L’estimateur d’entropie partielle d’une valeur sera toujours strictement inférieur à 1. Le potentiel de compression d’une valeur sera donc toujours positif et sera maximal pour une valeur qui serait la valeur unique observée pour une section donnée et sera minimal pour la valeur qui est observée le moins souvent dans cette section dans l’ensemble dit d’apprentissage. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les ^^ modes précédents, le potentiel de compression de valeur est calculé suivant la formule ^^ dans laquelle
Figure imgf000020_0001
^^ est une constante strictement positive. Grâce à ce mode de réalisation, une formule alternative est donnée pour calculer un potentiel de compression de valeur. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, l’un des potentiels de compression obtenu est dit potentiel de compression de bit de champ et est calculé pour un rang ^^ d’une section donnée, les rangs ^^ variant de 0 à ^^ − 1, L étant la longueur minimale des valeurs prises par la section dans l’ensemble d’apprentissage, ladite longueur L étant exprimée en nombre de bits, et ladite grandeur est calculée suivant la formule 1 − ^^( ^^ ^^), dans
Figure imgf000020_0002
est une grandeur dite estimateur d’entropie d’un bit de champ qui est calculée suivant la formule ^^( ^^ ^^) = − ( ^^ ^^. ^^ ^^ ^^2( ^^ ^^) + (1 − ^^ ^^). ^^ ^^ ^^2(1 − ^^ ^^)), ladite formule valant par convention 0 quand ^^ ^^ vaut 0 ou 1, formule dans laquelle les valeurs prises par la section dans l’ensemble dit d’apprentissage sont exprimées en séquences de bits ordonnées et dans laquelle ^^ ^^ est la fréquence d’apparition de l’une des valeurs 0 ou 1 pour le bit de rang ^^ parmi les valeurs prises par la section dans l’ensemble dit d’apprentissage. Ce mode de réalisation construit, selon les modèles vus précédemment, un potentiel de compression pour mesurer le potentiel de compression des bits d’une section dans un rang donné. Comme pour les potentiels déjà vus, cette grandeur est calculée pour une section qui peut être un champ d’en-tête ou une section délimitée de charge, et le terme « potentiel de compression de bit de champ » est retenu car il est utilisé, dans de nombreux modes de réalisation, pour s’appliquer à un champ d’en-tête. Le principe est là encore de relever des fréquences d’apparition, ici les fréquences des valeurs de bits 0 ou 1 pour un rang donné de la section. Si cette fréquence est 1, cela veut dire que, pour un rang donné, c’est toujours la même valeur de bit qui apparaît, et l’estimateur d’entropie sera alors minimal et vaudra 0 par convention. Le potentiel de compression de bit de champ pour ce rang vaudra alors 1, et c’est la valeur maximale que peut prendre cette grandeur. Pour une fréquence de 0.5, le logarithme en base 2 vaut -1 et l’estimateur d’entropie vaut 1, ce qui donne un potentiel de compression de bit de champ pour ce rang qui vaudra 0, ce qui est la valeur minimale que peut prendre cette grandeur. Pour des fréquences de 0.25 et 0.75 pour un rang donné, les logarithmes en base 2 valent respectivement -2 et -0.415. L’estimateur d’entropie de bit de champ vaut alors − (0,25. (−2) + 0,75. (−0.415)) = −(−0,5 − 0,31125) = 0,81125 et le potentiel de compression de bit de champ vaut alors 0,18875, bien compris entre 0 et 1. On voit encore comment le potentiel de compression, ici pour les rangs des sections dont les valeurs sont exprimées en suite de bits, va permettre de guider l’algorithme d’apprentissage en indiquant les valeurs les plus intéressantes à comprimer, en prenant ici en compte la représentation des valeurs sous forme de suite de bits. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, l’étape de sélection d’une règle appartenant à l’ensemble de règles de compression comprend la partition de l’ensemble dit d’apprentissage en sous-ensembles attribués à une règle de l’ensemble de règles de compression ; le calcul d’un potentiel de compression pour les règles de l’ensemble de règles de compression et la sélection de la règle selon son potentiel de compression, le potentiel de compression d’une règle étant calculé à partir de potentiels de compressions de champ calculés sur le sous- ensemble de l’ensemble dit d’apprentissage attribué à la règle de compression. Grâce à ce mode de réalisation, les potentiels de compression de champ sont utilisés pour sélectionner une règle parmi l’ensemble de règles de compression qui est en cours d’obtention. L’ensemble dit d’apprentissage est partitionné en affectant à une règle donnée le sous-ensemble pour lequel la règle réalise la meilleure compression. Les potentiels de compression de champ sont calculés pour les champs non comprimés par la règle en question puis additionnés pour tous les paquets de l’ensemble dit d’apprentissage. De cette manière, toutes choses égales par ailleurs, l’obtention va chercher à améliorer une règle qui s’applique à plus d’en- têtes qu’une autre et va également éviter de recréer des règles déjà créées. Le point de départ de l’algorithme d’obtention étant un ensemble formé d’une seule règle qui s’applique à toutes les valeurs (en les ignorant) et qui ne fait pas de compression, cette règle sera sélectionnée initialement lors de la première itération de l’algorithme. Une règle sera ensuite créée à partir de cette règle initiale, qui va par exemple réaliser l’effacement d’une valeur qui survient fréquemment pour un champ. La règle créée sera donc celle qui réalise la meilleure compression pour les paquets présentant cette valeur, puisqu’elle l’efface, alors que la règle initiale ne fait rien. Le potentiel de compression de la règle est alors calculé en prenant en compte l’effacement réalisé pour cette valeur. La règle initiale, qui ne fait rien, pourra être sélectionnée ultérieurement car elle a un certain potentiel de compression pour les paquets qui ne présentent pas la valeur effacée par la règle créée. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, le calcul d’un potentiel de compression pour une règle s’effectue en additionnant les potentiels de compression de champs pour les sections restantes du sous-ensemble identifié. Grâce à ce mode de réalisation, tous les potentiels de compression restant à exploiter sont pris en compte puisque c’est leur somme qui indique quelle est la règle qui va être la plus intéressante à sélectionner. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, le calcul d’un potentiel de compression pour une règle s’effectue en retenant le maximum des potentiels de compression de champs pour les sections restantes du sous-ensemble identifié. Dans ce mode, plutôt que de réaliser une addition des potentiels de compression de champ, on retient la règle qui présente un maximum. Cette variante de calcul peut être plus efficace en opération de calcul, et plus rapide, tout en donnant un bon guidage de l’algorithme d’obtention. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, l’étape de sélection d’une règle appartenant à l’ensemble de règles de compression est réalisée par un tirage aléatoire d’une règle parmi l’ensemble de règles de compression. Ce mode de réalisation donne une alternative au mode de réalisation qui consiste à calculer un potentiel de compression pour chaque règle. L’avantage de ce mode de réalisation est de proposer une alternative plus simple à réaliser. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, l’étape de création d’une nouvelle règle à partir de la règle sélectionnée s’effectue en créant une ou plusieurs règles candidates et en retenant une règle parmi les règles candidates créées selon l’efficacité de la compression réalisée par cette règle sur des paquets de l’ensemble d’apprentissage. Grâce à ce dernier mode de réalisation, l’obtention est bien guidée par une fonction de récompense en lien avec la compression réalisée par l’ensemble de règles de compression qui est en cours d’obtention. Une règle est sélectionnée, à partir de laquelle une ou plusieurs règles candidates vont être créées, et c’est bien la règle qui réalise la compression la plus efficace qui est ajoutée à l’ensemble de règles de compression. Une possibilité est d’appliquer les règles de compression déjà existantes aux paquets de l’ensemble dit d’apprentissage avant d’évaluer la compression réalisée. Cela permet de faire progresser l’obtention de l’ensemble de règles de compression en étant guidé par une récompense d’amélioration de la compression, et en évitant de retomber sur la création des mêmes règles en appliquant les compressions de la règle sélectionnée avant d’évaluer la compression des règles candidates. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, l’étape de création d’une nouvelle règle à partir de la règle sélectionnée s’effectue en choisissant une section selon son potentiel de compression de champ et en créant des règles candidates formées en ajoutant à la règle sélectionnée une opération de compression s’appliquant aux valeurs prises par la section. Grâce à ce mode de réalisation, un algorithme d’obtention est défini, qui permet de créer des règles de compression à partir d’une règle sélectionnée en étant guidé par les potentiels de compression. Une fois la règle sélectionnée, une ou plusieurs règles candidates sont créées, tout d’abord en sélectionnant une section selon son potentiel de compression de champ puis en ajoutant à la règle sélectionnée une opération de compression qui s’applique aux valeurs prises par la section en question. Une opération de compression consiste à effacer une valeur complète ou une portion d’une section quand la section prend une valeur spécifiée dans l’opération. La valeur effacée pourra être remplacée par un index de dictionnaire. La connaissance de la règle de compression appliquée pourra permettre de reconstruire la ou les valeurs (ou portions de valeurs) effacées par la ou les opérations comprises dans la règle de compression appliquée. Ce sera la règle la plus efficace parmi les règles candidates qui sera retenue. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, une opération de compression ajoutée à la règle sélectionnée est une opération d’effacement de valeur, la valeur étant choisie selon les potentiels de compression de valeur des valeurs prises par la section choisie. Grâce à ce mode de réalisation, une première règle candidate est créée, qui ajoute une opération très efficace de compression, à savoir l’effacement d’une valeur. La valeur est choisie grâce aux potentiels de compression de valeur, dont on a vu qu’ils prenaient en compte la longueur potentiellement variable des valeurs prises par la section. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, une opération de compression ajoutée à la règle sélectionnée est une opération de remplacement d’une valeur prise par la section choisie par un index d’un dictionnaire dans laquelle, si la règle sélectionnée comprend déjà, pour la section choisie, une opération de remplacement de valeur par un index d’un dictionnaire, la valeur dont le potentiel de compression de valeur est le plus élevé est ajoutée au dictionnaire ; sinon, un dictionnaire est créé comprenant les deux valeurs dont le potentiel de compression de valeur est le plus élevé. Grâce à ce mode de réalisation, une autre espèce de règle candidate est créée, ou améliorée, qui consiste à remplacer une valeur par un index de dictionnaire. Alors que l’opération d’effacement d’une valeur est efficace dans un contexte où une section prend très fréquemment une valeur donnée, l’opération de remplacement par un index de dictionnaire peut être plus efficace pour des valeurs dont la fréquence d’apparition est plus répartie. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, une opération de compression ajoutée à la règle sélectionnée est une opération d’effacement de préfixe jusqu’à un rang ^^, le rang ^^ étant déterminé en multipliant entre eux les potentiels de compression de bits de champ de la section choisie en partant du rang 0 jusqu’au rang maximum, jusqu’à ce que le produit soit inférieur à un seuil donné, par exemple dès que le produit devient strictement inférieur à 1. Grâce à ce mode de réalisation, une autre espèce de règle candidate est créée qui consiste à effacer les préfixes des valeurs prises par une section donnée. Les potentiels de compression de bits de champ permettent de détecter les préfixes communs à de nombreuses valeurs. Grâce à l’ensemble de ces modes de réalisation, un algorithme d’obtention est défini, qui permet de créer des règles de compression à partir d’une règle sélectionnée en étant guidé par les potentiels de compression. L’algorithme peut créer à chaque étape des règles candidates, chaque règle pouvant correspondre à une opération de compression parmi les opérations principales définies par le protocole SCHC. Pour créer les règles candidates, l’algorithme d’obtention commence par sélectionner la section dont le potentiel de compression de champ est le plus fort. Les règles candidates créées vont s’appliquer à une ou des valeurs de cette section. Une première règle candidate consiste en un ajout d’une opération d’effacement de valeur à la règle sélectionnée. La valeur effacée est tout simplement celle dont le potentiel de compression de valeur est le plus élevé, ce qui n’est pas forcément la valeur la plus fréquente dans le cas d’une section à longueur variable. Une deuxième règle consiste en un ajout d’une opération de remplacement d’une valeur par un index d’un dictionnaire à la règle sélectionnée. Si la règle sélectionnée comprend déjà une opération de remplacement par un index de dictionnaire pour cette section, la modification va consister en l’ajout d’une nouvelle référence au dictionnaire pour la valeur dont le potentiel de compression est le plus élevé. Sinon, la modification va créer une opération de type remplacement par un index de dictionnaire ; et comme cette opération n’a de sens que pour au moins deux valeurs, le dictionnaire créé va comprendre les deux valeurs dont les potentiels de compression de valeur sont les plus élevés. Enfin, une troisième règle consiste en un ajout d’une opération d’effacement d’un préfixe de bits. Pour définir la règle, il est important de décider jusqu’à quel rang effacer le préfixe de bits. Pour cela, on utilise les potentiels de compression de bits de champ. Si un potentiel de compression de bit vaut 1 pour un rang donné, cela veut dire que les valeurs pour ce rang ont toutes le même bit 0 ou 1. En partant du premier rang, et en multipliant les potentiels de compression de bits les uns avec les autres, on va décroître et l’algorithme consiste en choisir de s’arrêter quand un seuil donné est franchi par le produit. Si les valeurs pour les deux premiers rang, par exemple, ont toutes le même bit, le produit des potentiels de compression de bits vaudra 1. Si le rang suivant a une fréquence 0.5 pour les bits 0 et 1, le potentiel de compression de bit pour ce rang vaut zéro, et le produit s’annulera. Le passage du produit sous un seuil est donc évident, et la règle créée effacera bien le préfixe pour les deux premiers rangs et pas pour le troisième. En choisissant que le produit doit rester au minimum égal à un, l’algorithme ne va créer des règles candidates d’effacement de préfixe que pour des préfixes qui prennent bien une même valeur exprimée en suites de bits jusqu’au rang pour lequel le produit vaut moins que 1. L’avantage de ce dernier mode de réalisation, comparé à un mode de réalisation où, par exemple, les règles candidates seraient créées au hasard, est de s’assurer que les potentiels de compression guident bien la création de nouvelles règles. De cette façon, l’ensemble de règles de compression sera de taille limitée car les règles de compression les plus efficaces seront créées en premier pour être ajoutées à l’ensemble de règles de compression. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, un ordre prédéfini est appliqué permettant de choisir la règle candidate à ajouter en cas d’égalité entre les compressions réalisées par des règles candidates. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, l’ordre prédéfini permettant de choisir la règle candidate consiste à favoriser la règle candidate réalisant un effacement de valeur, puis la règle candidate réalisant un remplacement par un index de dictionnaire, puis la règle candidate réalisant un effacement de préfixe. Grâce à ces modes de réalisation, un ordre prédéfini permet de s’assurer qu’un choix sera bien fait entre les règles candidates en cas d’égalité de la compression réalisée par ces règles. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, les règles candidates sont créées en ajoutant ou modifiant de façon aléatoire une opération de compression à la règle sélectionnée. Grâce à ce mode, une variante de l’algorithme est proposée qui n’utilise pas le guidage par les potentiels de compression. Un algorithme d’obtention peut également fonctionner en utilisant des changements d’état au hasard, et c’est la fonction de récompense qui va permettre de s’assurer que l’obtention progresse bien vers un résultat acceptable. L’avantage de ce mode de réalisation est de proposer une variante plus simple à mettre en œuvre. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, l’ensemble dit d’apprentissage est séparé en plusieurs sous-ensembles de paquets de données, les paquets regroupés dans un sous-ensemble ayant tous un même format d’en-tête correspondant à un empilement de protocoles, et caractérisé en ce que l’obtention d’un ensemble de règles de compression est appliquée séparément aux sous-ensembles de l’ensemble dit d’apprentissage avant de regrouper les ensembles de règles obtenus pour les sous-ensembles en un seul ensemble de règles. Grâce à ce mode de réalisation, l’algorithme d’obtention peut être utilisé sur un ensemble dit d’apprentissage formé de plusieurs sous-ensembles distincts, correspondant chacun à des paquets ayant un format donné d’en-têtes, ce format correspondant lui-même à un empilement donné de protocoles. L’obtention se fait alors pour un format donné d’en-têtes, puis les différents ensembles de règles de compression sont réunis en un seul. On obtient ainsi un moyen efficace de couvrir un contexte de déploiement des règles de compression s’appliquant aux paquets de plusieurs protocoles. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, les règles de compression de l’ensemble de règles de compression obtenu et les opérations de compression comprises dans lesdites règles de compression sont des règles et des opérations de compression telles que définies dans le protocole SCHC. Grâce à ce mode de réalisation, l’objectif de proposer une technique d’apprentissage automatique de règles de compression pour le protocole SCHC est bien tenu. Le problème technique de disposer d’un moyen de déploiement du protocole SCHC sans solliciter d’expert pour définir les règles de compression est bien résolu. Selon un autre aspect fonctionnel, l’invention a trait à un procédé de gestion de la transmission d’un paquet de données dans un réseau, le paquet comprenant des sections prenant des valeurs respectives, caractérisé en ce qu’il comprend les étapes suivantes : • l‘obtention préalable d’un ensemble de règles de compression comprenant des opérations de compression qui peuvent s’appliquer aux valeurs prises par les sections dudit paquet de données ; • l’application d’au moins une opération de compression à une valeur de section dudit paquet de données, ladite opération étant comprise dans une règle de compression appartenant audit ensemble de règles de compression obtenu ; • la transmission dudit paquet de données et d’une donnée représentative de la règle de compression à laquelle appartient ladite opération ; • la réception dudit paquet de données et de ladite donnée représentative ; • l’application audit paquet de données d’au moins une opération de décompression symétrique de l’au moins une opération de compression appliquée à une valeur de section dudit paquet de données. Grâce à cet aspect de l’invention, une transmission complète de paquet de données est réalisée, en transmettant le paquet de données compressé. L’obtention des règles de compression permet de rendre le procédé automatique, sans intervention d’expert. La transmission de la donnée représentative de la règle de compression qui a été appliquée au paquet transmis permet de retrouver cette règle et donc les opérations de compression comprises dans la règle, et de rétablir le paquet original en appliquant les opérations de décompression symétriques. On a donc transmis un paquet compressé au lieu du paquet original, ce qui permet de très fortes économies en termes de ressources matérielles et énergétiques. Comme les règles de compression sont obtenues automatiquement, il n’y a pas besoin de faire intervenir un expert, ce qui permet de déployer très facilement la transmission efficace selon l’invention. Selon un mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec le mode précédent, le procédé comprend de surcroît une étape préalable de collecte dans le réseau de paquets transmis pour former un ensemble dit d’apprentissage utilisé lors de l’étape d’obtention d’un ensemble de règles de compression et une étape de déploiement synchronisé dans les nœuds du réseau de l’ensemble de règles de compression obtenu. Grâce à ce mode de réalisation, la transmission de paquets dans le réseau se fait en prenant en compte les paquets effectivement transmis. L’obtention préalable de l’ensemble de règles de compression utilise un général un ensemble dit d’apprentissage. Celui-ci peut être fourni par un expert, ou bien généré automatiquement selon des contraintes prédéfinies. Mais le mode de réalisation préféré est celui où l’ensemble dit d’apprentissage est collecté parmi les paquets transmis dans le réseau. L’obtention se fait alors avec un ensemble dit d’apprentissage directement représentatif du trafic de paquets dans le réseau et les règles de compression obtenues seront donc bien plus adaptées. Une fois l’ensemble de règles de compression obtenu, il doit être déployé dans les nœuds du réseau de manière synchronisée afin qu’un nœud qui reçoit un paquet compressé, et la donnée représentative de la règle de compression utilisée, puisse retrouver cette règle et appliquer l’opération de décompression symétrique. De plus, grâce à ce mode de réalisation, le procédé peut être mis en œuvre de façon permanente. La collecte de paquets de données servant à la formation de l’ensemble dit d’apprentissage est permanente et permet de capturer des changements de contexte dans la transmission en cours de paquets. Un premier ensemble de règles de compression peut être déjà déployé et, si le contexte change, par exemple si les adresses IP des nœuds du réseau changent, les règles de compression deviennent inefficaces. Mais les paquets collectés permettent de relancer l’obtention des règles de compression avec un nouvel ensemble dit d’apprentissage, et le déploiement d’un nouvel ensemble de règles de compression permet alors de s’adapter au nouveau contexte, et de réaliser de nouveau des compressions efficaces. Le déploiement doit être synchronisé afin de s’assurer que le nœud qui reçoit un paquet compressé connaît bien la règle de compression qui a été appliquée afin de pouvoir effectuer l’opération de décompression symétrique pour rétablir le paquet de données. Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, les règles de compression de l’ensemble de règles de compression obtenu, les opérations de compression comprises dans lesdites règles de compression, et les opérations symétriques de décompression sont des règles et des opérations de compression et de décompression telles que définies dans le protocole SCHC. Grâce à ce mode de réalisation, le protocole SCHC peut être déployé dans des contextes dynamiques. Les ensembles de règles de compression seront mis à jour au fur et à mesure de l’obtention utilisant des nouveaux ensembles dit d’apprentissage représentatifs du trafic entre les différents points d’un réseau, et des changements dans les en-têtes de paquets circulant effectivement. Le protocole SCHC est donc rendu apte à s’appliquer à des contextes dynamiques grâce à l’utilisation de l’apprentissage par renforcement pour créer les ensembles de règles de compression. Selon un premier aspect matériel, l’invention a trait à une entité de gestion de l’obtention d’un ensemble de règles de compression aptes à compresser un paquet de données transmis dans un réseau, le paquet comprenant des sections prenant des valeurs respectives exprimées sous la forme de suite de bits, le paquet étant apte à être compressé par application de règles de compression aptes à supprimer des bits d’une valeur prise par une section du paquet, caractérisée en ce que l’entité de gestion comprend les modules suivants : • un module d’obtention d’un potentiel de compression pour une section donnée, relativement aux valeurs prises par la section donnée dans les paquets appartenant à un ensemble de paquets de données, ensemble dit d’apprentissage ; • un module d’obtention de l’ensemble de règles de compression en fonction des potentiels de compression obtenus. Selon un autre aspect matériel, l’invention a trait à un paquet de données formé en concaténant une donnée représentative d’une règle de compression, ladite donnée étant un identifiant de la règle de compression consistant en une suite de bits, avec un paquet de données auquel a été appliqué au moins une opération de compression appartenant à ladite règle de compression qui appartient à un ensemble de règles de compression obtenu par le procédé. Selon un autre aspect matériel, l’invention a trait à un équipement réseau comprenant une entité de gestion de l’obtention d’un ensemble de règles de compression selon l’invention. Selon un autre aspect matériel, l’invention a trait à un système de gestion de la transmission d’un paquet de données dans un réseau, le paquet comprenant des sections prenant des valeurs respectives, caractérisé en ce que le système comprend les modules suivants : • un module d’obtention préalable d’un ensemble de règles de compression comprenant des opérations de compression qui peuvent s’appliquer aux valeurs prises par les sections d’un paquet de données ; • un module d’application d’au moins une opération de compression à une valeur de section d’un paquet de données, ladite opération étant comprise dans une règle de compression appartenant à un ensemble de règles de compression obtenu ; • un module de transmission d’un paquet de données auquel a été appliqué une opération de compression et d’une donnée représentative d’une règle de compression à laquelle appartient ladite opération de compression ; • un module de réception d’un paquet de données et d’une donnée représentative d’une règle de compression ; • un module d’application à un paquet de données d’une opération de décompression symétrique d’une opération de compression appliquée à une valeur de section dudit paquet de données. Selon un mode de réalisation, le système de gestion de la transmission comprend de surcroît : • un module de collecte dans le réseau de paquets de données transmis pour former un ensemble dit d’apprentissage utilisé par un module d’obtention d’un ensemble de règles de compression ; • un module de déploiement synchronisé dans les nœuds du réseau d’un ensemble de règles de compression obtenu. Enfin, selon un autre aspect matériel, l’invention a trait à des supports de données sur lesquels sont enregistrés des programmes d’ordinateurs comprenant des séquences d’instructions pour la mise en œuvre des procédés définis ci-dessus. Les supports de données peuvent être n'importe quelle entité ou dispositif capable de stocker les programmes. Par exemple, les supports peuvent comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique tel qu’un un disque dur. D'autre part, les supports peuvent être des supports transmissibles tels qu'un signal électrique ou optique, qui peuvent être acheminés via un câble électrique ou optique, par radio ou par d'autres moyens. Les programmes selon l'invention peuvent être en particulier téléchargés sur un réseau de type Internet. Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. Brève description des figures L'invention sera mieux comprise à la lecture de la description qui suit, donnée à titre d'exemple, et faite en référence aux dessins annexées sur lesquels : [Fig 1] représente une entité d’obtention d’un ensemble de règles de compression ainsi qu’une entité de gestion de la compression d’un paquet de données transmis dans un réseau et une entité de gestion de la décompression d’un paquet de données. [Fig 2] représente un exemple d’obtention d’un ensemble de règles de compression par la mise en œuvre d’un algorithme d’apprentissage. La figure 2 est subdivisée en quatre sous-figures 2.A, 2.B, 2.C et 2.D, correspondant à quatre étapes d’apprentissage. [Fig 3] représente un exemple de calcul de potentiels de compression de champ explicitant l’intérêt d’utiliser un potentiel de compression de champ corrigé. [Fig 4] représente un exemple de calcul de potentiels de compression de valeurs explicitant la différence entre un potentiel de compression d’une valeur et sa fréquence d’apparition. [Fig 5] représente un exemple de système de transmission de paquets de données selon l’invention, montrant le déploiement d’un tel système dans un réseau comprenant une passerelle et deux terminaux. [Fig 6] représente un autre exemple de système de transmission de paquets de données selon l’invention, montrant le déploiement d’un tel système dans un réseau comprenant deux routeurs. Description détaillée La figure 1 représente une entité 300 d’obtention d’un ensemble RS de règles de compression ainsi qu’une entité de gestion de la compression 100 d’un paquet de données P transmis dans un réseau NET et une entité de gestion de la décompression 200 d’un paquet de données P. L‘entité 300 d’obtention d’un ensemble RS de règles de compression comprend un module 301 d’obtention d’un potentiel de compression PC relativement aux valeurs prises par les sections de paquets de données appartenant à un ensemble E de paquets de données, ensemble dit d’apprentissage ainsi qu’un module APP d’obtention de l’ensemble RS de règles de compression en fonctions des potentiels de compression PC obtenus. Dans des exemples de réalisation, le module APP met en œuvre un algorithme d’apprentissage afin d’obtenir l’ensemble RS de règles de compression. Les exemples présentés dans la figure 1 et les figures suivantes correspondent à ces exemples de réalisations dans lesquels un algorithme d’apprentissage est mis en œuvre. Dans ces exemples, l’algorithme d’apprentissage utilise un ensemble d’apprentissage qui est l’ensemble dit d’apprentissage. En plus de l’entité d’obtention 300, la figure 1 décrit deux entités de gestion de la compression 100 et de la décompression 200 d’un paquet P de données afin d’illustrer l’utilisation de l’ensemble RS de règles de compression obtenu par la mise en œuvre du procédé par l’entité d’obtention 300. Les deux entités de gestion de la compression 100 et de la décompression 200 appartiennent à un même réseau NET qui est un réseau de communication utilisant des protocoles de transmission de paquets de données P. Dans l’exemple de réalisation décrit dans la figure 1, l’entité d’obtention 300 appartient au même réseau NET mais dans d’autres exemples de réalisation, l’entité d’obtention 300 peut appartenir à des réseaux différents ou même être isolée du réseau NET. L’ensemble RS de règles de compression obtenu par l’entité d’obtention 300 pourra être déployé dans les entités de gestion de la compression 100 et de la décompression 200 par tout moyen. Le paquet de données P comprend des sections prenant des valeurs respectives. Les deux entités de gestion de la compression 100 et de la décompression 200 disposent d’un même ensemble de règles de compression RS, cet ensemble comprenant des règles de compression qui comprennent elles-mêmes des opérations de compression qui s’appliquent à des valeurs prises par les sections d’un paquet de données P. L’ensemble RS de règles de compression a été obtenu par la mise en œuvre d’un algorithme d’obtention par l’entité 300. L’entité de gestion de la compression 100 comprend un module 101 d’application d’au moins une opération de compression à une valeur de section d’un paquet de données P, ladite opération étant comprise dans une règle de compression appartenant à un ensemble de règles de compression RS, ledit ensemble RS étant obtenu par apprentissage. L’entité de gestion de la compression 100 comprend un module 102 de transmission d’un paquet de données P auquel au moins une opération de compression a été appliquée et d’une donnée représentative de la règle de compression à laquelle appartient ladite opération. L’entité de gestion de la décompression 200 comprend un module 201 de réception d’un paquet de données P auquel au moins une opération de compression a été appliquée à une valeur de section dudit paquet P, ladite opération étant comprise dans une règle de compression appartenant à un ensemble de règles de compression RS, ledit ensemble RS étant obtenu par apprentissage, et d’une donnée représentative de la règle de compression à laquelle appartient ladite opération. L’entité de gestion de la décompression 200 comprend un module 202 d’application à un paquet de données P d’au moins une opération de décompression symétrique d’une opération de compression appliquée à une valeur de section dudit paquet P. La transmission du paquet de données P par le module 102, et la réception du même paquet P par le module 201, est représentée par une flèche reliant le module 102 au module 201, étiquetée par le paquet P. La transmission et la réception de la donnée représentative de la règle de compression appliquée au paquet P ne sont pas représentées dans la figure 1. Dans certains modes de réalisation, le paquet de données P et la donnée représentative sont transmis et reçus conjointement. Comme l’entité de gestion de la compression 100 et de la décompression 200 disposent du même ensemble de règles de compression RS obtenu, l’entité de gestion de la décompression 200 pourra utiliser la donnée représentative de la règle de compression appliquée au paquet P pour retrouver celle-ci. Il est aisé ensuite de déterminer l’opération symétrique de décompression. Le module 202 d’application d’une opération de décompression symétrique permet alors de rétablir le paquet de données P tel qu’il était avant l’application d’une opération de compression. Le paquet de données P a donc été transmis dans le réseau après application sur les valeurs prises par les sections du paquet P d’une ou plusieurs opérations de compression par l’entité de gestion de la compression 100. La transmission du paquet P une fois compressé permet de réaliser d’importantes économies de ressources énergétiques et matérielles. Le paquet P est ensuite rétabli par l’entité de gestion de la décompression 200 pour utilisation ultérieure. Comme l’ensemble de règles de compression RS est obtenu par apprentissage, le procédé ne demande pas d’intervention d’un expert, et il peut s’adapter à des contextes changeant en réitérant l’algorithme d’apprentissage pour disposer d’ensembles de règles de compression RS adaptés au contexte. La figure 2, quant à elle, représente un exemple d’exécution d’un mode de réalisation d’obtention d’un ensemble de règles de compression selon un mode de réalisation du procédé de l’invention. Dans cet exemple, un algorithme d’apprentissage est utilisé. La figure 2 est subdivisée en quatre sous-figures (2.A, 2.B, 2.C et 2.D) qui correspondent à quatre étapes S0, S1, S2 et S2’ de l’apprentissage selon ce mode de réalisation. La figure 2.A correspond à l’état initial S0 de l’apprentissage et à la première étape. L’ensemble d’apprentissage E est constitué de N=10000 paquets. Ces N=10000 paquets contiennent un en- tête formé, dans notre exemple, de quatre champs C1, C2, C3, C4. Dans notre exemple, chacun des champs C1, C2, C3, C4 a une longueur de 8 bits, indiquée par la mention L=8. Pour le premier champ C1, les N=10000 paquets de l’ensemble d’apprentissage E présentent tous la même valeur ^^1 1 non spécifiée. La fréquence ^^1 1 d’apparition de la valeur ^^1 1 est donc de 100%.
Figure imgf000032_0001
Pour le deuxième champ C2, les N=10000 paquets de l’ensemble d’apprentissage E présentent trois valeurs ^^2 1, ^^2 2 et ^^2 3 qui sont là encore non spécifiées. Seules les fréquences ^^2 2 et ^^2 3 de ces trois
Figure imgf000032_0002
valeurs sont précisées. Elles valent respectivement 80%, 10% et 10%. Pour le troisième champ C3, les N=10000 paquets de l’ensemble d’apprentissage présentent quatre valeurs ^^3 1, ^^3 2, ^^3 3 et ^^3 4 qui apparaissent dans l’ensemble d’apprentissage avec la même fréquence de 25%. Les valeurs sont spécifiées comme suite de 8 bits, et on voit qu’elles se différencient par le préfixe. Pour le quatrième champ C4, les N=10000 paquets de l’ensemble d’apprentissage présentent quatre valeurs ^^4 1, ^^4 2, ^^4 3 et ^^4 4 qui apparaissent là aussi dans l’ensemble d’apprentissage avec la même fréquence de 25%. Les valeurs sont spécifiées comme suite de 8 bits, mais ici, contrairement aux valeurs du champ C4, ces quatre valeurs ont un préfixe identique sur les 6 premiers bits. Cet exemple est bien sûr fictif, et choisi pour illustrer le fonctionnement de l’algorithme d’apprentissage de règles de compression. Les différentes fréquences d’apparition et valeurs prises vont permettre d’illustrer les différentes opérations de compression pouvant être ajoutées aux règles de compression lors de l’apprentissage selon un mode de réalisation. Dans l’exemple ici présenté, la compression va chercher uniquement à compresser les valeurs prises par les champs C1, C2, C3 et C4 des en-têtes des paquets de données et pas des sections délimitées des charges des paquets, mais les principes resteraient les mêmes dans le cas où l’on chercherait à apprendre des règles de compression qui s’appliquent à des sections des charges des paquets. On suppose que les fréquences d’apparition des différentes valeurs sont indépendantes les unes des autres. Par exemple, on suppose que dans les 8000 paquets de l’ensemble d’apprentissage E pour lesquels le champ C2 prend la valeur ^^2 1, les quatre valeurs des champs C3 et C4 apparaissent de façon équiprobable, comme dans l’ensemble d’apprentissage E complet. Ces valeurs apparaissent donc respectivement chacune dans 2000 paquets des 8000 paquets où le champ C2 prend la valeur ^^2 1. On suppose que cette propriété est également vraie en combinant les différentes valeurs de champ. Par exemple, dans les 2000 paquets pour lesquels à la fois le champ C2 prend la valeur ^^2 1 et le champ C3 prend la valeur ^^3 1, alors les fréquences d’apparition des valeurs du champ C4 sont également équiprobables, et on trouve donc 500 paquets pour chacune de ces quatre valeurs. Cette hypothèse nous permettra de simplifier la présentation d’un mode de réalisation de l’algorithme sans perdre en généralité. Les fréquences d’apparition sont présentées en pourcentage dans la figure 2.A et suivantes, mais, pour les calculs à suivre, les fréquences sont des grandeurs strictement positives, inférieures ou égales à 1. Un pourcentage de 100% correspond à une grandeur de 1 ; un pourcentage de 80% à 0.8 ; un pourcentage de 25% à 0.25 et un pourcentage de 10% à 0.1. Il est possible de calculer des potentiels de compression de champ PCC pour les quatre champs C1, C2, C3 et C4. Selon un mode de réalisation de l’invention, le potentiel de compression de champ PCC se calcule, pour une section donnée, selon la formule ^^( ^^ − ^^), dans laquelle N est le nombre de fois que la section apparaît dans l’ensemble d’apprentissage ; L est la longueur de la section exprimée en bits et H est une grandeur dite estimateur d’entropie de champ qui est calculée suivant la formule ^^ = − ∑ ^^∈[1, ^^] ^^ ^^ ^^ ^^ ^^2( ^^ ^^) dans laquelle K est le nombre de valeurs différentes ^^ prend la section dans l’ensemble d’apprentissage ^^ ^^ est la
Figure imgf000033_0002
Figure imgf000033_0001
fréquence d’apparition de la valeur ^^ ^^.
Figure imgf000033_0003
On utilise, dans ce mode de réalisation et dans cet exemple, la formule dans laquelle la section, ici un des quatre champs C1, C2, C3 ou C4, est de longueur fixe. C’est bien le cas dans cet exemple, avec une longueur L égale à 8 bits pour les quatre champs C1, C2, C3, C4. Pour le champ C1, le calcul donne donc le résultat suivant : ^^ ^^ ^^( ^^1) = 10000 ∗ (8 − (− ^^1 1 log2( ^^1 1)) = 10000 ∗ (8 − (−1 ∗ 0)) = 80000 Pour le champ C2, le calcul donne donc le résultat suivant : ^^ ^^ ^^( ^^2) = 10000 ∗ (8 − (− ^^2 1 log2( ^^2 1) − ^^2 2 log2( ^^2 2) − ^^2 3 log2( ^^2 3))) = 10000 ∗ (8 − (0.8 ∗ 0.3219 + 0.1 ∗ 3.322 + 0.1 ∗ 3.322)) = 10000 ∗ (8 − 0.92192) = 70781 Pour les champs C3 et C4, le calcul donne le même résultat car les fréquences d’apparition des valeurs sont les mêmes dans les deux champs. Le résultat est donné ci-dessous : ^^ ^^ ^^( ^^3) = 10000 ∗ (8 − (− ^^3 1 log2( ^^3 1) − ^^3 2 log2( ^^3 2) − ^^3 3 log2( ^^3 3) − ^^3 4 log2( ^^3 4))) = 10000 ∗ (8 − (4 ∗ 0.25 ∗ 2)) = 60000 = ^^ ^^ ^^( ^^4) A l’étape S0, dans le mode de réalisation présenté ici, l’ensemble de règles de compression RS est initialisé avec une règle unique R0. Cette règle est une règle qui correspond à toutes les valeurs possibles de tous les champs des paquets de l’ensemble d’apprentissage E, mais n’applique aucune compression à ces valeurs. Ces éléments correspondent à l’état initial de l’algorithme d’apprentissage. Nous allons maintenant détailler la première étape de l’algorithme d’apprentissage par renforcement de l’ensemble de règles de compression RS, pour un mode de réalisation parmi plusieurs. Cette première étape est également représentée sur la figure 2.A. L’algorithme d’apprentissage par renforcement de l’ensemble de règles de compression RS commence par la sélection d’une règle parmi l’ensemble RS. Comme l’ensemble RS comprend seulement la règle R0 à ce stade, c’est cette règle R0 qui va être sélectionnée. On verra dans les étapes ultérieures comment la sélection peut être effectuée lorsqu’il y a plusieurs règles dans l’ensemble de règles de compression RS. A partir de la règle R0, plusieurs règles candidates vont être créées dans l’exemple de mode de réalisation présenté ici. La première étape pour créer les règles candidates consiste dans notre exemple à choisir un champ parmi les champs C1, C2, C3, C4. Pour cela, le mode de réalisation de l’algorithme d’apprentissage utilise les potentiels de compression de champ PCC(C1), PCCC(C2), PCC(C3) et PCC(C4). En général, l’algorithme va ici choisir une section en utilisant les potentiels de compression de champ pour l’ensemble des sections dont on cherche à compresser les valeurs prises. Ce calcul des potentiels de compression de champ PCC doit prendre en compte les compressions effectuées par les règles de compression présentes dans l’ensemble de règles de compression RS. Pour cela, un mode de réalisation possible est de réaliser une partition de l’ensemble d’apprentissage E selon les règles de compression de l’ensemble RS, et de calculer les potentiels de compression de champ PCC pour chaque règle de l’ensemble RS en utilisant les sous-ensembles de l’ensemble d’apprentissage E attribués à chaque règle. A ce stade initial, seule la règle R0, qui ne réalise aucune compression est présente. Le calcul des potentiels de compression de champ PCC est donc celui qui a été présenté ci-dessus. Comme le potentiel de compression de champ PCC(C1) est le plus grand parmi les quatre potentiels PCC(C1), PCC(C2), PCC(C3) et PCC(C4), c’est ce champ C1 qui sera choisi pour créer les règles candidates à partir de la règle sélectionnée R0. Dans notre exemple de réalisation, trois règles candidates vont être créées, correspondant à l’ajout à la règle sélectionnée R0 de trois opérations de compression possibles sur les valeurs prises par le champ C1 dans les paquets de l’ensemble d’apprentissage E. La première règle candidate créée consiste en l’ajout d’une opération d’effacement. Pour sélectionner la valeur à effacer, dans notre exemple de réalisation, des potentiels de compression de valeur PCV sont
Figure imgf000034_0001
calculés. En l’occurrence, comme le champ C1 prend une seule valeur dans l’ensemble d’apprentissage E, c’est bien sûr cette valeur qui sera effacée. La deuxième règle candidate créée consiste en l’ajout d’une opération de remplacement par un index d’un dictionnaire. Dans ce cas, comme il une seule valeur prise par le champ C1, l’opération ajoutée consiste
Figure imgf000034_0002
en remplacer cette valeur unique ^^1 1 par un index de dictionnaire. Comme le dictionnaire en question serait utilisé pour une seule valeur, il ne comprendrait qu’un seul bit. La troisième règle candidate créée consiste en l’ajout d’une opération d’effacement des préfixes communs aux valeurs prises par le champ. Ici, comme il y a une seule valeur prise par le champ C1, l’opération ajoutée consiste en l’effacement de la valeur elle-même, puisque tous les bits de préfixe sont évidemment communs pour cette valeur unique. L’étape suivante de l’algorithme d’apprentissage va consister en retenir une règle parmi les règles candidates créées pour l’ajouter à l’ensemble de règles de compression RS. Pour cela, la fonction de récompense utilisée dans notre mode de réalisation est la compression réalisée par les règles candidates sur les paquets de l’ensemble d’apprentissage E. La première règle candidate réaliserait l’effacement de la valeur ^^1 1 prise par le champ C1. Comme ce champ a une longueur de 8 bits, et que la valeur ^^1 1 apparaît dans les
Figure imgf000035_0001
paquets de l’ensemble d’apprentissage E (sa fréquence d’apparition ^^1 1 vaut 100%), la compression réalisée par cette règle candidate est de 8*10000, soit 80000 bits. La deuxième règle candidate réaliserait le remplacement de la valeur ^^1 1 prise par le champ C1 par un index
Figure imgf000035_0002
d’un dictionnaire. Comme cet index a une longueur d’un bit, la réalisée par cette règle pour un paquet ne serait pas de 8 bits, mais seulement de 7 bits. En multipliant par les 10000 paquets de l’ensemble d’apprentissage, la compression réalisée par cette règle candidate est de 70000 bits. La troisième règle candidate réaliserait l’effacement du préfixe commun aux valeurs prises par le champ C1. Comme le champ C1, dans l’ensemble d’apprentissage E, prend uniquement la valeur ^^1 1, alors toute cette valeur serait effacée par l’opération d’effacement du préfixe commun. Cette troisième règle candidate réalise donc la même compression que la première règle candidate, à savoir 80000 bits. Dans notre mode de réalisation, la règle candidate choisie est celle qui réalise la meilleure compression. En cas d’égalité, un critère de choix peut être défini. Dans notre mode de réalisation, l’opération d’effacement est privilégiée devant l’opération de remplacement par un index, elle-même devant l’opération d’effacement de préfixe commun. C’est donc cette règle de compression R1, notée ^^1: [ ^^ ^^( ^^1 1)], qui va être rajoutée à l’ensemble RS de règles de compression. La notation ^^
Figure imgf000035_0003
utilise l’acronyme ns pour l’anglais not sent pour indiquer une valeur non transmise. Une règle de compression est notée dans nos figures comme une suite d’opérations placées entre crochets. A ce stade de l’algorithme d’apprentissage, l’ensemble de règles de compression RS comprend donc deux règles, la règle initiale R0 et la règle R1 qui vient de lui être ajoutée. Dans le mode de réalisation présenté ici, lorsqu’une règle ajoutée s’applique à tous les paquets de données de l’ensemble d’apprentissage auxquels la règle sélectionnée s’applique, alors la règle sélectionnée est retirée de l’ensemble de règles de compression. C’est bien le cas ici : la règle initiale R0, qui ne réalise aucune compression, s’applique bien à tous les paquets de l’ensemble d’apprentissage E et c’est aussi le cas de la règle R1 qui efface la valeur ^^1 1, puisque cette valeur est prise par 100% des champs C1 des paquets de l’ensemble d’apprentissage E. La règle initiale R0 est donc retirée de l’ensemble RS, ce qui est représentée dans la figure 2.A par la case barrée placée sur elle. Nous discuterons plus loin des critères d’arrêt de l’apprentissage par renforcement dans notre mode de réalisation, et nous supposons que l’algorithme d’apprentissage va bien se poursuivre. Nous allons donc voir maintenant l’exécution de l’étape suivante S1 de l’apprentissage par renforcement dans notre mode de réalisation, représentée par la sous-figure 2.B. La figure 2.B correspond à l’état S1 de l’apprentissage, après la première étape, et à la deuxième étape de l’apprentissage par renforcement selon un mode de réalisation. L’ensemble d’apprentissage E n’est pas modifié, et comprend toujours 10000 paquets, qui comprennent 4 champs C1, C2, C3, C4 d’une longueur L de 8 bits chacun. Cependant, l’ensemble de règles de compression RS en cours d’apprentissage a été modifié et comprend maintenant la règle R1 d’effacement de la valeur ^^1 1, règle notée ^^1: [ ^^ ^^( ^^1 1)]. Ceci a une influence sur le calcul des potentiels de compression de champ PCC dans notre mode de réalisation, et est représentée dans la figure 2.B par la case carrée barrant le champ C1 en entier dans l’ensemble d’apprentissage E. Le calcul des potentiels de compression de champ PCC utilise la formule ^^( ^^ − ^^), dans laquelle N est le nombre de fois que le champ apparaît dans l’ensemble d’apprentissage. Pour prendre en compte la modification de l’ensemble de règles de compression, il suffit, dans un exemple de réalisation, d’appliquer les règles de compression de l’ensemble RS à l’ensemble d’apprentissage E. Ici, l’application de la règle R1 va effacer toutes les occurrences du champ C1, puisque ce champ C1 prend une valeur unique ^^1 1 effacée par la règle de compression R1. Donc, le calcul du potentiel de compression de champ PCC(C1) en prenant en compte l’ajout de la règle R1 à l’ensemble de règles de compression RS va utiliser une grandeur N=0. On a donc PCC(C1) = 0 dans l’étape S1. Il est facile de comprendre que, puisque la valeur unique prise par le champ C1 est effacée par la règle R1 pour tous les paquets de l’ensemble d’apprentissage E, ce champ n’a plus de potentiel de compression. Cette intuition est bien capturée par le calcul du potentiel de compression de champ selon le mode de réalisation présenté ici. On voit que la formule de calcul d’un potentiel de compression de champ PCC peut s’appliquer à plusieurs contextes et en particulier ici prendre en compte l’évolution de l’ensemble de règles de compression RS au cours des étapes d’apprentissage successives. Les autres calculs de potentiels de compression de champ PCC(C2), PCC(C3) et PCC(C4) sont inchangés par rapport aux calculs réalisés dans la première étape S0, puisque la règle R1 ne réalise aucune opération sur les valeurs prises par les champs C2, C3 et C4. On verra dans la description des étapes suivantes comment des calculs de potentiels de compression de champ PCC prenant en compte les règles de compression appartenant à l’ensemble RS permettent de sélectionner une règle parmi l’ensemble RS de règles de compression afin de créer des règles candidates. Comme l’ensemble RS ne comprend qu’une seule règle R1 à cette étape S1, c’est cette règle R1 qui est sélectionnée dans notre exemple. Comme vu précédemment, une fois la règle R1 sélectionnée, il faut sélectionner un champ pour créer une ou plusieurs règles candidates. Dans notre mode de réalisation, c’est le champ qui a le plus fort potentiel de compression PCC qui est choisi, et c’est donc ici le champ C2. Comme vu précédemment, trois règles candidates vont être créées, rajoutant à la règle R1 une opération de compression sur le champ C2 sélectionné. La première sera une opération d’effacement de valeur, cette valeur étant choisie selon les potentiels de compression de valeur. Comme le champ C2 est de longueur fixe, les potentiels de compression de valeur donnent les mêmes classements que la fréquence d’apparition. La valeur sera celle qui apparaît le plus fréquemment et donc sera la valeur ^^2 1 qui apparaît avec une fréquence de 80%. La deuxième règle candidate consistera en l’ajout d’une opération de dictionnaire. Comme il n’y a pas d’opération de dictionnaire pour le champ C2, il s’agit donc d’une création qui remplacera deux valeurs prises par le champ C2, à savoir la valeur ^^2 1, dont le potentiel de compression de valeur est le plus élevé et l’une des deux valeurs ^^2 2 et ^^2 3, dont les potentiels de compression de valeur sont égaux. Mettons que la valeur ^^2 2 retenue aléatoirement. La troisième règle candidate consiste en l’ajout d’une opération de préfixe, et on suppose que les valeurs prises par le champ C2 sont similaires à celles prises par le champ C3, et ne présentent donc pas de préfixe commun. L’étape suivante de l’algorithme d’apprentissage va consister en retenir une règle parmi les règles candidates créées pour l’ajouter à l’ensemble de règles de compression RS. Pour cela, la fonction de récompense utilisée dans notre mode de réalisation est la compression réalisée par les règles candidates sur les paquets de l’ensemble d’apprentissage E. La première règle candidate réalise l’effacement de la valeur
Figure imgf000037_0001
qui a une longueur de 8 bits, et qui apparaît dans 8000 paquets de l’ensemble d’apprentissage E. La compression réalisée par cette règle candidate est donc de 64000 bits. La deuxième règle candidate réalise le remplacement des valeurs ^^2 1 et ^^2 2 par un index d’un dictionnaire, qui doit donc utiliser au moins un bit. La deuxième règle candidate remplace donc une valeur d’une longueur de 8 bits par un index d’un bit. Elle réalise donc une compression de 7 bits pour chaque paquet où elle est appliquée. En l’occurrence, cette deuxième règle est appliquée pour 9000 paquets, ceux pour lesquels la valeur du champ C2 est prise par ^^2 1 ou ^^2 2. La compression réalisée est donc de 7*9000 = 63000 bits. La première règle candidate réalise donc une meilleure compression que la deuxième. On suppose que la troisième règle candidate n’est pas efficace car les valeurs prises par le champ C2 ne présentent pas de préfixe commun. C’est donc la première règle candidate qui va être retenue et ajoutée à l’ensemble de règles de compression RS, donnant la règle R2. Celle-ci est notée dans la figure 2.B de la façon suivante : ^^2: [ ^^ ^^( ^^1 1) + ^^ ^^( ^^2 1)], afin de montrer que l’opération d’effacement de la valeur ^^2 1, notée ^^ ^^( ^^2 1), est ajoutée à l’opération d’effacement de la valeur ^^1 1 qui était déjà présente dans R1. Nous rappelons que la règle R2 a été créée en sélectionnant la règle R1 et en lui ajoutant une opération de compression, ici d’effacement de la valeur ^^2 1. Dans cette étape S1, contrairement à l’étape S0, la règle R2 qui vient d’être ajoutée à l’ensemble RS de règles de compression ne s’applique pas à tous les paquets de l’ensemble d’apprentissage E auxquels s’applique la règle R1. En effet, la règle R1 s’applique à tous les paquets de l’ensemble d’apprentissage E, alors que la règle R2 ne s’applique qu’aux 8000 paquets de l’ensemble d’apprentissage E dans lesquels le champ C2 prend la valeur ^^2 1. Pour cette raison, dans le mode de réalisation présenté ici, la règle R1 n’est pas effacée de l’ensemble RS de règles de compression qui va maintenant comprendre les deux règles R1 et R2. Dans le mode de réalisation présenté dans cet exemple, l’algorithme d’apprentissage par renforcement va utiliser une partition de l’ensemble d’apprentissage E en attribuant des sous-ensembles de l’ensemble d’apprentissage E aux règles de compression de l’ensemble RS. Tant qu’il n’y avait qu’une règle R0 puis R1 dans l’ensemble RS, ceci n’était pas important. Ici, on va attribuer les 8000 paquets de l’ensemble d’apprentissage E pour lesquels la règle R2 s’applique à celle-ci, et créer un sous-ensemble dédié, et attribuer le résidu de 2000 paquets à la règle R1. Cette attribution des paquets de l’ensemble d’apprentissage E à des règles de l’ensemble RS est faite dans notre exemple de réalisation au moment de l’ajout d’une nouvelle règle dans l’ensemble RS de règles de compression, au moment de décider de la suppression ou non de la règle sélectionnée de l’ensemble RS. Comme la règle créée est créée à partir de la règle sélectionnée en lui ajoutant une opération de compression, la règle créée va forcément s’appliquer à un sous-ensemble des paquets auxquels la règle sélectionnée s’applique et est attribuée. Si la règle créée s’applique à tous les paquets auxquels la règle sélectionnée s’appliquait, l’algorithme d’apprentissage va attribuer tous les paquets de la règle sélectionnée à la règle créée, et il n’est pas nécessaire de conserver la règle sélectionnée dans l’ensemble RS de règles de compression. Si la règle créée ne s’applique pas à tous les paquets de la règle sélectionnée, on attribue à la règle créée les paquets auxquels elle s’applique et on conserve la règle créée dans l’ensemble RS de règles de compression et on lui attribue le résidu de paquets auxquels la règle créée ne s’applique pas. Cette partition va permettre d’affiner le calcul des potentiels de compression de champ comme on va le voir dans les prochaines étapes. Nous supposons là encore qu’un critère d’arrêt n’est pas satisfait et allons présenter l’étape suivante de l’algorithme d’apprentissage par renforcement. La figure 2.C correspond à l’état S2 de l’apprentissage, tel qu’il est obtenu après la deuxième étape, et à la troisième étape de l’apprentissage par renforcement selon un mode de réalisation. A ce stade S2, l’ensemble RS de règles de compression comprend deux règles R1 et R2. Pour réaliser une sélection parmi ces deux règles afin de créer des règles candidates, un mode de réalisation possible utilise le calcul de potentiels de compression de champ PCC selon une partition de l’ensemble d’apprentissage E en sous-ensembles attribués aux règles R1 et R2. On a vu précédemment, lors de la description de la fin de la deuxième étape, comment procéder à cette partition. Dans notre mode de réalisation, 8000 paquets de l’ensemble d’apprentissage E ont été attribués à la règle R2, ceux pour lesquels la règle R2 s’applique, et le résidu de 2000 paquets est attribué à la règle R1. Les potentiels de compression de champ PCC(C1), PCC(C2), PCC(C3) et PCC(C4) sont alors calculés pour les deux sous-ensembles réalisant la partition de l’ensemble d’apprentissage E, en appliquant à ces paquets la règle de compression qui leur a été attribuée. Pour le champ C1, que ce soit dans les 2000 paquets attribués à la règle R1 ou les 8000 paquets attribués à la règle R2, l’application respective des règles R1 et R2 va effacer la valeur ^^1 1 prise par le champ C1. Le champ C1 n’apparaît donc dans aucun paquet des deux sous-ensembles, et
Figure imgf000039_0001
grandeur N utilisée dans la formule de calcul du potentiel de compression de champ PCC(C1) est donc nulle dans les deux cas. Autrement dit, que ce soit pour les paquets attribués à la règle R1 ou pour ceux attribués à la règle R2, le potentiel de compression de champ PCC du champ C1 est nul. Ceci se comprend bien, puisque ces deux règles R1 et R2 effacent la valeur unique ^^1 1 prise par le champ C1. Pour le champ C2, il est nécessaire de faire un calcul différencié de potentiel de compression de champ PCC(C2) pour les deux sous-ensembles attribués respectivement à la règle R1 et à la règle R2. Pour la règle R1, les paquets de l’ensemble d’apprentissage E qui lui sont attribués sont ceux auxquels la règle R2 ne s’applique pas. Ce sont donc les 2000 paquets dans lesquels le champ C2 ne prend pas la valeur ^^2 1 mais, de façon équiprobable prend l’une des deux valeurs ^^2 2 ou ^^2 3. Dans ces 2000 paquets, le champ C2 apparaît bien, et la grandeur N vaut donc ici 2000. La formule pour calculer le potentiel de compression de champ PCC(C2) est donc : ^^ ^^ ^^( ^^2) = ^^ ∗ ( ^^ − (− ^^2 2 log2( ^^2 2) − ^^2 3 log2( ^^2 3))) = 2000 ∗ (8 − (−0.5(−1) − 0.5(−1))) = 2000 ∗ 7 = 14000 Pour la règle R2, cependant, les 8000 paquets de l’ensemble d’apprentissage E qui lui sont attribués sont ceux auxquels la règle R2 s’applique, règle qui comprend l’opération de compression consistant en l’effacement de la valeur ^^2 1. Le champ C2 est donc complètement effacé dans le sous-ensemble de paquets attribués à la règle R2. Autrement dit, le champ C2 n’apparaît pas dans ce sous-ensemble et l’on a ici une grandeur N nulle et donc un potentiel de compression de champ PCC(C2) nul. Les deux valeurs pour le potentiel de compression de champ PCC(C2) sont bien présentes dans la figure 2.C, à savoir 14000 pour le sous-ensemble attribué à la règle R1 et 0 pour le sous-ensemble attribué à la règle R2. Pour le calcul des potentiels de compression de champ PCC(C3) et PCC(C4), on a vu plus haut qu’on faisait l’hypothèse que les fréquences d’apparition des différentes valeurs prises par les champs C3 et C4 sont les mêmes dans les deux sous- règle R1 et à la règle R2. Pour quatre valeurs
Figure imgf000039_0002
équiprobables, la grandeur ^^( ^^) = − ∑ ^^∈[1, ^^] ^^ ^^ ^^ ^^ ^^2( ^^ ^^) vaut −(4 ∗ (0.25 ∗ (−2)), soit 2. Autrement dit, pour la règle R1, qui a été attribuée à 2000 paquets, les potentiels de compression de champ PCC(C3) et PCC(C4) valent 2000*(8-2), soit 12000 ; alors que pour la règle R2, qui a été attribuée à 8000 paquets, les potentiels de compression de champ PCC(C3) et PCC(C4) valent 8000*(8-2), soit 48000. Ces deux valeurs sont bien présentées dans la figure 2.C. L’ensemble de ces potentiels de compression de champ sont utilisés pour déterminer la règle sélectionnée. Un mode possible de réalisation consiste à additionner les potentiels de compression de champ PCC pour une règle donnée. Dans ce cas, la règle R1 se verrait attribuer un potentiel de compression de champ PCC de 0 + 14000 + 12000 + 12000 = 38000 alors que la règle R2 se verrait attribuer un potentiel de compression de champ PCC valant 0 + 0 + 48000 + 48000 = 96000. Dans ce cas, la règle R2 serait sélectionnée. Un autre mode possible de réalisation est de calculer le potentiel de compression de champ PCC d’une règle en prenant le maximum des potentiels de compression de champ PCC pour cette règle plutôt qu’en effectuant la somme. Ce mode de réalisation nous emmène là aussi à sélectionner la règle R2. La création de règles candidates va donc se faire à partir de la règle R2. Pour la règle R2, les deux champs C3 et C4 présentent le même potentiel de compression de champ PCC(C3) = PCC(C4) = 48000 alors que les champs C1 et C2 présentent un potentiel de compression de champ PCC nul. Dans ces cas d’égalité, la sélection entre les champs C3 et C4 pour décider quelles règles candidates vont être créées peut se faire de façon aléatoire ou en suivant un autre critère, par exemple d’ordre de survenue. Supposons que le champ C3 soit sélectionné. Trois règles candidates sont alors créées en partant de la règle R2 et en lui ajoutant une opération de compression travaillant sur les valeurs prises par le champ C3. On rappelle que les quatre valeurs prises par le champ C3 sont équiprobables et ne présentent pas de préfixes communs, comme on peut le voir sur la figure 2.C. La règle candidate consistant en l’effacement d’un préfixe commun n’aura donc aucune efficacité de compression. Pour la règle candidate qui consiste en l’ajout à la règle R2 d’une opération d’effacement d’une valeur prise par le champ C3, comme les valeurs sont équiprobables et que les quatre valeurs ont la même longueur, car le champ C3 est de longueur fixe, elles auront donc les mêmes potentiels de compression de valeur. N’importe quelle valeur peut donc être sélectionnée pour être effacée. Là encore, un mode de réalisation en cas d’égalité peut être de faire un tirage aléatoire ou bien de prendre la première ou la dernière valeur survenue ou toute autre méthode de choix. De même, pour la règle candidate qui consiste en l’ajout à la règle R2 d’une opération de remplacement de valeur par un index d’un dictionnaire, les potentiels de compression de valeur ne vont pas guider le choix des valeurs à remplacer par un index de dictionnaire. Deux valeurs seront sélectionnées aléatoirement ou selon un critère d’ordre. La compression réalisée par l’opération d’effacement se calcule pour les 8000 paquets auxquels la règle R2 s’applique. Quelle que soit la valeur effacée, celle-ci apparaît dans un quart des 8000 paquets, donc 2000 paquets. La compression réalisée par l’opération d’effacement serait donc de 2000 * 8 = 16000 bits. La compression réalisée par l’opération de remplacement par un index de dictionnaire se calcule aussi pour les 8000 paquets auxquels la règle R2 s’applique. Deux valeurs sont remplacées ; soit pour la moitié des paquets en question. La compression réalisée par l’opération de remplacement par un index de dictionnaire est donc de 4000 * 7 = 28000 bits. L’index faisant 1 bit, la compression pour chaque paquet est de 7 bits, et pas de 8 bits comme pour un effacement. La meilleure compression est celle réalisée par l’opération de remplacement par un index. Dans la figure 2.C, une telle opération d’effacement est notée ^^ ^^ ^^( ^^3 1, ^^3 2), le terme « map » venant de l’anglais mapping. On suppose que le tirage aléatoire des deux valeurs à remplacer par un index de dictionnaire a donné les deux valeurs ^^3 1 et ^^3 2. La règle R3 complète comprend donc trois opérations, à savoir les deux opérations présentes dans R2 auxquelles on ajoute la nouvelle opération, et est notée de la façon suivante : ^^3: [ ^^ ^^( ^^1 1) + ^^ ^^ ( ^^2 1) + ^^ ^^ ^^( ^^3 1, ^^3 2)]. La règle R3 est donc rajoutée à l’ensemble de règles de compression RS. Elle s’applique à 4000 paquets de l’ensemble d’apprentissage E (la moitié de ceux auxquels la règle R2 s’appliquait) qui vont lui être attribués pour le calcul des potentiels de compression de champ PCC à la prochaine étape. La règle R2 conserve 4000 paquets, ceux auxquels la règle de compression R3 ne s’applique pas, et n’est pas retirée de l’ensemble de règles de compression RS. Enfin, les 2000 paquets attribués à la règle R1 lui restent attribués. La figure 2.D correspond à l’état S2’ de l’apprentissage. Cet état correspond à l’état obtenu après la deuxième étape. Nous avons vu que, dans cet état, la règle R2 est sélectionnée pour créer des règles candidates, et que, pour cette règle, les champs C3 et C4 ont le même potentiel de compression de champ, à savoir PCC(C3) = PCC(C4) = 48000. On a vu à l’étape précédente décrite dans la figure 2.C comment se déroulait l’algorithme d’apprentissage si les règles candidates construites à partir de la règle R2 cherchaient à compresser le champ C3. On va voir ici le déroulement de l’algorithme d’apprentissage selon un exemple de réalisation si c’est le champ C4 qui est choisi plutôt, sachant que ces deux champs ont le même potentiel de compression de champ PCC. Dans ce cas, on rappelle que les quatre valeurs prises par le champ C4 sont équiprobables, et que la compression réalisée par les règles candidates s’estime sur les 8000 paquets attribués à la règle sélectionnée R2. La première règle candidate sera la règle R2 à laquelle est ajoutée une opération d’effacement d’une valeur. Sachant que les quatre valeurs prises par le champ C4 sont équiprobables, les potentiels de compression de valeurs seront égaux. En choisissant n’importe laquelle des quatre valeurs équiprobables, l’ajout d’une opération d’effacement emmènerait un effacement d’une valeur de longueur 8 bits apparaissant dans 2000 paquets (un quart des 8000 paquets attribués à R2), soit une compression de 16000 bits. La deuxième règle candidate sera la règle R2 à laquelle est ajoutée une opération de remplacement de valeur par un index de dictionnaire. Comme vu pour la figure 2.C, la compression réalisée par l’opération de remplacement par un index de dictionnaire se calcule pour les 8000 paquets auxquels la règle R2 s’applique. Deux valeurs sont remplacées ; soit pour la moitié des paquets en question. La compression réalisée par l’opération de remplacement par un index de dictionnaire est donc de 4000 * 7 = 28000 bits. L’index faisant 1 bit, la compression pour chaque paquet est de 7 bits, et pas de 8 bits comme pour un effacement. La troisième règle candidate sera la règle R2 à laquelle est ajoutée une opération d’effacement d’un préfixe commun. Cette règle candidate est l’occasion d’illustrer le fonctionnement des potentiels de compression de bit de champ. Ces potentiels sont calculés pour les 8 rangs numérotés de 0 à 7, pour les valeurs prises par le champ C4 dans les paquets concernés de l’ensemble d’apprentissage. Ces quatre valeurs ^^4 1, ^^4 2, ^^4 3 et ^^4 4 sont équiprobables et présentent la même valeur pour les 6 premiers bits, qui valent tous 1. La fréquence d’apparition du bit 1 au rang 0 vaut donc 1, et réciproquement, la fréquence d’apparition du bit 0 au rang 0 est 0. Comme un logarithme d’une fréquence nulle n’est pas défini, l’estimateur d’entropie d’un bit de champ calculé suivant la formule ^^( ^^ ^^ ) = − ( ^^ ^^ . ^^ ^^ ^^2 ( ^^ ^^ ) + (1 − ^^ ^^ ). ^^ ^^ ^^2 (1 − ^^ ^^ )) vaut par convention 0 dans ce cas, et le potentiel de compression de bit de champ pour le rang 0 vaut alors 1. Les potentiels de compression de bit de champ valent de même 1 pour les 6 premiers rangs, puisque les bits des six premiers rangs des valeurs prises par le champ C4 sont identiques dans tous les paquets considérés. En l’occurrence, les bits valent tous 1, mais le résultat est le même, si, pour un rang donné, tous les bits valent 0. Pour les rangs 7 et 8, les bits 0 et 1 sont équiprobables puisque les quatre valeurs ^^4 1, ^^4 2, ^^4 3 et ^^4 4 sont aussi équiprobables. Les potentiels de compression de bit de champ pour ces rangs 7 et 8 valent alors : 1 − (−(0.5 ∗ log20.5 + (1 − 0.5) ∗ log2 (1 − 0.5))) = 1 − (−(0.5 ∗ (−1) + 0.5 ∗ (−1))) = 1 − 1 = 0 Le potentiel de compression de bit de champ s’annule en effet pour un rang où les bits 0 et 1 sont équiprobables. En utilisant la méthode où les potentiels de compression de bits de champ sont multipliés entre eux, en partant du bit de rang 0, et en utilisant un seuil, on voit comment il est possible de détecter que des paquets présentent des préfixes communs pour certains champs. En l’occurrence, dans l’exemple présenté ici, le produit des potentiels de compression de bits de champ passe de 1 à 0 entre le rang 6 et le rang 7. Il est donc facile de voir que la règle candidate créée en ajoutant une opération d’effacement de préfixe à la règle R2 consistera à effacer les six premiers bits des valeurs prises par le champ C4. Cette règle R3 est notée de la façon suivante : ^^3: [ ^^ ^^( ^^1 1) + ^^ ^^ ( ^^2 1) + ^^ ^^ ^^( ^^4,6)], l’acronyme « msb » voulant dire most significant bits, c’est-à-dire le terme anglais pour indiquer les bits de préfixe, C4 indiquant que la règle s’applique aux valeurs prises par le champ C4 et 6, que les 6 premiers bits sont concernés. La compression réalisée par cette règle candidate est l’effacement de six bits des valeurs prises par le champ C4 dans les 8000 paquets attribués à la règle R2, puisque le préfixe commun sur 6 bits est présent pour les quatre valeurs prises par le champ C4. La compression réalisée par cette troisième règle candidate est donc de 8000*6 = 48000 bits et c’est bien cette règle R3 qui est ajoutée à l’ensemble de règles de compression RS dans cette étape S2’, qui diffère de l’étape S2 en ce que la création d’une règle candidate se fait en ciblant le champ C4 au lieu du champ C3. Après l’étape S2’ comme après l’étape S2, d’autres étapes de l’algorithme d’apprentissage de l’ensemble de règles de compression RS peuvent avoir lieu qui vont rajouter des opérations de compression prenant en considération les potentiels de compression restant pour finir par obtenir une compression efficace de l’ensemble d’apprentissage E. En ce qui concerne l’arrêt de l’algorithme d’apprentissage, plusieurs possibilités existent. La première possibilité consiste à calculer la compression réalisée par une nouvelle règle ajoutée à l’ensemble de règles de compression RS et à ne l’ajouter et itérer de nouveau l’algorithme d’apprentissage que si l’ajout de cette nouvelle règle améliore la compression réalisée sur les paquets de l’ensemble d’apprentissage. On pourrait croire que l’ajout d’une règle de compression à l’ensemble de règles de compression RS va forcément améliorer la compression réalisée sur l’ensemble d’apprentissage E, mais il faut prendre en compte qu’un identifiant de la règle de compression utilisée pour compresser un en-tête de paquet de données doit être transmis en même temps que le paquet compressé afin de pouvoir réaliser la décompression. Pour un ensemble RS comprenant deux règles de compression, un seul bit suffit à identifier la règle de compression utilisée. Pour quatre règles, deux bits sont nécessaires, et ainsi de suite. Nous n’avons pas pris en compte cet effet quand nous avons indiqué des calculs de compression pour sélectionner parmi les règles candidates, mais cet effet est à prendre en compte pour déterminer un critère d’arrêt de l’algorithme d’apprentissage. De plus, cet effet est rétroactif, c’est-à-dire que des calculs de compression qui sont réalisés lorsque l’ensemble RS de règles de compression comprend quatre règles, qui peuvent être désignées par deux bits, doivent être recommencés pour toutes les règles de compression quand l’ensemble RS passe à cinq règles, ce qui nécessite donc une désignation de toutes les règles par trois bits au moins. Une autre possibilité consiste à donner une taille maximale à l’ensemble de règles de compression RS. Par exemple, il peut être décidé de limiter la taille de l’ensemble RS à 8 règles de compression, afin de s’assurer de pouvoir identifier les règles de compression utilisées pour compresser des en-têtes de paquets de données avec 3 bits seulement. Ces deux possibilités peuvent être combinées, à savoir qu’un nombre maximal de règles de compression peut être défini, mais l’algorithme d’apprentissage peut s’arrêter avant que ce nombre maximal soit atteint parce que la compression réalisée par la dernière règle ajoutée est nulle ou inférieure à un seuil donné. La figure 3, quant à elle, représente un autre exemple d’étape de calcul de l’algorithme d’apprentissage par renforcement qui est mis en œuvre dans cet exemple d’obtention d’un ensemble RS de règles de compression. Cet exemple illustre l’intérêt de calculer un potentiel de compression de champ corrigé par un facteur. Dans l’exemple de la figure 3, nous sommes à l’étape S0 de l’algorithme d’apprentissage par renforcement. L’ensemble d’apprentissage E comprend N = 100 paquets. Les en-têtes de ces 100 paquets sont formés de deux champs C1 et C2 de longueur différente, contrairement à l’exemple de la figure 2 où les quatre champs étaient de la même longueur. Le champ C1 est de longueur L = 2 ; le champ C2 est de longueur L = 10, les deux longueurs étant exprimées en nombre de bits. Comme dans l’exemple précédent, les sections de paquets que l’on va chercher à compresser sont les deux champs C1 et C2. Quant aux valeurs prises par les champs dans l’ensemble d’apprentissage E, le champ C1 prend une seule valeur, donc la fréquence d’apparition de cette valeur ^^1 1 vaut ^^1 1 = 100%. Pour le champ C2, en revanche, il présente une valeur différente dans les 100 paquets de l’ensemble d’apprentissage E. Pour le champ C2, on a donc 100 fréquences d’apprentissage qui valent toutes 1%, ce qui est noté dans la figure 3 : ^^2 1 = ^^2 2 = ⋯ = ^^2 100 = 1%. On rappelle que, dans notre exemple de réalisation, la formule pour calculer un potentiel de compression de champ PCC est : ^^ ^^ ^^ = ^^( ^^ − ^^) où N est la taille de l’ensemble, L la longueur de la section et H un estimateur de l’entropie. La formule pour calculer l’estimateur d’entropie est : ^^ = − ∑ ^^∈[1, ^^] ^^ ^^ ^^ ^^ ^^2( ^^ ^^) dans laquelle K est le nombre de valeurs différentes
Figure imgf000044_0001
prend la section dans l’ensemble d’apprentissage et ^^ ^^ est la fréquence d’apparition de la valeur ^^ ^^. L’estimateur d’entropie cherche, comme son nom l’indique, à estimer l’entropie que semble manifester les valeurs prises par la section au vu de l’ensemble d’apprentissage E. Plus l’entropie est faible, plus les valeurs prises par la section seront ordonnées et donc plus il sera facile de les compresser, par exemple avec une règle d’effacement de la valeur, et donc plus la section présente de l’intérêt à être compressé, et donc plus il est intéressant que l’algorithme d’apprentissage cherche à créer des règles candidates pour cette section, la meilleure règle étant ajoutée à l’ensemble de règles de compression RS. Par exemple, quand une section prend une seule valeur dans l’ensemble d’apprentissage E, la fréquence d’apparition de cette unique valeur vaut donc 100%, ou 1, le logarithme de cette fréquence vaut donc 0 et l’estimateur d’entropie aussi. L’estimateur d’entropie est donc à son minimum. Le potentiel de compression de champ vaut alors PCC = N * L, comme c’est le cas pour le champ C1 dans l’exemple de la figure 3. On a ici : PCC(C1) = 100 * 2 = 200, ce qui est le potentiel maximum pour un champ de longueur 2 qui apparaît dans 100 paquets. En effet, la compression du champ C1 sera faite par une règle d’effacement de la valeur unique prise par C1 dans l’ensemble d’apprentissage E, soit une compression maximale de 200 bits. Un défaut de l’estimateur d’entropie, qui apparaît dans l’exemple de la figure 3, est que cette grandeur grandit à un rythme trop faible même en présence d’une entropie maximale. C’est ce qu’on voit dans le champ C2. L’entropie prise par les valeurs du champ C2 dans l’ensemble d’apprentissage E est maximale, puisqu’on a ici 100 valeurs différentes pour les 100 paquets, les 100 valeurs ont donc la même fréquence d’apparition, à savoir 1%, c’est-à-dire 0.01. Le logarithme de cette fréquence vaut -6.644. Le calcul du potentiel de compression de champ est détaillé sur la figure et on voit que l’estimateur d’entropie vaut finalement 6.644, ce qui est la valeur maximale qu’il peut prendre dans un ensemble d’apprentissage E de 100 paquets. Mais comme le champ C2 est de longueur 10, le potentiel de compression de champ de C2 vaut PCC(C2) = 100 * (10 – 6.644) = 335,6 qui est donc supérieur au potentiel de compression du champ C1, PCC(C1), qui vaut 200. L’estimateur d’entropie ne grandit pas assez pour compenser l’effet de la plus grande longueur du champ C2 comparée à celle du champ C1. On peut remarquer que si la longueur du champ C2 était L = 8 bits au lieu de valoir 10, alors le potentiel de compression de champ de C2 vaudrait PCC(C2) = 100 * (8 – 6.644) = 135,6, soit moins que le potentiel de compression de champ PCC(C1) = 200. Autrement dit, le score faible de l’estimateur d’entropie ne serait pas ici contrebalancé par la longueur du champ, alors que le champ C2 serait quand même de longueur 8 bits, à comparer à la longueur de 2 bits de C1. Dans le cas où la longueur du champ C2 est de 10 bits, utiliser le potentiel de compression de champ PCC tel qu’avec sa formule initiale conduirait donc à valoriser le champ C2, ce qui serait inefficace, car la compression emmenée par une première règle serait par exemple une règle de remplacement par l’index d’un dictionnaire, qui remplacerait donc deux valeurs de 10 bits par un index d’un bit, soit une compression de 18 bits dans l’ensemble d’apprentissage E pour les deux valeurs concernées par le dictionnaire prises par le champ C2, parmi les 100 valeurs prises, à comparer aux 200 bits de compression obtenus par la règle d’effacement de la valeur unique ^^1 1 prise par le champ C1. Pour corriger cet effet, il est préférable d’introduire un facteur de correction CORR au potentiel de compression de champ prenant en compte le nombre K de valeurs différentes que prend le champ C. La formule la plus simple pour le facteur de correction CORR est CORR = 1 – K/N, où K est le nombre de valeurs différentes prises par le champ et N la taille de l’ensemble concerné. Plutôt que d’utiliser le potentiel de compression de champ PCC tel que donné par la formule pour sélectionner le champ à compresser, on va le multiplier par le facteur de correction CORR. Pour le champ C1, comme ce champ prend une valeur unique dans l’ensemble d’apprentissage E, le facteur de correction CORR vaut 1 – 1/100 soit 0,99 et le potentiel de compression corrigé PCC(C1) * CORR vaut 198. Pour le champ C2, comme ce champ prend 100 valeurs différentes dans les 100 paquets de l’ensemble d’apprentissage E, le facteur de correction CORR vaut 1 – 100/100 soit 0 et le potentiel de compression corrigé PCC(C2) * CORR est annulé aussi. La figure 3 montre enfin l’impact du choix d’appliquer ou non le facteur de correction CORR à l’algorithme d’apprentissage. Nous sommes à l’étape initiale S0 où l’ensemble de règles de compression ne comprend que la règle R0 qui n’applique aucune opération de compression aux paquets de l’ensemble E. Si le choix est fait de ne pas utiliser de facteur de correction CORR, ce qui est indiqué dans la figure 3 par la ligne No-corr, on verra qu’après sélection de la règle R0, c’est le champ C2 qui sera sélectionné pour créer les règles candidates. Puis, si l’on suppose qu’aucun préfixe commun significatif n’apparaît parmi les 100 valeurs prises par le champ C2 dans l’ensemble d’apprentissage E, la meilleur règle R1 parmi les candidates sera celle de création d’un dictionnaire et de remplacement de deux valeurs par leurs index. Si le choix est fait au contraire d’utiliser le facteur de correction CORR, ce qui est indiqué dans la figure 3 par la ligne Corr, c’est bien le champ C1 qui sera sélectionné, et la règle ajoutée R1’ sera celle d’effacement de la valeur unique ^^1 1 prise par le champ C1. Dans ce cas, comme pour l’exemple de calcul de la figure 2, la règle R0 peut être retirée de l’ensemble d’apprentissage car tous les paquets traités par la règle R0 sont aussi traités par R1’. Ceci est indiqué par la case barrée placée sur la règle R0 dans la définition de l’ensemble de règles de compression RS. On a vu un exemple de formule pour calculer le facteur de correction CORR mais bien d’autres exemples sont possibles. Par exemple, on peut dire de façon générale que le facteur de correction CORR vaut ^^(1 − ^^− ^^ lequel N est le nombre de fois que la section apparaît dans l’ensemble d’apprentissage ; K est le ^^+ nombre de valeurs différentes que prend la section dans l’ensemble d’apprentissage ; et ^^, ^^ et ^^ sont des coefficients positifs choisis. L’exemple vu précédemment où CORR vaut 1 – K/N est obtenu alors pour les valeurs ^^ = 1, ^^ = 0 et ^^ = 0. D’autres choix de valeurs sont possibles pour les coefficients positifs ^^, ^^ et ^^ qui peuvent prendre par exemple les valeurs ^^ = 1, ^^ = 1 et ^^ = 0.
Figure imgf000046_0001
Dans ce cas, le facteur de correction prend la valeur 1 − ^^ et vaut donc exactement 1 quand la section prend une seule valeur, c’est-à-dire pour ^^ = 1. A l’opposé, le facteur de correction ne s’annule pas quand ^^ = ^^ ce qui peut être intéressant pour conserver un certain potentiel de compression même sur une section qui semble quand même être très aléatoire puisque toutes les valeurs prises par la section dans l’ensemble d’apprentissage sont différentes. Des formules plus complexes, non affines, peuvent être utilisées pour définir le facteur de correction CORR en prenant en compte les valeurs K et N, en faisant en sorte que le facteur de correction CORR doit être toujours positif, de préférence compris entre 0 et 1, et doit être plus faible quand le nombre K de valeurs différentes prises par la section parmi les N paquets est grand. La figure 4, quant à elle, représente un autre exemple d’étape de calcul de l’algorithme d’apprentissage qui est mis en œuvre dans cet exemple d’obtention d’un ensemble RS de règles de compression. Cet exemple illustre l’impact de la taille des valeurs sur le potentiel de compression de chaque valeur. Dans l’exemple présenté ici, l’ensemble d’apprentissage E comprend N = 100 paquets. La section qui nous intéresse est un champ C, qui se trouve être de longueur variable. Le champ C prend trois valeurs V1, V2 et V3 dans l’ensemble d’apprentissage E. La valeur V1 est de longueur L1 = 2 bits. Elle a une fréquence d’apparition de 80%, elle apparaît donc dans N1 = 80 paquets de l’ensemble d’apprentissage E. La valeur V2 est de longueur L2 = 100 bits. Elle a une fréquence d’apparition de 15%, elle apparaît donc dans N2 = 15 paquets de l’ensemble d’apprentissage E. La valeur V3 est de longueur L3 = 1000 bits. Elle a une fréquence d’apparition de 5%, elle apparaît donc dans N3 = 5 paquets de l’ensemble d’apprentissage E. La formule générale pour calculer un potentiel de compression de valeur PCV selon l’invention est PCV = N * (L – H) où H est un estimateur d’entropie partielle qui est le produit de la fréquence d’apparition de la valeur et de son logarithme en base 2. Comme le champ C est de longueur variable, on doit utiliser la longueur de chaque valeur V1, V2 et V3 prise par le champ C. La figure 4 donne le calcul des trois potentiels de compression de valeur PCV(V1), PCV(V2) et PCV(V3) pour les trois valeurs V1, V2 et V3. On voit que le potentiel le plus élevé est celui de V3. La plus grande longueur L3 = 1000 bits rend cette valeur plus intéressante à compresser, par exemple en l’effaçant, que les autres valeurs, même si V3 est la valeur dont la fréquence d’apparition est la plus faible. Cet exemple simple de calcul montre que c’est bien la longueur de la valeur qui peut être effacée par une opération de compression qui est le déterminant principal du potentiel de compression de valeur, et donc que c’est bien un potentiel de compression effectif qui est utilisé dans l’algorithme d’apprentissage selon l’invention et pas de simples fréquences d’apparition. L’exemple de calcul montre aussi l’importance que l’ensemble d’apprentissage E reflète bien le trafic effectif qui doit être compressé. Avec une fréquence très faible, une valeur très longue sera quand même sélectionnée comme ayant un bon potentiel de compression. Si le nombre de règles de compression déployée est limité, et que cette valeur très longue n’est finalement presque jamais présente, la règle de compression qui la concerne peut finir par prendre la place d’une autre règle de compression qui s’applique à une valeur moins longue mais plus fréquente, si bien que des compressions efficaces ne seront pas réalisées par suite de la mauvaise estimation des fréquences dans l’ensemble d’apprentissage E. La figure 5, quant à elle, représente un système SYS complet de transmission de paquets de données dans un réseau NET qui utilise un ensemble RS de règles de compression obtenu par un procédé selon l’invention. Le système SYS présente une architecture où l’on trouve plusieurs équipements réseau, à savoir une passerelle GW et deux terminaux DVC1 et DVC2. Le système SYS de transmission selon l’invention est formé de ces trois équipements GW, DV1 et DVC2. Ces équipements réseau sont reliés par le réseau NET. Il peut s’agir par exemple d’un réseau local où la passerelle GW permet à des terminaux DVC1, DVC2 d’accéder à d’autres réseaux plus larges, tels que le réseau Internet. Les protocoles de communication entre les équipements réseaux GW, DVC1, DVC2 peuvent être de tous types du moment qu’ils se fondent sur la transmission de paquets de données P, P’. Le réseau NET peut donc être un réseau local domestique utilisant une liaison de communication WiFi, ou un réseau de déploiement d’objets connectés de type LPWAN utilisant une liaison de communication LoRa ou tout autre liaison adaptée à des objets connectés ou bien un réseau mobile où la passerelle GW est une station de base et les terminaux DVC1, DVC2 sont des terminaux mobiles. La passerelle GW comprend une entité de gestion de la compression 100 ; une entité de gestion de la décompression 200 ; ainsi qu’une entité d’obtention 300 (non représentée sur la figure) qui comprend un module 301 d’obtention d’un potentiel de compression (non représenté sur la figure), un module APP d’obtention d’un ensemble RS de règles de compression, un module de collecte COL, et un module de déploiement DEP. Le terminal DVC1 comprend quant à lui une entité de gestion de la compression 100 et une entité de gestion de la décompression 200. Le terminal DVC2, quant à lui, ne comprend qu’une entité de gestion de la compression 100 et pas d’entité de gestion de la décompression 200. Il peut avoir été décidé, lors de la construction du système SYS que le terminal DVC2 ne faisait quasi exclusivement qu’émettre des paquets P et n’en recevait presque pas. Pour économiser la taille mémoire nécessaire à la construction du terminal DVC2, il peut donc avoir été décidé de ne pas intégrer une entité de gestion de la décompression 200 dans le terminal DVC2. Il ne sera donc pas possible de transmettre au terminal DVC2 un paquet P compressé selon l’invention, car il ne pourrait pas le décompresser et donc le rétablir. On voit que le système SYS de transmission comprend bien les modules suivants : • au moins un module d’obtention APP d’un ensemble de règles de compression RS, présent dans la passerelle GW ; • au moins un module 101 d’application d’une opération de compression à une valeur de section d’un paquet de données P, le module 101 n’étant pas représenté dans la figure 5 mais compris dans une entité de gestion de la compression 100 présente dans la passerelle GW ou les terminaux DVC1, DVC2 ; • au moins un module 102 de transmission d’un paquet de données P, le module 102 étant de même compris dans une entité de gestion 100 ; • au moins un module 201 de réception d’un paquet de données P, le module 201 n’étant pas représenté dans la figure 5 mais compris dans une entité de gestion de la décompression 200 présente dans la passerelle GW ou le terminal DVC1 ; • au moins un module 202 d’application d’une opération de décompression, le module 202 étant de même compris dans une entité de gestion 200 ; • au moins un module de collecte COL dans le réseau NET de paquets P, P’ pour former un ensemble d’apprentissage E, présent dans la passerelle GW ; • au moins un module de déploiement DEP synchronisé dans les nœuds du réseau d’un ensemble de règles de compression RS, présent dans la passerelle GW. La passerelle GW utilise son entité de gestion de la compression 100 pour compresser puis transmettre au terminal DVC1 un paquet de données P. Le paquet P a été compressé en utilisant une règle de compression dont l’identifiant est I. Dans le mode de réalisation illustré ici, l’entité de gestion de la compression transmet de façon conjointe l’identifiant I de la règle de compression et le paquet P compressé, ce qui est illustré par la flèche étiquetée I+P entre l’entité de gestion de la compression 100 appartenant à la passerelle GW et l’entité de gestion de la décompression 200 appartenant au terminal DVC1. Le terminal DVC2, quant à lui, adresse un paquet compressé P’, qui a été compressé grâce à une règle dont l’identifiant est I’. L’entité de gestion de la compression 100 du terminal DVC2 adresse donc une concaténation I’+P’ à l’entité de gestion de la décompression 200 de la passerelle GW. Comme toutes les entités de gestion de la compression 100 et de la décompression 200 présentes dans le système SYS disposent du même ensemble de règles de compression RS, il est facile à l’équipement réseau qui le reçoit de rétablir un paquet compressé P, P’ en lui appliquant les opérations de décompression symétriques des opérations de compression qui ont été appliquées aux valeurs prises par les sections du paquet de données P, P’. Les identifiants I, I’ transmis conjointement avec les paquets P, P’ permettent de retrouver la règle et donc les opérations de compression qui ont été appliquées. Dans l’architecture du système SYS présentée dans la figure 5, la passerelle GW dispose d’un module de collecte COL qui permet à la passerelle GW de rassembler les paquets de données P, P’ qui transitent par la passerelle GW. Dans une architecture de type réseau local, comme celle présentée ici, la passerelle GW est idéalement placée pour voir passer l’ensemble des paquets P, P’ transitant dans le réseau NET. Les paquets P, P’ collectés par le module COL vont permettre de créer un ensemble d’apprentissage E qui sera utilisé par le module d’apprentissage APP également présent dans la passerelle GW. Le module d’apprentissage APP apprend l’ensemble de règles de compression RS en utilisant des paquets P, P’ réellement collectés dans le réseau NET par le module de collecte COL, ce qui est un point permettant d’améliorer fortement la pertinence de l’apprentissage et de l’ensemble de règles de compression RS. Le module de déploiement DEP va ensuite déployer de manière synchronisée l’ensemble de règles de compression RS dans la passerelle GW et les terminaux DVC1, DVC2 du système SYS. Selon un mode de réalisation, les entités de gestion de la compression 100 et de la décompression 200 peuvent disposer de plusieurs ensembles de règles de compression. Ceci permet de faciliter le déploiement synchronisé de nouveaux ensembles de règles de compression RS en permettant d’utiliser de façon concurrente plusieurs ensembles de règles de compression RS le temps que tous les équipements présents dans le réseau NET aient bien reçu les nouveaux ensembles de règles de compression RS. Le module de collecte COL va bien sûr transmettre au module d’apprentissage APP des paquets P, P’ rétablis dans leur intégrité, et non pas des paquets compressés, car seuls des paquets rétablis permettent d’apprendre l’information sur les valeurs de section les plus intéressantes à compresser. L’ensemble d’apprentissage E ne sera pas forcément construit avec la totalité des paquets P, P’ collectés par le module COL. Des stratégies d’échantillonnage peuvent être utilisées pour construire des ensembles d’apprentissage les plus représentatifs possibles du trafic dans le réseau NET, selon les moments de transmission ou bien selon les actions des terminaux DVC1, DVC2 et de la passerelle GW. Le système de transmission SYS remplit donc bien l’objectif technique attendu, à savoir l’application de règles de compression très efficaces aux paquets P, P’ en utilisant un module d’apprentissage APP pour réaliser l’apprentissage automatique de l’ensemble de règles de compression RS. Le module de collecte COL pour alimenter le module d’apprentissage APP avec un ensemble d’apprentissage E représentatif du trafic présent dans le réseau NET et le module de déploiement DEP de façon synchronisée de l’ensemble de règles de compression RS obtenu par apprentissage permettent de s’assurer que cette compression très efficace des paquets P, P’ est obtenue d’une part sans intervention humaine et d’autre part va s’adapter en cas de changement de contexte dans le réseau NET, par exemple en cas de changement d’adresses IP des équipements réseau GW, DVC1, DVC2 ou en cas de rajout de nouveaux équipements dans le réseau. Le placement des modules de collecte COL, d’apprentissage APP et de déploiement DEP dans la passerelle GW permettent de disposer d’une architecture efficace où les fonctions liées à l’apprentissage sont centralisées dans la passerelle GW. Cette architecture est efficace car la passerelle GW voit transiter l’ensemble des paquets du réseau NET et a aussi une liaison directe avec les terminaux DVC1, DVC2 présents dans le réseau NET. Cependant, d’autres architectures sont possibles. La figure 6, quant à elle, représente un système SYS complet de transmission de paquets de données dans un réseau NET selon l’invention, mais présentant une architecture différente de celle vue dans la figure 5. Le système SYS comprend ici trois équipements réseaux, à savoir deux routeurs RTR1 et RTR2 et un serveur distinct SRV. Le réseau NET peut être ici par exemple un cœur de réseau IP et les deux routeurs RTR1, RTR2 peuvent former une branche d’un réseau à longue distance reliant deux points. La liaison de communication peut être alors sur une fibre optique à très grand débit, et le protocole sous-jacent peut être par exemple du Gigabit Ethernet souvent utilisé en cœur de réseau, ou tout autre protocole adapté. Les deux routeurs RTR1, RTR2 comprennent chacun une entité de gestion de la compression 100 et de la décompression 200 qui permettent de s’échanger des paquets P, P’, transmis conjointement avec des identifiants I, I’ de règles de compression appartenant à l’ensemble RS. On a vu dans la présentation de la figure 5 comment la transmission des paquets P, P’ fonctionnait. On fait juste ici remarquer que le système SYS de transmission comprend un serveur SRV dédié à l’apprentissage de l’ensemble de règles de compression RS. Le routeur RTR1 comprend un module de collecte COL qui va adresser des paquets P1, P2, P3 au serveur SRV. Un module de collecte COL peut être placé dans un seul routeur RTR1 puisque celui-ci voit passer, en émission ou en réception, l’ensemble des paquets transitant sur le réseau NET. Mais on peut aussi avoir plusieurs modules de collecte COL, un dans chaque routeur RTR1, RTR2, selon la praticité de ce déploiement. Si le serveur SRV est colocalisé avec le routeur RTR1 dans un même centre de données ou une même salle réseau, il sera beaucoup plus efficace de ne déployer un module de collecte COL que dans le routeur RTR1 et pas dans le routeur RTR2 qui peut être très éloigné dans le cas d’une transmission à longue distance. Le serveur SRV est dédié à l’apprentissage de l’ensemble de règles de compression RS. Il comprend une entité d’obtention 300 (non représentée sur la figure) qui comprend un module APP qui va réaliser l’apprentissage proprement dit selon l’invention de l’ensemble de règles de compression RS. Le module de déploiement DEP assure le déploiement synchronisé de l’ensemble de règles de compression RS dans les deux routeurs RTR1 et RTR2. On voit que l’invention se prête à une utilisation très large, dans toutes sortes d’architectures de réseau. D’autres architectures du système de transmission SYS sont possibles pour s’adapter à d’autres architectures du réseau NET, par exemple une architecture en étoile, ou bien en anneau. De même, les protocoles qui peuvent être optimisés grâce à la compression présentée ici sont très nombreux, à la fois en cœur de réseau ou pour des réseaux locaux ou pour des réseaux mobiles. Signalons enfin ici que, dans le présent texte, le terme « module » peut correspondre aussi bien à un composant logiciel qu’à un composant matériel ou un ensemble de composants matériels et logiciels, un composant logiciel correspondant lui-même à un ou plusieurs programmes ou sous-programmes d’ordinateur ou de manière plus générale à tout élément d’un programme apte à mettre en œuvre une fonction ou un ensemble de fonctions telles que décrites pour les modules concernés. De la même manière, un composant matériel correspond à tout élément d’un ensemble matériel (ou hardware) apte à mettre en œuvre une fonction ou un ensemble de fonctions pour le module concerné (circuit intégré, carte à puce, carte à mémoire, etc.).

Claims

Revendications 1. Procédé d’obtention d’un ensemble (RS) de règles de compression aptes à compresser un paquet (P) de données transmis dans un réseau (NET), le paquet (P) comprenant des sections prenant des valeurs respectives exprimées sous la forme de suite de bits, le paquet (P) étant apte à être compressé par application de règles de compression aptes à supprimer des bits d’une valeur prise par une section du paquet (P), le procédé comprenant, pour plusieurs sections données de paquets, une obtention d’un potentiel de compression (PC) pour une section donnée, relativement aux valeurs prises par la section donnée dans les paquets appartenant à un ensemble (E) de paquets de données, ensemble dit d’apprentissage, suivie par l’obtention de l’ensemble (RS) de règles de compression en fonction des potentiels de compression (PC) obtenus.
2. Procédé d’obtention d’un ensemble (RS) de règles de compression selon la revendication 1, caractérisé en ce qu’il comprend les étapes suivantes exécutées lors de l’obtention de l’ensemble (RS) de règles de compression : • une étape de sélection d’une règle appartenant à l’ensemble (RS) de règles de compression en utilisant au moins un potentiel de compression (PC) parmi ceux obtenus ; • une étape de création d’une nouvelle règle à partir de la règle sélectionnée en utilisant au moins un potentiel de compression (PC) parmi ceux obtenus ; • l’ajout de la nouvelle règle à l’ensemble (RS) de règles de compression ; et en ce que lesdites étapes sont itérées, jusqu’à ce qu’un critère d’arrêt soit satisfait, en utilisant à l’itération suivante l’ensemble (RS) de règles modifié par l’ajout de la nouvelle règle.
3. Procédé d’obtention d’un ensemble (RS) de règles de compression selon l’une des revendications 1 ou 2, caractérisé en ce que l’un des potentiels de compression obtenu est dit potentiel de compression de champ (PCC) et est calculé pour une section donnée de longueur fixe suivant la formule ^^( ^^ − ^^) dans laquelle N est le nombre de fois que la section apparaît dans l’ensemble dit d’apprentissage ; L est la longueur de la section exprimée en bits et H est une grandeur dite estimateur d’entropie de champ qui est calculée la formule ^^ = − ∑ ^^∈[1, ^^] ^^ ^^ ^^ ^^ ^^2( ^^ ^^) dans
Figure imgf000052_0001
laquelle K est le nombre de valeurs différentes ^^ ^^∈[1, ^^] que prend la section dans l’ensemble dit d’apprentissage (E) et ^^ ^^ est la fréquence d’apparition de la valeur ^^ ^^.
4. Procédé d’obtention d’un ensemble (RS) de règles de compression selon l’une des revendications 1 à 3, caractérisé en ce que l’un des potentiels de compression obtenu est dit potentiel de compression de champ (PCC) et est calculé pour une section donnée de
Figure imgf000052_0002
suivant la formule ∑ ^^ ^^=1 ^^ ^^ . ( ^^ ^^ − ^^ ^^) dans laquelle K est
Figure imgf000052_0003
de valeurs différentes ^^ ^^∈[1, ^^] que prend la section dans l’ensemble dit d’apprentissage (E) ; ^^ ^^ est le nombre de fois que la section prend la
Figure imgf000052_0004
^^ ^^ dans l’ensemble dit d’apprentissage (E) ; ^^ ^^ est la longueur de la valeur ^^ ^^ exprimée en bits et ^^ ^^ est une grandeur dite
Figure imgf000052_0005
d’entropie partielle d’une valeur, qui est calculée pour la
Figure imgf000052_0006
^^ ^^ suivant la formule ^^ ^^ = − ^^ ^^ ^^ ^^ ^^2( ^^ ^^) dans laquelle ^^ ^^ est la fréquence d’apparition de la valeur ^^ ^^ dans l’ensemble dit d’apprentissage (E).
5. Procédé d’obtention d’un ensemble (RS) de règles de compression selon l’une des revendications 1 à 4, caractérisé en ce que l’un des potentiels de compression obtenu est dit potentiel de compression corrigé et est calculé pour une section donnée en multipliant le potentiel de compression de champ ^^− ^^ (PCC) par un facteur de correction ^^ lequel N est le nombre de fois que la section
Figure imgf000053_0001
apparaît dans l’ensemble dit ; K est le nombre de valeurs différentes que prend la section dans l’ensemble dit d’apprentissage (E) ; et ^^, ^^ et ^^ sont des coefficients positifs choisis.
6. Procédé d’obtention d’un ensemble (RS) de règles de compression selon l’une des revendications 1 à 5, caractérisé en ce que l’un des potentiels de compression obtenu est dit potentiel de compression de valeur (PCV) et est calculé pour une valeur ^^ section donnée suivant la formule ^^( ^^ − ^^ ^^)
Figure imgf000053_0002
dans laquelle N est le nombre de fois que la valeur ^^ ^^ apparaît dans l’ensemble dit d’apprentissage (E) ; L est la longueur de la valeur
Figure imgf000053_0003
bits ; et ^^ ^^ est une grandeur dite estimateur d’entropie partielle d’une valeur qui est calculée suivant la formule ^^ ^^ = − ^^ ^^ log2( ^^ ^^) dans
Figure imgf000053_0004
^^ est la fréquence d’apparition de la valeur ^^ ^^.
7. Procédé d’obtention d’un ensemble (RS) de règles de compression selon l’une des revendications 1 à 6, caractérisé en ce que l’une des grandeurs calculée est dite potentiel de compression de bit de champ (PCB) et est calculée pour un rang ^^ d’une section donnée, les rangs ^^ variant de 0 à ^^ − 1, L étant la longueur minimale des valeurs prises par la section dans l’ensemble dit d’apprentissage (E), ladite longueur L étant exprimée en nombre de bits, et ladite grandeur (PCB) est calculée suivant la formule 1 − ^^( ^^ ^^), dans laquelle ^^
Figure imgf000053_0005
une grandeur dite estimateur d’entropie d’un bit de champ qui est calculée suivant la formule
Figure imgf000053_0006
− ( ^^ ^^ . ^^ ^^ ^^2( ^^ ^^) + (1 − ^^ ^^). ^^ ^^ ^^2(1 − ^^ ^^)), ladite formule valant par convention 0 quand ^^ ^^ vaut 0 ou 1, formule dans laquelle les valeurs prises par la section dans l’ensemble dit d’apprentissage (E) sont exprimées en séquences de bits ordonnées et dans laquelle ^^ ^^ est la fréquence d’apparition de l’une des valeurs 0 ou 1 pour le bit de rang ^^ parmi les valeurs prises par la section dans l’ensemble dit d’apprentissage (E).
8. Procédé d’obtention d’un ensemble (RS) de règles de compression selon l’une des revendications 2 à 7, caractérisé en ce que l’étape de sélection d’une règle appartenant à l’ensemble (RS) de règles de compression comprend la partition de l’ensemble dit d’apprentissage (E) en sous-ensembles attribués à une règle de l’ensemble (RS) de règles de compression ; le calcul d’un potentiel de compression (PC) pour les règles de l’ensemble (RS) de règles de compression et la sélection de la règle selon son potentiel de compression (PC), le potentiel de compression (PC) d’une règle étant calculé à partir de potentiels de compressions de champ (PCC) calculés sur le sous-ensemble de l’ensemble dit d’apprentissage (E) attribué à la règle de compression.
9. Procédé d’obtention d’un ensemble (RS) de règles de compression selon l’une des revendications 2 à 8, caractérisé en ce que l’étape de création d’une nouvelle règle à partir de la règle sélectionnée s’effectue en créant une ou plusieurs règles candidates et en retenant une règle parmi les règles candidates créées selon l’efficacité de la compression réalisée par cette règle sur des paquets de l’ensemble dit d’apprentissage (E).
10. Procédé d’obtention d’un ensemble (RS) de règles de compression selon l’une des revendications 2 à 9, caractérisé en ce que l’étape de création d’une nouvelle règle à partir de la règle sélectionnée s’effectue en choisissant une section selon son potentiel de compression de champ (PCC) et en créant des règles candidates formées en ajoutant à la règle sélectionnée une opération de compression s’appliquant aux valeurs prises par la section.
11. Entité de gestion (300) de l’obtention d’un ensemble (RS) de règles de compression aptes à compresser un paquet (P) de données transmis dans un réseau (NET), le paquet (P) comprenant des sections prenant des valeurs respectives exprimées sous la forme de suite de bits, le paquet (P) étant apte à être compressé par application de règles de compression aptes à supprimer des bits d’une valeur prise par une section du paquet (P), caractérisée en ce que l’entité de gestion (300) comprend les modules suivants : • un module (301) d’obtention d’un potentiel de compression (PC) pour une section donnée, relativement aux valeurs prises par la section donnée dans les paquets appartenant à un ensemble (E) de paquets de données, dit ensemble d’apprentissage ; • un module (APP) d’obtention de l’ensemble (RS) de règles de compression en fonction des potentiels de compression (PC) obtenus.
12. Entité de gestion (300) selon la revendication 11 comprenant de surcroît les modules suivants : • un module (COL) de collecte dans le réseau (NET) de paquets de données transmis pour former un ensemble d’apprentissage (E) utilisé pour obtenir l’ensemble (RS) de règles de compression ; • un module (DEP) de déploiement synchronisé dans les nœuds du réseau (NET) de l’ensemble (RS) de règles de compression.
13. Equipement réseau (GW, DVC1, DVC2, RTR1, RTR2) comprenant une entité de gestion (300) de l’obtention d’un ensemble (RS) de règles de compression selon la revendication 11.
14. Programme d’ordinateur apte à être mis en œuvre par une entité de gestion (300), le programme comprenant des instructions de code qui, lorsqu’il est exécuté par un processeur, réalise les étapes du procédé d’obtention défini dans la revendication 1.
15. Support de données sur lequel est enregistré un programme d’ordinateur comprenant une séquence d’instructions de code pour la mise en œuvre du procédé d’obtention conforme à la revendication 1 lorsqu’il est chargé dans et exécuté par un processeur.
PCT/EP2024/065211 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 Ceased WO2024251668A1 (fr)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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