WO2025224129A1 - Procédé de gestion d'un ensemble de règles de compression de paquets de données - Google Patents
Procédé de gestion d'un ensemble de règles de compression de paquets de donnéesInfo
- Publication number
- WO2025224129A1 WO2025224129A1 PCT/EP2025/060985 EP2025060985W WO2025224129A1 WO 2025224129 A1 WO2025224129 A1 WO 2025224129A1 EP 2025060985 W EP2025060985 W EP 2025060985W WO 2025224129 A1 WO2025224129 A1 WO 2025224129A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- compression
- rules
- rule
- rrs
- reduced
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Definitions
- the technical field is that of data compression and decompression.
- the invention relates to a method for managing a set of data packet compression rules. These data packets are intended to be transmitted over a computer or telecommunications network.
- the method according to the invention aims in particular to reduce the size of the compression rule set.
- Modern networked computing and digital telecommunications operate on the principle of exchanging data packets between senders and receivers using protocols such as the IP protocol ( Internet Protocol ).
- IP protocol Internet Protocol
- a set of data packets related to a communication is sent by the sender to a receiver.
- the packets contain the receiver's address so that they can be addressed using various routing algorithms, and the content of the communication is reconstructed by the receiver by regrouping the data contained in the different packets.
- numerous protocols must be used, each fulfilling a role from the physical transmission of bits—the atomic elements constituting digital data—to the interpretation of data for computer applications. Bits are typically grouped into bytes, sets of eight bits.
- the various protocols are generally viewed as being organized into layers, with a protocol at one layer relying on a protocol at the layer below.
- the OSI ( Open Systems Interconnection ) model and the Internet model describe the articulation of various protocols between different layers.
- the HTTP ( Hypertext Transfer Protocol ) protocol is an Application layer protocol that allows data to be transferred to or from a website.
- the data to be transferred is organized into data packets.
- the HTTP protocol uses the TCP ( 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, operates in three phases: establishing a connection, transferring data, and terminating the connection.
- Transport layer protocols will use a Network layer protocol, generally the IP ( Internet Protocol ) protocol in one of its IPv4 or IPv6 versions.
- This protocol is only concerned with the transmission of data organized into packets from one address to another, without dealing with establishing the connection or the order in which the data packets arrive in a transmission; these considerations are handled by the protocol of the higher Transport layer.
- 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, this elementary data being bits, transmitted using the Physical layer, whether using a transmission by optical fiber, or by wireless communication depending on the case.
- CoAP Constrained Application Protocol
- UDP User Datagram Protocol
- a common feature of all protocols across all layers is the organization of exchanged data into data packets.
- a data packet is organized into two parts: the first part is the header , which contains the information necessary for the protocol responsible for processing the packet; the second part is the payload, which contains the data carried within the packet itself. If packets of a given protocol contain one or more encapsulated packets of another protocol, the payload of a packet from the first protocol may contain the header of that other protocol.
- the Data Link layer we speak of frames rather than packets, and, in addition to the header, there is a footer indicating the end of the frame.
- Packet headers contain fields.
- a field is a continuous set of bits of either a fixed or variable length. When a field is variable in length, mechanisms exist to determine the actual length of the field transmitted. When the value in a fixed-length field is variable, padding bits are used to extend the value up to the field's fixed length.
- Each field has an identifier that indicates the nature of the value it contains. The values in the field are used by the relevant protocol to process the packet appropriately. For example, in an IP packet header, a field with the identifier "Version" will contain the version number of the protocol used. This field is four bits long. Other fields relate, for example, to the source and destination IP addresses of the packet.
- a header is therefore naturally divided into several sections, namely the header fields.
- the packet load can also be divided into several sections, for example by defining sections of a constant length expressed in number of bits.
- a packet analysis tool such as Wireshark or tcpdump allows you to capture and analyze data packets. This analysis separates a data packet exchanged over a network into its header and payload, reads the information contained in the header and the data contained in the payload, and identifies the various sections of a packet, both in its header and its payload. It's important to remember that, following the encapsulation of data packets, 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 begin with the IP header, followed by the UDP header. A UDP datagram carried by an Ethernet frame will then successively present the Ethernet header, followed by the IP header, and then the UDP header.
- These protocols operate using compression rules that apply or not to a particular data packet depending on the values held by the different sections of that given packet.
- the compression rules used in the ROHC or SCHC protocols, or in other similar protocols will, for example, attempt to erase a known value held by a given section of a packet, and a subsequent decompression rule will restore the erased value upon reception of the packet.
- Other rules may replace a given value with the index of a dictionary, or may only erase a prefix of the value represented as a sequence of bits, a prefix that will be restored during decompression. This results in very efficient compression of data packets, even if the compression is limited to the headers.
- the operation of data packet compression protocols relies on sets of compression rules that describe the compression operations to be performed on header field values, or more generally, on sections of data packets, provided that these values meet conditions that trigger the application of the compression operations contained in a rule.
- a compression rule is said to apply to a packet when all the compression operations present in the rule can be applied to the values of the fields in that packet.
- For a given packet there exists, within the set of compression rules, one or more rules that achieve the most efficient compression when applied to that particular packet.
- the most efficient compression is the greatest compression achieved by the various rules that can be applied to the packet in question. These particular rules can be called the optimal rules for the packet.
- the compression protocol will attempt to apply, for each data packet it needs to compress, a rule that is optimal for that packet in order to achieve the best compression for that given packet. Operations that do not perform any compression but potentially apply to all possible values can be defined for completion purposes, so that it is possible, for any given packet, to find a compression rule that applies to that packet, even if no compression is actually performed.
- compression rule sets are defined by experts based on their knowledge and an analysis of packets representative of a given traffic pattern.
- the idea that compression rule sets can be obtained through machine learning is beginning to emerge in the state of the art. Obtaining a compression rule set through machine learning would also start with a set of packets representative of the expected traffic, which would then be classically called a training set.
- the quality of compression rule sets is crucial. This quality is judged by the compression ratio achieved by a given rule set when deployed to execute on a specific traffic sample. The quality of a compression rule set can therefore be objectively measured by comparing the compression ratios achieved by different rule sets on the same traffic sample.
- Another quality criterion for a compression rule set is its size.
- a smaller rule set allows the compression protocol to determine which rule to apply more quickly.
- its identifier must generally be transmitted with the compressed packet to enable the reverse decompression operation upon packet reception. The more rules there are, the larger the rule identifier will be, and therefore the greater the number of bits used to encode this information in the transmitted packet, which defeats the purpose of compression.
- the two criteria of size and compression ratio are therefore used to judge the quality of a set of compression rules, whether this set is provided by an expert or obtained through machine learning.
- the size criterion is particularly important in the context of connected objects, which have limited memory and for which a maximum size for the set of compression rules may be imposed.
- the management method according to the invention aims to reduce the size of a given set of compression rules until it reaches a predetermined size while ensuring good performance with regard to the compression ratio.
- compression rule sets are often determined by experts. If the rule set has a maximum size, the expert ensures that this size is not exceeded during its construction. This process is therefore performed manually and prevents the development of compression rule sets that adapt to traffic, since changing a compression rule set requires expert intervention.
- compression rule sets obtained through machine learning are typically very large, making them impractical.
- the invention improves the situation.
- the size of the initial set of compression rules is reduced.
- an initial set that was too large to be deployed in a connected device or used by telecommunications equipment is reduced in size.
- This size reduction takes into account a given batch of data packets, which are representative of the expected traffic that must be compressed by the compression rule set. The reduction is achieved by first targeting the rules that are not efficient at compressing the packets belonging to this given batch.
- the advantage of the invention is therefore to reduce the size of the compression rule set by removing rules from it, while ensuring that the effective rules for packets in a given batch—packets representative of the expected traffic—are retained.
- the reduction in the size of the compression rule set is thus achieved while preserving its quality in terms of the compression performed by the retained rules.
- the process further includes a step of supplying the reduced set of compression rules.
- the reduced set of compression rules can be provided for use in performing packet compression according to a compression protocol.
- a rule is determined to belong to the set of effective rules when there is a packet in the given batch for which said compression rule achieves the greatest compression of the packet among the compression rules of the initial set.
- This implementation defines an objective criterion that determines which efficient rules to retain for a given batch of packets.
- the rules considered efficient are those that are optimal for at least one data packet belonging to that batch.
- a rule is optimal for a packet when it achieves the greatest compression for that packet compared to the compressions achievable across all available compression rules.
- the optimal rule for a packet will be the one chosen by the compression protocol for application.
- a rule is determined to belong to the effective rule set when said rule achieves compression above a given threshold of the packets in the given batch to which said rule applies.
- This embodiment provides an alternative method for determining which effective rules to retain.
- a rule is considered effective here when it achieves compression exceeding a given threshold for the packets to which it applies.
- the rules achieving the greatest compression are retained.
- the two steps described above are performed to further reduce its size while maintaining good compression quality relative to the given batch.
- a penalty is applied to assess the impact of removing a rule from the reduced set. Removing a given rule indicates that some packets within the expected traffic will no longer be compressed by that rule.
- a simple way to calculate the penalty is to count the bits erased by a rule in a packet when it is applied and compresses that packet.
- One rule is then removed, whichever has the lowest penalty.
- the removed rule can be randomly selected from those with the lowest penalty, or chosen according to the order in which the rule appears in the reduced set. The sequence of these two operations ensures that the size of the reduced set of compression rules decreases by at least one rule.
- a size of a set of compression rules is provided and the process includes an iteration of the steps of obtaining a compression penalty and deleting a compression rule until the size of the reduced set is less than the target size.
- the reduced set can then be provided for use in compressing data packets as expected.
- the step of obtaining a compression penalty takes into account that a compression rule removed from the reduced set will be replaced by another rule from the reduced set to perform data packet compressions.
- This implementation makes the compression penalty that governs the removal of a rule from the reduced set more precise. Indeed, if a rule is removed from the reduced set, it does not mean that the packets that would have been compressed by that rule will no longer be compressed at all. They will generally be compressed by another rule, which may be less efficient. The penalty can therefore be calculated as the difference between the compression performed by the removed rule and the compression performed by the rule that will be chosen by the compression protocol to compress packets in place of the removed rule.
- the step of obtaining a compression penalty further takes into account that several compression rules may be removed from the reduced set and replaced by another rule, present in the initial set and absent from the reduced set, and that the removal step then includes the removal of said several rules and the addition of said other rule if this removal combined with this addition minimizes the penalty obtained during the obtaining step.
- the compression penalty that guides rule removals is further refined. Indeed, at some point, a rule may have been removed during previous steps of the process and therefore be absent from the reduced set, but it can still provide a useful replacement for a rule that would otherwise be removed. Simply put, if a previously removed rule is reintroduced into the reduced set, at least two rules must be removed to ensure that the number of rules in the reduced set always decreases by one.
- the penalty thus takes into account the possibility of removing several rules from the reduced set and reintroducing a rule that is no longer in the reduced set but was in the initial set, in order to replace the removed rules when the compression protocol uses the reduced set of rules to compress data packets.
- the penalty is calculated here by subtracting the penalty of the added rule from the sum of the penalties of the several removed rules.
- the initial set of compression rules is represented by a data structure in which a compression rule, called the first rule, is linked to another compression rule, called the second rule, when, if the first rule applies to a given packet, the second rule applies to the same packet.
- obtaining a compression penalty takes into account the number of packets in the given batch for which the deleted rule(s) achieve the greatest compression among the rules in the reduced set.
- This implementation further refines the penalty that guides the removal of rules from the reduced set.
- the penalty considers, within the given batch (which is representative of the expected traffic), the packets for which the rules to be removed achieve the greatest compression and will therefore be chosen by the compression protocol to compress the packets of the expected traffic.
- a rule that achieves the greatest compression for a given packet among a set of possible rules is said to be optimal for that packet. If a rule compresses a packet by ten bits but is optimal for only one packet in the given batch, the penalty can be ten bits; whereas a rule that compresses a packet by only one bit but is optimal for one hundred packets in the given batch will have a total penalty of one hundred bits. This consideration of the number of packets for which the removed rule(s) are optimal must also take into account that a removed rule will be replaced by another rule from the reduced set to effectively compress these packets.
- the size of a set of compression rules is the number of compression rules belonging to the set of compression rules.
- This implementation provides a simple way to calculate the size of a compression rule set. Naturally, this size is the number of rules in the set. The process will therefore reduce the number of rules in the managed rule set until a target number is reached.
- the size of a set of compression rules is calculated by taking into account the number of compression rules belonging to the set of compression rules as well as the complexity of the rules belonging to the set.
- the size of a rule is the number of different effective compression operations within that rule
- the size of the rule set is the sum of the sizes of the individual rules within the set. More complex formulas can be used, taking into account the complexity of the compression operations themselves.
- the determination step includes calculating for a rule in the initial set a score obtained by multiplying the compression achieved by said rule by the number of packets in the given batch for which said rule achieves the greatest compression among the rules in the initial set.
- This implementation provides comprehensive information on the compression capabilities of the rules in the initial set.
- the effectiveness of a compression rule depends on the compression it achieves when applied to a packet, multiplied by the number of packets for which this rule achieves the greatest compression among all possible rules and will therefore likely be used for compression. Since this calculation is performed on packets in the given batch, which is representative of the expected traffic, the resulting score indicates the amount of compression a given rule will achieve on expected traffic. This score also reveals which rules do not achieve the greatest compression for any packet in the given batch, as these rules will have a score of zero.
- the step of obtaining the reduced set includes the removal of the initial set of compression rules whose score is below a given threshold.
- This implementation offers an alternative. Rather than directly removing rules that do not achieve the highest compression for any package, this implementation removes rules whose score is below a given threshold. In this way, more rules are removed, with the risk of removing rules that are optimal for some packages within the given batch.
- a size of a set of compression rules called the target size
- the step of obtaining the reduced set includes the removal of the initial set of compression rules with the lowest score until the size of the reduced set is less than the target size.
- This embodiment also offers another alternative implementation of the invention.
- the rules are removed one after another based on the calculated score until the target size is reached.
- the advantage of this embodiment is its simplicity, at the expense of accounting for the replacement of removed rules with other rules in the actual packet compression, a factor addressed in other embodiments.
- the initial set of compression rules is obtained by a machine learning algorithm and the given batch was included in the training set used to obtain the initial set.
- the method according to the invention is used in the context of machine learning of compression rules.
- the method according to the invention thus solves a significant problem in machine learning, namely that it produces large sets of compression rules.
- the method according to the invention automatically reduces the size of the resulting compression rule set to a target size in certain embodiments, for example, in order to deploy it in telecommunications equipment that imposes a specific size on the deployed compression rule set.
- the method according to the invention is implemented using a given batch of packets.
- This given batch is representative of the expected traffic that will be compressed by the reduced set of compression rules.
- the given batch can be the training set used for the machine learning or can be included within the training set. In this way, the machine learning and the reduction of the compression rule set use the same set of packets representative of the expected traffic and are consistent with each other.
- the given batch used in the process according to the invention comprises, in addition to the training set, another batch of packets, also representative of the expected traffic, used as a control set. In this way, a maximum number of packets representative of the expected traffic are used in the process according to the invention.
- the data structure representing the initial set was calculated by the machine learning algorithm that enabled the initial set to be obtained.
- a compression rule learning algorithm can start with general rules and search for more specialized rules that apply to the data packets in the training set.
- This type of learning algorithm can produce, as a side effect , a data structure that retains information about which rule was created from which others, and more generally, which rule is more specialized than another. In this embodiment, this information, which was a side effect of the machine learning algorithm, becomes very useful for accelerating the management process according to the invention.
- the compression rules of the initial set are compression rules according to the SCHC protocol.
- the process applies to the SCHC compression protocol and allows compression according to this protocol with small sets, suitable for Internet of Things equipment.
- the compression rules are those of other compression protocols.
- the management entity further includes a module for supplying the reduced set.
- the invention relates to telecommunications equipment comprising a management entity according to the invention.
- the invention relates to a mobile terminal comprising a management entity according to the invention.
- the invention relates to a computer program, the program comprising code instructions which, when executed by a processor, carries out the steps of the management process defined above.
- the invention relates to a data carrier on which is recorded a computer program comprising sequences of instructions for the implementation of the management process defined above.
- Data storage media can be any entity or device capable of storing programs.
- media can include a storage medium, such as a ROM (e.g., a CD-ROM or a microelectronic circuit ROM), or a magnetic recording medium such as a hard drive.
- media can be transmissible, such as an electrical or optical signal, which can be transmitted via an electrical or optical cable, by radio, or by other means.
- Programs according to the invention can, in particular, be uploaded to a network such as the Internet.
- the information storage medium can 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 process in question.
- the program according to the invention can use any type of computer technology in terms of compiled or interpreted programming languages, or a combination of both, as well as in terms of operating systems.
- the management entity does not include module 103 for supplying the reduced RRS set and can, for example, be reduced to modules 101 and 102.
- Management entity 100 presents the hardware architecture of a conventional computer. It includes in particular a processor, RAM type random access memory and read-only memory such as Flash memory, ROM, (not shown in the figure) as well as input-output devices such as, in some cases, keyboards and/or screens (not shown in the figure), and network ports allowing communication with other entities and servers via a communication network such as the Internet not shown in the figure.
- the management entity could be, for example, a computer server that performs the management process by establishing sets of compression rules before deploying them to one or more devices that will subsequently apply the rules of the managed set to data packets they process in real-world traffic.
- the management entity can also be deployed in a cloud architecture , where the user does not have a dedicated server but requests computing, memory, and network resources that perform the functions of the management entity.
- the management entity will itself be part of a device that applies compression rules.
- the management entity is then a component of the device responsible for improving, in successive steps, the set(s) of rules that the component uses to compress the traffic processed by the device.
- Such equipment can be, for example, a router. This router can be deployed in local area networks (LANs), metropolitan area networks (MANs), or wide area networks (WANs).
- the equipment can also be a gateway providing a link between distinct networks, for example, a home gateway or an access gateway for Internet of Things (IoT) devices. It can also be a gateway providing a link between distinct protocols, for example, a gateway translating Voice over IP (VoIP ) communications to an IP core network or, conversely, to a telephone access network or a fixed telephone network, such as a corporate network.
- VoIP Voice over IP
- the equipment can also be a base station used in a mobile telecommunications network. Finally, the equipment can be a mobile terminal.
- management entity 100 reduces the size of an initial set of compression rules RS to obtain a reduced set RRS.
- the process may ensure that the reduced set RRS is smaller than a given size S, referred to as the target size.
- the reduction in size from the initial set RS to the reduced set RRS occurs without targeting a specific size.
- the initial RS set of compression rules could be established by an expert or through a machine learning process.
- the RS set could be, for example, a set of compression rules based on the SCHC protocol and adapted to specific traffic, i.e., designed to compress data packets used in a given protocol context for specific equipment.
- the RS set could then be deployed for use in a device, and the management entity, in this case, could be a component of the device in question, which would apply the process to reduce its size to the target size S and provide the reduced RRS set.
- the management entity 100 which is a server that will not use the RS set to perform compression but is dedicated to reducing the size of the compression rule sets.
- the RS set was obtained through machine learning, and a batch L, called the given batch, is then, in this example, the set of data packets used as representative examples of the traffic to be compressed for this machine learning; that is, the training set.
- the concept of a training set is well-known in the field of machine learning and is not explained in detail here.
- other packets may have been used as a control set to ensure that the RS set of compression rules is not too specialized. These other packets can be added to the training set to form the given batch L of data packets, which should be representative of the traffic expected to be compressed by the rules of the RS and RRS sets.
- module 101 of management entity 100 determines a set of rules, called efficient rules, for the given batch L of data packets.
- the rules determined here from the set RS of compression rules are the most efficient rules for compressing the packets in batch L; therefore, these rules should be retained, if possible, in the reduced set RRS.
- One way to determine the efficient rules during the first step S1 is to search for those rules in the initial set RS that are optimal for at least one packet in the given batch L—that is, those that achieve the best compression for a packet among all the RS rules. Indeed, an optimal rule will very likely be chosen by the compression algorithm to compress the packet in question. Since the packets in the given batch L are representative of the expected traffic, we can assume that a rule that is not optimal for any packet in the given batch L will rarely be used and will therefore not be efficient. Such a rule can be removed from the RS set to obtain the reduced set RRS without significantly impacting the overall efficiency of the reduced set RRS of compression rules for compressing real traffic.
- rules that aren't optimal that is, rules for which there are no packets in the given set L that achieve the greatest compression compared to the compressions achieved by other rules in the RS set—can still be useful because they might prove optimal for real-world traffic packets not present in the given set L.
- the given set L aims to be representative of the traffic that the RS and RRS sets of compression rules will need to compress, but it cannot represent all possible examples of packets that might need to be compressed.
- Another way to determine the efficient rules during the first step S1 is to calculate a score for each rule by multiplying the compression achieved by the rule when applied to a packet by the number of packets in the given batch L for which the rule is optimal. This score corresponds to the compression achieved, that is, the number of bits erased, by a given rule on all packets in the given batch L. Rules that are not optimal for any packet in the given batch L then have a score of zero.
- module 102 obtains a reduced set RRS by removing from the initial set RS the rules that were not determined during step S1 as belonging to the set of effective rules.
- the production of the reduced set RRS consists of removing from the initial set RS the compression rules that were not determined during step S1 to be effective according to a certain criterion.
- a third step S3 visible on the Module 103, which will be described later, provides the reduced RRS assembly when it is smaller than a given size S, called the target size.
- This S3 provisioning step is present only in certain embodiments. In some embodiments, the S3 provisioning step takes place when the reduced RRS assembly has reached a size smaller than a given size S, called the target size.
- management entity 100 is part of a telecommunications device that uses the RS compression rule set to compress data packets of traffic carried by the device and seeks to reduce the size of the RS compression rule set to a target size S.
- module 103 will make the reduced RRS rule set available by replacing the compression rule set used by the device to compress data packets, which was initially the RS rule set, with the reduced RRS rule set.
- module 103 can transfer a file containing the reduced RRS rule set, or any other computer object representing the reduced RRS rule set, to other entities that wish to use it.
- a telecommunications device could transfer to the management entity 100, for size reduction, a set RS of compression rules along with a given batch L of data packets and a target size S, and, after implementation of the process, the module 103 provides the reduced set RRS in response.
- the management entity 100 receives a set RS obtained by machine learning using a given batch L of data packets as the training set, and the management entity 100 will implement the process according to the invention in order to reduce the size of the set RS of compression rules to a target size S to obtain the reduced set RRS. This reduced set RRS will then be used in place of the initial set RS.
- management entity 100 reduces the size of the initial set RS to a reduced set RRS, and the latter is used by one or more telecommunications devices as the reduced set RRS is being downsized, without the need for a delimited step of supplying the reduced set RRS. Both the reduced set RRS and the initial set RS are simply available continuously throughout the operation of the process.
- module 104 gets a compression penalty caused by the removal of a rule from the reduced RRS set.
- step S2 if removing from the initial set RS of rules not identified as effective in step S1 is insufficient to obtain a sufficiently reduced set RRS, the process can continue by attempting to remove additional compression rules. This removal will be guided by a compression penalty obtained during step S4.
- the objective of these removal operations is for the reduced set RRS to reach a target size S.
- the S4 step of obtaining a compression penalty can be performed by carrying out calculations by module 104 or by receiving calculations performed by other entities not represented on the Rather than being calculated, penalties can be estimated or approximated using other methods.
- obtaining a compression penalty can be achieved by searching, for each potentially deleted compression rule, which packets the potentially deleted rule is optimal for and which rule would become optimal if the currently optimal rule were deleted. Once these packets are found, it is possible to calculate the difference in compression achieved between the deleted optimal rule and the new optimal rule. This difference in compression constitutes the compression penalty. The larger the penalty, the more deleting a rule and replacing it with another as the optimal rule for packets will result in a decrease in the compression of those packets.
- the calculation of the compression penalty takes into account the number of packets for which the deleted rule is optimal in order to calculate an effective penalty in bits when a deleted rule is replaced by another to effectively compress packets.
- the compression penalty calculation takes into account all the rules present in the initial set RS. Indeed, rather than removing a single rule, it can be advantageous to remove several compression rules and reintroduce one that had been previously removed, for example, one that had not been determined S1 to be among the effective rules. The calculation of a compression penalty will then combine the compression losses due to the removal of two rules with the gain provided by the addition of a rule that was previously removed from the reduced set RRS of compression rules.
- the compression penalty can be calculated solely by considering the compression scores achieved by the compression rules removed from the RS set, without taking into account any replacements of the removed rules by other compression rules.
- the rules to be removed are determined by comparing scores attached to the compression rules, regardless of the packages to which the rules apply. The advantage of this embodiment is the greater simplicity in obtaining the minimum compression penalties and determining which rule to remove.
- module 105 removes a rule from the reduced RRS set which minimizes the calculated penalty S4.
- the process will remove a compression rule from the reduced RRS set that minimizes the compression penalty caused by this removal.
- This removal can involve simply deleting a single rule or deleting several rules while simultaneously reintroducing a rule from the original RS set that had been previously removed.
- the acquisition steps S4 and deletion steps S5 are iterated until the reduced set RRS reaches a target size S that has been provided.
- the reduced set RRS can then be provided in a step S3 in an example embodiment that includes this step.
- the embodiment begins with a step S1 of determining efficient rules from the initial set RS of compression rules for the given batch L.
- the initial set RS was obtained using a machine learning algorithm with the given batch L as the training set.
- the objective of the method according to the invention is to obtain a reduced set RRS of compression rules starting from the set RS.
- the determination S1 of the efficient rules ensures that the efficient rules are preserved to the maximum extent possible, even when reducing the size of the initial set RS to that of the reduced set RRS.
- One possibility is to retain in the reduced set RRS the optimal compression rules, that is, the rules for which there exists a data packet in the given batch L for which the considered rule achieves the best compression among all the compression rules considered.
- step S2 of obtaining a reduced set RRS by removing from the set RS rules that were not determined S1 to be among the effective rules in the previous step S1.
- a target size S has been provided. If this step S2 produces a reduced set of compression rules (RRS) smaller than the target size S, then the process will continue with step S3, as shown in the test depicted in the...
- the size of a set of compression rules can be simply measured by counting the number of compression rules present in the set. Other methods for defining the size of a set of compression rules can be considered, which take into account the number and complexity of the elementary compression operations that make up the compression rules.
- the method according to the invention includes, in this embodiment, a step S3 for providing the reduced RRS set of compression rules.
- the reduced RRS set can be used at any time to perform data packet compression without requiring a provisioning step S3.
- the reduced RRS set can be provided by transferring a file or any other relevant computer object from the management entity 100 to equipment that needs to use the RRS set of compression rules.
- the management entity 100 can be a server dedicated to managing and improving compression rule sets.
- the reduced RRS set can also be made available by providing access to requests to obtain the RRS set.
- the management entity 100 can be a component of telecommunications equipment that uses the reduced RRS set of compression rules to compress the traffic it transmits.
- the management entity 100 then makes available to the telecommunications equipment which encompasses it an RRS version of the initial set RS of compression rules, a reduced version until it reaches the target size S.
- the process includes a step S4 for obtaining a compression penalty caused by the removal of a rule from the reduced set RRS. Since the rules remaining in the reduced set RRS after the removal step S2 are efficient rules for the packets in the given batch L, removing a rule from the reduced set will impact the compression efficiency of the rules in the reduced set RRS. Therefore, the compression penalties associated with rule removals are obtained. This will be described in the following section. Examples of penalty calculations are provided. Compression penalties can take into account that a single rule is deleted, but also that a previously deleted rule can be reintroduced. In this case, two rules must be deleted to compensate for the reintroduction of a rule and ensure a reduction in the size of the reduced set of compression rules.
- step S5 which effectively removes at least one rule from the reduced set RRS of compression rules.
- step S3 which provides the reduced set RRS. Otherwise, a further sequence of steps S4-S5 can take place.
- the R4 rule identifier would be transmitted to allow the receiving entity to reconstruct the original value.
- the five fields of the initial packet formed a total of 21 bits.
- the finally transmitted packet comprised only 4 bits.
- Applying the R4 compression rule therefore saves 17 bits during packet transmission (not taking into account that the R4 rule identifier must also be transmitted). This number of bits saved will always be the same for any packet to which the R4 compression rule can be applied.
- Rules R1 through R9 are organized according to a specialization relationship. When a rule is a parent of another, it is less specialized and will apply to all packages to which the descendant rule can apply. This specialization relationship can be determined by considering only the operations that constitute the compression rules.
- such a data structure representing the specialization relationship between rules in the set can be obtained as a side effect of the learning process. Indeed, learning can begin with a very unspecialized rule, for example, a rule that ignores the values of all fields and passes them unchanged, and then apply operational modifications that will increasingly specialize the rules.
- the given set L which may have been used as a training set in a machine learning algorithm, comprises nine packets p1 to p9.
- Each rule R1 to R9 of the set RS is associated with the packets within the given set L to which the rule applies. For example, rule R1 applies to all packets p1 to p9 in the given set L, while rule R7 applies only to packets p2 and p3, and rule R9 applies only to packet p8.
- the packets p1 to p9 are not further specified.
- rule R1 is optimal for packet p9, and therefore applies to this packet, and also applies to all packets p1 through p8.
- rule R7 applies to packets p7 and p8 and is optimal for packet p7.
- Rule R2 applies to packets p2, p3, p6, p7, and p8 but is not optimal for any of these packets.
- Rule R9 applies only to packet p8 and is optimal for it, and so on.
- a compression protocol will choose the optimal rule for a given packet, that is, the one that achieves the best compression for that given packet from among all available compression rules. This justifies the importance of having this information, which can also be obtained during machine learning of the RS set of compression rules.
- a first step is to determine the efficient rules for the batch L of data packets p1 to p9 from among the rules R1 to R9.
- the rules chosen as efficient are those that achieve the best compression for at least one of the packets p1 to p9 in the given batch L.
- all rules are effective according to this criterion except for rules R2 and R4 which do not achieve the best compression for any packet in lot L among rules R1 to R9 of the set of rules RS.
- these two rules R2 and R4 are therefore removed from the initial set RS to form the reduced set RRS.
- This therefore includes the rules R1, R3, R5, R6, R7, R8, R9.
- a rule can be said to be efficient when it achieves a certain compression score for the given batch L.
- a score can be calculated by multiplying the compression performed by a rule, as displayed on the , by the number of packets within the given batch L for which the rule achieves the best compression.
- the score can also be calculated as the score achieved by the compression rule for any packet and displayed on the , without taking into account the packets in batch L for which the rule achieves the best compression.
- the size S of a set of compression rules is the number of rules belonging to the set. In other examples, the size S of a set of compression rules is measured by taking into account the number and complexity of the compression operations belonging to a given rule.
- a compression rule set size has been provided, which is the target size S.
- the goal of the process is then to run it until a reduced rule set (RRS) smaller than the target size is obtained.
- the process simply reduces the size of the compression rule set without forcing a target size S.
- the target size S in our example, is 4 and corresponds to the number of rules in a compression rule set.
- the reduced rule set (RRS) then has a size of 7, and the process will continue in our example.
- the target size S will often be a power of 2 in order to encode the identifier of a rule belonging to a compression rule set using a minimum number of bits.
- two bits are sufficient to encode the compression rule identifiers.
- a compression penalty is applied, corresponding to the removal of at least one rule from the reduced RRS set.
- the compression rules of the RS set are arranged in a tree-like data structure. This arrangement allows for the efficient retrieval of rules that are more general than a given rule and could therefore replace it to compress packets from the given L set if a particular rule were removed.
- rule R6 For example, if rule R6 were removed, the process could read from the data structure represented in the Rule R6 is the most efficient for packets p1 and p4. If rule R6 were removed, rule R3, the parent rule in the tree, would become the most efficient rule for these two packets, p1 and p4.
- the compression penalty associated with removing rule R6 for the given batch L would then include the compression of both packets p1 and p4 by rule R3 instead of rule R4.
- rule R3 compresses a packet, it removes 16 bits instead of the 21 bits removed by rule R4.
- the compression penalty for removing rule R4 can be calculated in our example as 10 bits (twice the five fewer bits compressed on packets p1 and p4 when replacing R4 with R3).
- the lowest compression penalty is obtained by removing rule R9, which is then replaced by rule R8 as the rule providing the best compression for packet p8.
- the calculated compression penalty is only 1 bit. Note that rule R8 is present in the reduced RRS set.
- the compression penalty for this operation is, firstly, 4 bits, corresponding to the replacement of rule R7 by rule R4, which reduces the compression performed on packets p2 and p3 by 2 bits, and secondly, 1 bit, corresponding to the replacement of rule R8 by rule R4, which reduces the compression of packet p7 by 1 bit.
- the total compression penalty is therefore 5 bits, and this is the lowest penalty that can be found in this example at this stage of the process.
- the reduced RRS set after removing rules R7 and R8 and reintroducing rule R4, will then consist of rules R1, R3, R4, R5, and R6, each with a size of 5, which is greater than the target size S (4 in our example).
- the final removal corresponding to the minimum compression penalty, will be to replace rule R6 with rule R3. This results in a penalty of 10 bits, corresponding to two 5-bit periods (the difference in score between rules R6 and R3), with the factor of 2 being due to the two packets p1 and p4.
- the target size S of 4 is finally achieved with a reduced RRS set which includes the compression rules R1, R3, R4, R5.
- This implementation example demonstrated how organizing the RS compression rule set into a tree structure, representing which rules are more general than others, simplifies the calculation of compression penalties. Such an organization can be achieved as a side effect of machine learning the RS compression rule set using the given L set as the training dataset.
- module can refer to a software component, a hardware component, or a set of hardware and software components.
- a software component itself corresponds to one or more computer programs or subprograms, or more generally, to any element of a program capable of implementing a function or set of functions as described for the modules in question.
- a hardware component corresponds to any element of a hardware assembly capable of implementing a function or set of functions for the module in question (integrated circuit, smart card, memory card, etc.).
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
L'invention se rapporte à un procédé de gestion d'un ensemble (RS) de règles de compression s'appliquant à des paquets de données, dit ensemble initial, caractérisé en ce qu'il comprend les étapes suivantes : • Une étape de détermination (S1) d'un ensemble de règles, dites règles efficaces, pour un lot (L) de paquets de données, dit lot donné; • Une étape d'obtention (S2) d'un ensemble réduit (RRS) de règles de compression en supprimant de l'ensemble initial (RS) des règles de compression qui n'appartiennent pas à l'ensemble de règles efficaces pour le lot (L) donné.
Description
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é de gestion d’un ensemble de règles de compression de paquets de données. Ces paquets de données sont destinés à être transmis dans un réseau informatique ou de télécommunications. Le procédé selon l’invention vise en particulier à réduire la taille de l’ensemble de règles de compression.
L’informatique en réseau et 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. Dans le cas où les paquets d’un protocole donné contiennent un ou des paquets encapsulés d’un autre protocole, la charge d’un paquet du premier protocole peut contenir l’en-tête d’un autre protocole. Au niveau de la couche Liaison, on parle de trame plutôt que de paquet, et, en plus de l’en-tête, il existe un pied de trame indiquant la fin de la trame.
Les en-têtes de paquets comprennent des champs. Un champ est un ensemble continu de bits d’une longueur fixe ou variable. Quand un champ est de longueur variable, des mécanismes permettent de savoir quelle est la longueur du champ effectivement transmis. Quand la valeur présente dans un champ de longueur fixe est de longueur variable, des bits de bourrage (traduction de l’anglais padding) vont compléter la valeur jusqu’à la longueur fixe du champ. Un champ dispose d’un identifiant qui indique la nature de la valeur qui est présente dans le champ. Les valeurs présentes dans le champ sont utilisées par le protocole concerné pour traiter le paquet de façon appropriée. Par exemple, dans l’en-tête d’un paquet IP, un champ dont l’identifiant est Version contiendra le numéro de version du protocole utilisé. La taille de ce champ est de quatre bits. D’autres champs concernent par exemple les adresses IP source et destination du paquet. Un en-tête est donc naturellement divisé en plusieurs sections, à savoir les champs de l’en-tête. La charge du paquet peut également être divisée en plusieurs sections, par exemple en définissant des sections d’une longueur constante exprimée en nombre de bits.
Un outil d’analyse de paquets tel que Wireshark ou tcpdump permet de capturer et analyser des paquets de données. L’analyse permet de séparer un paquet de données échangé sur un réseau entre son en-tête et la charge utile, et de lire les informations comprises dans l’en-tête et les données comprises dans la charge utile et d’identifier les diverses sections d’un paquet, à la fois dans son en-tête et dans sa charge. Nous rappelons que, à la suite de l’encapsulation des paquets de données, l’en-tête typique d’un paquet sera constitué de plusieurs en-têtes concaténés, un pour chaque protocole encapsulé. Par exemple, une trame Ethernet encapsulant un paquet IP commencera par l’en-tête IP, suivi de l’en-tête UDP. Un datagramme UDP porté par une trame Ethernet présentera alors successivement l’en-tête Ethernet suivie de l’en-tête IP puis de l’en-tête UDP.
Il existe un besoin clair de compression des données échangées en informatique et dans les télécommunications numériques pour économiser au mieux les ressources matérielles et en énergie consommées par les réseaux informatiques ou de télécommunications. Ce besoin explique la création de protocoles dédiés à la compression des paquets de données échangées. On connaît comme exemples de protocoles de compression les protocoles 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, ainsi que le protocole SCHC (acronyme de l’anglais Static Context Header Compression), défini par l’IETF dans la RFC 8724.
Ces protocoles fonctionnent grâce à des règles de compression qui s’appliquent ou pas à un paquet de données particulier selon les valeurs prises par les différentes sections de ce paquet donné. Les règles de compression utilisées dans les protocoles ROHC ou SCHC ou dans d’autres protocoles similaires vont par exemple chercher à effacer une valeur connue prise par une section donnée d’un paquet et une règle de décompression complémentaire rétablira la valeur effacée à la réception du paquet. D’autres règles pourront remplacer une valeur donnée par l’index d’un dictionnaire ou bien n’effaceront qu’un préfixe de la valeur représentée comme une suite de bits, préfixe qui sera rétabli à la décompression. On obtient ainsi une compression très efficace des paquets de données même si la compression se limite aux en-têtes.
Dans tous les cas, le fonctionnement de protocoles de compression de paquets de données va reposer sur l’existence d’ensembles de règles de compression qui décrivent les opérations de compression à mener sur des valeurs de champs d’en-têtes ou plus généralement de sections des paquets de données, pour peu que ces valeurs remplissent des conditions qui déclenchent l’application des opérations de compression présentes dans une règle. On dit d’une règle de compression qu’elle s’applique à un paquet quand toutes les opérations de compression présentes dans la règle peuvent s’appliquer aux valeurs prises par les champs du paquet en question. Pour un paquet donné, il existe, dans l’ensemble de règles de compression, une ou plusieurs règles qui réalisent la compression la plus efficace quand elle est appliquée à ce paquet particulier. La compression la plus efficace est la plus grande compression parmi celles réalisées par les différentes règles qui peuvent s’appliquer au paquet en question. On peut appeler ces règles particulières les règles optimales pour le paquet. En général, le protocole de compression va chercher à appliquer pour chaque paquet de données qu’il doit compresser une règle qui est optimale pour ce paquet afin de réaliser la meilleure compression pour ce paquet donné. Des opérations qui ne réalisent aucune compression mais qui s’appliquent potentiellement à toutes les valeurs possibles peuvent être définies pour des raisons de complétion, afin qu’il soit possible, pour tout paquet donné, de trouver une règle de compression qui s’applique à ce paquet, quitte à ne réaliser aucune compression.
L’ensemble de ces éléments sont bien connus dans l’état de la technique et ne seront pas décrits plus avant.
En général, les ensembles de règles de compression sont définis par des experts à partir de leurs connaissances et d’une analyse de paquets représentatifs d’un trafic donné. Il commence à apparaître dans l’état de l’art l’idée que les ensembles de règles de compression puissent être obtenus par apprentissage automatique (traduction de l’anglais machine learning). L’obtention d’un ensemble de règles de compression par apprentissage automatique se ferait là aussi en partant d’un ensemble de paquets représentatifs du trafic attendu, qui serait alors classiquement dénommé ensemble d’apprentissage.
Pour assurer le meilleur fonctionnement possible des protocoles de compression, la qualité des ensembles de règles de compression est un enjeu majeur. Cette qualité se juge sur le taux de compression réalisé par un ensemble de règles donné quand il est déployé pour s’exécuter sur un trafic donné. La qualité d’un ensemble de règles de compression peut donc se mesurer de façon objective, en comparant les compressions réalisées par différents ensembles de règles sur un même trafic.
Un autre critère de qualité d’un ensemble de règles de compression est sa taille. Plus petit sera l’ensemble, à taux de compression égal, meilleur il sera, car il prendra moins de place en mémoire dans les équipements récepteurs et émetteurs. De plus, quand l’ensemble de règles de compression est de petite taille, le protocole de compression prend moins de temps pour déterminer quelle est la règle à appliquer. Enfin, quand une règle est utilisée, son identifiant doit être en général transmis avec le paquet compressé pour permettre de réaliser l’opération inverse de décompression à la réception du paquet. Plus il y a de règles, plus grand sera la taille de l’identifiant de règle utilisé et donc plus grand le nombre de bits utilisé pour encoder cette information dans le paquet transmis, ce qui va à l’encontre de l’objectif de la compression.
Les deux critères de taille et de taux de compression interviennent donc pour juger la qualité d’un ensemble de règles de compression, que cet ensemble soit donné par un expert ou bien obtenu par apprentissage automatique. Le critère de taille est particulièrement important dans le contexte des objets connectés qui disposent d’une mémoire limitée et pour laquelle une taille maximale de l’ensemble de règles de compression peut être imposée. Le procédé de gestion selon l’invention vise à réduire la taille d’un ensemble donné de règles de compression jusqu’à ce qu’il atteigne une taille donnée tout en assurant le maintien de bonnes performances en ce qui concerne le taux de compression.
Dans l’état de la technique, les ensembles de règles de compression sont souvent déterminés par des experts. Si cet ensemble doit avoir une taille maximale, l’expert va alors assurer que cette taille n’est pas dépassée pendant la construction de l’ensemble de règles. Un tel processus est donc réalisé à la main et empêche de disposer d’ensembles de règles de compression qui s’adaptent au trafic puisque le changement d’un ensemble de règles de compression nécessite de faire intervenir un expert.
Dans le cas où l’ensemble de règles de compression est obtenu par apprentissage automatique, ce dernier va en général chercher à produire des règles de compression adaptées à l’ensemble d’apprentissage qui est soumis à l’algorithme d’apprentissage automatique et aura tendance à rajouter des règles de plus en plus adaptées. Les ensembles de règles de compression obtenus par apprentissage automatique sont donc en règle générale de très grande taille, ce qui les rend impraticables.
L’invention vient améliorer la situation.
Selon un premier aspect fonctionnel, l’invention a trait à un procédé de gestion d’un ensemble de règles de compression s’appliquant à des paquets de données, dit ensemble initial, caractérisé en ce qu’il comprend les étapes suivantes :
- Une étape de détermination d’un ensemble de règles de compression, dites règles efficaces, pour un lot de paquets de données, dit lot donné ;
- Une étape d’obtention d’un ensemble réduit de règles de compression en supprimant de l’ensemble initial les règles de compression qui n’appartiennent pas à l’ensemble de règles efficaces pour le lot donné.
Grâce à l’invention, une réduction de la taille de l’ensemble initial de règles de compression est réalisée. De cette manière, un ensemble initial qui était d’une taille trop élevée pour être déployé dans un objet connecté ou utilisée par un équipement de télécommunications va être diminué de taille. Cette réduction de taille prend en compte un lot donné de paquets de données, qui sont représentatifs du trafic attendu qui doit être compressé par l’ensemble de règles de compression. La réduction se fait en ciblant d’abord les règles qui ne sont pas efficaces pour compresser les paquets qui appartiennent à ce lot donné.
L’avantage de l’invention est donc de procéder à une réduction de la taille de l’ensemble de règles de compression en supprimant des règles de cet ensemble, tout en s’assurant que les règles efficaces pour les paquets d’un lot donné, paquets représentatifs du trafic attendu, sont bien conservées. La diminution de la taille de l’ensemble de règles de compression se fait donc bien en préservant sa qualité en termes de compressions effectuées par les règles conservées.
Selon un mode de réalisation de cet aspect fonctionnel de l’invention, le procédé comprend en outre une étape de fourniture de l’ensemble réduit de règles de compression.
Après cette réduction, l’ensemble réduit de règles de compression peut être fourni pour être utilisé pour effectuer les compressions de paquets selon un protocole de compression.
Selon un autre mode de réalisation de cet aspect fonctionnel de l’invention, une règle est déterminée comme appartenant à l’ensemble des règles efficaces lorsqu’il existe un paquet dans le lot donné pour lequel ladite règle de compression réalise la plus grande compression du paquet parmi les règles de compression de l’ensemble initial.
Grâce à ce mode de réalisation, un critère objectif est défini qui permet de déterminer les règles efficaces à conserver au regard d’un lot donné de paquets. Les règles qui sont vues comme efficaces sont celles qui sont optimales pour au moins un paquet de données qui appartient au lot donné. Une règle est optimale pour un paquet quand elle réalise la plus grande compression de ce paquet si on la compare aux compressions pouvant être réalisées parmi toutes celles de l’ensemble des règles de compression. En général, une règle optimale pour un paquet sera celle qui sera choisie par le protocole de compression pour être appliquée à celui-ci. En retenant les règles optimales dans les règles efficaces qui sont celles conservées par le procédé de gestion, celui-ci va perturber le moins possible le fonctionnement du protocole de compression puisqu’il conserve les règles efficaces qui seront celles davantage utilisées.
Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement avec le mode précédent, une règle est déterminée comme appartenant à l’ensemble de règles efficaces lorsque ladite règle réalise une compression supérieure à un seuil donné des paquets du lot donné auxquels ladite règle s’applique.
Ce mode de réalisation donne une possibilité de réalisation alternative pour déterminer quelles sont les règles efficaces à conserver. Une règle est vue comme efficace ici lorsqu’elle réalise une compression supérieure à un seuil donné des paquets auxquels elle s’applique. Dans ce mode de réalisation, les règles réalisant les plus grandes compression sont conservées.
Selon un autre mode de réalisation de cet aspect fonctionnel de l’invention, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, le procédé comprend en outre les étapes suivantes :
- Une étape d’obtention d’une pénalité de compression causée par la suppression d’une règle de l’ensemble réduit ;
- Une étape de suppression d’une règle de l’ensemble réduit qui minimise la pénalité obtenue.
Si la simple suppression des règles qui ne sont pas ou peu efficaces ne suffit pas à réduire suffisamment l’ensemble de règles, les deux étapes ci-dessus sont réalisées par le procédé pour accroître la réduction de taille, tout en gardant une bonne qualité de compression à l’ensemble de règles relativement au lot donné. Pour cela, une pénalité est obtenue pour évaluer l’effet de la suppression d’une règle de l’ensemble réduit. En effet, la suppression d’une règle donnée indique que certains paquets faisant partie du trafic attendu ne seront plus compressées par cette règle. Une manière simple d’obtenir la pénalité peut être de compter les bits effacés par une règle dans un paquet quand elle s’applique à ce paquet et le compresse.
Une règle est ensuite supprimée, qui est celle pour laquelle la pénalité est la plus faible. En cas d’égalité, la règle supprimée peut être tirée au sort parmi celles pour lesquelles la pénalité est la plus faible, ou bien choisie selon l’ordre dans lequel la règle apparaît dans l’ensemble réduit. La succession des deux opérations assure que la taille de l’ensemble réduit de règles de compression diminue et ce d’au moins une règle.
Selon un autre mode de réalisation, qui pourra être mis en œuvre cumulativement avec le mode précédent, une taille d’un ensemble de règles de compression, dite taille visée, est fournie et le procédé comprend une itération des étapes d’obtention d’une pénalité de compression et de suppression d’une règle de compression jusqu’à ce que la taille de l’ensemble réduit soit inférieure à la taille visée.
Dans ce mode de réalisation, la succession des deux opérations d’obtention d’une pénalité et de suppression d’une règle pour minimiser la pénalité est répétée jusqu’à ce qu’une taille visée soit atteinte. Dans des modes de réalisation, l’ensemble réduit pourra alors être fourni pour être utilisé pour compresser des paquets de données comme attendu.
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’une pénalité de compression prend en compte qu’une règle de compression supprimée de l’ensemble réduit sera remplacée par une autre règle de l’ensemble réduit pour effectuer des compressions de paquets de données.
Grâce à ce mode de réalisation, la pénalité de compression qui guide la suppression d’une règle de l’ensemble réduit est rendue plus précise. En effet, si une règle est supprimée de l’ensemble réduit, cela ne veut pas dire que les paquets qui auraient été compressés par cette règle ne le seront plus du tout. Ils seront en général compressés par une autre règle, qui pourra être moins efficace. La pénalité peut donc être obtenue comme la différence entre la compression réalisée par la règle supprimée et la compression réalisée par la règle qui sera choisie par le protocole de compression pour compresser des paquets à la place de la règle supprimée.
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’une pénalité de compression prend en compte de surcroît que plusieurs règles de compression peuvent être supprimées de l’ensemble réduit et remplacées par une autre règle, présente dans l’ensemble initial et absente de l’ensemble réduit, et que l’étape de suppression comprend alors la suppression desdites plusieurs règles et l’ajout de ladite autre règle si cette suppression combinée à cet ajout minimisent la pénalité obtenue lors de l’étape d’obtention.
Grâce à ce mode de réalisation, la pénalité de compression qui guide les suppressions de règles est encore affinée. En effet, à un moment donné, une règle peut avoir été supprimée lors des étapes précédentes du procédé et donc être absente de l’ensemble réduit mais elle peut cependant apporter une solution de remplacement intéressante pour une règle à supprimer. Simplement, si une règle qui avait été supprimée est réintroduite dans l’ensemble réduit, il faut supprimer au moins deux règles pour assurer que le nombre de règles dans l’ensemble réduit diminue toujours de un. La pénalité prend donc en compte la possibilité de supprimer plusieurs règles de l’ensemble réduit et de réintroduire une règle qui ne se trouve plus dans l’ensemble réduit mais qui se trouvait dans l’ensemble initial afin de remplacer les règles supprimées lorsque le protocole de compression utilisera l’ensemble réduit de règles pour compresser des paquets de données. L’obtention de la pénalité se fait ici en soustrayant de la somme des pénalités des plusieurs règles supprimées la pénalité de la règle ajoutée.
Selon un autre mode de mise en œuvre de l’invention, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, l’ensemble initial de règles de compression est représenté par une structure de données dans laquelle une règle de compression, dite première règle, est reliée à une autre règle de compression, dite deuxième règle, lorsque, si la première règle s’applique à un paquet donné, la deuxième règle s’applique au même paquet.
Grâce à ce mode de réalisation, l’exécution du procédé est simplifiée. Le fait de disposer d’une telle structure de données permet en effet de savoir rapidement qu’une règle est plus générique qu’une règle plus spécialisée, c’est-à-dire qu’elle peut s’appliquer à tous les paquets de données auxquels la seconde peut s’appliquer. Cette information peut être utilisée pour obtenir les pénalités de compression car elle indique quelle règle pourra remplacer une règle supprimée. L’obtention directe de cette information car elle est enregistrée dans la structure de données elle-même va grandement accélérer et simplifier la réalisation du procédé selon l’invention.
Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, l’obtention d’une pénalité de compression prend en compte le nombre de paquets du lot donné pour lesquels la ou les règles supprimées réalisent la plus grande compression parmi les règles de l’ensemble réduit.
Ce mode de réalisation affine encore la pénalité qui guide la suppression des règles de l’ensemble réduit. Pour cela, la pénalité prend en compte dans le lot donné, qui est représentatif du trafic attendu, les paquets pour lesquels les règles qui vont être supprimées réalisent la plus grande compression et seront donc choisies par le protocole de compression pour compresser les paquets du trafic attendu. Une règle qui réalise la plus grande compression pour un paquet donné parmi un ensemble de règles possibles est dite optimale pour ce paquet. Si une règle compresse un paquet de dix bits, mais n'est optimale que pour un seul paquet dans le lot donné, la pénalité peut valoir dix bits ; alors qu’une règle qui ne comprime un paquet que d’un seul bit, mais qui est optimale pour cent paquets du lot donné, aura une pénalité de cent bits au total. Cette prise en compte du nombre de paquets pour lesquels la ou les règles supprimées sont optimales doit également prendre en compte qu’une règle supprimée sera remplacé par une autre règle de l’ensemble réduit pour effectivement compresser ces paquets.
Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, la taille d’un ensemble de règles de compression est le nombre de règles de compression appartenant à l’ensemble de règles de compression.
Grâce à ce mode de réalisation, une manière simple de calculer la taille d’un ensemble de règles de compression est définie. De façon naturelle, cette taille est le nombre de règles présentes dans l’ensemble. Le procédé va donc diminuer le nombre de règles dans l’ensemble de règles géré jusqu’à atteindre un nombre visé.
Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, la taille d’un ensemble de règles de compression est calculée en prenant en compte le nombre de règles de compression appartenant à l’ensemble de règles de compression ainsi que la complexité des règles appartenant à l’ensemble.
Il est possible de calculer la taille de façon plus élaborée, en prenant en compte la complexité des règles de compression présentes dans l’ensemble de règles de compression. Dans ce cas, une règle comprenant de nombreuses opérations de compression, plus détaillées, aura une taille plus grande qu’une règle plus simple, et cette différence se retrouvera dans le calcul de la taille d’un ensemble de règles de compression. Un exemple de calcul peut être donnée comme suit : la taille d’une règle est le nombre des différentes opérations effectives de compression présentes dans la règle, et la taille de l’ensemble de règles est l’addition des tailles des règles présentes dans l’ensemble. Des formules plus complexes peuvent être utilisées, prenant en compte la complexité des opérations de compression.
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 détermination comprend le calcul pour une règle de l’ensemble initial d’un score obtenu en multipliant la compression réalisée par ladite règle par le nombre de paquets du lot donné pour lesquels ladite règle réalise la plus grande compression parmi les règles de l’ensemble initial.
Grâce à ce mode de réalisation, une information complète sur les capacités de compression des règles de l’ensemble initial est obtenue. L’intérêt d’une règle de compression dépend de la compression qu’elle réalise quand elle s’applique à un paquet multipliée par le nombre de paquets pour lesquels cette règle réalise la plus grande compression parmi l’ensemble des règles possibles et sera donc probablement utilisée pour le compresser. Comme ce calcul est fait pour les paquets du lot donné qui est représentatif du trafic attendu, le score calculé ainsi permet de donner une indication de la quantité de compression qu’une règle donnée réalisera sur du trafic attendu. Le score en question permet aussi de savoir quelles sont les règles qui ne réalisent la plus grande compression pour aucun paquet du lot donné, puisque ces règles auront alors un score nul.
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 de l’ensemble réduit comprend la suppression de l’ensemble initial des règles de compression dont le score est inférieur à un seuil donné.
Grâce à ce mode de réalisation, une alternative est proposée. Plutôt que de supprimer directement les règles qui ne réalisent la plus grande compression pour aucun paquet, ce mode de réalisation supprime les règles dont le score est inférieur à un seuil donné. De cette manière, plus de règles sont supprimées avec le risque de supprimer des règles qui sont optimales pour certains paquets du lot donné.
Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, une taille d’un ensemble de règles de compression, dite taille visée, est fournie et l’étape d’obtention de l’ensemble réduit comprend la suppression de l’ensemble initial des règles de compression dont le score est le plus faible jusqu’à ce que la taille de l’ensemble réduit soit inférieure à la taille visée.
Ce mode de réalisation propose également une autre alternative de réalisation de l’invention. Ici, les règles sont supprimées les unes après les autres en fonction du score calculé jusqu’à atteindre la taille visée. L’intérêt de ce mode de réalisation est la simplicité, au détriment de la prise en compte du remplacement des règles supprimées par d’autres règles dans la compression effective de paquets, prise en compte effectuée dans d’autres modes de réalisation.
Selon un autre mode de réalisation, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, l’ensemble initial de règles de compression est obtenu par un algorithme d’apprentissage automatique et le lot donné était compris dans l’ensemble d’apprentissage utilisé pour obtenir l’ensemble initial.
Grâce à ce mode de réalisation, le procédé selon l’invention est utilisé dans le contexte de l’apprentissage automatique de règles de compression. Le procédé selon l’invention résout alors un problème important de l’apprentissage automatique, à savoir que celui-ci va produire des ensembles de règles de compression de grande taille. Après la phase d’apprentissage automatique, le procédé selon l’invention réduit automatiquement la taille de l’ensemble de règles de compression obtenu, et ce jusqu’à une taille visée dans certains modes de réalisation, afin par exemple de le déployer dans un équipement de télécommunications qui impose une taille donnée à l’ensemble de règles de compression déployé.
Pour être sûr que la réduction de la taille de l’ensemble de règles de compression ne se fait pas à l’encontre de la qualité des compressions effectuées par l’ensemble réduit, le procédé selon l’invention est réalisé en prenant en compte un lot donné de paquets. Le lot donné est représentatif du trafic attendu qui devra être compressé par l’ensemble réduit de règles de compression. Lorsque l’ensemble à réduire est issu d’un apprentissage automatique, le lot donné peut être l’ensemble d’apprentissage qui a servi à l’apprentissage automatique ou peut être compris dans l’ensemble d’apprentissage. De cette manière, l’apprentissage automatique et la réduction de l’ensemble de règles de compression utilisent le même ensemble de paquets représentatifs du trafic attendu et sont cohérents entre eux.
Le procédé selon l’invention peut être réalisé après un autre procédé de gestion d’un ensemble de règles de compression dans lequel, après apprentissage automatique, un ensemble de règles de compression est contrôlé par rapport à un ensemble de paquets qui n’ont pas été utilisés lors de l’apprentissage automatique, afin de s’assurer que l’apprentissage automatique ne se fait pas de manière trop adaptée par rapport à l’ensemble d’apprentissage. Dans ce cas, l’obtention globale d’un ensemble de règles de compression se fait par la succession de trois procédés distincts :
- Apprentissage automatique d’un ensemble de règles de compression par un procédé d’apprentissage automatique utilisant un lot de paquets de données, représentatif du trafic attendu, comme ensemble d’apprentissage ;
- Contrôle automatique de la généralisation de l’ensemble de règles de compression obtenu par apprentissage automatique en utilisant un autre lot de paquets de données, disjoint de l’ensemble d’apprentissage, également représentatif du trafic attendu, comme ensemble de contrôle ;
- Réduction automatique de la taille de l’ensemble de règles de compression pour l’adapter aux contraintes des équipements où l’ensemble va être déployé, cette réduction utilisant au moins l’ensemble d’apprentissage pour prendre en compte le trafic attendu, et potentiellement la réunion de l’ensemble d’apprentissage et de l’ensemble disjoint de contrôle. Cette réduction est l’objet du procédé selon l’invention.
Dans un mode de réalisation, le lot donné utilisé dans le procédé selon l’invention comprend, en plus de l’ensemble d’apprentissage, l’autre lot de paquets, également représentatif du trafic attendu, utilisé comme ensemble de contrôle. De cette manière, un maximum de paquets représentatifs du trafic attendu est utilisé dans le procédé selon l’invention.
Selon un autre mode de mise en œuvre de l’invention, qui pourra être mis en œuvre alternativement ou cumulativement avec les modes précédents, la structure de données qui représente l’ensemble initial a été calculée par l’algorithme d’apprentissage automatique qui a permis d’obtenir l’ensemble initial.
Un algorithme d’apprentissage de règles de compression peut fonctionner en partant de règles générales et chercher des règles plus spécialisées qui s’appliquent aux paquets de données du lot de paquets qui sert d’ensemble d’apprentissage. Ce type d’algorithme d’apprentissage pourra produire comme effet de bord (traduction de l’anglais side effect) une structure de données qui conserve l’information de quelle règle a été créée à partir de quelle autre et plus généralement de quelle règle est plus spécialisée qu’une autre. Dans ce mode de réalisation, cette information, qui était un à-côté de l’algorithme d’apprentissage automatique, devient une information très utile pour accélérer le procédé de gestion selon l’invention.
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 initial sont des règles de compression selon le protocole SCHC.
Grâce à ce mode de réalisation, le procédé s’applique au protocole de compression SCHC et permet de réaliser une compression selon ce protocole avec des ensembles de taille réduite, adaptés aux équipements de l’Internet des objets.
Dans d’autres modes de réalisation, les règles de compression sont celles d’autres protocoles de compression.
Selon un premier aspect matériel, l’invention se rapporte à une entité de gestion gérant un ensemble de règles de compression s’appliquant à des paquets de données, dit ensemble initial, comprenant les modules suivants :
- Module de détermination d’un ensemble de règles de compression, dites règles efficaces, pour un lot de paquets de données, dit lot donné ;
- Module d’obtention d’un ensemble réduit de règles de compression en supprimant de l’ensemble initial des règles de compression qui n’appartiennent pas à l’ensemble de règles efficaces pour le lot donné.
Selon un premier mode de réalisation de ce premier aspect matériel, l’entité de gestion comprend de surcroît les modules suivants :
- Module d’obtention d’une pénalité de compression causée par la suppression d’une règle de l’ensemble réduit ;
- Module de suppression d’une règle de l’ensemble réduit qui minimise la pénalité obtenue.
Dans des modes de réalisation, l’entité de gestion comprend en outre un module de fourniture de l’ensemble réduit.
Selon un autre mode de réalisation de ce premier aspect matériel, l’invention se rapporte à un équipement de télécommunications comprenant une entité de gestion selon l’invention.
Selon un autre mode de réalisation, l’invention se rapporte à un terminal mobile comprenant une entité de gestion selon l’invention.
Selon un autre aspect matériel, l’invention a trait à un programme d'ordinateur, le programme comprenant des instructions de code qui, lorsqu’il est exécuté par un processeur, réalise les étapes du procédé de gestion défini ci-dessus.
Enfin, selon un autre aspect matériel, l’invention a trait à un support de données sur lequel est enregistré un programme d’ordinateur comprenant des séquences d’instructions pour la mise en œuvre du procédé de gestion défini 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. Le programme selon l’invention peut utiliser tout type de technologie informatique en terme de langages de programmation compilés, interprétés, ou une combinaison des deux ainsi qu’en terme de systèmes d’exploitation.
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és sur lesquels :
La représente une entité de gestion 100 apte à réaliser un procédé de gestion selon l’invention.
Dans l’exemple de réalisation représenté dans la , l’entité de gestion 100 comprend les modules suivants :
- Un module 101 de détermination d’un ensemble de règles, dites règles efficaces, pour un lot L de paquets de données, dit lot donné ;
- Un module 102 d’obtention de l’ensemble réduit RRS en supprimant de l’ensemble initial RS les règles qui n’appartiennent pas à l’ensemble de règles efficaces pour le lot donné L ;
- Un module 103 de fourniture de l’ensemble réduit RRS ;
- Un module 104 de calcul de la pénalité de compression causée par la suppression d’une règle de l’ensemble réduit RRS ;
- Un module 105 de suppression d’une règle de l’ensemble réduit RRS qui minimise la pénalité calculée.
Dans d’autres exemples de réalisation, l’entité de gestion ne comprend pas de module 103 de fourniture de l’ensemble réduit RRS et peut par exemple être réduite aux modules 101 et 102.
L’entité de gestion 100 présente l’architecture matérielle d’un ordinateur conventionnel. Elle comporte notamment un processeur, une mémoire vive de type RAM et une mémoire morte telle qu’une mémoire de type Flash, ROM, (non représentés sur la figure) ainsi que des dispositifs d’entrée-sortie tels que, dans certains cas, des claviers et/ou écrans (non représentés sur la figure), et des ports réseaux permettant de communiquer avec d’autres entités et serveurs grâce à un réseau de communication tel qu’Internet non représenté sur la figure.
L’entité de gestion sera par exemple un serveur informatique qui réalise le procédé de gestion dans le cadre du travail d’établissement d’ensembles de règles de compression avant leur déploiement dans un ou plusieurs équipements qui vont appliquer ultérieurement les règles de l’ensemble géré à des paquets de données qu’ils traitent dans le cadre d’un trafic réel. L’entité de gestion peut aussi être déployée dans une architecture en nuage (traduction de l’anglais cloud architecture) dans laquelle l’utilisateur ne disposera pas d’un serveur dédié mais demandera des ressources de calcul, de mémoire et réseau qui rempliront les fonctions de l’entité de gestion.
Dans d’autres exemples de réalisation, l’entité de gestion sera partie elle-même d’un équipement qui applique des règles de compression. L’entité de gestion est alors un composant de l’équipement en charge d’améliorer lors d’étapes successives le ou les ensembles de règles que le composant utilise pour compresser le trafic traité par l’équipement.
Un tel équipement peut être par exemple un routeur. Ce routeur peut être un routeur déployé dans des réseaux locaux (traduction de l’anglais Local Area Network) ou bien dans des réseaux métropolitains (traduction de l’anglais Metropolitan Area Network) ou bien dans des réseaux étendus (traduction de l’anglais Wide Area Network). L’équipement peut aussi être une passerelle assurant la liaison entre des réseaux distincts, par exemple une passerelle domestique ou bien une passerelle d’accès pour des objets connectés de l’Internet des objets ou bien une passerelle assurant la liaison entre des protocoles distincts, par exemple une passerelle traduisant des communications en voix sur IP (traduction de l’anglais Voice over IP) vers un cœur de réseau IP ou au contraire vers un réseau d’accès téléphonique ou un réseau téléphonique fixe, par exemple un réseau d’entreprise. L’équipement peut également être une station de base utilisée dans un réseau de télécommunications mobiles. L’équipement peut aussi être un terminal mobile. Dans ces différents exemples de réalisation, l’entité de gestion 100 va réduire la taille d’un ensemble initial de règles de compression RS pour obtenir un ensemble réduit RRS. Dans des exemples de réalisation, le procédé peut faire en sorte que l’ensemble réduit RRS ait une taille inférieure à une taille S donnée, dite taille visée. Dans d’autres exemples de réalisation, la diminution de taille de l’ensemble initial RS vers l’ensemble réduit RRS se fait sans viser une taille en particulier.
L’ensemble initial RS de règles de compression a pu être établi par un expert ou bien selon un procédé d’apprentissage automatique. L’ensemble RS peut être par exemple un ensemble de règles de compression selon le protocole SCHC et être adapté à un trafic particulier, c’est-à-dire adapté à compresser des paquets de données utilisés dans un contexte protocolaire donné, pour des équipements donnés. L’ensemble RS a pu ensuite être déployé pour être utilisé dans un équipement, et l’entité de gestion, dans ce cas, pourra être un composant de l’équipement en question qui va appliquer le procédé pour réduire la taille de celui-ci jusqu’à la taille visée S et fournir l’ensemble réduit RRS. Ou bien, après avoir obtenu une première version de l’ensemble RS de règles de compression, celui-ci est transmis à l’entité de gestion 100 qui est un serveur qui ne va pas utiliser l’ensemble RS pour réaliser des compressions mais qui est dédié à la réduction des tailles des ensembles des règles de compression.
Dans un exemple de réalisation, l’ensemble RS a pu être obtenu par apprentissage automatique et un lot L, dit lot donné, est alors, dans cet exemple, l’ensemble des paquets de données qui ont été utilisés comme exemples de paquets représentatifs du trafic à compresser pour réaliser cet apprentissage automatique, c’est-à-dire l’ensemble d’apprentissage. La notion d’ensemble d’apprentissage est bien connue dans le domaine de l’apprentissage automatique et n’est pas détaillée davantage. Dans un contexte d’apprentissage automatique, d’autres paquets ont pu être utilisés comme ensemble de contrôle pour assurer que l’ensemble RS de règles de compressions n’est pas trop spécialisé. Ces autres paquets peuvent être rajoutés à l’ensemble d’apprentissage pour former le lot L donné de paquets de données qui doit être représentatif du trafic attendu à compresser par les règles des ensembles RS, RRS.
Dans une première étape S1, visible sur la qui sera décrite plus après, le module 101 de l’entité de gestion 100 détermine un ensemble de règles, dites règles efficaces, pour le lot donné L de paquets de données. Les règles déterminées ici parmi l’ensemble RS de règles de compression, sont les règles les plus efficaces pour compresser les paquets du lot L, règles qui doivent donc être conservées si possible dans l’ensemble réduit RRS.
Une manière de déterminer, lors de la première étape S1, les règles efficaces peut être de chercher quelles sont, dans l’ensemble initial RS, les règles qui sont optimales pour au moins un paquet du lot L donné, c’est-à-dire qui réalisent la meilleure compression d’un paquet parmi l’ensemble des règles RS. En effet, une règle optimale sera très probablement choisie par l’algorithme de compression pour compresser le paquet en question. Comme les paquets du lot L donné sont représentatifs du trafic attendu, on peut supposer qu’une règle qui n’est optimale pour aucun paquet du lot L donné sera rarement utilisée et ne sera donc pas efficace. Une telle règle peut être supprimé de l’ensemble RS pour obtenir l’ensemble réduit RRS sans trop impacter l’efficacité globale de l’ensemble réduit RRS de règles de compression pour compresser du trafic réel.
On peut noter que des règles qui ne sont pas optimales, c’est-à-dire pour lesquelles il n’y a pas de paquet dans le lot L donné pour lesquels la règle réalise la plus grande compression comparée aux compressions réalisées par les autres règles de l’ensemble RS, peuvent quand même présenter un intérêt car elles pourraient se révéler optimales pour des paquets du trafic réel qui ne sont pas présents dans le lot L donné. Le lot L donné cherche à être représentatif du trafic que les ensembles RS, RRS de règles de compression devront compresser mais ne peut pas représenter tous les exemples possibles de paquets qui peuvent devoir être compressés.
Une autre manière de déterminer, lors de la première étape S1, les règles efficaces est de calculer pour chaque règle un score en multipliant la compression réalisée par la règle quand elle s’applique à un paquet par le nombre de paquets dans le lot L donné pour lesquels la règle est optimale. Ce score correspond à la compression réalisée, c’est-à-dire au nombre de bits effacés, par une règle donnée sur l’ensemble des paquets du lot L donné. Les règles qui ne sont optimales pour aucun paquet du lot L donné ont alors un score nul.
Il est possible alors de déterminer lors de la première étape S1 les règles efficaces en choisissant celles qui ont un score supérieur à un seuil donné et cette manière rejoint la précédente en choisissant un seuil nul.
Dans une deuxième étape S2, visible sur la qui sera décrite plus après, le module 102 obtient un ensemble réduit RRS en supprimant de l’ensemble initial RS les règles qui n’ont pas été déterminées lors de l’étape S1 comme appartenant à l’ensemble des règles efficaces.
La production de l’ensemble réduit RRS consiste à retirer de l’ensemble initial RS les règles de compression qui n’ont pas été déterminées lors de l’étape S1 comme étant efficaces selon un certain critère.
Dans une troisième étape S3, visible sur la qui sera décrite plus après, le module 103 fournit l’ensemble réduit RRS lorsque celui-ci a une taille inférieure à une taille S donnée, dite taille visée. Cette étape de fourniture S3 n’est présente que dans certains modes de réalisation. Dans certains modes de réalisation, l’étape de fourniture S3 prend place quand l’ensemble réduit RRS a atteint une taille inférieure à une taille S donnée, dite taille visée.
Cette étape de fourniture S3 peut être réalisée selon plusieurs modes de réalisation. Dans un mode de réalisation, l’entité de gestion 100 fait partie d’un équipement de télécommunications qui utilise l’ensemble RS de règles de compression pour réaliser des compressions de paquets de données d’un trafic assuré par l’équipement et qui cherche à réduire la taille de l'ensemble de règles de compression RS jusqu'à une taille visée S. Dans ce cas, le module 103 va mettre à disposition l’ensemble réduit RRS en remplaçant l’ensemble de règles de compression utilisé par l’équipement pour compresser des paquets de données, qui était initialement l’ensemble RS, par l’ensemble réduit RRS. Dans un mode de réalisation, le module 103 peut transférer un fichier comprenant l’ensemble réduit RRS, ou tout autre objet informatique représentant l’ensemble réduit RRS, à d’autres entités qui veulent pouvoir l’utiliser. Par exemple, un équipement de télécommunications a pu transférer à l’entité de gestion 100, pour réduction de la taille, un ensemble RS de règles de compression ainsi qu’un lot donné L de paquets de données et une taille visée S, et, après réalisation du procédé, le module 103 fournit en réponse l’ensemble réduit RRS. Dans un autre mode de réalisation, l’entité de gestion 100 a reçu un ensemble RS obtenu par apprentissage automatique utilisant un lot donné L de paquets de données comme ensemble d’apprentissage et l’entité de gestion 100 va réaliser le procédé selon l’invention afin de réduire la taille de l’ensemble RS de règles de compression jusqu’à une taille visée S pour obtenir l’ensemble réduit RRS. Cet ensemble réduit RRS sera ensuite utilisé à la place de l’ensemble initial RS.
Dans d’autres modes de réalisation, l’entité de gestion 100 réalise la réduction de taille de l’ensemble initial RS en un ensemble réduit RRS et ce dernier est utilisé par un ou plusieurs équipements de télécommunication au fur et à mesure de la réduction de l’ensemble réduit RRS sans qu’il n’y ait besoin d’une étape délimitée de fourniture de l’ensemble réduit RRS. Celui-ci ainsi que l’ensemble initial RS sont tout simplement à disposition de façon permanente tout au long du fonctionnement du procédé.
Dans une quatrième étape S4, visible sur la qui sera décrite plus après, le module 104 obtient une pénalité de compression causée par la suppression d’une règle de l’ensemble réduit RRS.
Lors de l’étape S2, quand la suppression de l’ensemble initial RS des règles qui n’ont pas été déterminées lors de l’étape S1 comme étant efficaces ne suffit pas à obtenir un ensemble suffisamment réduit RRS, le procédé peut se poursuivre en cherchant à supprimer des règles de compression supplémentaires. Cette suppression sera guidée par une pénalité de compression obtenue durant l’étape S4. Dans certains exemples de réalisation, l’objectif de ces opérations de suppression est que l’ensemble réduit RRS atteigne une taille visée S.
L’étape d’obtention S4 d’une pénalité de compression peut être effectuée par la réalisation de calculs par le module 104 ou bien par la réception de calculs effectués par d’autres entités non représentés sur la . Plutôt que d’être calculées, les pénalités peuvent être estimées ou approchées selon d’autres méthodes. L’obtention S4 d’une pénalité de compression peut être réalisée dans un premier mode de réalisation en cherchant, pour chaque règle de compression potentiellement supprimée, quels sont les paquets pour lesquels la règle potentiellement supprimée est la règle optimale et quelle règle deviendrait la règle optimale si la règle actuellement optimale était supprimée. Une fois ces paquets trouvés, il est possible de calculer la différence de compression effectuée entre l’ancienne règle optimale supprimée et la nouvelle règle optimale. C’est cette différence de compression qui constitue la pénalité de compression. Plus elle est forte, plus la suppression d’une règle et son remplacement par une autre règle comme règle optimale pour des paquets va impliquer une diminution de la compression de ces paquets. L’obtention de la pénalité de compression prend en compte le nombre de paquets pour lesquels la règle supprimée est optimale afin de calculer une pénalité effective en nombre de bits quand une règle supprimée est remplacée par une autre pour compresser effectivement des paquets.
Dans des modes de réalisation, l’obtention de la pénalité de compression prend en compte l’ensemble des règles présentes dans l’ensemble initial RS. En effet, plutôt que de supprimer une seule règle, il peut être avantageux de supprimer plusieurs règles de compression et d’en réintroduire une qui avait été supprimée précédemment, par exemple qu’elle n’avait pas été déterminée S1 comme appartenant aux règles efficaces. Le calcul d’une pénalité de compression va alors combiner les pertes de compression dues à la suppression de deux règles avec le gain apporté par l’ajout d’une règle jusqu’alors retiré de l’ensemble réduit RRS de règles de compression.
La description de la présente un exemple détaillé de mise en œuvre de ces modes de réalisation.
Dans d’autres modes de réalisation, plus simples, l’obtention de la pénalité de compression peut se faire uniquement en prenant en compte les scores de compression réalisées par les règles de compression retirées de l’ensemble RS, sans prendre en compte les remplacements des règles retirées par d’autres règles de compression. Dans ces modes, les règles à supprimer sont déterminées en comparant des scores attachés aux règles de compression, indépendamment des paquets auxquels les règles s’appliquent. L’intérêt de ce mode de réalisation est la plus grande simplicité pour obtenir les pénalités minimales de compression et déterminer la règle supprimée.
Dans une cinquième étape S5, visible sur la qui sera décrite plus après, le module 105 supprime une règle de l’ensemble réduit RRS qui minimise la pénalité calculée S4.
Une fois les pénalités de compression obtenues, le procédé va supprimer de l’ensemble réduit RRS une règle de compression qui minimise la pénalité de compression causée par cette suppression. Cette suppression peut correspondre à la suppression simple d’une règle ou bien à la suppression de plusieurs règles combinée avec la réintroduction d’une règle présente dans l’ensemble initial RS qui avait été précédemment retirée.
Dans des modes de réalisation, les étapes d’obtention S4 et de suppression S5 sont itérées jusqu’à ce que l’ensemble réduit RRS atteigne une taille visée S qui a été fournie. L’ensemble réduit RRS peut alors être fourni lors d’une étape S3 dans un exemple de réalisation qui comprend cette étape.
La , quant à elle, représente une suite d’étapes effectuées durant le procédé selon un mode de réalisation particulier.
Dans l’exemple de la , le mode de réalisation commence par une étape S1 de détermination de règles efficaces parmi l’ensemble initial RS de règles de compression pour le lot L donné. L’ensemble initial RS a pu être obtenu par un algorithme d’apprentissage automatique utilisant le lot L donné comme ensemble d’apprentissage. L’objectif du procédé selon l’invention est d’obtenir un ensemble réduit RRS de règles de compression en partant de l’ensemble RS. La détermination S1 des règles efficaces permet d’assurer que les règles efficaces sont conservées au maximum même en réduisant la taille de l’ensemble initial RS jusqu’à celle de l’ensemble réduit RRS. Une possibilité est de conserver dans l’ensemble réduit RRS les règles de compression optimales, c’est-à-dire les règles pour lesquelles il existe un paquet de données dans le lot donné L pour lequel la règle considérée réalise la meilleure compression parmi l’ensemble des règles de compression considérées.
Le mode de réalisation se poursuit par une étape S2 d’obtention d’un ensemble réduit RRS en supprimant de l’ensemble RS des règles qui n’ont pas été déterminées S1 comme faisant partie des règles efficaces à l’étape précédente S1. Dans l’exemple de réalisation de la , une taille visée S a été fournie. Si cette étape S2 produit un ensemble réduit RRS de règles de compression dont la taille est inférieure à la taille visée S, alors le procédé va se poursuivre par l’étape S3, comme indiqué par le test représenté sur la . La taille d’un ensemble de règles de compression peut être mesurée de façon simple en comptant le nombre de règles de compression présentes dans l’ensemble considéré. D’autres méthodes de définition de la taille d’un ensemble de règles de compression peuvent être considérées qui prennent en compte le nombre et la complexité des opérations de compression élémentaires qui forment les règles de compression.
Si la taille visée S est atteinte, le procédé selon l’invention comprend, dans cet exemple de réalisation, une étape S3 de fourniture de l’ensemble réduit RRS de règles de compression. Dans d’autres exemples de réalisation, l’ensemble réduit RRS peut être utilisé à tout moment pour réaliser des compressions de paquets de données sans que soit nécessaire une étape de fourniture S3. La fourniture de l’ensemble réduit RRS peut se faire par un transfert de fichier ou de tout autre objet informatique pertinent depuis l’entité de gestion 100 vers un équipement qui doit utiliser l’ensemble RRS de règles de compression. Dans ce contexte, l’entité de gestion 100 peut être un serveur dédié à la gestion et l’amélioration d’ensembles de règles de compression. La mise à disposition de l’ensemble réduit RRS peut aussi se faire en donnant accès à des requêtes pour obtenir l’ensemble RRS. Dans ce contexte, l’entité de gestion 100 peut être un composant d’un équipement de télécommunications qui utilise l’ensemble réduit RRS de règles de compression pour compresser le trafic qu’il transmet. L’entité de gestion 100 met alors à disposition de l’équipement de télécommunications qui l’englobe une version RRS de l’ensemble initial RS de règles de compression, version réduite jusqu’à atteindre la taille visée S.
Si la taille visée S n’est pas atteinte, le procédé, dans cet exemple de réalisation, comprend une étape S4 d’obtention d’une pénalité de compression causée par la suppression d’une règle de l’ensemble réduit RRS. Comme les règles qui demeurent dans l’ensemble réduit RRS après l’étape de suppression S2 sont des règles efficaces pour les paquets du lot donné L, la suppression d’une règle de l’ensemble réduit aura un impact sur l’efficacité de la compression que les règles de l’ensemble réduit RRS peuvent avoir. Pour cela, les pénalités de compression associées aux suppressions de règles sont obtenues. On donnera dans la description de la des exemples de réalisation de calculs de pénalités. Les pénalités de compression peuvent prendre en compte qu’une seule règle est supprimée mais également qu’une règle préalablement supprimée peut être réintroduite. Dans ce cas, deux règles doivent être supprimées pour compenser la réintroduction d’une règle et assurer une diminution de la taille de l’ensemble réduit de règles de compression.
Le mode de réalisation se poursuit par une étape S5 de suppression effective d’au moins une règle de l’ensemble réduit RRS de règles de compression. Dans cet exemple de réalisation, si la taille visée S est atteinte, le procédé se poursuivra par l’étape S3 de fourniture de l’ensemble réduit RRS. Sinon, une nouvelle succession d’étapes S4-S5 peut avoir lieu.
La , quant à elle, représente une structure de données utilisée dans certains modes de réalisation du procédé.
La représente un exemple de structure de données utilisée dans certains modes de réalisation du procédé de l’invention. Un ensemble RS de règles de compression R1 à R9, au nombre de neuf, se trouve dans notre exemple de structure de données. Ces neuf règles R1-R9 sont organisées dans une structure de données qui est un arbre. La règle R1 a deux règles descendantes R2 et R3. La règle R2 a deux descendantes R4 et R5. La règle R3 a une règle descendante R6. La règle R4 a deux règles descendantes R7 et R8. La règle R8 a une règle descendante R9. Les règles R6, R7 et R9 n’ont aucune règle descendante. Nous expliquerons plus loin sous quelle condition une règle est descendante ou parente d’une autre. Une telle structure de données peut être obtenue lors de l’apprentissage automatique de l’ensemble de règles de compression RS.
Les règles R1-R9 de l’ensemble RS sont des règles prévues pour compresser des paquets de données dont l’en-tête comprend cinq champs F1 à F5. Les règles de compression sont formées d’opérations de compression qui peuvent s’appliquer à chacun des champs F1 à F5 des paquets visés par les règles de compression. Chaque règle R1 à R9 comprend donc cinq opérations de compression étiquetées de F1 à F5. Ces opérations de compression peuvent être de trois types :
- Une opération EQUL va s’appliquer aux paquets dont le champ concerné par l’opération prend exactement la valeur spécifiée dans l’opération. Dans ce cas, la valeur spécifiée par l’opération n’est pas envoyée. Cette valeur sera reconstruite à la réception du paquet compressé.
- Une opération PREF va s’appliquer aux paquets dont le champ concerné par l’opération prend une valeur, exprimée en suite de bits, dont le préfixe a la valeur spécifiée par l’opération. Dans ce cas, le préfixe spécifié par l’opération n’est pas envoyé. Là encore, la valeur sera reconstruite à la réception du paquet compressé.
- Une opération IGNR va ignorer le champ et s’appliquer à toutes les valeurs possibles du champ et consiste à ne pas réaliser de compression. Ce type d’opération sert à assurer que tous les paquets pourront être associés à une règle de compression quitte à ce que cette règle ne réalise pas de compression.
Ces trois opérations de compression sont inspirées des opérations de compressions définies dans le protocole SCHC, sachant que, dans ce protocole, un quatrième type d’opération existe dans laquelle des valeurs d’un champ sont remplacées par les index d’un dictionnaire si elles sont bien égales à des valeurs présentes dans ce dictionnaire.
Prenons la règle R4, qui présente les trois types d’opération décrites ci-dessus, et prenons un paquet dont les champs F1 à F5 prennent les valeurs suivantes : {F1 = 11010101 ; F2 = 01001000 ; F3 = 11 ; F4 = 11 ; F5 = 1}. La règle de compression R4 peut bien s’appliquer à ce paquet et l’effet de l’application des opérations de compression seraient les suivants :
- Pour le champ F1, le préfixe 110101 ne serait pas transmis. Les deux derniers bits de la valeur prise par le champ F1 dans le paquet seraient transmis, à savoir 01.
- Pour le champ F2, la valeur 01001000 dans son ensemble ne serait pas transmise.
- Pour le champ F3, le préfixe 1 ne serait pas transmis et seul le deuxième bit valant aussi 1 serait transmis.
- Pour le champ F4, la valeur 11 ne serait pas transmise.
- Pour le champ F5, l’opération ignore le champ et transmet la valeur inchangée 1.
Finalement, le paquet transmis après application de la règle de compression R4 serait le suivant : {F1 = 01 ; F2 = _ ; F3 = 1 ; F4 = _ ; F5 = 1} en notant « _ » le fait de ne pas transmettre de valeur pour un champ donné (ici, les champs F2 et F4). Avec le paquet compressé serait transmis l’identifiant de la règle R4 pour permettre à l’entité recevant le paquet de reconstruire la valeur initiale.
Dans cet exemple, les cinq champs du paquet initial formaient en tout une suite de 21 bits. Le paquet finalement transmis comprenait en tout 4 bits. L’application de la règle de compression R4 permet donc d’économiser 17 bits lors de la transmission du paquet (sans prendre en compte le fait que l’identifiant de la règle R4 doit aussi être transmis). Ce nombre de bits économisés sera toujours le même pour tout paquet auquel la règle de compression R4 pourra s’appliquer. Il s’agit du score de la règle de compression qui est affiché pour chaque règle dans la . Ce score va de 2 pour la règle R1 qui ne comprend qu’une seule règle d’effacement de préfixe 11 pour le champ F1 jusqu’au score de 21 pour la règle R6 qui efface tous les champs de F1 à F5 d’un paquet de données à partir du moment où ils prennent les valeurs spécifiées dans les opérations de compression.
Les règles R1 à R9 sont organisées selon une relation de spécialisation. Lorsqu’une règle est parente d’une autre, elle est moins spécialisée et va s’appliquer à tous les paquets auxquels la règle descendante peut s’appliquer. Cette relation de spécialisation peut être déterminée en considérant uniquement les opérations qui constituent les règles de compression.
Lors d’un apprentissage automatique d’un ensemble RS de règles de compression, une telle structure de données représentant la relation de spécialisation entre règles de l’ensemble va pouvoir être obtenue comme effet de bord de l’apprentissage. En effet, l’apprentissage peut se faire en partant d’une règle très peu spécialisée, par exemple d’une règle qui ignore les valeurs de tous les champ et les transmet inchangées, puis en appliquant des modifications d’opération qui vont spécialiser de plus en plus les règles.
Dans l’exemple représenté dans la , le lot donné L, qui peut avoir été utilisé comme ensemble d’apprentissage dans un algorithme d’apprentissage automatique comprend neuf paquets p1 à p9. A chaque règle R1 à R9 de l’ensemble RS sont attachées les paquets parmi le lot donné L auxquels la règle s’applique. Par exemple, la règle R1 s’applique à tous les paquets p1 à p9 du lot L donné, alors que la règle R7 ne s’applique qu’aux deux paquets p2 et p3 et la règle R9 s’applique seulement au paquet p8. Les paquets p1 à p9 ne sont pas davantage précisés.
Une dernière indication présentée dans la concerne les paquets pour lesquels une règle donnée réalise la plus grande ou meilleure compression parmi l’ensemble des règles de compression. Ces paquets sont alors encadrés dans la liste de paquets attachés à une règle donnée. Par exemple, la règle R1 est optimale pour le paquet p9, et s’applique donc à ce paquet, et par ailleurs s’applique à tous les paquets p1 à p8. De même, la règle R7 s’applique aux paquets p7 et p8 et est optimale pour le paquet p7. La règle R2 s’applique aux paquets p2, p3, p6, p7 et p8 mais n’est optimale pour aucun de ces paquets. La règle R9 ne s’applique qu’au paquet p8 et est optimale pour celui-ci et ainsi de suite. Souvent, un protocole de compression choisira la règle optimale pour un paquet donné, c’est-à-dire celle qui réalise la meilleure compression pour ce paquet donné parmi l’ensemble de règles de compression disponibles. Cela justifie l’importance de disposer de cette information, qui peut également être obtenue lors d’un apprentissage automatique de l’ensemble RS de règles de compression.
Nous allons maintenant décrire un exemple de réalisation du procédé selon l’invention. D’autres exemples de réalisation sont possibles.
Une première étape est de déterminer les règles efficaces pour le lot L de paquets de données p1 à p9 parmi les règles R1 à R9. Dans l’exemple que nous allons présenter, les règles qui sont choisies comme efficaces sont celles qui réalisent la meilleure compression pour au moins un des paquets p1 à p9 du lot donné L. Dans l’exemple de la , toutes les règles sont efficaces selon ce critère à l’exception des règles R2 et R4 qui ne réalisent la meilleure compression pour aucun paquet du lot L parmi les règles R1 à R9 de l’ensemble de règles RS.
Dans notre exemple, ces deux règles R2 et R4 sont donc retirées de l’ensemble initial RS pour former l’ensemble réduit RRS. Celui-ci comprend donc les règles R1, R3, R5, R6, R7, R8, R9.
Dans d’autres exemples, une règle peut être dite efficace quand elle atteint un certain score de compression pour le lot L donné. Un tel score peut être calculé en multipliant la compression effectuée par une règle, telle qu’affichée sur la , par le nombre de paquets parmi le lot L donné pour laquelle la règle réalise la meilleure compression. Le score peut aussi être calculé comme étant celui réalisé par la règle de compression pour tout paquet et affiché sur la , sans prendre en compte les paquets du lot L pour lesquels la règle réalise la meilleure compression.
Dans des exemples de réalisation, la taille S d’un ensemble de règles de compression est le nombre de règles appartenant à l’ensemble. Dans d’autres exemples, la taille S d’un ensemble de règles de compression est mesurée en prenant en compte le nombre et la complexité des opérations de compression appartenant à une règle donnée.
Dans notre exemple, une taille d’ensemble de règles de compression a été fournie qui est la taille visée S. L’objectif du procédé est alors d’exécuter le procédé jusqu’à obtenir un ensemble réduit RRS de taille inférieure à la taille visée. Dans d’autres exemples, le procédé se contente de réduire la taille de l’ensemble de règles de compression sans forcer viser une taille S donnée. Supposons que la taille visée S, dans notre exemple, soit de 4 et corresponde au nombre de règles d’un ensemble de règles de compression. L’ensemble réduit RRS a lors une taille de 7, et le procédé va se poursuivre dans notre exemple. La taille visée S sera souvent égale à une puissance de 2 afin de pouvoir encoder l’identifiant d’une règle appartenant à un ensemble de règles de compression sur un nombre de bits minimal. Ici, avec une taille visée S de 4, deux bits suffisent à encoder les identifiants de règles de compression.
Pour cela, dans notre exemple, une pénalité de compression est déterminée, correspondant à la suppression d’au moins une règle de l’ensemble réduit RRS. Dans notre exemple, l’arrangement des règles de compression de l’ensemble RS dans une structure de données en arbre est utilisé. En effet, cet arrangement permet de retrouver efficacement les règles plus généralistes qu’une règle donnée et qui pourrait donc la remplacer pour compresser des paquets du lot L donné si une règle donnée était supprimée.
Par exemple, si la règle R6 était supprimée, le procédé peut lire sur la structure de données représentée dans la que cette règle R6 est la plus efficace pour les paquets p1 et p4. Si la règle R6 était supprimée, la règle R3, parente dans l’arbre, deviendrait la règle la plus efficace pour ces deux paquets p1 et p4. La pénalité de compression attachée à la suppression de la règle R6 respectivement au lot donné L comprendrait alors la compression des deux paquets p1 et p4 par la règle R3 au lieu de la règle R4. Quand la règle R3 compresse un paquet, celle-ci efface 16 bits au lieu de 21 effacés par la règle R4. La pénalité de compression pour la suppression de la règle R4 peut être obtenue dans notre exemple comme valant 10 bits (deux fois les cinq bits en moins de compressés sur les paquets p1 et p4 en remplaçant R4 par R3).
Finalement, dans cet exemple, la pénalité de compression la plus faible est celle obtenue en supprimant la règle R9 qui sera alors remplacée par la règle R8 comme étant la règle réalisant la meilleure compression pour le paquet p8. La pénalité de compression alors calculée est seulement de 1 bit. On peut noter que la règle R8 est présente dans l’ensemble réduit RRS.
D‘autres calculs de pénalité de compression peuvent être réalisés, ne prenant pas en compte le nombre de paquets dans le lot donné L pour lesquels une règle donnée réalise la meilleure compression mais juste le score de compression attaché à chaque règle.
Si la taille visée S est de 4, la suppression de la règle R9 de l’ensemble réduit RRS porte sa taille, mesurée en nombre de règles, à 6 et deux suppressions supplémentaires doivent être trouvées.
Dans l’exemple de la , la pénalité de compression la plus faible selon le calcul précédent sera trouvée, à ce stade de l’exécution du procédé, en supprimant de l’ensemble réduit RRS les deux règles R7 et R8 et en rajoutant la règle R4 qui avait été supprimée précédemment car ne faisant pas partie des règles efficaces. La pénalité de compression pour cette opération est d’une part de 4 bits correspondant au remplacement de la règle R7 par la règle R4, ce qui diminue de 2 bits la compression effectuée pour les deux paquets p2 et p3 et d’autre part d’un bit correspondant au remplacement de la règle R8 par la règle R4 ce qui diminue d’un bit la compression du paquet p7. La pénalité de compression totale est donc de 5 bits, et c’est la pénalité la plus faible qui puisse être trouvée dans cet exemple à ce stade du procédé.
L’ensemble réduit RRS après suppression des deux règles R7 et R8 et réintroduction de la règle R4 sera alors formé des règles R1, R3, R4, R5, R6 de taille 5 supérieure à la taille visée S qui vaut 4 dans notre exemple. La dernière suppression correspondant à la pénalité de compression minimale sera alors de remplacer la règle R6 par la règle R3, ce qui donne une pénalité de 10 bits correspondant à deux fois 5 bits (la différence de score entre les deux règles R6 et R3), le facteur 2 étant dû aux deux paquets p1 et p4.
La taille visée S de 4 est finalement atteinte avec un ensemble réduit RRS qui comprend les règles de compression R1, R3, R4, R5.
On a pu voir dans cet exemple de réalisation comment l’organisation de l’ensemble de règles de compression RS selon un arbre représentant quelles sont les règles plus généralistes que d’autres simplifie le calcul des pénalités de compression. Une telle organisation peut être obtenue comme effet de bord de l’apprentissage automatique de l’ensemble RS de règles de compression en utilisant le lot L donné comme ensemble d’apprentissage.
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 (15)
- Procédé de gestion d’un ensemble (RS) de règles de compression s’appliquant à des paquets de données, dit ensemble initial, caractérisé en ce qu’il comprend les étapes suivantes :
Une étape de détermination (S1) d’un ensemble de règles de compression, dites règles efficaces, pour un lot (L) de paquets de données, dit lot donné ;
Une étape d’obtention (S2) d’un ensemble réduit (RRS) de règles de compression en supprimant de l’ensemble initial (RS) des règles de compression qui n’appartiennent pas à l’ensemble de règles efficaces pour le lot (L) donné. - Procédé de gestion selon la revendication 1 caractérisé en ce qu’une règle de compression est déterminée lors de l’étape (S1) comme appartenant à l’ensemble des règles efficaces lorsqu’il existe un paquet dans le lot (L) donné pour lequel ladite règle de compression réalise la plus grande compression du paquet parmi les règles de compression de l’ensemble initial (RS).
- Procédé de gestion selon l’une des revendications 1 ou 2, caractérisé en ce que le procédé comprend en outre les étapes suivantes :
Une étape d’obtention (S4) d’une pénalité de compression causée par la suppression d’une règle de l’ensemble réduit (RRS) ;
Une étape de suppression (S5) d’une règle de l’ensemble réduit (RRS) qui minimise la pénalité obtenue (S4). - Procédé de gestion selon la revendication 3 caractérisé en ce qu’une taille (S) d’un ensemble de règles de compression, dite taille visée, est fournie et en ce que le procédé comprend une itération des étapes d’obtention de pénalité de compression (S4) et de suppression (S5) d’une règle de l’ensemble réduit (RRS) jusqu’à ce que la taille de l’ensemble réduit (RRS) soit inférieure à la taille (S) visée.
- Procédé de gestion selon l’une des revendications 3 ou 4, caractérisé en ce que l’étape d’obtention (S4) d’une pénalité de compression prend en compte qu’une règle de compression supprimée de l’ensemble réduit (RRS) sera remplacée par une autre règle de l’ensemble réduit (RRS) pour effectuer des compressions de paquets de données.
- Procédé de gestion selon la revendication 5 caractérisé en ce que l’étape d’obtention (S4) d’une pénalité de compression prend en compte de surcroît que plusieurs règles de compression peuvent être supprimées de l’ensemble réduit (RRS) et remplacées par une autre règle, présente dans l’ensemble initial (RS) et absente de l’ensemble réduit (RRS), et que l’étape de suppression (S5) comprend alors la suppression desdites plusieurs règles et l’ajout de ladite autre règle si cette suppression combinée à cet ajout minimisent la pénalité obtenue lors de l’étape d’obtention (S4).
- Procédé de gestion selon l’une des revendications 3 à 6 caractérisé en ce que l’obtention d’une pénalité de compression (S4) prend en compte le nombre de paquets du lot donné (L) pour lesquels la ou les règles supprimées réalisent la plus grande compression parmi les règles de l’ensemble réduit (RRS).
- Procédé de gestion selon l’une des revendications 1 à 7 caractérisé en ce que l’étape de détermination (S1) comprend le calcul pour une règle de l’ensemble initial (RS) d’un score (SCO) obtenu en multipliant la compression réalisée par ladite règle par le nombre de paquets du lot (L) donné pour lesquels ladite règle réalise la plus grande compression parmi les règles de l’ensemble initial (RS).
- Procédé de gestion selon la revendication 8 caractérisé en ce qu’une taille (S) d’un ensemble de règles de compression, dite taille visée, est fournie et en ce que l’étape d’obtention (S2) de l’ensemble réduit (RRS) comprend la suppression de l’ensemble initial (RS) des règles de compression dont le score (SCO) est le plus faible jusqu’à ce que la taille de l’ensemble réduit (RRS) soit inférieure à la taille (S) visée.
- Procédé de gestion selon l’une des revendications 1 à 9 caractérisé en ce que l’ensemble initial (RS) est obtenu par un algorithme d’apprentissage automatique et que le lot (L) donné était compris dans l’ensemble d’apprentissage utilisé pour obtenir l’ensemble initial (RS).
- Entité de gestion (100) gérant un ensemble (RS) de règles de compression s’appliquant à des paquets de données, dit ensemble initial, comprenant les modules suivants :
Module (101) de détermination d’un ensemble de règles de compression, dites règles efficaces, pour un lot (L) de paquets de données, dit lot donné ;
Module (102) d’obtention d’un ensemble réduit (RRS) de règles de compression en supprimant de l’ensemble initial (RS) des règles de compression qui n’appartiennent pas à l’ensemble de règles efficaces pour le lot (L) donné. - Entité de gestion (100) selon la revendication 11 comprenant de surcroît les modules suivants :
Module (104) d’obtention d’une pénalité de compression causée par la suppression d’une règle de l’ensemble réduit (RRS) ;
Module (105) de suppression d’une règle de l’ensemble réduit (RRS) qui minimise la pénalité obtenue. - Equipement de télécommunications comprenant une entité de gestion (100) selon l’une des revendications 11 ou 12.
- Programme d’ordinateur apte à être mis en œuvre par une entité de gestion (100) selon l’une des revendications 11 ou 12, le programme comprenant des instructions de code qui, lorsqu’il est exécuté par un processeur, réalise les étapes du procédé de gestion défini dans la revendication 1.
- Support de données sur lequel est enregistré un programme d’ordinateur selon la revendication 14 comprenant une séquence d’instructions pour la mise en œuvre du procédé de gestion conforme à la revendication 1 lorsqu’il est chargé dans et exécuté par un processeur.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR2404379A FR3161830A1 (fr) | 2024-04-26 | 2024-04-26 | Procédé de gestion d’un ensemble de règles de compression de paquets de données |
| FRFR2404379 | 2024-04-26 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025224129A1 true WO2025224129A1 (fr) | 2025-10-30 |
Family
ID=91966089
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2025/060985 Pending WO2025224129A1 (fr) | 2024-04-26 | 2025-04-23 | Procédé de gestion d'un ensemble de règles de compression de paquets de données |
Country Status (2)
| Country | Link |
|---|---|
| FR (1) | FR3161830A1 (fr) |
| WO (1) | WO2025224129A1 (fr) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20180225299A1 (en) * | 2013-05-22 | 2018-08-09 | Amazon Technologies, Inc. | Efficient data compression and analysis as a service |
| US20220014210A1 (en) * | 2020-07-09 | 2022-01-13 | Beijing Oceanbase Technology Co., Ltd. | Data compression method and apparatus, and computer device |
-
2024
- 2024-04-26 FR FR2404379A patent/FR3161830A1/fr active Pending
-
2025
- 2025-04-23 WO PCT/EP2025/060985 patent/WO2025224129A1/fr active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20180225299A1 (en) * | 2013-05-22 | 2018-08-09 | Amazon Technologies, Inc. | Efficient data compression and analysis as a service |
| US20220014210A1 (en) * | 2020-07-09 | 2022-01-13 | Beijing Oceanbase Technology Co., Ltd. | Data compression method and apparatus, and computer device |
Also Published As
| Publication number | Publication date |
|---|---|
| FR3161830A1 (fr) | 2025-10-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2011060368A9 (fr) | Procédé et appareil permettant d'enregistrer et d'indexer des données de trafic de réseau haute vitesse | |
| WO2009068822A2 (fr) | Procede et dispositif de tri de paquets | |
| FR2824215A1 (fr) | Procede et dispositif de traitement d'un message dans un reseau de communication | |
| CN112019449B (zh) | 流量识别抓包方法和装置 | |
| WO2018178242A1 (fr) | Procede d'apprentissage d'un contexte de compression/decompression, dispositif, systeme et produit programme d'ordinateur correspondants | |
| EP2689560B1 (fr) | Procede et dispositif d'extraction de donnees d'un flux de donnees circulant sur un reseau ip | |
| EP1562342A1 (fr) | Procédé et système de traitement d'un message multimédia | |
| FR3161830A1 (fr) | Procédé de gestion d’un ensemble de règles de compression de paquets de données | |
| WO2020008159A1 (fr) | Identification de protocole d'un flux de données | |
| EP3671577A1 (fr) | Procédé d'analyse d'une simulation de l'exécution d'un circuit quantique | |
| EP2767060A1 (fr) | Passerelle, et procédé, programme d'ordinateur et moyens de stockage correspondants | |
| WO2025224131A1 (fr) | Procédé de gestion d'un ensemble de règles de compression de paquets de données | |
| EP2428008B1 (fr) | Procede de traitement de flots dans un reseau de communication | |
| FR3153486A1 (fr) | Procédé de gestion de la compression d’un paquet de données transmis dans un réseau | |
| EP4725181A1 (fr) | Procédé d'obtention d'un ensemble de règles de compression d'un paquet de données transmis dans un réseau | |
| FR3164860A1 (fr) | Procédés de gestion de la transmission et de la réception d’un paquet de données compressé | |
| WO2024251669A1 (fr) | Titre : procédé d'obtention d'un ensemble de règles de compression d'un paquet de données transmis dans un réseau | |
| CA2397867C (fr) | Procede et systeme pour la diffusion de donnees en boucle | |
| EP1647125A1 (fr) | Description de contenu de paquets dans un reseau de communication par paquets | |
| FR2893470A1 (fr) | Procede et dispositif de creation d'une sequence video representative d'une sequence video numerique et procedes et dispositifs de transmission et reception de donnees video associes | |
| WO2026017824A1 (fr) | Procédé de compression par règles et entite de gestion correspondante | |
| EP2365680A1 (fr) | Dispositif de gestion dynamique des pages de sites internet dont les fréquentations et audience doivent être analysées | |
| FR2960371A1 (fr) | Procede et dispositif d'analyse de donnees interceptees sur un reseau ip pour la surveillance de l'activite des utilisateurs d'un site web | |
| EP2171966B1 (fr) | Gestion de sessions multi-flux entre un terminal et un serveur | |
| EP1678632A1 (fr) | Dispositif de memoire de type trie avec mecanisme de compression |
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: 25720760 Country of ref document: EP Kind code of ref document: A1 |