Method for managing a set of data packet compression rules

By iteratively refining data packet compression rules using a disjoint batch and data structure, the method addresses the lack of generalization and resource inefficiency in existing rule sets, enhancing compression performance and reducing set size.

FR3161829A1Pending Publication Date: 2025-10-31ORANGE SA
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
FR2024004378
Authority / Receiving Office
FR · FR
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-04-26
Publication Date
2025-10-31

AI Technical Summary

Technical Problem

Existing data packet compression rule sets, particularly those obtained through machine learning, suffer from a lack of generalization, leading to ineffective compression of real-world traffic and inefficient resource utilization due to specialized rules and large rule set sizes.

Method used

A method for managing compression rules that involves obtaining a batch of data packets disjoint from the initial training set, removing rules that do not apply to any packet in the batch, and organizing rules in a data structure to accelerate and iteratively improve the rule set, ensuring generalization and reducing size.

Benefits of technology

The method enhances the compression ratio and reduces the size of the rule set, improving its applicability to real-world traffic without human intervention, thus optimizing hardware and energy resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Method for managing a set of data packet compression rules. The invention relates to a method for managing a set (RS) of compression rules applying to data packets, called the initial set, characterized in that the method comprises the following steps: Obtaining a batch (L) of data packets, called the obtained batch; Removing from the initial set (RS) of compression rules one rule (R), called the removed rule, which does not apply to any packet in the obtained batch (L). Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Title of the invention: Method for managing a set of data packet compression rules technical field

