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

Titre : 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
WO2024251669A1
WO2024251669A1 PCT/EP2024/065212 EP2024065212W WO2024251669A1 WO 2024251669 A1 WO2024251669 A1 WO 2024251669A1 EP 2024065212 W EP2024065212 W EP 2024065212W WO 2024251669 A1 WO2024251669 A1 WO 2024251669A1
Authority
WO
WIPO (PCT)
Prior art keywords
compression
rules
obtaining
bits
rule
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/065212
Other languages
English (en)
Inventor
Quentin Lampin
Marion DUMAY
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
Priority claimed from FR2305874A external-priority patent/FR3149743A1/fr
Priority claimed from FR2310288A external-priority patent/FR3153486A1/fr
Application filed by Orange SA filed Critical Orange SA
Priority to EP24734803.0A priority Critical patent/EP4725182A1/fr
Publication of WO2024251669A1 publication Critical patent/WO2024251669A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • 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
    • 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 area is that of data compression and decompression.
  • the invention relates to a method for obtaining a set of compression rules capable of compressing a data packet transmitted in a network.
  • the invention relates to a method for managing the compression and decompression 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).
  • IP protocol an 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 IP protocol (Internet Protocol) in one of its versions IPv4 or IPv6.
  • the IP protocol will use a Link layer protocol, 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 optical fiber transmission, or wireless communication depending on the case.
  • Link layer protocol 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 optical fiber transmission, or wireless communication depending on the case.
  • Constrained Application Protocol used in the Internet of Things domain generally relies on the User Datagram Protocol (UDP) of the Transport layer.
  • UDP User Datagram Protocol
  • a common point for 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 together the data transported in the packet itself.
  • 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 together the data transported in the packet itself.
  • the Link layer we speak of a frame rather than a packet, and, in addition to the header, there is a footer indicating the end of the frame.
  • 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. When the value in a fixed length field is of variable length, padding bits will complete the value up to the fixed length of the field.
  • a field has an identifier that indicates the nature of the value 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 packet payload can also be divided into multiple 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. Analysis allows a data packet exchanged on a network to be separated into its header and payload, and to read the information contained in the header and the data contained 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 several 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.
  • the exchanged data packets consist, as we have seen, on the one hand of a header containing the information necessary for the transmission of the packet and on the other hand of a payload comprising the data transmitted by the packet as such. Compression can therefore concern the payload, or the headers of data packets. Since the values of certain fields of the headers of data packets will take constant values or vary little, it is possible to carry out very effective compressions of data packets by seeking only to compress the values of the fields of the headers of the data packets.
  • 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 document ⁇ Request For Comments, specification documents at the base of the Internet) number 3095.
  • the basic idea of this protocol is that certain values of the header fields 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.
  • these values will be erased in the headers of the following packets in order to compress the header of the packet, and therefore the packet itself, and will be inserted upon reception since they are known after sending the first packet.
  • the deletion is performed by a compression module and the insertion of the value by a decompression module. Other types of compression can be applied.
  • the ROHC protocol is used, for example, in mobile telecommunications networks.
  • it requires that a context be constructed for each communication indicating which values can be compressed, and in what manner.
  • Transmitters and receivers must therefore regularly update the contexts used for header compression. This update operation is very costly and other mechanisms will be preferred in certain usage contexts.
  • 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 RFC 8724, was designed to be used in the context of LPWANs. It is based on a static context. 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 values of certain fields, or part of the values, can be erased before transmission and then reconstructed upon reception:
  • a first type of compression operation is deletion: the value of the field is read and will be deleted by the compression module if the value is the expected one.
  • the compression module is for example located in the connected object.
  • the deleted value will be inserted upon receipt 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 built for some field values and if the field value is in the dictionary, the compression module will replace the field value with its index in the dictionary.
  • the decompression module uses the dictionary to replace the index with the deleted value.
  • a field value outside the dictionary may be transmitted unchanged if no rule applies.
  • prefix erasure the value of the field is a sequence of bits, and a longer or shorter prefix can be defined in a compression operation. If the value does have this prefix, the prefix will be erased during compression and inserted during decompression, or the value will be transmitted unchanged if the prefix is not recognized by the operation.
  • a fourth type of operation which consists of ignoring the value of the field and passing it as is.
  • Other combinations are possible, as well as other compression/decompression actions, for example to handle variable length fields.
  • a set of compression rules will then be defined for a given deployment context.
  • compression rules and their symmetric decompression rules
  • 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 in the set is defined for a given packet header format and will consist of a set of operations to be applied to the values of the fields in the header of a packet that complies with the format.
  • Several rules can cover the same data packet header format. For example, compression rules will be defined for the format of IP packets encapsulating a UDP packet, and these rules will include operations for all fields of an IP packet header followed by a UDP packet header.
  • a compression rule is part of a rule set and has a rule identifier.
  • the rule set will seek to cover all 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 going through the set of rules available to the compression module in order to retain one or more rules. If 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 and a non-compression indicator is prefixed to it. In all cases, the payload of the packet is not processed by the SCHC protocol. In the context of LPWANs, packet compression limited to compressing header field values will still be effective, because the header size is proportionally large.
  • rule is then chosen, and only one, for example the first encountered in the rule set, or chosen randomly, at the discretion of the SCHC protocol implementation.
  • the operations provided for in the rule are applied by the compression module to the values of the fields in the packet header.
  • the packet is transmitted with its header values compressed, 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 index value transmitted to replace it with the value provided in the dictionary.
  • the compression and decompression operations in the SCHC protocol can be lossless, that is, decompressing the header of the data packet according to the operations provided in the SCHC protocol reconstructs the header exactly as it was before compression. This is the general case even if there may be usage settings where this is not the case.
  • the compression rule sets are therefore defined, in the SCHC protocol, for a given, static context, and correspond to the packet formats expected in the exchanges between transmitters and receivers. They are defined by an expert who knows that, in a given deployment context, such and such protocol will be used, according to a given encapsulation, and who therefore knows which packet header formats are expected. The expert also knows that such and such field of packets respecting such and such format will take a constant value, or a value among a set of limited size, or a value that will often have the same prefix. For example, the expert knows that the IP-Version field that will appear in the headers of packets respecting several formats (IP only, or IP encapsulating UDP packets, or other%) will be constant.
  • the expert knows that the IP address values present in a given field belong to a limited range and will therefore have a common prefix. This knowledge allows the expert to choose the most appropriate operation for a given field in a given format and to integrate it into the rule. 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 frame header compression. Ethernet.
  • the compression operations of the SCHC protocol could also be applied to sections of the payload of a data packet and not just the header.
  • the compression operations defined by the SCHC protocol which provide very efficient compression, in as many contexts as possible.
  • these compression operations should be able to apply to sections of the packet payload, and not just to header fields.
  • the header compression principles defined in the SCHC protocol to be applied to a dynamic context, even if it is weakly dynamic. For example, if, in a deployment context, SCHC compression is applied to an IP address value, and this value changes even if it is at a very low frequency, the rule established in a static context becomes inoperative from the first change of IP address. Or, if a given section of a payload varies, even slightly, the rules of the SCHC protocol will not apply.
  • the invention improves the situation.
  • 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 compression rules, obtaining a count, relative to a set of data packets, called a learning set, of the number of bits removed by the rule concerned applied to packets of the learning set followed by obtaining the set of compression rules as a function of the counts obtained.
  • a set of compression-relevant compression rules is automatically created.
  • the compression rules comprise compression operations that apply to values taken by sections of data packets.
  • the compression rules of the obtained set 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 easier to deploy compression protocols and to use them in many contexts, including dynamic contexts.
  • quantities called counts are obtained from a set of packets, called a training set.
  • This training set is representative of the expected traffic, which will have to be compressed by the set of compression rules obtained.
  • the counts obtained make it possible to know precisely the quantities of bits that can be erased by compression rules given in this representative set and thus to guide the creation of compression rules.
  • Obtaining exact counts of bits that can be erased by compression rules can be long and complex to achieve for large training sets. But the training sets must be large in order to be truly representative of the expected traffic.
  • the challenge of the invention is to find an efficient representation of a large training set in order to be able to perform these exact counts.
  • the method further comprises the application of at least one compression operation to a section value of said data packet, said operation being included in a compression rule belonging to the set of compression rules obtained, followed by the transmission of said data packet to which said at least one compression operation has been applied and of data representative of the compression rule to which said operation belongs.
  • the compression rules obtained are applied to data packets and make it possible to perform effective compressions.
  • the data packets are compressed by applying compression operations that erase portions of values, or even complete values, taken by sections of the data packet. To reconstruct the portions of values erased upon receipt of the compressed packet, the latter must be transmitted with data representative of the compression rule that was applied to it.
  • 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 previously defined delimitation of the load of the data packet.
  • the fields of a header are themselves predefined sections 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 said compression operation belongs.
  • the data packet is transmitted together 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 which belongs to a set of compression rules obtained by learning has been applied.
  • the transmitted data packet is a new data packet formed by concatenating an identifier of the compression rule, namely a sequence of bits, with the original data packet to which the compression rule has been applied.
  • the compressed data packet is therefore transmitted jointly with an identifier of the compression rule which will make it possible to find the latter among the set of compression rules obtained by learning.
  • obtaining the set of compression rules comprises the implementation of 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 cheaply and quickly since this obtaining does not involve an expert.
  • Another advantage is that 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 which comprises the so-called learning set and the set of compression rules; and the change of state in the reinforcement learning algorithm comprises the addition of a new rule to the set of compression rules.
  • This learning 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 learning set is the so-called learning set that is used to obtain the counts of the number of bits removed by a compression rule that would be applied to packets of the so-called learning set. It is clear that the learning will be all the more relevant as the learning set is representative of the expected traffic whose data packets must be compressed. If the learning set is too small, in particular, the learning 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 learning set.
  • Reinforcement learning consists of evolving the set of compression rules that is learned, in an environment including the training set that the compression rule set must compress. This evolution is done by adding a new rule to the compression rule set. The training set, however, does not evolve during the learning phase.
  • the reinforcement learning algorithm comprises a reward function which is calculated according to the compression of the packets of the training set by the compression rules belonging to the set of compression rules.
  • Reinforcement learning consists of evolving an actor, 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 guiding the evolutions of the actor using a reward function.
  • the reward function is the compression achieved by the set of compression rules on the packets of the training set. The better the compression achieved by the set of rules, the better this set is and therefore reinforcement learning will tend to produce a set of rules that produces better compression.
  • the change of state is the addition of a rule to the set of rules; the reward function will penalize whether this addition of a 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 run a reinforcement learning algorithm to learn a set of compression rules and how to choose relevant reinforcement learning parameters to obtain good compression of the packets in the training set by the set of rules resulting from the training.
  • the learning 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 set of rules formed by a single rule applying to all packets in the collected training set.
  • This set makes it possible to ensure 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 exists in the set of compression rules a rule 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 which is submitted 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 implementation is that it allows 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 at 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 obtaining method comprises the following steps executed when obtaining the set of compression rules:
  • obtaining a set of compression rules is guided efficiently. Indeed, obtaining can work by randomly performing state changes that will be retained or not according to a reward function. This way of proceeding could on the one hand take a lot of time and on the other hand lead to sets of compression rules comprising too many rules if the most effective rules are not created first. However, we have seen that if too many compression rules are created, this becomes an obstacle to efficient compression because the index of the rule used during compression must be transmitted with the compressed packet. Too many rules imply an index coded on a large number of bits which makes compression inefficient.
  • the obtaining works by iteration until a stopping criterion is satisfied, and the iteration consists of applying the same algorithm to an environment formed by the new set of compression rules (with a new rule added) and the so-called training set.
  • the added rule applies to all the data packets of the so-called learning set to which the selected rule applies, then the selected rule is removed from the set of compression rules.
  • the addition of the new rule ensures that the set of rules that is being obtained will apply to all the packets in the so-called learning set. This is why, in this embodiment, if the added rule does not cover all the packets covered by the selected rule from which the added rule was created, then the selected rule is retained. Since the obtaining algorithm can start, in certain embodiments, from a set comprising an initial rule applying to all the packets, it is then certain to have at the end a set of rules applying to all the packets in the so-called learning set. However, the deletion of the rule selected if the added rule covers the same packets ensures that unnecessary rules are not kept and thus minimizes the size of the compression rule set resulting from the learning algorithm.
  • the stopping criterion is satisfied when the compression obtained on the so-called learning set by the modified set of compression rules is less than or equal to the compression obtained by the preceding set of rules.
  • the stopping criterion is satisfied when the set of rules reaches a predetermined size expressed in number of rules or in number of compression operations included in the rules.
  • the compression performed by the set of rules on the so-called learning 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 learning 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 ensures 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 compression 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 step of selecting a rule belonging to the set of compression rules uses a quantity called compression potential for a given section of packets of the so-called learning set.
  • compression potentials rather than exact counts of the amount of bits that can be erased by compression rules to guide the selection of compression rules for sections of packets not yet processed by compression rules. These compression potentials can be calculated more efficiently than exact counts and provide an alternative to guiding the obtaining algorithm.
  • the sections for the values of which the learning algorithm will seek to produce compression operations belonging to rules are header fields. This explains the choice of the terms “field compression potential” and "field entropy estimator”. However, the embodiment can be applied both to header fields and to delimited sections in the payload of a data packet.
  • the field compression potential is calculated for a given section, in order to detect which is the most interesting section to compress and thus guide the obtaining algorithm.
  • the entropy estimator can therefore be at least zero. This is the case when the given section has a single value in the so-called learning set. The frequency of appearance of this single value is therefore 1; and the logarithm is 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 which 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 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 unique value in the training set and we easily understand that a section that takes a unique value will be easy to compress. Just erase this value! The field compression potential decreases as the entropy estimator increases.
  • the field compression potential therefore makes it possible to effectively guide the obtaining algorithm by indicating the sections of the training set whose compression will yield the most according to the reward function which is given by the compression carried out, said sections being able to be header fields of the packets or delimited sections of the packet payload.
  • the field compression potential can be calculated for a section of variable length.
  • Several elements will therefore be taken into account in this calculation. A value that appears frequently, but is of short length, may contribute less to the field compression potential than a value that appears less frequently but is of greater length.
  • This embodiment therefore makes it possible to perform a precise calculation of the field compression potential even for a section of variable length.
  • the formula used in this embodiment gives the same results as the formula given previously in the case where the section has a constant length L for all the values taken by the section.
  • the field compression potential is calculated according to the formula N - in which
  • H +a a is a strictly positive constant.
  • This embodiment provides a variant for obtaining a field compression potential.
  • 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 calculated according to the formula in which a is a strictly positive constant.
  • This embodiment takes up the previous variant but adapts it to the case where the section is of variable length.
  • the field compression potential is called the corrected compression potential and is calculated for a given section by multiplying the field compression potential by a correction factor a(l — in which N is the number of times that the section appears in the so-called learning set; K is the number of different values that the section takes in the so-called learning set; and a, p and y are chosen positive coefficients.
  • the field compression potential can guide the obtaining algorithm in some embodiments, as an alternative to obtaining exact counts, 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 training set. As long as it has a large length, a section that has different values each time in the so-called training set may have a better field compression potential than a section with few values but a smaller size. However, in practice, it is this section with few values for which we wish to create one or more compression rules that will apply to the few observed values. Whereas the very long section with all different observed values will be of little interest because it is likely that in use, the values that appear in this section will still be new values, and therefore values that will not be compressed by the compression rules learned on a training set where they do not appear.
  • the coefficients a, p and y 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 completely different values must be disadvantaged compared to a section presenting an observation that seems less random.
  • the field compression potential being non-zero, the obtaining algorithm will be able in certain contexts to add one or more compression rules relating to the section.
  • the positive coefficients a, p and y are chosen as a function of K and N.
  • the step of obtaining a count comprises, for a section of the packet taking respective values expressed in the form of a sequence of bits, the count of the number of bits which would be erased following the application of a prefix erasure rule on the values taken by the section in the so-called learning set.
  • the step of obtaining a count comprises, for a section of the packet taking respective values expressed in the form of a sequence of bits, the following steps:
  • the step of creating a new rule comprises the creation of a prefix erasure rule for the values taken by a section expressed in the form of a sequence of bits, the erased prefix being the one for which the count of erased bits is the largest.
  • the counting of bits that can be erased by a prefix erasure rule if applied to the training set is done efficiently by using a clever data structure.
  • This embodiment is directly attached to the definition of a compression rule including the erasure of a given section prefix when it takes a given value.
  • This example can be used in combination or as an alternative to the other examples presented so far.
  • all the values taken by the section in the training set are presented as a sequence of bits and then arranged in a binary tree. The root of the tree corresponds to the start of the values taken by the section. Depending on whether the first bit of the values is 0 or 1, the corresponding edge will be labeled by the number of values taken by the section whose first bit is 0 or 1.
  • the compression rules of the set of compression rules obtained and the compression operations included in said compression rules are compression rules and operations as defined in the SCHC protocol.
  • 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:
  • a complete data packet transmission is achieved, by transmitting the compressed data packet.
  • Obtaining the compression rules makes it possible to make the process 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.
  • the method further comprises a prior step of collecting packets transmitted 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 synchronized 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 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 adapted.
  • 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 which 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 training 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. But the collected packets make it possible to restart the obtaining of the compression rules with a new training 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 which receives a compressed packet knows the compression rule which 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.
  • the SCHC protocol can be deployed in dynamic contexts.
  • the compression rule sets will be updated as and when new so-called training sets representative of the traffic between the different points of a network, and changes in the headers of packets actually circulating, are obtained.
  • the SCHC protocol is therefore made suitable for application to dynamic contexts thanks to the use of reinforcement learning to create the compression rule sets.
  • 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:
  • 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:
  • the transmission management system further comprises: • a module for collecting data packets transmitted in the network to form a so-called learning set used by a module for obtaining a set of compression rules;
  • the invention relates to data media on which are recorded computer programs comprising sequences of instructions for implementing the methods defined above.
  • 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 1 represents an entity for obtaining a set of compression rules as well as an entity for managing the compression of a data packet transmitted in a network and an entity for managing the decompression of a data packet.
  • FIG 2 shows an example of obtaining a count of the values taken by a section by arranging them according to a binary tree.
  • FIG 3 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 4 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.
  • Figure 1 represents an entity 300 for obtaining a set RS of compression rules as well as an 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 count D 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 counts D obtained.
  • the APP module implements a learning algorithm to obtain the RS set of compression rules.
  • 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 compression management entities 100 and decompression 200 belong to the same network NET which is a communication network using data packet transmission protocols P.
  • the obtaining entity 300 belongs to the same network NET but in other exemplary embodiments, the obtaining entity 300 may belong to different networks or even be isolated from the network NET.
  • the set RS of compression rules obtained by the obtaining entity 300 may be deployed in the compression management entities 100 and decompression 200 by any means.
  • the data packet P comprises sections taking respective values.
  • the two compression management entities 100 and decompression 200 have the same set of compression rules RS, this set comprising compression rules which themselves comprise compression operations which apply to values taken by the sections of a data packet P.
  • the set RS of compression rules was obtained by the implementation of an obtaining algorithm by the entity 300.
  • 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 data representing 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.
  • RS compression said RS set being obtained by learning, and of data representative of 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 representative of 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 hardware resources.
  • the packet P is then restored by the decompression management entity 200 for later use. Since the set of compression rules RS is obtained by learning, the method does not require the intervention of an expert, and it can adapt to changing contexts by repeating the learning algorithm to have sets of compression rules RS adapted to the context.
  • Figure 2 represents an example of an exact count obtained to define a compression rule using these counts.
  • the example presented here uses a count of the values taken by a given section in the so-called learning set. This exact count makes it possible to guide the definition of compression rules very precisely.
  • the embodiment presented here makes it possible to carry out these exact counts efficiently.
  • the left tree in Figure 2 gives an example of this arrangement.
  • All the values taken by this section in the so-called training set E are sequences of 4 bits.
  • the root of the binary tree, labeled S corresponds to the beginning of the bit sequences corresponding to the values taken by the section in the so-called training set E.
  • the nodes of the binary tree are labeled by 0 or 1.
  • a path in the tree from the root to one of the nodes then corresponds to a bit sequence of maximum length 4.
  • the edges of the tree are labeled by the number of values taken by the section in the so-called training set E whose prefix in terms of bit sequence is that corresponding to the node to which the edge leads.
  • the tree represents all the values taken by the section, and by going to the end of the reading of the tree in depth, and starting from the top, we obtain the following results:
  • the right tree of Figure 5 shows the calculation of the counts of the number of bits that prefix erasure rules would erase in the so-called training set E.
  • the calculation in this example, consists of multiplying the edge labels by their depth, that is, in the example of Figure 3 by a number ranging from 1 (for the first two edges on the left) to 4 (for the 16 edges arriving at the 16 deepest nodes of the tree).
  • the highest count (188) is obtained by the edge of depth 2 which corresponds to the 94 values taken by the section which have the prefix 11 in the so-called training set E.
  • a prefix 11 erasure rule applied to the 140 values taken by this section would be used 94 times to erase the prefix 11, which would correspond to a compression of 188 bits.
  • This figure is indeed the count of the number of bits that would be erased by the erasure rule of prefix 11 for this section in the so-called learning set E.
  • This calculation of counts therefore effectively guides the creation of a candidate compression rule. In this case, it will be a rule for deleting prefixes 11 for the values of the section considered.
  • Figure 3 for its part, represents a complete SYS system for transmitting data packets in a NET network which uses a set RS of compression rules obtained by a method according to the invention.
  • the SYS system has an architecture where there are several network devices, namely a GW gateway and two terminals DVC1 and DVC2.
  • the SYS transmission system according to the invention is formed of these three devices GW, DV1 and DVC2.
  • the NET network may 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 may be of any type as long as they are based on the transmission of data packets P, P’.
  • the NET network may therefore be a local home network using a WiFi communication link, or a network for deploying connected objects of the LPWAN type using a LoRa communication link or any other link suitable for connected objects, or a mobile network where 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 count D (not shown in the figure), a module APP for obtaining a set RS of compression rules, a collection module COL, and a deployment module DEP.
  • the DVC1 terminal comprises a compression management entity 100 and a decompression management entity 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 a compressed P packet according to the invention to the DVC2 terminal, because it could not decompress it and therefore restore it.
  • the GW gateway uses its compression management entity 100 to compress and then transmit to the DVC1 terminal a data packet P.
  • the packet P has been compressed using a compression rule whose identifier is I.
  • 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 l+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 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 l’+P’ to the decompression management entity 200 of the GW gateway.
  • the GW gateway has a COL collection module that allows the GW gateway to gather the data packets P, P’ that transit through the GW gateway.
  • the GW gateway is ideally placed to see all the P, P’ packets transiting in the NET network.
  • the P, P’ packets collected by the COL module will allow to create a learning set E that will be used by the APP obtaining module also present in the GW gateway.
  • the APP learning module learns the RS compression rule set using P, P’ packets actually collected in the NET network by the COL collection module, which is a point allowing to greatly improve 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.
  • the compression 100 and decompression 200 management entities may have several sets of compression rules. This makes it possible to facilitate the synchronized deployment of new sets of RS compression rules by making it possible to use several sets of RS compression rules concurrently until all the equipment present in the NET network has received the new sets of RS compression rules.
  • the COL collection module will of course transmit to the APP obtaining module P, P’ packets restored in their integrity, and not compressed packets, because only restored packets make it possible to learn information on the most interesting section values to compress.
  • training set E will not necessarily be built with all the packets P, P’ collected by the COL module.
  • 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 SYS transmission system therefore fulfills the expected technical objective, namely the application of highly efficient compression rules to the P, P' packets using an APP obtaining module to perform automatic learning of the RS compression rule set.
  • the COL collection module to feed the APP obtaining module with a so-called learning set E representative of the traffic present in the NET network and the DEP deployment module in a synchronized manner of the RS compression rule set obtained make it possible to ensure that this highly efficient compression of the P, P' packets 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 of 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 acquisition and DEP deployment modules in the GW gateway allows for an efficient architecture where the learning-related functions are centralized in the GW gateway.
  • This architecture is efficient because the GW gateway sees all the packets of the NET network transit and also has a direct link with the DVC1, DVC2 terminals present in the NET network.
  • other architectures are possible.
  • Figure 4 for its part, represents a complete SYS system for transmitting data packets in a NET network according to the invention, but presenting a different architecture from that seen in Figure 3.
  • 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 core network 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 core network, or any other suitable protocol.
  • the two routers RTR1, RTR2 each include a compression management entity 100 and decompression 200 which enable the exchange of packets P, P’, transmitted jointly with identifiers I, I’ of compression rules belonging to the set RS.
  • the SYS transmission system includes an 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, RTR2 router, depending on the practicality of this deployment.
  • the SRV server is co-located with the RTR1 router in the same data center or the same 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 a long-distance transmission.
  • the SRV server is dedicated to learning the set of compression rules RS. It includes a obtaining entity 300 (not shown in the figure) which includes an APP module which will carry out the actual learning according to the invention of the set of compression rules RS.
  • the deployment module DEP ensures the synchronized deployment of the set of compression rules RS in the two routers RTR1 and RTR2.
  • the invention lends itself to very broad use, in all kinds of network architectures.
  • Other architectures of the SYS transmission system are possible to adapt to other architectures of the NET network, for example a star architecture, or a ring architecture.
  • the protocols which can be optimized using the compression presented here are very numerous, both in the core network or for local networks or for mobile networks.
  • 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)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Procédé d'obtention d'un ensemble de règles de compression d'un paquet de données transmis dans un réseau 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 règles de compression données, une obtention d'un dénombrement (D), relativement à un ensemble (E) de paquets de données, ensemble dit d'apprentissage, du nombre de bits supprimés par la règle concernée appliquée à des paquets de l'ensemble dit d'apprentissage suivie par l'obtention de l'ensemble (RS) de règles de compression en fonction des dénombrements (D) 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. Dans des modes de réalisation, l’invention se rapporte à un procédé de gestion de la compression et de la dé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 entê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 et un indicateur de non- compression lui est préfixé. 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 entê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 entê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 règles de compression données, une obtention d’un dénombrement, relativement à un ensemble de paquets de données, ensemble dit d’apprentissage, du nombre de bits supprimés par la règle concernée appliquée à des paquets de l’ensemble dit d’apprentissage suivie par l’obtention de l’ensemble de règles de compression en fonction des dénombrements 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 dénombrements 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. Les dénombrements obtenus permettent de connaître précisément les quantités de bits qui peuvent être effacées par des règles de compression données dans cet ensemble représentatif et ainsi de guider la création de règles de compression. L’obtention de dénombrements exacts de bits pouvant être effacés par des règles de compression peut être long et complexe à réaliser pour des ensembles dits d’apprentissage de grande taille. Mais les ensembles dits d’apprentissage doivent être de grande taille pour pouvoir être vraiment représentatifs du trafic attendu. L’enjeu de l’invention est de trouver une représentation efficace d’un ensemble dit d’apprentissage de grande taille afin de pouvoir réaliser ces dénombrements exacts.
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 le précédent, 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 le précédent, 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, elle 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 dénombrements du nombre de bits supprimés par une règle de compression qui serait appliquée à des 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é d’obtention 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 dénombrement 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 dénombrement 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, des dénombrements exacts des bits qui peuvent être effacés par des règles de compression sont obtenus qui 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 dénombrements 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 dénombrements. Les dénombrements ne seront obtenus 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 le procédé de compression 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’étape de sélection d’une règle appartenant à l’ensemble de règles de compression utilise une grandeur dite potentiel de compression pour une section donnée de paquets de l’ensemble dit d’apprentissage.
Dans certains modes de réalisation, il peut être utile, pour guider la sélection de règles de compression vers des sections de paquets non encore traitées par des règles de compression, d’utiliser des potentiels de compression plutôt que des dénombrements exacts de la quantité de bits qui peuvent être effacées par des règles de compression. Ces potentiels de compression peuvent être calculés plus efficacement que des dénombrements exacts et présentent une alternative pour guider 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’un des potentiels de compression obtenus est dit potentiel de compression de champ et est calculé pour une section donnée de longueur fixe suivant la formule N L - H) 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 suivant la formule H = - Z' ie[1 K]filog2(fi') dans laquelle K est le nombre de valeurs différentes
Figure imgf000016_0001
que prend la section dans l’ensemble d’apprentissage et est la fréquence d’apparition de la valeur Vt.
Dans de nombreux modes de réalisations, les sections pour les valeurs desquelles l’algorithme d’apprentissage 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 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 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 fi des valeurs Vt 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 nuis 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 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.
Cependant, ce guidage est moins précis que celui apporté par des dénombrements exacts du nombre de bits qui peuvent être effacés par des opérations de compression spécifiques. Ces dénombrements exacts sont obtenus par un calcul différent de celui utilisé, dans certains modes de réalisation, pour obtenir les potentiels de compression.
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
Figure imgf000017_0001
dans laquelle K est le nombre de valeurs différentes j6[1 ] que prend la section dans l’ensemble dit d’apprentissage ; Nt est le nombre de fois que la section prend la valeur Vt dans l’ensemble dit d’apprentissage ; LL est la longueur de la valeur Vt exprimée en bits et H, est une grandeur dite estimateur d’entropie partielle d’une valeur, qui est calculée pour la valeur Vt suivant la formule = -filog2(.fd dans laquelle fi est la fréquence d’apparition de la valeur Vt 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 . . L modes precedents, le potentiel de compression de champ est calcule suivant la formule N - dans laquelle
H +a a 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 cumulativement avec les modes précédents, le potentiel de compression de champ est calculé suivant la formule dans
Figure imgf000018_0001
laquelle a 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 a(l — dans lequel N est le nombre de fois que la section apparaît dans l’ensemble dit d’apprentissage ; K est le nombre de valeurs différentes que prend la section dans l’ensemble dit d’apprentissage ; et a, p et y sont des coefficients positifs choisis.
Dans notre expérience, le potentiel de compression de champ permet de guider l’algorithme d’obtention dans certains modes de réalisation, comme alternative à l’obtention de dénombrements exacts 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 a, p et y 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 a, p et y 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 a, p et y prennent les valeurs a = 1, p = 0 et y = 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 K = N. 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 pour cette section. Quand une section prend une seule valeur, le facteur de correction vaut 1 — — et le
Figure imgf000019_0001
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 a, p et y prennent les valeurs a = 1, p = 1 et y = 0.
Grâce à ce dernier mode, le facteur de correction prend la valeur 1 — — et vaut donc exactement 1 quand
Figure imgf000019_0002
la section prend une seule valeur, c’est-à-dire pour K = 1. A l’opposé, le facteur de correction ne s’annule pas quand K = N 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 a, p et y 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 a =
. 0,5/<
1, p = 0,5K et y = IV, on obtient un facteur de correction qui vaut 1 — — et qui présente une influence
Figure imgf000019_0003
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’étape d’obtention d’un dénombrement comprend, pour une section du paquet prenant des valeurs respectives exprimées sous la forme de suite de bits, le dénombrement du nombre de bits qui seraient effacés à la suite de l’application d’une règle d’effacement de préfixe sur les valeurs prises par la section dans l’ensemble dit d’apprentissage.
Grâce à ce mode de réalisation, on va réaliser un dénombrement des bits qui seraient effacés dans l’ensemble d’apprentissage si on lui appliquait une règle d’effacement de préfixe donnée. De cette manière, l’algorithme d’obtention d’un ensemble de règles de compression est guidé par des dénombrements exacts des suites de bits pouvant être effacés dans l’ensemble dit d’apprentissage par des règles de compression données.
Selon un autre mode de réalisation, qui pourra être mis en œuvre cumulativement avec le mode précédent, l’étape d’obtention d’un dénombrement comprend, pour une section du paquet prenant des valeurs respectives exprimées sous la forme de suite de bits, les étapes suivantes :
• une création d’un arbre binaire représentant l’ensemble des valeurs pouvant être prises par une suite de bits, la racine de l’arbre représentant une suite vide de bits, les nœuds de l’arbre valant 0 ou 1 , et un nœud de l’arbre de profondeur n représentant une suite de bits de longueur n dont la valeur est celle de la suite de 0 et de 1 rencontrés depuis la racine de l’arbre pour rejoindre le dit nœud de profondeur n, une arête dudit arbre étant étiquetée par le nombre de valeurs prises par la section ayant comme préfixe la suite de bits représentée par le nœud auquel mène l’arête ;
• une multiplication des étiquettes des arêtes de l’arbre binaire créé par la profondeur du nœud auquel mène l’arête, ce qui réalise un dénombrement des bits qui seraient effacés dans l’ensemble dit d’apprentissage par l’application de règles d’effacement de préfixes des valeurs prises par la section exprimées sous forme de suite de bits ; et l’étape de création d’une nouvelle règle comprend la création d’une règle d’effacement de préfixe pour les valeurs prises par une section exprimées sous forme de suite de bits, le préfixe effacé étant celui pour lequel le dénombrement des bits effacés est le plus grand.
Grâce à ce mode de réalisation, le dénombrement des bits pouvant être effacés par une règle d’effacement de préfixe si on l’applique à l’ensemble d’apprentissage est réalisé de façon efficace par l’utilisation d’une structure de données astucieuse. Ce mode de réalisation est directement attaché à la définition d’une règle de compression comprenant l’effacement d’un préfixe donné de section quand il prend une valeur donnée. Cet exemple peut être utilisé en combinaison ou de manière alternative aux autres exemples présentés jusqu’à présent. Dans ce mode, pour une section donnée, toutes les valeurs prises par la section dans l’ensemble d’apprentissage sont présentées sous forme de suite de bits puis arrangées dans un arbre binaire. La racine de l’arbre correspond au début des valeurs prises par la section. Selon que le premier bit des valeurs vaut 0 ou 1 , l’arête correspondante va être étiquetée par le nombre de valeurs prises par la section dont le premier bit vaut 0 ou 1. Cet arrangement est réalisé pour l’ensemble des valeurs, puis les étiquettes des arêtes sont multipliées par leur profondeur. Ces chiffres correspondent à la quantité de bits qui peuvent être effacés par une règle de compression qui efface le préfixe correspondant au chemin dans l’arbre. Cette multiplication correspond donc à un dénombrement exact. Le choix de la quantité la plus grande de bits potentiellement effacés dans l’ensemble d’apprentissage permet alors de construire une règle de compression d’effacement de préfixe. Cette règle est celle qui efface le plus grand nombre de bits parmi les règles d’effacement de préfixe pour cette section si elle est appliquée à l’ensemble d’apprentissage, et elle sera donc potentiellement efficace quand elle sera appliquée sur du trafic réel.
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 :
• Tobtention 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 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 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é en ce que l’entité de gestion comprend les modules suivants :
• un module d’obtention, pour plusieurs règles de compression données, d’un dénombrement, relativement à un ensemble de paquets de données, ensemble dit d’apprentissage, du nombre de bits supprimés par la règle concernée appliquée à des paquets de l’ensemble dit d’apprentissage ;
• un module d’obtention de l’ensemble de règles de compression en fonction des dénombrements 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 de dénombrement des valeurs prises par une section en les arrangeant selon un arbre binaire.
[Fig 3] 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 4] 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 dénombrement D 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 dénombrements D 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.
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 de dénombrement exact obtenu pour définir une règle de compression en utilisant ces dénombrements.
L’exemple présenté ici utilise un dénombrement des valeurs prises par une section donnée dans l’ensemble dit d’apprentissage. Ce dénombrement exact permet de guider très précisément la définition de règles de compression. Le mode de réalisation présenté ici permet de réaliser ces dénombrements exacts de manière efficace. Dans d’autres exemples de réalisation, il est possible d’utiliser des potentiels de compression, obtenus en utilisation une notion d’entropie, pour guider l’obtention de règles de compression. Ces grandeurs sont moins précises que les dénombrements exacts présentés ici mais peuvent apporter un guidage alternatif ou complémentaire aux dénombrements exacts. Pour réaliser ce dénombrement, on suppose que les valeurs sont connues comme une suite de bits. Pour les dénombrer, dans notre exemple, on va les arranger selon un arbre binaire.
L’arbre de gauche de la figure 2 donne un exemple de cet arrangement. On s’intéresse ici à une section de longueur fixe. Toutes les valeurs prises par cette section dans l’ensemble dit d’apprentissage E sont des suites de 4 bits. La racine de l’arbre binaire, étiquetée S, correspond au début des suites de bits correspondant aux valeurs prises par la section dans l’ensemble dit d’apprentissage E. Les nœuds de l’arbre binaire sont étiquetés par 0 ou 1. Un chemin dans l’arbre depuis la racine jusqu’à un des nœuds correspond alors à une suite de bits de longueur maximale 4. Les arêtes de l’arbre sont étiquetées par le nombre de valeurs prises par la section dans l’ensemble dit d’apprentissage E dont le préfixe en terme de suite de bits est celui correspondant au nœud auquel mène l’arête.
Pour reprendre l’exemple de l’arbre de gauche de la figure 5, il représente 140 valeurs prises par une section donnée dans l’ensemble dit d’apprentissage. Si l’on regarde les deux premières arêtes issues de la racine de l’arbre S, celles-ci indiquent que, sur ces 140 valeurs, 126 commencent par le bit 1 et 14 commencent par le bit 0. Si l’on regarde ensuite les deux arêtes qui partent du premier nœud 1 , celles-ci indiquent que, sur les 126 valeurs dont le premier bit est 1 , le second bit vaudra 1 dans 94 cas et 0 dans 32 cas. Si on regarde les deux arêtes partant du premier nœud 0, par contre, on trouve une étiquette 6 menant vers le nœud 1 et une étiquette 8 menant vers le nœud 0. Ces chiffres indiquent que, sur les 14 valeurs dont le premier bit est 0, le second bit vaudra 1 dans 6 cas et vaudra 0 dans les 8 autres cas.
Si on récapitule ces arêtes de profondeur 2, on en déduit que, sur les 140 valeurs prises par la section dans l’ensemble dit d’apprentissage E :
• 94 ont un préfixe 11 ;
• 32 ont un préfixe 10 ;
• 6 ont un préfixe 01 ; et,
• 8 ont un préfixe 00.
L’arbre représente toutes les valeurs prises par la section, et en allant jusqu’au bout de la lecture de l’arbre en profondeur, et en partant du haut, on obtient les résultats suivants :
• la section prend 28 fois la valeur 1111 ;
• la section prend 28 fois la valeur 1100 ;
• la section prend 38 fois la valeur 1101 ;
• la section prend zéro fois la valeur 1100 ;
• la section prend 8 fois les valeurs 1011 , 1010, 1001 et 1000 ;
• la section prend 1 fois les valeurs 0111 , 0110 et 0101 ;
• la section prend 3 fois la valeur 0100 ;
• la section prend 8 fois la valeur 0011 ;
• et la section prend zéro fois les valeurs 0010, 0001 et 0000. On vérifie que la somme des valeurs prises nous donne bien 140.
L’arbre de droite de la figure 5 montre ensuite le calcul des dénombrements du nombre de bits que des règles d’effacement de préfixe effaceraient dans l’ensemble dit d’apprentissage E. Le calcul, dans cet exemple, consiste à multiplier les étiquettes des arêtes par leur profondeur, soit dans l’exemple de la figure 3 par un nombre allant de 1 (pour les deux premières arêtes à gauche) à 4 (pour les 16 arêtes arrivant aux 16 nœuds les plus profonds de l’arbre). Le plus fort dénombrement (188) est obtenu par l’arête de profondeur 2 qui correspond aux 94 valeurs prises par la section qui ont le préfixe 11 dans l’ensemble dit d’apprentissage E. Une règle d’effacement du préfixe 11 appliquée aux 140 valeurs prises par cette section serait utilisée 94 fois pour effacer le préfixe 11 , ce qui correspondrait à une compression de 188 bits. Ce chiffre est bien le dénombrement du nombre de bits qui serait effacé par la règle d’effacement du préfixe 11 pour cette section dans l’ensemble dit d’apprentissage E.
Ce calcul des dénombrements guide donc efficacement la création d’une règle de compression candidate. En l’occurrence, il s’agira d’une règle d’effacement des préfixes 11 pour les valeurs de la section considérée.
La figure 3, 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 dénombrement D (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 l+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 l’+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’obtention 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’obtention 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 dit 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’obtention 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’obtention APP avec un ensemble dit 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 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’obtention 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 4, 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 3.
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 6 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 règles de compression données, une obtention d’un dénombrement (D), relativement à un ensemble (E) de paquets de données, ensemble dit d’apprentissage, du nombre de bits supprimés par la règle concernée appliquée à des paquets de l’ensemble dit d’apprentissage suivie par l’obtention de l’ensemble (RS) de règles de compression en fonction des dénombrements (D) 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 dénombrement (D) 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 dénombrement (D) 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’étape d’obtention d’un dénombrement (D) comprend, pour une section du paquet (P) prenant des valeurs respectives exprimées sous la forme de suite de bits, le dénombrement du nombre de bits qui seraient effacés à la suite de l’application d’une règle d’effacement de préfixe sur les valeurs prises par la section dans l’ensemble dit d’apprentissage (E).
4. Procédé d’obtention d’un ensemble (RS) de règles de compression selon la revendication 3, caractérisé en ce que l’étape d’obtention d’un dénombrement (D) comprend, pour une section du paquet (P) prenant des valeurs respectives exprimées sous la forme de suite de bits, les étapes suivantes :
• une création d’un arbre binaire représentant l’ensemble des valeurs pouvant être prises par une suite de bits, la racine de l’arbre représentant une suite vide de bits, les nœuds de l’arbre valant 0 ou 1 , et un nœud de l’arbre de profondeur n représentant une suite de bits de longueur n dont la valeur est celle de la suite de 0 et de 1 rencontrés depuis la racine de l’arbre pour rejoindre le dit nœud de profondeur n, une arête dudit arbre étant étiquetée par le nombre de valeurs prises par la section ayant comme préfixe la suite de bits représentée par le nœud auquel mène l’arête ;
• une multiplication des étiquettes des arêtes de l’arbre binaire créé par la profondeur du nœud auquel mène l’arête, ce qui réalise un dénombrement des bits qui seraient effacés dans l’ensemble dit d’apprentissage (E) par l’application de règles d’effacement de préfixes des valeurs prises par la section exprimées sous forme de suite de bits ; et caractérisé en ce que l’étape de création d’une nouvelle règle comprenne la création d’une règle d’effacement de préfixe pour les valeurs prises par une section exprimées sous forme de suite de bits, le préfixe effacé étant celui pour lequel le dénombrement des bits effacés est le plus grand.
5. 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é en ce que l’entité de gestion (300) comprend les modules suivants :
• un module (301 ) d’obtention, pour plusieurs règles de compression données, d’un dénombrement (D), relativement à un ensemble (E) de paquets de données, ensemble dit d’apprentissage, du nombre de bits supprimés par la règle concernée appliquée à des paquets de l’ensemble dit d’apprentissage ;
• un module (APP) d’obtention de l’ensemble (RS) de règles de compression en fonction des dénombrements (D) obtenus.
6. Entité de gestion (300) selon la revendication 5 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
7. 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 5.
8. 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.
9. 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/065212 2023-06-09 2024-06-03 Titre : procédé d'obtention d'un ensemble de règles de compression d'un paquet de données transmis dans un réseau Ceased WO2024251669A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP24734803.0A EP4725182A1 (fr) 2023-06-09 2024-06-03 Titre : 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 (4)

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
FR2310288A FR3153486A1 (fr) 2023-09-27 2023-09-27 Procédé de gestion de la compression d’un paquet de données transmis dans un réseau
FRFR2310288 2023-09-27

Publications (1)

Publication Number Publication Date
WO2024251669A1 true WO2024251669A1 (fr) 2024-12-12

Family

ID=91617063

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2024/065212 Ceased WO2024251669A1 (fr) 2023-06-09 2024-06-03 Titre : 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 (2)

Country Link
EP (1) EP4725182A1 (fr)
WO (1) WO2024251669A1 (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
EP4725182A1 (fr) 2026-04-15

Similar Documents

Publication Publication Date Title
EP3987752B1 (fr) Procede et dispositif d&#39;obtention d&#39;une adresse ip
EP3603000B1 (fr) Procédé d&#39;apprentissage d&#39;un contexte de compression/décompression, dispositif, système et produit programme d&#39;ordinateur correspondants
WO2024251669A1 (fr) Titre : procédé d&#39;obtention d&#39;un ensemble de règles de compression d&#39;un paquet de données transmis dans un réseau
EP1958398A1 (fr) Procede de reconstruction d&#39;un reseau ad hoc et des n uds du reseau correspondant
EP4725181A1 (fr) Procédé d&#39;obtention d&#39;un ensemble de règles de compression d&#39;un paquet de données transmis dans un réseau
EP3970352B1 (fr) Procede et dispositif de traitement d&#39;une demande d&#39;anonymisation d&#39;une adresse ip source, procede et dispositif de demande d&#39;anonymisation d&#39;une adresse ip source
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
EP2399406B1 (fr) Procédé de commutation de noeud d&#39;accès
WO2026017825A1 (fr) Gestion de la transmission et de la reception d&#39;un paquet de donnees compresse
WO2025224131A1 (fr) Procédé de gestion d&#39;un ensemble de règles de compression de paquets de données
WO2025224129A1 (fr) Procédé de gestion d&#39;un ensemble de règles de compression de paquets de données
EP3967006B1 (fr) Procédé de sélection de passerelles
EP4009584A1 (fr) Procédé de détermination de classifieurs pour la détection d&#39;attaques dans un réseau de communication, dispositif de détermination associé
WO2026017824A1 (fr) Procédé de compression par règles et entite de gestion correspondante
WO2013107975A1 (fr) Reveil a distance d&#39;un equipement connecte a un reseau a liens multiples
EP1647125A1 (fr) Description de contenu de paquets dans un reseau de communication par paquets
FR3091100A1 (fr) Procédé D’IDENTIFICATION DE nœud DE COMMUNICATION
EP1797683B1 (fr) Procede et systeme de transmission de donnees entre un reseau local et un reseau principal autorisant une adaptation du format desdites donnees
EP4009209A1 (fr) Procédé de détermination de quantités pour la détection d&#39;attaques dans un réseau de communication, dispositif de détermination associé
Alouf Parameter estimation and performance analysis of several network applications
EP4187446A1 (fr) Procédés d&#39;entraînement et d&#39;utilisation d&#39;un réseau de neurones artificiels pour identifier une valeur de propriété, et système associé
WO2021260332A1 (fr) Procede et dispositif de selection d&#39;un reseau etendu a basse consommation
FR3161490A1 (fr) Procédé de gestion de la communication d’une donnée sémantique
WO2025003195A1 (fr) Classification d&#39;un jeu de données multi-activités dans un réseau de télécommunications

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2024734803

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

Country of ref document: EP

Effective date: 20260109

ENP Entry into the national phase

Ref document number: 2024734803

Country of ref document: EP

Effective date: 20260109

ENP Entry into the national phase

Ref document number: 2024734803

Country of ref document: EP

Effective date: 20260109

ENP Entry into the national phase

Ref document number: 2024734803

Country of ref document: EP

Effective date: 20260109

WWP Wipo information: published in national office

Ref document number: 2024734803

Country of ref document: EP