Method for managing a set of data packet compression rules
The method addresses the lack of generalization and excessive size in machine-learned compression rule sets by removing non-applicable rules from a disjoint batch, improving efficiency and reducing memory usage.
Patent Information
- Application Number
- PCT/EP2025/060987
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-26
- Filing Date
- 2025-04-23
- Publication Date
- 2025-10-30
AI Technical Summary
Existing data packet compression rule sets, particularly those obtained through machine learning, suffer from a lack of generalization, leading to inefficiencies in real-world traffic compression due to being tailored to specific training data, and their size can be excessive, impacting memory usage and processing speed.
A method to manage compression rule sets by removing rules that do not apply to a disjoint batch of data packets obtained from real-world traffic, using a data structure to accelerate the process and iteratively improve the set based on specialization relationships between rules.
Improves the generalization and reduces the size of the compression rule set, enhancing compression efficiency and reducing memory footprint while maintaining effective compression ratios.
Smart Images

Figure EP2025060987_30102025_PF_FP_ABST
Abstract
Description
Method for managing a set of data packet compression rules
[0001] The technical field is that of data compression and decompression.
[0002] More specifically, 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 improve the quality of the compression rule set.
[0003] 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). 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 it 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. To achieve complete communication, numerous protocols must be used, each fulfilling a role from the physical transmission of bits—the atomic elements that constitute digital data—to the interpretation of data for computer applications. Bits are typically grouped into bytes, which are sets of eight bits.The various protocols are traditionally viewed as being organized in layers, with a protocol at one layer relying on a protocol at a lower layer. The OSI (Open Systems Interconnection) model and the Internet model describe how the various protocols interact between different layers.
[0004] For example, in a simplified version, 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 within a transmission; these considerations are handled by the protocol of the higher Transport layer. The IP protocol will use a protocol of the Data Link layer, for example, the Ethernet protocol, which will organize the sending of the elementary data that constitutes the packet. This elementary data is bits, transmitted using the Physical layer, either via fiber optic cable or wireless communication, depending on the case.
[0005] Other protocols in the Application layer will use other protocols from lower layers to perform their functions. For example, the CoAP (Constrained Application Protocol) protocol used in the Internet of Things generally relies on the UDP (User Datagram Protocol) protocol of the Transport layer.
[0006] 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 packet header, which contains the information necessary for the protocol responsible for processing the packet; the second part is the payload, which contains the data transported 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. At the Data Link layer, we speak of frames rather than packets, and, in addition to the header, there is a frame footer indicating the end of the frame.
[0007] 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 include, for example, the source and destination IP addresses of the packet.A header is therefore naturally divided into several sections, namely the header fields. The packet payload can also be divided into several sections, for example by defining sections of a constant length expressed in number of bits.
[0008] 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 in the payload, and identifies the various sections of a packet, both in its header and 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.
[0009] There is a clear need for data compression in computing and digital telecommunications to optimize the use of hardware and energy resources consumed by computer and telecommunications networks. This need explains the creation of protocols dedicated to compressing exchanged data packets. Examples of compression protocols include ROHC (Robust Header Compression), defined by the IETF (Internet Engineering Task Force) in RFC 3095, and SCHC (Static Context Header Compression), defined by the IETF in RFC 8724.
[0010] 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 complementary 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 only erase a prefix of the value represented as a sequence of bits, a prefix that will be restored upon decompression. An identifier of the compression rule used to compress a packet is transmitted along with the packet so that the corresponding decompression rule can be applied upon reception and restore the packet to its original state.This results in very efficient compression of data packets even if the compression is limited to the headers.
[0011] In all cases, the operation of data packet compression protocols relies on the existence of 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 the compression operations contained in the rule can be applied to the values taken by the fields of that 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 it does not perform any compression.
[0012] All of these elements are well known in the state of the art and will not be described further. State of the art
[0013] Compression rule sets are generally defined by experts based on their knowledge and an analysis of representative packets from 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 the training set.
[0014] To ensure optimal performance of compression protocols, 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.
[0015] Another quality criterion for a compression rule set is its size. The smaller the rule set, for a given compression ratio, the better, as it will take up less memory on both receiving and transmitting devices. Furthermore, a smaller rule set allows the compression protocol to determine which rule to apply more quickly. Finally, when a rule is used, 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.
[0016] 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 management process according to the invention aims to improve a given set of compression rules, among other things, according to the two criteria of size and compression ratio.
[0017] A set of compression rules is obtained from a representative set of packets of the expected traffic, either through automated analysis or analysis performed by an expert. The risk is that the compression rule set may suffer from a lack of generalization; that is, the rule set may be very effective at compressing the representative set used to build the rule set but not as effectively applied to real-world traffic. This risk is particularly prevalent in the case of a rule set obtained through machine learning. In extreme cases, the rule set may consist of rules that each compress only a single packet from the set used to build the rules, with each rule compressing that single packet to its maximum extent.But these rules compressing a single packet will not then be able to be applied to packets of real traffic which do not necessarily correspond to packets of the set used for construction.
[0018] One known solution in the prior art is to improve the set used for construction, making it more representative of the actual traffic that will be subjected to the compression rule set. However, the fields to be compressed can be very large and therefore take on many potential values. It is therefore unrealistic to expect to obtain a set representative of all the packets that can circulate in a given traffic flow and of all the values that the data packet sections can take.
[0019] Another solution to combat the lack of generalization, which is commonly used in other fields employing machine learning, is to stop learning when the number of learned rules exceeds a certain threshold. However, setting this threshold requires a human expert, which defeats the purpose of machine learning.
[0020] The invention improves the situation.
[0021] According to a first functional aspect, the invention relates to a method for managing a set of compression rules applying to data packets, called the initial set, obtained beforehand by a machine learning algorithm using a batch of data packets, called the initial batch, as a training set, characterized in that the method comprises the following steps: Obtaining a batch of data packets, called the obtained batch, separate from the initial batch; Removing from the initial set of compression rules a rule, called the removed rule, which does not apply to any packet in the obtained batch.
[0022] The initial set after the deleted rule has been removed is called the modified set. In some embodiments, the process further includes a step of making this modified set available.
[0023] Thanks to the invention, a set of compression rules is modified and improved. This improvement is based on the two criteria that govern the quality of a set of compression rules. The initial set of compression rules applies to data packets. This initial set of compression rules aims to compress data packets of a given traffic but may have been imperfectly established and require improvement. By obtaining a batch of data packets and removing from the set of rules those that do not apply to any packet in the resulting batch, the method addresses the potential lack of generalization in the initial set, retaining only the rules that apply to at least one other packet, excluding the example packets used to construct the original rule set.We can therefore expect an improvement in the compression ratio obtained by the improved rule set on real traffic, because a step verifies that, if the initial rule set was obtained from sample data packets, it was not obtained by optimizing the compressions performed by that initial set too strongly compared to the examples used. After one or more deletions, the modified rule set, derived from the initial set, is made available, in some embodiments, for use in data packet compression protocols. In other embodiments, the initial set of compression rules is used to perform data packet compression throughout the execution of the process, as it is improved, without a dedicated step for making the compression rule set available.
[0024] Since the improvement of the rule set is achieved by removing one or more rules, the process of managing a compression rule set also respects a second criterion for judging the quality of a compression rule set, namely its size. The process works by removing rules from the initial set, which will necessarily reduce its size and therefore improve its quality according to this second criterion.
[0025] Furthermore, the invention is implemented automatically, without expert intervention. Therefore, in the case of machine learning of compression rules, this method is more advantageous than the state-of-the-art approach where an expert determines a maximum size for the compression rule set, because the method does not involve an expert.
[0026] According to the invention, the initial set of compression rules is obtained beforehand by a machine learning algorithm using a batch of data packets as a training set, called the initial batch, and the obtained batch of data packets is disjoint from the initial batch.
[0027] Thanks to the invention, a set of compression rules obtained through machine learning can be improved.
[0028] The method according to the invention in this embodiment is particularly useful when the initial set of compression rules is obtained through machine learning. Here, the training of the compression rule set used an initial batch of packets as the training set, different from the batch obtained in the first step of the method. The concept of a training set is well-known in the field of machine learning and is not described in further detail. By removing from the compression rule set the rules that do not apply to any packets in the obtained batch, the method improves the compression rule set by avoiding a potential lack of generalization in machine learning, where the rule set would be adapted exclusively to the packets of the initial batch used for machine learning.The set of data packets obtained in the first step of the process plays a kind of control role for the level of generalization of the rules of the initial set obtained by learning from the initial set.
[0029] Furthermore, since the resulting batch is disjoint from the initial batch, the packets within it were not used for training at all. Therefore, the rules in the compression rule set were not specifically tailored to the packets in the resulting batch. These packets represent the traffic that the compression rules are likely to encounter when applied to real-world traffic, but which they did not encounter during machine learning. A rule that cannot be applied to any packets in the resulting batch is clearly too specialized and should be removed from the rule set to improve it.If one or more packages from the obtained batch had been used during training, the rules obtained would be at least partially influenced by these packages from the obtained batch and this batch would be less efficient in playing the role of controlling the level of generalization presented by the compression rules.
[0030] According to another embodiment of the invention, which may be implemented alternatively or cumulatively with the preceding embodiments, 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.
[0031] With this implementation, the compression rules present in the initial set are represented and organized in a data structure that allows us to determine whether a given rule will apply to a subset or a superset of the packages to which another rule applies. When a first rule is linked to a second rule in such a way that, for any package to which the first rule applies, then the second rule also applies, we say that the first rule is more specialized than the second rule.
[0032] According to another embodiment of the invention, which may be implemented alternatively or cumulatively with the preceding embodiments, when a compression rule, called a deleted rule, is removed from the initial set, the method includes determining the deletion of another rule using the data structure.
[0033] This implementation accelerates the removal of rules from the initial set by using a data structure that allows for easy identification of specialization relationships between rules. When a rule does not apply to any package in the resulting set, it is removed. A rule more specialized than the removed rule applies to a subset of packages compared to the removed rule. Therefore, it is certain that a rule more specialized than the removed rule will also not apply to any package in the resulting set. It can, or should, also be removed. The data structure in which the specialization information between rules is stored allows for the efficient execution of these additional removals by consulting it.
[0034] According to another embodiment of the invention, which may be implemented alternatively or cumulatively with the preceding embodiments, the data structure representing the initial set was obtained by the machine learning algorithm that enabled the initial set to be obtained.
[0035] 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. Because the process is accelerated, it can be used on larger rule sets and packet batches, making them more representative of expected data traffic.
[0036] According to another embodiment of the invention, which may be implemented alternatively or cumulatively with the preceding embodiments, the data structure that represents the initial set is a tree whose nodes are the compression rules of the initial set and a rule, called the first rule, will be placed in the tree as a descendant of another rule, called the second rule, when, if the first rule applies to a given packet, the second rule applies to the same packet.
[0037] Thanks to this implementation method, the process is further accelerated. Using a tree as a data structure allows for very rapid access to information indicating whether one rule is more or less specialized than another. If a rule is a descendant of another in the tree, it will necessarily be more specialized and will apply to a subset of the packages to which the parent rule applies. Using a tree as a data structure thus makes the process very easy to apply: as soon as a rule is identified in the tree as needing to be deleted, all its descendants must also be deleted because they are more specialized than the deleted rule.
[0038] Other data structures can be used, such as a compression rules table, in which a list of more specialized rules is associated with each compression rule. The advantage of such a data structure is greater ease of programming.
[0039] According to another embodiment of the invention, which may be implemented alternatively or cumulatively with the preceding embodiments, the management process is iterative and a new batch of data packets is obtained and a rule is removed from the set of compression rules when it does not apply to any packet of the new batch obtained.
[0040] Thanks to this embodiment, the process can be repeated several times as new batches of data packets are obtained. These increasingly representative batches of real traffic allow for iterative improvement of the initial compression rule set, modifying it step by step as new batches are obtained.
[0041] According to another embodiment of the invention, which may be implemented alternatively or cumulatively with the preceding embodiments, the compression rules are rules of the SCHC protocol.
[0042] The method according to the invention can make it possible to improve sets of compression rules for the SCHC protocol and in particular to improve sets obtained by machine learning, by preventing them from suffering from a lack of generalization.
[0043] In other embodiments, the compression rules are those of other compression protocols.
[0044] According to a first material aspect, the invention relates to a management entity managing a set of compression rules applying to data packets, called the initial set, obtained beforehand by a machine learning algorithm using a batch of data packets, called the initial batch, as a training set comprising the following modules: Module for obtaining a batch of data packets, called the obtained batch, separate from the initial batch; Module for removing from the initial set of compression rules a rule, called the removed rule, which does not apply to any packet in the obtained batch.
[0045] The initial set after the deleted rule has been removed is called the modified set. In some embodiments, the management entity further includes a module for making this modified set available.
[0046] According to one embodiment of this first material aspect, the invention relates to a telecommunications equipment comprising a management entity according to the invention.
[0047] According to another embodiment, the invention relates to a mobile terminal comprising a management entity according to the invention.
[0048] According to another material aspect, 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.
[0049] Finally, according to another material aspect, 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.
[0050] The data carrier can be any entity or device capable of storing programs. For example, the carrier can include a storage medium, such as a ROM, for example a CD-ROM or a microelectronic circuit ROM, or a magnetic recording medium such as a hard drive. Alternatively, the carrier can be a transmissible medium such as an electrical or optical signal, which can be transmitted via an electrical or optical cable, by radio, or by other means. The program according to the invention can, in particular, be uploaded to a network such as the Internet. Alternatively, the information carrier 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 method in question.The program according to the invention can use any type of computer technology in terms of compiled programming languages, interpreted languages, or a combination of both, as well as in terms of operating systems. Brief description of the figures
[0051] The invention will be better understood upon reading the following description, given by way of example, and made with reference to the accompanying drawings in which:
[0052] represents a management entity carrying out the process according to the invention.
[0053] represents a series of steps carried out during the process according to the invention.
[0054] represents an example of a data structure used in the process according to the invention. Detailed description
[0055] Lare represents a management entity 100 capable of carrying out a management process according to the invention.
[0056] In the example implementation shown in the diagram, the management entity 100 includes the following modules: A module 101 for obtaining a batch L of data packets, called the obtained batch; A module 102 for removing the initial set RS of compression rules from a rule R, called the removed rule, which does not apply to any packet in the obtained batch L; A module 103 for making available the modified set RS' of compression rules.
[0057] In other implementation examples, management entity 100 does not include a module 103 for making available the modified set denoted RS' in the example. The modified set RS' corresponds to the initial set RS from which rule R has been removed.
[0058] Management entity 100 presents the hardware architecture of a conventional computer. It includes, in particular, a processor, RAM 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).
[0059] 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.
[0060] In other implementation examples, 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.
[0061] Such equipment could be, for example, a router. This router could be deployed in local area networks (LANs), metropolitan area networks (MANs), or wide area networks (WANs). The equipment could 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. Alternatively, it could 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. The equipment could also be a base station used in a mobile telecommunications network.The equipment can also be a mobile terminal. In all cases, the management entity must improve the compression rule sets used by the equipment to compress the traffic it handles. This improvement is achieved by using the management process and capturing data packets that pass through the equipment and are therefore, by definition, representative of the traffic that the equipment must compress.
[0062] In the example shown in the diagram, management entity 100 manages a set of RS compression rules. This set includes, initially, an R compression rule.
[0063] The RS compression rule set was established using a machine learning process. The RS set can be, for example, a set of compression rules based on the SCHC protocol and adapted to specific traffic, i.e., adapted to compress data packets used in a given protocol context for given equipment. The RS set can then be deployed for use in a piece of equipment, and the management entity, in this case, can be a component of that equipment. Alternatively, after obtaining an initial version of the RS compression rule set, it is transmitted to management entity 100, which is a server that will not use the RS set to perform compression but is dedicated to improving the compression rule sets.
[0064] The RS set was obtained through machine learning, and the initial set, L0, is 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 will not be discussed in further detail.
[0065] In a first step S1, visible in the diagram which will be described later, module 101 of management entity 100 obtains a batch L of data packets, called the obtained batch. This obtained batch L of data packets will be used to improve the quality of the set RS of compression rules, ensuring that this set does not suffer from a lack of generalization, while reducing the number of rules in the set RS.
[0066] Batch L can be obtained, for example, by recording real traffic. Management entity 100 can be a telecommunications device that transmits data packets, possibly compressed using the rules of the RS set, and management entity 100 will capture data packets to construct batch L. For optimal process performance, the resulting batch L must be representative of the traffic to be compressed by the RS set of compression rules. For example, batch L can be constructed by sampling selected packets over a full 24-hour period to avoid selecting only packets transmitted at a specific time of day, which may not be representative of the overall traffic.
[0067] In other examples, the resulting batch L can be constructed independently of actual traffic. Data packet generators can be used to construct packets with randomly generated values for certain packet fields. An expert can thus provide a batch L of data packets representative of expected traffic without capturing the actual traffic.
[0068] The RS set of compression rules was obtained through machine learning. In most embodiments, the learning algorithm used an initial set of data packets, called the initial set, as the training set. It was this initial set, L0, that enabled the machine learning construction of the RS set of data packet compression rules. Consequently, the RS set may lack generality and apply only too narrowly to the data packets in the initial set, L0, which served as the training set. The set L obtained by module 101 must be such that it does not include any data packets that were used to obtain the RS set through machine learning.In other words, the RS set is obtained by machine learning and the initial batch L0 of data packets which served as the training set to obtain the RS set and the batch L of data packets obtained by the management entity module 101 are disjoint and there is no data packet which belongs in common to the initial batch L0 which served as the training set and to the batch L obtained by the module 101.
[0069] In the continuation of the process described in this example, the deletion module 102 will remove a rule R from the RS set. This rule, referred to as the deleted rule, was removed during a step S2 visible on the diagram, which will be described later. The condition applied by module 102 to remove rule R from the RS set of compression rules is that a rule R is removed when it does not apply to any data packet present in the batch L of data packets, this batch having been obtained by module 101.
[0070] The advantage of this S2 step is to ensure that the compression rules in the RS set are indeed applicable to packets representative of the expected traffic. The rules of the RS set were learned using an initial L0 batch of data packets, which served as the training set. This RS set may lack generality. By comparing it to other packets, those from the L batch, the process ensures that the rules of the RS set are sufficiently general.
[0071] Several possible implementation methods exist for step S2.
[0072] In one example implementation, the process involves selecting a rule R from the set RS and then reviewing all the data packets present in the resulting batch L. If the rule R does not apply to any data packet in the resulting batch L, then the rule R is removed from the set RS of compression rules. Step S2 can be iterated: as soon as a packet is found in the batch L for which the rule R applies, it is known that this rule R should not be removed, and it is possible to examine another rule present in the set RS of compression rules until all the rules in the set RS have been examined.
[0073] In another embodiment, step S2 of the process is performed in reverse. The data packets in the resulting batch L are considered one after the other. For each packet, the process examines whether a rule R applies to it. If rule R applies, there is no need to examine it for subsequent packets in the resulting batch L; this rule will be retained in the set RS since it does indeed apply to one of the packets in batch L. Once all the packets in the resulting batch L have been examined, the rules that do not apply to any packet in batch L can be removed from the set RS of compression rules.
[0074] In one embodiment, rule removal is iterated until all rules R that do not apply to any data packet in the resulting batch L are removed from the compression rule set RS, according to an iterative application described above. In another embodiment, rule removal from the set RS can be stopped as soon as a predefined number of rules have been removed or as soon as the number of rules remaining in the compression rule set RS falls below a certain threshold. An advantage of this embodiment, where removal stops when a predetermined number of rules have been removed or a threshold is reached, is its greater speed, since all the rules present in the set RS do not need to be examined. This greater speed is offset by a potentially lower quality of the result, since potentially removed rules are retained.
[0075] In some embodiments, the RS set is represented by a data structure that accelerates the execution of step S2. More detailed examples are given in the description of the.
[0076] Once rule R is removed from the compression rule set RS, and potentially from other compression rules as well, the set RS can be referred to as the modified compression rule set RS', which no longer includes the removed rule R. In some embodiments, the modified set RS' is made available by module 103 of the management entity. This modified set RS' is the initial set RS after the removed rule R, and possibly other compression rules, have been removed from it. In other embodiments, the compression rule set RS, RS' can be used at any time to perform data packet compression without any specific implementation of a provisioning operation.
[0077] In our example, this S3 provisioning step (visible on the page which will be described later) can be implemented in several ways. In one implementation, management entity 100 is part of a telecommunications device that uses the RS set of compression rules to compress data packets of traffic carried by the device. In this case, module 103 will make the modified RS' set available by replacing the compression rule set used by the device to compress data packets, which was initially the RS set, with the modified RS' set. In another implementation, module 103 can transfer a file containing the modified RS' set, or any other computer object representing the modified RS' set, to other entities that want to use it.For example, a telecommunications device could transfer a set of compression rules RS and a batch L of data packets to the management entity 100 for improvement. After the process is carried out, the module 103 transmits the modified set RS' in response. In another embodiment, the management entity 100 receives a set RS obtained by machine learning using an initial batch L0 of data packets as the training set. After obtaining a batch L of data packets, the management entity 100 carries out the process according to the invention to improve the set of compression rules RS and transform it into the modified set RS'. This modified set RS' is then used in place of the initial set RS.
[0078] In other embodiments, the process does not implement an S3 delivery step. In these examples, the RS set of compression rules can be accessed and used to compress data packets at any time during process execution.
[0079] This, on the other hand, represents a series of steps carried out during the process according to the invention.
[0080] In the example shown in Figure 1, the process begins with a step S1, whereby a batch L of data packets is obtained by module 101 of management entity 100. Batch L will be used as a control set to ensure that the compression rules of the RS set do not suffer from a lack of generality and are indeed applicable to data packets representative of the traffic to be compressed. The RS set was calculated by a machine learning algorithm, and an initial batch L0 of data packets was then used as the training set. A risk of machine learning is that the RS set may be too specific to batch L0, hence the advantage of the process according to the invention. For better results, the resulting batch L must be disjoint from the initial batch L0.Indeed, if a packet is present in both the obtained batch L and the batch L0 used as the training set, the rules of the RS set will likely apply to that packet, and the obtained batch L will not be able to fulfill its role as a control set. Batch L can be obtained by capturing real traffic, generated by an automatic generator, or defined by an expert. Combinations of techniques are possible, in which, for example, packets are generated by simulators from packets captured in real traffic, with the additional guidance of an expert.
[0081] The process in this example implementation continues with a step S2, which removes a rule R from the set RS. This step S2 can be iterated to achieve multiple rule removals, as symbolized in the diagram by the circular arrow associated with step S2. A rule R is removed from the set RS during step S2 if it does not apply to any packet in the resulting batch L. Step S2 can be performed by considering the rules in the set RS one by one and searching for at least one packet in the resulting batch L to which the rule R applies. If no such packet is found, the rule R is removed. It is possible to use a data structure in the implementation of step S2 in which the rules in the set RS are stored in such a way that it is easy to determine which rule is more specialized than another.If a rule is deleted, reading the data structure will also remove any rules that are more specialized than the deleted rule. Indeed, if a rule does not apply to any packet in the resulting batch L, the more specialized rules, by definition, will also not apply to any packet in the same batch L and can therefore also be deleted.
[0082] In the example shown here, the process ends with a step S3 that makes the modified set RS' available. The modified set RS' is the initial set RS from which one or more compression rules have been removed following one or more executions of steps S2. Making the modified set RS' available can be done by transferring a file or any other relevant IT object from the management entity 100 to a device that needs to use the RS' set of compression rules. In this context, the management entity 100 could be a server dedicated to managing and improving compression rule sets. Making the set RS' available can also be done by providing access to requests to obtain the set RS'. In this context, the management entity 100 could be a component of a telecommunications device that uses the RS set of compression rules to compress the traffic it transmits.The management entity 100 then makes available to the telecommunications equipment that encompasses it an improved version RS' of the initial set RS of compression rules. In other embodiments, the initial set RS and the modified set RS' can be accessed during the execution of the process by other IT entities to perform data packet compression without the management entity 100 having to perform a provisioning step 103.
[0083] Furthermore, the entire management process can be iterated; that is, after obtaining a modified set RS' of compression rules, a new batch L' of data packets can be obtained, and the process repeated on the modified set RS' with the new batch L' to obtain a new modified set RS'' in which the compression rules that do not apply to any packets in the new batch L' have been removed. This new modified set RS'' can also be made available or accessed at any time, including during the execution of the deletion steps S2.
[0084] The latter, for its part, represents a data structure used in certain embodiments of the process.
[0085] In the example shown in the diagram, the initial set RS of compression rules comprises five rules: R1, R2, R3, R4, and R5. These rules R1, R2, R3, R4, and R5 are represented by a data structure that is a tree. The purpose of the data structure is to allow for the quick identification of the specialization relationship that may exist between compression rules. A rule, called the first rule, is more specialized than another rule, called the second rule, if, when the first rule is applied to a data packet, then the second compression rule also applies to the same data packet. In the diagram, the data structure is a tree, and the specialization relationship is represented by the arrows between rules. In other words, rule R3 is more specialized than rule R2, which is itself more specialized than rule R1. Furthermore, rule R5 is more specialized than rule R4, which is itself more specialized than rule R1.
[0086] In the example above, compression rules are rules that apply to data packets containing at least three pieces of information. The first piece of information, SRC, is data close to an IP address, for example, the source IP address of a message; similarly, the second piece of information, DST, is data close to an IP address, for example, the destination IP address of a message; and finally, the third piece of information, VAL, is a value transmitted in the packet, this value being a sequence of 4 bits.
[0087] The compression rules incorporate operations inspired by the SCHC protocol. Rule R1 performs no compression, which is described by the English word "nothing." Using an operation that performs no compression allows us to define a rule that applies to all data packets and is therefore the least specialized rule possible. Such a rule will be at the top of a tree that represents this specialization relationship between compression rules. The other operations are value erasure operations, described by the English word "erase." For example, rule R2 states that if, in a data packet, the SRC field takes the value 12.12, this field is erased. In the normal operation of the compression protocol, the rule used to compress a packet would be known, and this value 12.12 would be restored upon reception of the compressed packet. Rule R3, in addition to erasing the value 12...Rule R4 deletes the value 16.16 if it is taken from the SRC field; rule R5 adds the deletion of the value 1111 if it is taken from the VAL field.
[0088] In the SCHC protocol, other compression rules besides deleting a given value exist, such as replacing a given value with an index from a dictionary, or deleting a prefix from a value expressed as a sequence of bits.
[0089] The rules R1 to R5 could be learned by a machine learning algorithm or by an expert from an initial batch L0 of data packets that served as the training set. This batch L0 comprises two packets, P1 and P2, which take given values. In one embodiment, the compression rules R1 to R5 are learned by machine learning, and the data structure or tree, as in the example shown, which represents the compression rules and the specialization relationship between the rules, is obtained during this machine learning process. In this way, obtaining the data structure that will be used subsequently is achieved without any additional computational effort. In realistic examples, the initial batch L0 used as the training set would comprise several thousand, or even millions, of data packets corresponding to real telecommunications traffic.
[0090] In one embodiment of the method, a data structure, such as a tree, is used to accelerate the process of improving the compression rule set. It is worth recalling that a risk of machine learning is that the automatically learned set may be too specific to the L0 set and not apply to other sets that were not used in the training. To avoid this, a set L of data sets is obtained and used in the method according to the invention. In one embodiment, this set L of data sets was not used at all during the machine learning that yielded the RS set of compression rules. In this embodiment, sets L0 and L are disjoint.
[0091] In the example of the, the obtained batch L of data packets comprises two packets P3 and P4, whose SRC, DST and VAL fields take the values shown in.
[0092] The method according to the invention will use the packages from batch L to verify that the rules of set RS have sufficient generality. To this end, the rules of set RS that do not apply to any package from the resulting batch L are removed from set RS.
[0093] This is the case with rule R3. Since rule R3 only applies to packets where the SRC field is 12.12 and the VAL field is 0101, rule R3 does not apply to any of the packets in batch L, even though the SRC field is indeed 12.12 for all packets in batch L. It is the selection based on the VAL value that is too restrictive for this rule. The removal of rule R3 from the RS set is represented by a bar.
[0094] The same applies to rule R4. Rule R4 applies to packets whose DST field has the value 16.16, whereas for the two packets P3 and P4 in batch L, this field has the value 10.10. Rule R4 is removed from the RS set, and thanks to the organization of the rules in the RS set, it is immediately possible to deduce that rule R5 can also be removed. This removal, deduced from the removal of rule R4 and not calculated by checking if rule R5 applies to the packets in the resulting batch L, is represented by a dashed line on the graph. This deduction can be made because the rules in the RS set are represented by a data structure, in this case a tree, in which it is easy to find a specialization relationship between compression rules. Since rule R5 is a child of rule R4 in the tree representing the RS set, we know that rule R5 is more specialized than rule R4.Since rule R4 does not apply to any packet in the resulting batch L, and rule R5 is more specialized than rule R4, it can be immediately deduced that rule R5 also does not apply to any packet in batch L and can therefore be removed from the set RS. The use of a data structure such as the rule tree thus accelerates the process according to the invention. Once it is determined that rule R4 must be removed, all the descending rules—that is, the rules present in the subtree whose apex is the removed rule (a subtree which is reduced here to only rule R5)—can also be removed from the set RS and do not need to be examined to see if they apply to the packets in batch L.Other data structures can be used, such as a table listing all the rules but also including lists attached to each rule specifying which other rules are more specialized than the rule in question.
[0095] Finally, in the example of the, the set of compression rules includes only the R1 and R2 rules after the execution of the process.
[0096] Finally, it should be noted that, in this text, the term "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. Similarly, 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.).
Claims
Method for managing a set (RS) of compression rules applying to data packets, called initial set, obtained beforehand by a machine learning algorithm using a batch (L0) of data packets, called initial batch, as a training set, characterized in that the method comprises the following steps: Obtaining a batch (L) of data packets, called obtained batch, disjoint from the initial batch (L0); Removing from the initial set (RS) of compression rules a rule (R), called deleted rule, which does not apply to any packet in the obtained batch (L). Management method according to claim 1 characterized in that the initial set (RS) of compression rules is represented by a data structure in which a compression rule, called first rule, is linked in the data structure to another compression rule, called second rule, when, if the first rule applies to a given packet, the second rule applies to the same packet. Management method according to claim 2 characterized in that when a compression rule (R), referred to as deleted rule, is deleted from the initial set (RS), the method includes determining the deletion of another rule using the data structure. Management method according to any one of claims 2 to 3 characterized in that the data structure which represents the initial set (RS) was obtained by the machine learning algorithm which made it possible to obtain the initial set (RS). A management method according to any one of claims 2 to 4 characterized in that the data structure which represents the initial set (RS) is a tree whose nodes are the compression rules of the initial set (RS) and in that a rule, called the first rule, will be placed in the tree as a descendant of another rule, called the second rule, when, if the first rule applies to a given packet, the second rule applies to the same packet. Management method according to any one of claims 1 to 5 characterized in that the management method is iterative and in that a new batch (L') of data packets is obtained and a rule (R) is removed from the set (RS) of compression rules when it does not apply to any packet of the new batch (L') obtained. Management method according to any one of claims 1 to 6 characterized in that the compression rules are rules of the SCHC protocol. Management entity (100) managing a set (RS) of compression rules applying to data packets, called the initial set, obtained beforehand by a machine learning algorithm using a batch (L0) of data packets, called the initial batch, as a training set comprising the following modules: Module (101) for obtaining a batch (L) of data packets, called the obtained batch, disjoint from the initial batch (L0); Module (102) for removing from the initial set (RS) of compression rules a rule (R), called the removed rule, which does not apply to any packet in the obtained batch (L). Telecommunications equipment comprising a management entity (100) according to claim 8. Mobile terminal comprising a management entity (100) according to claim 8. Computer program capable of being implemented by a management entity (100) according to claim 8, the program comprising code instructions which, when executed by a processor, carries out the steps of the management process defined in claim 1. Data carrier on which is stored a computer program according to claim 11 comprising a sequence of instructions for implementing the management method according to claim 1 when loaded into and executed by a processor.
Citation Information
Patent Citations
A dynamic deletion method of package head compression rules
CN101217550A
Efficient data compression and analysis as a service
US20160314140A1