[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 compression rules for data packets. 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 set of compression rules.

[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 (acronym for Internet Protocol). A set of data packets relating 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. To achieve complete communication, 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 conventionally grouped into bytes, sets of eight bits.The various protocols are classically 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 the articulation of the various protocols 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) 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. The 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 situation.

[0005] Other Application layer protocols 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 (UserDatagram 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 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 of the first protocol may contain the header of that other protocol. At the Data Link layer, the term frame is used rather than packet, and, in addition to the header, there is a footer indicating the end of the frame.

[0007] Packet headers include fields. A field is a continuous set of bits of fixed or variable length. When a field is variable in length, mechanisms exist to determine the actual length of the transmitted field. When the value in a fixed-length field is variable in length, padding bits are used to pad the value up to the field's fixed length. A 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 the header of an IP packet, 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 the capture and analysis of data packets. The 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 should be noted 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 or 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) standardization body in RFC 3095 (Request For Comments, a specification document underlying the Internet), 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 ​​taken 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 taken 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 may 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 symmetrical decompression rule can be applied to it upon reception and restore the packet in its entirety.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 will rely on the existence of sets of compression rules that describe the compression operations to be carried out on field values. Heads, or more generally sections, of data packets can be compressed, provided that their 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 in the rule can be applied to the values ​​taken by the fields of that packet. For completion purposes, operations that do not perform any compression but potentially apply to all possible values ​​can be defined so that, for any given packet, it is possible 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 prior art and will not be described further. State of the art

[0013] In general, 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 from a set of packets representative of the expected traffic, which would then be classically referred to as the training set.

[0014] To ensure the best possible operation of compression protocols, the quality of compression rule sets is a major issue. This quality is judged by the compression ratio achieved by a given rule set when it is deployed to run on a given traffic stream. The quality of a compression rule set can therefore be measured objectively by comparing the compression ratios achieved by different rule sets on the same traffic stream.

[0015] Another quality criterion for a compression rule set is its size. The smaller the set, for a given compression ratio, the better, because it will take up less memory in the receiving and transmitting equipment. Furthermore, when the compression rule set is small, the compression protocol takes less time to determine which rule to apply. Finally, when a rule is used, its identifier must generally be transmitted with the compressed packet to allow the reverse operation of decompression to be performed upon packet reception. The more rules there are, the larger the size of the rule identifier used 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 automatic 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 construct the rule set but may not apply as effectively to real-world traffic. This risk is particularly present 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 construct the rules, with each rule compressing that packet to the maximum extent.However, these rules compressing a single packet cannot then be applied to packets in real traffic that do not necessarily correspond to packets from the set used for construction.

[0018] A 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 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 the intervention of a human expert, which defeats the purpose of machine learning.

[0020] The invention improves the situation. Description of the invention

[0021] According to a first functional aspect, the invention relates to a method for managing a set of compression rules applying to data packets, referred to as the initial set, characterized in that the method comprises the following steps: • Obtaining a batch of data packets, called the obtained batch; • Removal of the initial set of compression rules from a rule, called a deleted rule, which does not apply to any package in the resulting batch.

[0022] The initial set after the deleted rule has been removed is called the modified set. In some embodiments, the method further includes a step of making said modified set available.

[0023] Thanks to the invention, a set of compression rules is modified and improved. This improvement is carried out according to the two criteria that govern the quality of a set of compression rules. The initial set of compression rules applies to data packets. The initial set of compression rules seeks to compress data packets of a given traffic but may have been established imperfectly and require improvement. By obtaining a batch of data packets, and by 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 of the initial set, retaining only the rules that apply to at least one other packet, outside of the example packets that were used to construct the initial set of rules.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 method for managing a compression rule set also respects a second criterion for judging the quality of a compression rule set, namely its size. The method works by removing rules from the initial set, which will necessarily reduce its size and thus improve its quality according to this second criterion.

[0025] Furthermore, the invention is implemented by an automated process, without expert intervention. In the case of machine learning of compression rules, the process is therefore more advantageous than the prior art, in which an expert decides on a maximum size for the set of compression rules, because the process does not involve an expert.

[0026] According to a particular embodiment of 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 by 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 by 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 in 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 present in the resulting batch were not used at all for training. Therefore, the rules belonging to the compression rule set were not specifically adapted to the packets in the resulting batch. The packets in the resulting batch thus represent traffic packets that the compression rules are likely to encounter when applied to real traffic and which they were not exposed to during machine learning. A rule that cannot be applied to any packet in the resulting batch is therefore clearly too specialized and must be removed from the rule set to improve it.If one or more packets from the obtained batch had been used during training, the rules obtained would be at least partially influenced by these packets from the obtained batch, and this batch would be less effective 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, said second rule, when, if the first rule applies to a given packet, the second rule applies to the same packet.

[0031] Thanks to this embodiment, the compression rules present in the initial set are represented and organized in a data structure that makes it possible 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 applies, the first rule is said to be 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, referred to as the deleted rule, is removed from the initial set, the method includes determining the deletion of another rule using the data structure.

[0033] Thanks to this embodiment, the removal of rules from the initial set is accelerated by using the data structure, which makes it easy to determine if a specialization relationship exists 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, therefore also be removed. The data structure in which the specialization information between rules is stored allows these additional removals to be carried out efficiently 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 operate by starting with general rules and searching for more specialized rules that apply to the data packets in the batch of packets that serves as 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 other rule, 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. As 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 embodiment, the implementation of 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 it very easy to apply the process: 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 batches, increasingly representative of the actual traffic, allow the initial set of compression rules to be iteratively improved by 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 through machine learning, while ensuring that they do not suffer 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, referred to as the initial set, comprising the following modules: • Module for obtaining a batch of data packets, called the obtained batch; • Module for removing the initial set of compression rules from a rule, called a deleted rule, which does not apply to any package in the resulting 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 said 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 means, such as a ROM, for example a CD-ROM or a microelectronic circuit ROM, or a magnetic recording means 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 process 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] [Fig. 1] represents a management entity carrying out the process according to the invention.

[0053] [Fig.2] represents a series of steps carried out during the process according to the invention.

[0054] [Fig.3] represents an example of data structure used in the process according to the invention. Detailed description

[0055] The [Fig.1] represents a management entity 100 capable of carrying out a management process according to the invention.

[0056] In the embodiment shown in [Fig. 1], the management entity 100 comprises 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 package in the resulting batch L; • A module 103 for making available the modified RS' set of compression rules.

[0057] In other embodiments, the management entity 100 does not include a module 103 for making available the modified set denoted RS' in the example of [Fig. 1]. The modified set RS' corresponds to the initial set RS from which the rule R has been removed.

[0058] The management entity 100 has 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.

[0059] The management entity will, for example, be a computer server that performs the management process as part of the work of establishing sets of compression rules before their deployment to one or more devices that will subsequently apply the rules of the managed set to data packets that they process in the context of real traffic. The management entity can also be deployed in a cloud architecture in which The user will not have a dedicated server but will request computing, memory and network resources that will fulfill the functions of the management entity.

[0060] In other embodiments, 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 or sets of rules that the component uses to compress the traffic processed by the device.

[0061] Such equipment may be, for example, a router. This router may be deployed in local area networks (LANs), metropolitan area networks (MANs), or wide area networks (WANs). The equipment may 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, or 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, for example, a corporate network. The equipment may 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 sets of compression rules used by the equipment to compress the traffic it manages. This improvement is done using the management process and captures of 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 [Fig.1], the management entity 100 manages a set of compression rules RS. This set includes, in particular, initially, a compression rule R.

[0063] The RS set of compression rules could be established by an expert or through a machine learning process. The RS set could, for example, be a set of compression rules according to the SCHC protocol and be adapted to a particular type of traffic, i.e., adapted to compress data packets used in a given protocol context, for given equipment. The RS set could then be deployed for use in a piece of equipment, and the management entity, in this case, could be a component of the equipment in question. Or, after obtaining a first version of the RS set of compression rules, it is transmitted to the 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] In one embodiment, the RS set was obtained by machine learning, and a LO set, called the initial set, is then, in this example, the set of data packets that were used as examples of packets representative of the traffic to be compressed to perform 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 described in further detail.

[0065] In a first step SI, visible in [Fig. 2] which will be described later, module 101 of management entity 100 obtains a batch L of data packets, referred to as 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, for example, be obtained 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 operation of the process, 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 so as not to select only packets transmitted at a specific time of day, which may not be representative of the total 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 fields of the packet. An expert can thus provide a batch L of data packets representative of expected traffic without capturing actual traffic.

[0068] In one embodiment, the set RS of compression rules was obtained by machine learning. In this case, in most embodiments, the learning algorithm used a batch L0 of data packets, called the initial batch, as the training set. It is this initial batch L0 that was used to construct the set RS of data packet compression rules by machine learning. The set RS may therefore lack generality and apply only too narrowly to the data packets of the initial batch L0 that served as the training set. In one embodiment, the batch L obtained by module 101 must be such that it does not include any data packets that were used to obtain the set RS by machine learning. In other words, in this embodiment, the set RS is obtained by machine learning and the initial LO set of data packets which served as the training set to obtain the RS set and the L set 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 LO set which served as the training set and to the L set 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, referred to as the deleted rule, from the set RS during a step S2 visible in [Fig. 2], which will be described later. The condition applied by module 102 for removing the rule R from the set RS 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 step S2 is to ensure that the compression rules present in the RS set apply correctly to packets representative of the expected traffic. The rules of the RS set were learned from an initial batch L0 of data packets, which served as the training set. This RS set may lack generality. By comparing it to other packets, those from batch L, the process ensures that the rules of the RS set are sufficiently general.

[0071] Several possible embodiments exist for step S2.

[0072] In one embodiment, the process consists of 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 the packet or not. If the rule R applies to the packet, 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, the removal of rules is iterated until all rules R that do not apply to any data packet in the resulting batch L are removed from the set RS of compression rules, according to an iterative application described above. In another embodiment, the removal of The rules-based processing of the RS set can be stopped as soon as a predefined number of rules have been deleted or as soon as the number of rules remaining in the RS set of compression rules falls below a certain threshold. An advantage of this embodiment, where deletion stops when a predetermined number of rules have been deleted or a threshold is reached, is its greater speed, since all the rules present in the RS set do not need to be examined. This greater speed is offset by a potentially lower quality of the result, since some rules that could have been deleted are retained.

[0075] In some embodiments, the RS set is represented by a data structure which makes it possible to accelerate the execution of step S2. More detailed examples are given in the description of [Fig.3].

[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 in [Fig. 2], which will be described later) can be carried out in several embodiments. In one embodiment, the 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, the 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 embodiment, the 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 wish to use it.For example, a telecommunications device could transfer to management entity 100, for improvement, a set RS of compression rules as well as a batch L of data packets, and, after the process was completed, module 103 transmits the modified set RS' in response. In another embodiment, management entity 100 received a set RS obtained by machine learning using an initial batch L0 of data packets as the training set and the management entity. 100, after obtaining a batch L of data packets, will carry out the process according to the invention in order to improve the set RS of compression rules and transform it into the modified set RS'. This modified set RS' will then be used in place of the initial set RS.

[0078] In other embodiments, the process does not implement an S3 provisioning step. In these examples, the RS set of compression rules can be accessed and used to compress data packets at any time during the execution of the process.

[0079] Fig. 2, meanwhile, represents a series of steps carried out during the process according to the invention.

[0080] In the example shown in [Fig. 2], the process begins with a step SI 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 embodiment continues with a step S2 of deleting a rule R from the set RS. This step S2 can be iterated to result in several rule deletions, which is symbolized in [Fig. 2] by the circular arrow associated with step S2. A rule R is deleted 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 deleted. It is possible to use, in the application of step S2, a data structure in which the rules in the set RS are stored in such a way that it is easy to determine whether a rule is more specialized than another. If a rule is deleted, reading the data structure will also delete 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 of making 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 computer object from the management entity 100 to a device that needs to use the set RS' of compression rules. In this context, the management entity 100 can be a server dedicated to managing and improving sets of compression rules. 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 can be a component of a telecommunications device that uses the set RS 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 management process as a whole 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 will be accessible at any time, including during the execution of the removal steps S2.

[0084] Fig. 3, meanwhile, represents a data structure used in certain embodiments of the process.

[0085] In the example shown in [Fig. 3], the initial set RS of compression rules comprises five rules RI, R2, R3, R4, R5. These rules RI, R2, R3, R4, R5 of the set RS are represented by a data structure that is a tree. The purpose of the data structure is to allow for the rapid identification of the specialization relationship that may exist between compression rules. A rule, The first rule is more specialized than the second rule if, when the first rule applies to a data packet, the second compression rule also applies to the same data packet. In [Fig. 3], 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 in [Fig. 3], the compression rules are rules that apply to data packets comprising 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 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. The RI rule 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 receipt 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 the deletion of a given value exist, such as the replacement of a given value by an index of a dictionary, or the deletion of a prefix from a value expressed as a sequence of bits.

[0089] The RI to R5 compression rules 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 PI and P2, which take given values ​​in [Fig. 3]. In one embodiment, the RI to R5 compression rules are learned by machine learning, and the structure of The data, or tree, as in the example in [Fig. 3], 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 later is done without any additional computational effort. In realistic examples, the initial LO set used as the training set would include 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, for example, the tree in [Fig. 3], is used to accelerate the process of improving the compression rule set. It should be noted that a risk of machine learning is that the automatically learned set may be too specific to the LO 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, the LO and L sets are disjoint.

[0091] In the example of [Fig.3], the resulting batch L of data packets comprises two packets P3 and P4, whose SRC, DST and VAL fields take the values ​​shown in [Fig.3].

[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 for which 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 for all packets in batch L, the SRC field is indeed 12.12. 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 of 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 whether rule R5 applies to the packets in the resulting batch L, is represented by a dashed bar in [Fig. 3]. This deduction can be made because the rules in the RS set are represented by a data structure, here a tree, in which it is easy to find a relationship of Specialization between compression rules. Since rule R5 is a child of rule R4 in the tree representing the set RS, 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, we can immediately deduce 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 tree in [Fig. 3] thus accelerates the process according to the invention. From the moment it is determined that rule R4 must be removed, all descendant 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 [Fig.3], the set of compression rules includes only the RI and R2 rules after the execution of the process.

[0096] Finally, it should be noted here 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 concerned. Similarly, a hardware component corresponds to any element of a hardware assembly capable of implementing a function or set of functions for the module concerned (integrated circuit, smart card, memory card, etc.).

Claims

Demands

1. Method of managing a set (RS) of compression rules applying to data packets, called initial set, characterized in that the method comprises the following steps: Obtaining a batch (L) of data packets, called obtained batch; Removing from the initial set (RS) of compression rules one rule (R), called deleted rule, which does not apply to any packet in the obtained batch (L).

2. Management method according to claim 1 characterized in that the initial set (RS) of compression rules is obtained beforehand by a machine learning algorithm using a batch (LO) of data packets as a training set, called initial batch, and in that the obtained batch (L) of data packets is disjoint from said initial batch (LO).

3. A management method according to any one of claims 1 or 2 characterized in that the initial set (RS) of compression rules is represented by a data structure in which a compression rule, called the first rule, is linked in the data structure to another compression rule, called the second rule, where, if the first rule applies to a given packet, the second rule applies to the same packet.

4. Management method according to claim 3 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 characterized in that said first rule will be placed in the tree as a descendant of said second rule.

5. A management method according to any one of claims 3 or 4 characterized in that when a compression rule (R), referred to as the deleted rule, is deleted from the initial set (RS), the method includes determining the deletion of another rule using the data structure.

6. Management method according to any one of claims 2 to 5 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).

7. A management method according to any one of claims 1 to 6, characterized in that the management method is iterative and in that a new

8.

9.

10.

11.

12.

13. 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 packets in the new batch (L') obtained. A management method according to any one of claims 1 to 7, characterized in that the compression rules are rules of the SCHC protocol. A management entity (100) managing a set (RS) of compression rules applying to data packets, referred to as the initial set, comprising the following modules: Module (101) for obtaining a batch (L) of data packets, called the obtained batch; 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 package in the resulting batch (L). Telecommunications equipment comprising a management entity (100) according to claim 9. Mobile terminal comprising a management entity (100) according to claim 9. Computer program capable of being implemented by a management entity (100) according to claim 9, 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 12 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