Generation of multi-activity network traces
The method generates multi-activity network traces by aligning and associating single-activity traces, addressing the limitation of existing technologies in detecting multiple simultaneous or alternating digital activities, enhancing network management and security through advanced recognition models.
Patent Information
- Application Number
- FR2023006712
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-06-27
- Publication Date
- 2025-01-03
AI Technical Summary
Existing methods for classifying digital activities in telecommunications networks are limited to single-activity scenarios, failing to detect and categorize situations where multiple activities are performed simultaneously or alternately, particularly in home networks with multiple user terminals.
A method for generating multi-activity network traces by synthesizing single-activity traces, aligning timestamps, and forming associations to create multi-activity network traces that represent simultaneous or alternating digital activities, enabling the construction of advanced recognition and categorization models.
Enables better network management, service prioritization, and improved cyber security by providing training data for machine learning models to handle multi-activity situations, facilitating the development of multi-activity network traces from single-activity databases.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: Generation of multi-activity network traces Technical field
[0001] The invention relates to the field of telecommunications networks.
[0002] Monitoring digital activities on a telecommunications network allows for better knowledge and therefore better management of the network by an operator in charge of its management. State of the art
[0003] A user can access a wide area telecommunications network, particularly of the IP type, via an access point which may be a home gateway, and / or a mobile telephone of the “Mobile Hotspot” type acting as a network gateway.
[0004] The access point may in particular be accessible via a wireless connection, such as WiFi for example. A local WiFi network may thus be created by the access point, in order to allow domestic equipment to communicate with each other, but also to access the IP wide area network, in particular to access services offered by remote service platforms.
[0005] The digital activities that can be implemented from a user terminal are increasingly numerous, and they relate to increasingly varied applications and may involve different types of action on the part of the user. Digital activities include, but are not limited to, chat or instant messaging, telephone calls via VOIP, for "Voice Protocol Over IP", video streaming, access to applications, in particular social network applications such as Facebook™, Instagram™, Youtube™, Twitter™, etc.
[0006] It is useful for an operator in charge of the network to classify the digital activities implemented by network users and generating flows of data packets in the network via access points such as home gateways, in order to facilitate network management, in order to prioritize certain services, in order to offer new services or for security purposes.
[0007] For this purpose, classification methods are known in order to:
[0008] - classify a data packet stream as belonging to one of the following applications: several predefined applications such as Youtube, Instagram, Facebook, etc. For example, the publication “Real-time encrypted traffic classification via lightweight neural networks”, J. Cheng et al, in Globecom 2020 IEEE Global Communications Conference, pp 1-6, describes a method for such classification. The publication “Mimetic: Mobile encrypted traffic classification using multimodal deep learning”, G. Aceto et al., Computer networks, vol. 165, p. 106944, 2019 describes another method allowing such classification;
[0009] - classify packet flows into actions performed within applications, by example "post a tweet on TwitterTM", "comment on a post on FacebookTM". The publication "Eavesdropping on fine grained user activities within smartphone apps over encrypted network traffic" B. Saltaformaggio et al, 10th USENIX Workshop on Offensive Technologies (WOOT 16), 2016, describes a method for such action classification. The publication "Analyzing android encrypted network traffic to identify user actions", M. Conti et al, IEEE Transactions on Information Forensics and Security, vol.ll, no. 1, pp 114-125, 2015, describes another method for such action classification;
[0010] - classify the data type of data packets, for example between data VOIP voice, chat data, video streaming data. The publication “Online classification of user activities using machine learning on network traffic”, V. Labayen et al, Computer Networks, vol. 181, p. 107557, 2020, describes a method for such data type classification. The publication “Identification of encrypted traffic through attention mechanism based long short-term memory”, H. Yao et al, IEEE Transactions on Big Data, 2019, describes another method for such data type classification.
[0011] Such methods most often exploit the availability of large databases comprising single-activity network traces, identifying data packets with their timestamp values, and corresponding to the implementation of a single digital activity by a user over a given period. Such databases are known. For example, the ISCXVPN2016 database comprises such single-activity network traces.
[0012] However, these methods are dedicated to the identification of a single digital activity per packet flow, which implies that packet flows by which a set of several digital activities is carried out by the user, either in parallel (at the same time) or alternately, cannot be detected as such and categorized.
[0013] However, such situations are becoming increasingly common, particularly when a user has several terminals in a home network, the terminals accessing the same access point possibly being a home gateway. Such terminals may include a TV decoder of the STB type, for "Set Top Box" in English, a mobile terminal such as a Smartphone or a touch pad, connected objects, such as a connected watch, etc.
[0014] Such an impossibility is notably due to the absence of large databases grouping together multi-activity network traces. The absence of such databases makes difficult or even impossible to create models for categorizing datasets into multi-activity categories.
[0015] There is a need to have multi-activity network traces, in particular in order to be able to train flow classification models, based on sets of rules or derived from machine learning.
[0016] The invention offers a solution which does not have the drawbacks of the state of the art. Statement of the invention
[0017] To this end, according to a functional aspect, the invention relates to a method for generating at least one multi-activity network trace, the method comprising the generation of said at least one multi-activity network trace from at least one first data set and a second data set respectively comprising at least one first single-activity network trace associated with a first digital activity and at least one second single-activity network trace associated with a second digital activity, said at least one multi-activity network trace identifying first packets of said first single-activity network trace and second packets of said second single-activity network trace.
[0018] Thus, the method according to the invention makes it possible to synthesize multi-activity network traces from single-activity network traces. The multi-activity network trace thus generated represents a situation in which a user performs two digital activities simultaneously or alternately, over a given period. Since databases comprising large sets of single-activity network traces are known, it is thus possible to synthesize a database comprising multi-activity network traces. The multi-activity network traces thus generated make it possible to develop models for recognizing / categorizing digital activities, including in multi-activity situations, for example models derived from machine learning, which allows for better knowledge of the digital activities implemented in a telecommunications network.This makes it possible to plan new services, prioritize certain services, optimize network resources, improve cybersecurity, etc. To this end, the generated multi-activity network trace can be associated with a multi-activity category defined by the first digital activity and by the second digital activity.
[0019] According to embodiments, the generation of said at least one multi-activity network trace can be implemented according to timestamp values of the first packets of said first single-activity network trace and of the second packets of said second single-activity network trace.
[0020] Thus, it is made possible to generate multi-activity network traces by the re- arrangement of packets from at least two distinct single-activity network traces.
[0021] According to embodiments, the method may further comprise forming at least one association of single-activity network traces comprising at least a portion or all of the first single-activity network trace, identifying a first set of first packets from among the first packets of the first single-activity network trace, and a portion or all of the second single-activity network trace, identifying a second set of second packets from among the second packets of the second single-activity network trace; said at least one multi-activity network trace is generated from said at least one association, based on the first timestamp values of the first packets of the first set and the second timestamp values of the second packets of the second set, said at least one multi-activity network trace identifying the first packets of the first set and the second packets of the second set.
[0022] Thus, it is made possible to control the size of the generated multi-activity network traces.
[0023] According to embodiments, the method may comprise a temporal alignment of the first single-activity network trace and the second single-activity network trace by modifying the timestamp values of the first packets identified in the first single-activity network trace and / or by modifying the timestamp values of the second packets identified in the second single-activity network trace.
[0024] Such a step is implemented before the formation of at least one pair of single-activity network traces. It is thus made possible to synthesize at least one multi-activity network trace from single-activity network traces captured at different times or over different periods. It is thus made possible to generate a large number of multi-activity network traces from single-activity network traces.
[0025] In addition, the first single-activity network trace and the second single-activity network trace may have different durations, the first single-activity network trace having a duration longer than a duration of the second single-activity network trace, and the temporal alignment may comprise a splitting of the first single-activity network trace into at least a first part of duration as close as possible to a duration of the second single-activity network trace, and a remainder of a given duration, said at least one association of single-activity network traces may comprise a first association formed by the first part resulting from the splitting of the first single-activity network trace and by the whole of the second single-activity network trace, at least one multi-activity network trace may be generated from the first association.
[0026] Thus, the generated multi-activity network trace illustrates a multi-activity situation over its entire duration, not just over a portion of the generated multi-activity network trace. It therefore constitutes better training data for building a model based on a set of flow recognition rules, or for building a flow recognition artificial intelligence model, obtained by machine learning.
[0027] Further in addition, said at least one association of single-activity network traces may comprise a second association formed by the remainder of the first single-activity network trace and by a part of the second single-activity trace having the duration closest possible to the given duration of the remainder, and at least one multi-activity network trace may be generated from the second association.
[0028] Thus, it is made possible to generate several multi-activity network traces with a single association of single-activity network traces. It is thus made possible to build a large database of multi-activity network traces.
[0029] In addition or as a variant, the first single-activity network trace may have a duration at least twice as long as a duration of the second single-activity network trace, the first single-activity network trace may be split into the first part, the remainder and at least one second part of duration as close as possible to a duration of the second single-activity network trace, the second single-activity network trace may be duplicated in at least one copy, said at least one association of single-activity network traces may comprise at least one other association formed by the second part of the first single-activity network trace and said at least one copy of the second single-activity network trace, and at least one multi-activity network trace may be generated from said at least one other association.
[0030] Thus, the number of multi-activity network traces generated from the same association of single-activity network traces is maximized.
[0031] According to embodiments, according to a first merging technique, the first multi-activity network trace can be generated by ordering the first packets of the first set and the second packets of the second set only according to the first timestamp values of the first packets of the first set and the second timestamp values of the second packets of the second set.
[0032] It is thus made possible to generate a first multi-activity trace which illustrates a situation of simultaneous implementation of the first and second digital activities, also called a “multitasking” situation.
[0033] In addition or as a variant, according to a second fusion technique, the generation of the second multi-activity network trace can comprise the definition of a parameter P identifying a minimum duration for a given activity, and the second multi-activity network trace s may comprise at least one alternation of a first subset of first packets of the first set and a second subset of second packets of the second set, each first and second subset having a duration greater than or equal to the minimum duration identified by the parameter P.
[0034] It is thus made possible to generate a second multi-activity trace which illustrates a situation of alternating implementation of the first and second digital activities, also called a “task-switching” situation.
[0035] Additionally, the parameter P may be fixed, or may be defined randomly or pseudo-randomly within a predetermined range of values for each first subset and each second subset.
[0036] Thus, the generation of multi-activity network traces is configurable according to the invention. The parameter P can be set to different values for different iterations of the method, which allows greater variability in the generated multi-activity network traces.
[0037] In addition or as a variant, the generation of the second multi-activity network trace according to the second fusion technique may further comprise the definition of a parameter D identifying a transition duration between two digital activities, and the second multi-activity network trace may comprise an empty interval between each alternation from a first subset to a second subset or from a second subset to a first subset, the empty interval having a duration defined from the parameter D.
[0038] Thus, the second synthesized multi-activity network trace more faithfully represents a situation in which a user alternates between several digital activities.
[0039] According to embodiments, the method may be iterated after obtaining several first and second single-activity data sets, and the multi-activity network traces may be stored in a database.
[0040] It is thus made possible to constitute a large database, which can be used to train data flow classification models, which makes it possible to improve network management, network security, quality of service, or to propose new services.
[0041] According to a hardware aspect, the invention relates to a module for generating at least one multi-activity network trace comprising: - an interface capable of obtaining at least a first data set comprising at least a first single-activity network trace associated with a first digital activity, and of obtaining at least a second data set comprising at least a second single-activity network trace associated with a second digital activity; - a processor configured for generating at least one multi-activity network trace s from the first data set and the second data set, said at least one multi-activity network trace identifying first packets of said first single-activity network trace and second packets of said second single-activity network trace.
[0042] According to another material aspect, the invention also relates to a computer program capable of being implemented on a generation module, the program comprising code instructions which, when the program is executed by a processor, carry out the steps of the defined method.
[0043] Such programs may use any programming language. They may be downloaded from a communications network and / or recorded on a computer-readable medium.
[0044] According to another material aspect, the invention relates to a data medium on which at least one series of program code instructions has been stored for the execution of the method defined above.
[0045] According to another material aspect, the invention relates to a system comprising a defined generation module, and at least one user terminal capable of transmitting and / or receiving said first packets and / or said second packets. Brief description of the drawings
[0046] The invention will be better understood on reading the following description, given by way of example and with reference to the appended drawings in which:
[0047] [Fig.l] illustrates an example of an environment for implementing the invention according to embodiments.
[0048] [Fig.2] illustrates a plurality of single-activity data sets, each comprising at least one single-activity network trace.
[0049] [Fig.3] is a method for generating a multi-activity network trace according to embodiments of the invention.
[0050] [Fig.4a] illustrates an alignment of a first single-activity network trace and a second single-activity network trace, selected during the implementation of a method for generating at least one multi-activity network trace, according to embodiments of the invention.
[0051] [Fig.4b] illustrates a formation of associations of single-activity network traces, during the implementation of a method for generating at least one multi-activity network trace, according to embodiments of the invention.
[0052] [Fig.5a] illustrates a first multi-activity network trace obtained by a first technique for merging single-activity network traces, according to embodiments of the invention.
[0053] [Fig.5b] illustrates a second multi-activity network trace obtained by a second technique for merging single-activity network traces, according to embodiments of the invention.
[0054] [Fig.6] illustrates a module for generating at least one multi-activity network trace according to embodiments of the invention. Description of the embodiments
[0055] [Fig.l] illustrates an example of an environment for implementing the invention according to embodiments.
[0056] An extended telecommunications network 100, of the IP type, is capable of allowing the exchange of data packets between various network entities which are described in the following.
[0057] Several access points 130.1 to 130.n are represented, n being an integer greater than or equal to two in the example represented in [Fig.l]. No restriction is attached to the integer n which can be equal to several hundreds, or even several thousands, or even several tens or hundreds of thousands.
[0058] In the environment of [Fig.l], the access points 130.1 to 130.n may be home gateways associated with local wireless access networks, such as Wi-Fi networks, 131.1 to 131.n. Thus, user terminals 150.1, 150.2 and 150.n may access digital activity services in the network 100, for example services provided by platforms 121 and 122. Only one terminal has been shown for each access point, but several user terminals may access the network via the same access point. No restrictions are attached to the services provided by the platforms 121 and 122, which may be platforms associated with mobile applications, streaming platforms, or any other service.
[0059] The user terminals 150.1, 150.2 and 150.n of the local access networks 131.1 to 131.n can access other types of digital activity services, such as VoIP, chat, mailing, file transfer services, etc.
[0060] A first database 111 comprises a set of single-activity data sets, each single-activity data set being associated with a digital activity identifier and comprising at least one single-activity network trace identifying data packets exchanged on the telecommunications network by a user of the network during a given period for the implementation of the digital activity.
[0061] In particular, each single-activity data set stored in the first database 111 comprises the single-activity network traces, or the single-activity network trace, of a user for a given digital activity, over a given period. For example, the digital activity may be, but is not limited to, chat or instant messaging, telephone calls via VOIP, for “Voice Protocol Over IP”, video streaming, access to applications, including social networking applications such as Facebook™, Instagram™, Youtube™, Twitter™, etc.
[0062] Each digital activity implemented by a user over a given period involves the exchange of packets, for example between an access point 130.1-130.n of the user and a platform 121 or 122, generating a network trace which can be recorded by a network entity, for storage in the first database 111, in association with an identifier of the digital activity.
[0063] No restrictions are attached to the identifier of the digital activity stored in association with a single-activity dataset. For example, the identifier of the digital activity may be chosen from a set of predefined digital activity identifiers, comprising character strings uniquely describing each digital activity: “chat”, “file transfer”, “video streaming”, “audio streaming”, “web browsing”, etc.
[0064] Such a first database 111 grouping together single-activity data sets is well known, and no restriction is attached to the manner in which such a database 111 is constituted. For example, the ISCXVPN2016 database groups together a large number of single-activity data sets comprising single-activity network traces.
[0065] Examples of single-activity data sets stored in the first database 111 are presented with reference to [Fig.2], described below.
[0066] No restriction is attached to the number of digital activities for which single-activity data sets are stored in the first database 111, which is any number greater than or equal to 2.
[0067] No restriction is furthermore attached to the number of single-activity data sets which are stored in the first database 111. Such databases being able to be exploited for machine learning purposes, the set of single-activity data sets stored in the first database 111 may comprise several hundreds, or even several thousands, or even several tens or hundreds of thousands of single-activity training data sets each comprising one or more single-activity training network traces.
[0068] Finally, there are no restrictions on the format of the single-activity network traces that each single-activity data set includes. Single-activity network traces generally include one or more of the following information: duration of the single-activity network trace, size of each data packet exchanged, date of sending / receiving of each packet exchanged also called timestamp value, number of packets in the single-activity network trace, a source identifier such as a source port number and a source IP address, a destination identifier, such as a destination port number and a destination IP address. Each packet may be identified by the timestamp value and by the packet size. Thus, a single-activity network trace corresponds to all the packets exchanged on the network during the performance of a single digital activity over a given time range from or to an access point 130.1 to 130.n of a user. The packets exchanged may be indicated in sequence in the single-activity network trace. A single-activity data set may comprise a single-activity network trace, or several single-activity network traces, for example all the single-activity network traces of a given day for the traffic that concerns a given user. The user may in particular be identified by a network identifier of his access point 130.1 to 130.2.
[0069] Preferably, the single-activity data sets of the set are varied, that is to say that the set of single-activity data sets comprises a large number of single-activity data sets for each of the predefined digital activities, and that within each category, the data sets differ from one another, by the duration of the network traces, by the users concerned, by the time slots concerned, etc.
[0070] According to the invention, a second database 112 can be generated by a generation module 110 capable of generating at least one multi-activity network trace from at least two single-activity data sets each comprising a single-activity network trace. The multi-activity network traces thus generated are stored in the second database 112. The generation of multi-activity network traces is detailed with reference to [Fig. 3] in the following.
[0071] [Fig.2] illustrates a plurality of single-activity data sets each comprising at least one single-activity network trace, the plurality being able to be stored in the first database 111 described previously.
[0072] Each single-activity data set may correspond to a given digital activity of a given user, or of a set of users using a given access point 130.1-130.n, over a given period T, for example over a given day, and may comprise one or more single-activity network traces for the given digital activity. It will be understood that the first database 111 comprises such pluralities of single-activity data sets for several periods T, for example for several days, and for several users, for several digital activities and / or for several access point identifiers 130.1-130.n.
[0073] The plurality of single-activity datasets of [Fig.2] comprises a first single-activity dataset 140.1, a second single-activity dataset 140.2 and a third single-activity dataset 140.3.
[0074] In the following, it is considered, by way of illustration, that the plurality of single-activity data sets of [Fig.2] concerns the user of the first access point 130.1 for a period T corresponding to a given day.
[0075] The first single-activity data set 140.1 may correspond to a first digital activity, for example video streaming, the second single-activity data set 140.2 may correspond to a second digital activity, for example chat, and the third single-activity data set 140.3 may correspond to a third digital activity, for example file transfer.
[0076] In the example described, the first single-activity data set 140.1 comprises a first network trace 141.10 identifying first packets exchanged over a period of several minutes, or even several hours. The first trace 141.10 may, for example, correspond to the viewing of a film in streaming, over a period of more than one hour, for example. The first single-activity data set 140.1 is thus associated in the first database 111 with the digital activity identifier “video streaming”.
[0077] The second single-activity data set 140.2 comprises several second single-activity network traces 141.20, 141.21, 141.22 and 141.23, each identifying the second data packets exchanged over a shorter period than the first single-activity network trace 141.10, for example over a few seconds or a minute. Each second network trace corresponds to the sending / receiving of messages on an instant messaging service. The second single-activity data set 140.2 is thus associated in the first database 111 with the digital activity identifier “chat”.
[0078] The second network traces 141.20 to 141.23 may have different or identical durations.
[0079] The third single-activity data set 140.3 comprises a third single-activity network trace 141.30 identifying third data packets exchanged over a shorter period than the first trace 141.10, for example over a few seconds or a few minutes. The third network trace 141.30 corresponds to the reception of data packets during the downloading of a file, by a protocol of the FTP type in particular, for “File Transfer Protocol” in English.
[0080] The third network trace 141.30, although of a duration of the same order of magnitude as the duration of each second single-activity network trace 141.20-141.23, may comprise a number of third packets significantly greater than the number of second packets of each second trace 141.20-141.23. Thus, two single-activity network traces of similar durations may identify significantly different numbers of packets, which may differ by one or more orders of magnitude.
[0081] It will be understood that the single-activity network traces do not necessarily include the packets exchanged, but identify the packets exchanged by one or more of the following information: timestamp value of each packet, size of each packet, source port number, destination port number, IP address source, destination IP address. In particular, a packet can be identified by the timestamp value and by the packet size. The single-activity network trace can further include the number of packets. Each packet can further correspond to a given index in a single-activity network trace, with consecutively exchanged packets having consecutive indices.
[0082] [Fig.3] is a diagram illustrating the steps of a method for generating at least one multi-activity network trace, according to embodiments of the invention.
[0083] The steps of the generation method of [Fig. 3] can be implemented in the generation module 110 described with reference to [Fig. 1], which can be integrated into any hardware entity having access to the first database comprising the single-activity data sets. In the following, it is considered that the generation module 110 implements each of the steps of the generation method, for illustrative purposes. The generation module 110 can be a server, a communication terminal or a network access point such as a gateway for example. More generally, the generation module comprises any entity having computing capabilities and a memory allowing the implementation of the steps described in the following.
[0084] In a step 300, the generation module 110 obtains a first single-activity data set associated with a first digital activity, and comprising at least a first single-activity network trace identifying first packets exchanged on the network 100 and corresponding to the first digital activity. In the following, it is considered that the first single-activity data set obtained in step 300 is the first single-activity data set 141.1 illustrated with reference to [Fig.2]. However, it will be understood that the first single-activity data set of step 300 is not limited to a first single-activity data set corresponding to a digital activity of the video streaming type.
[0085] The first single-activity data set can be obtained by consulting the first database 111.
[0086] In a step 301, the generation module 110 obtains a second single-activity data set associated with a second digital activity, different from the first digital activity, and comprising at least one second single-activity network trace identifying second packets exchanged on the network 100 and corresponding to the second digital activity. In the following, it is considered that the second single-activity data set obtained in step 301 is the second single-activity data set 141.2 illustrated with reference to [Fig. 2]. However, it will be understood that the second single-activity data set of step 301 is not limited to a second single-activity data set corresponding to a digital activity of the instant messaging / chat type.
[0087] At a step 302, the generation module 110 selects a first combination of a first single-activity network trace of the first single-activity dataset and a second single-activity network trace of the second single-activity dataset. In the example considered, the first single-activity dataset 140.1 comprises a single first network trace 141.10, so the generation module 110 selects the single first network trace 141.10. On the other hand, the second single-activity dataset 140.2 comprises four second network traces 141.20 to 141.23, so four distinct combinations can be obtained with the single first network trace 141.10. The generation module 110 selects one of them, for example the second network trace 141.20 arriving first in the sequence of second network traces 141.20-141.23. The first combination is therefore made up of the first single-activity network trace 141.10 and the second single-activity network trace 141.20.
[0088] In the following, multi-activity network traces are generated from the combination of two single-activity network traces. However, the invention also covers the generation of multi-activity network traces from the combination of three single-activity network traces, or more than three single-activity network traces.
[0089] In a step 303, the generation module 110 aligns the first single-activity network trace 141.10 with the second single-activity network trace 141.20, selected in the first combination. Such an alignment consists of modifying the timestamp of the first packets of the first single-activity trace 141.10 and / or the timestamp of the second packets of the second single-activity network trace 141.20, so that the shortest trace among the first and second single-activity network traces 141.10 and 141.20 is temporally included in the longest single-activity network trace. In this case, the longest single-activity network trace is the first single-activity network trace 141.10. For example, the timestamp values of the first and / or second packets may be modified such that the first single-activity network trace 141.10 and the second single-activity network trace 141.20 start at the same time, i.e. the first packet with the lowest timestamp value of the first selected 141.10 single-activity network trace has the same timestamp value as the second packet with the lowest timestamp value of the second selected 141.20 single-activity network trace.
[0090] Alternatively, the timestamp values of the first and / or second packets may be modified such that the first single-activity network trace 141.10 and the second single-activity network trace 141.20 end at the same time, i.e., the first packet having the highest timestamp value of the first single-activity network trace 141.10 has the same timestamp value as the second packet having the highest timestamp value of the second trace. single-activity network.
[0091] Thus, the alignment may comprise adding a fixed value to the timestamp values of the first packets, or to the timestamp values of the second packets, such that the shortest selected single-activity network trace is temporally included within the longest selected single-activity network trace.
[0092] The result of such an alignment is shown in [Fig.4a]. In the example of [Fig.4a], the alignment allows the first selected single-activity network trace 141.10 to start at the same time as the second selected single-activity network trace 141.20. This example is considered in the following for illustrative purposes only.
[0093] Referring again to [Fig. 3], at a step 304, the generation module 110 forms at least one association of single-activity network traces from the first network trace 141.10 and the second network trace 141.20 aligned. Preferably, said at least one association of single-activity network traces comprises network traces of the same duration. In the following, for illustration purposes, the associations are pairs, i.e. each association comprises two single-activity network traces. However, an association of single-activity network traces according to the invention may comprise strictly more than two single-activity network traces. It is then made possible to generate multi-activity network traces from more than two single-activity network traces.
[0094] The term “pair” therefore corresponds to the association mentioned above, in the particular embodiment in which each association comprises two single-activity network traces.
[0095] Preferably, several pairs of single-activity network traces are formed by the generation module in step 304.
[0096] In particular, if N is the integer part of the ratio of the duration of the longest single-activity network trace to the duration of the shortest single-activity network trace, N+1 pairs of network traces can be created from the first selected network trace 141.10 and the second selected network trace 141.20, and aligned.
[0097] [Fig.4b] illustrates an example of forming associations, in particular pairs, of single-activity network traces, each pair comprising a single-activity network trace comprising part or all of the first single-activity network trace 141.10 and a network trace comprising part or all of the second single-activity network trace 141.20. Thus, the pair comprises a single-activity network trace identifying a first set of first packets among the first packets of the first single-activity network trace 141.10, and a single-activity network trace identifying a second set of second packets among the second packets of the second single-activity network trace 141.20.
[0098] As illustrated in [Fig.4b], in order to constitute four pairs, N being equal to three in the example considered, the first single-activity network trace 141.10, which is the longest, is decomposed into four parts, comprising a first part 141.101, a second part 141.102, a third part 141.103, of duration equal to the duration of the second single-activity network trace, and a fourth part 141.104 which is a remainder of the first single-activity network trace 141.10 when the first, second and third parts 141.101 to 141.103 have been obtained.
[0099] The first packets identified by the information described above, notably timestamp values, are thus distributed between parts 141.101 to 141.103 and the remainder 141.104.
[0100] The second single-activity network trace 141.20 can be duplicated into a first copy 141.20' and into a second copy 141.20”.
[0101] The timestamp values of the second packets identified in the first copy 141.20' are incremented so that the first copy 141.20' is aligned with the second part 141.102.
[0102] The timestamp values of the second packets identified in the second copy 141.20” are incremented so that the second copy 141.20” is aligned with the third part 141.103.
[0103] A third copy 141.20”' of a portion of the second network trace 141.20 of a duration equal to the remainder 141.104 is created by the generation module 110, and the timestamp values of the packets identified in the third copy 141.20'” are incremented so that the third copy 141.20'” is aligned with the remainder 141.104 of the first single-activity network trace 141.10.
[0104] The following four pairs are thus formed by the generation module 110:
[0105] - a first pair 401.1 of single-activity network traces is formed by the first part 141.101 of the first single-activity network trace 141.10 and by the second single-activity network trace 141.20;
[0106] - a second pair 401.2 of single-activity network traces is formed by the second part 141.102 of the first single-activity network trace 141.10 and by the first copy 141.20' of the second single-activity network trace 141.20;
[0107] - a third pair 401.3 of single-activity network traces is formed by the third part 141.103 of the first single-activity network trace 141.10 and by the second copy 141.20” of the second single-activity network trace 141.20;
[0108] - a fourth pair 401.4 of single-activity network traces is formed by the remainder 141.104 of the first single-activity network trace 141.10 and by the third copy 141.20'” of the part of the second network trace 141.20.
[0109] Each of the first copy 141.20' and the second copy 141.20” includes all of the second packets identified by the information indicated previously, including timestamp values, of the second single-activity network trace 141.20.
[0110] Note that according to the invention, the generation module 110 forms at least one of these pairs 401.1 to 401.4. For example, the generation module 110 forms at least the first pair 401.1.
[0111] In the following, the following steps are applied to the first pair 401.1, in order to simplify the presentation of the invention. However, the following steps are preferably iterated and applied to each pair formed in step 304, so as to increase the number of multi-activity network traces generated by the method according to the invention.
[0112] In a step 305, the generation module generates at least one multi-activity network trace from the first pair 401.1 formed in step 304, the multi-activity network trace identifying the first packets of the first set and the second packets of the second set. The packets thus grouped together identify packets relating to two distinct digital activities, and the network trace generated is therefore indeed a multi-activity network trace. The multi-activity network trace thus generated may further be associated with a multi-activity category, which may identify the first digital activity and the second digital activity. For example, the multi-activity category associated with the multi-activity network trace obtained from the first pair 401.1 is a “video streaming - chat” category.Other multi-activity categories may be predefined, based on at least some of the pairs formed by two different digital activities, such as “audio streaming - chat”, “audio streaming - mail”, “video streaming - mail”, etc. Such an association between a multi-activity network trace and the multi-activity category to which it corresponds makes it easier to exploit the data generated, whether for the purposes of analyzing the quality of service of the network, for security purposes, or for the purposes of identifying data flows, in particular when the associations between multi-activity network traces and multi-activity category are used as training data for artificial intelligence models built by machine learning, in particular by supervised learning.
[0113] The generation step 305 may comprise merging the single-activity network traces of the first pair 401.1 according to a first merging technique (described below with reference to [Fig.5a]), corresponding to a first merging step 306.1, to obtain a first multi-activity network trace. The generation step 305 may comprise, alternatively or in a complementary manner, merging the single-activity network traces of the first pair 401.1 according to a second merging technique (described below with reference to [Fig.5b]), corresponding to a second merge step 306.2, to obtain a second multi-activity network trace.
[0114] As indicated, the merging steps 306.1 and 306.2 may be alternative, that is to say that the generation module 110 may be able to implement one or the other of the two merging techniques, and to obtain one or the other of the first and second multi-activity network traces. According to a variant, the generation module 110 is able to implement the two merging techniques, and selects one or the other according to a determined criterion, for the implementation of the generation step 305, to obtain one or the other of the first and second multi-activity network traces. As a further variant, preferably, the generation module 110 is capable of implementing the two fusion techniques, and implements them sequentially or in parallel during the generation step 305, so as to obtain the first and second multi-activity network traces from each pair of single-activity network traces resulting from step 304.This makes it possible to generate more multi-activity network traces, which is particularly advantageous in the case of using multi-activity network traces for supervised learning of artificial intelligence models.
[0115] At a step 307, said at least one multi-activity network trace generated at step 305 may be stored in the second database 112, each multi-activity network trace preferably being stored in association with a multi-activity category from a set of predefined multi-activity categories.
[0116] Other multi-activity network traces can be obtained by iterating the method previously described, following step 307: - if other pairs than the first pair 401.1 have been created in step 304, steps 305 and 307 can be repeated for the other pairs, in order to generate other multi-activity network traces; - otherwise, and if a combination of a first single-activity network trace of the first single-activity data set and a second single-activity network trace of the second single-activity data set other than the first combination has not yet been selected during step 302 by the generation module 110, the method can be iterated by returning to step 302 for selection of a second combination. In the example described, the second combination can comprise the single first single-activity network trace 141.10 and another second single-activity network trace of the second single-activity data set 140.2, for example the second single-activity network trace 141.21;
[0117] - otherwise, that is to say if all the pairs created in step 304 have been used to generate multi-activity network traces, and if all combinations of the first and second single-activity network traces of the first and second single-activity datasets 140.1 and 140.2 were selected in step 302 to generate multi-activity network traces, the method can be iterated by the generation module from step 300, until receiving new first and second single-activity data sets at steps 300 and 301.
[0118] The successive storage of multi-activity network traces in step 307, following several iterations, for example, following several hundreds, several thousands, or even several tens of thousands of iterations, thus makes it possible to constitute a set of multi-activity network traces in the second database 112. Preferably, the method is implemented on first and second single-activity data sets, corresponding to first and second varied activities, so that the second database 112 comprises at least several hundreds, or even several thousands, of multi-activity network traces for each multi-activity category among the set of predefined multi-activity categories. Furthermore, for each multi-activity category, multi-activity network traces with varied durations can be obtained.For example, the variance of the distribution of durations of multi-activity network traces for each multi-activity category may be greater than a given threshold. Furthermore, as described previously, multi-activity network traces may be generated from associations of strictly more than two single-activity network traces, for example from triplets or quadruplets formed in step 304, after a combination of more than two single-activity network traces has been selected in step 302.
[0119] [Fig.5a] shows a first multi-activity network trace generated during step 306.1 corresponding to the first technique for merging single-activity network traces of a pair created by the generation module, according to embodiments of the invention. Such a first merging technique is applicable to an association of strictly more than two single-activity network traces created by the generation module.
[0120] According to the invention, the first fusion technique allows the generation of a first multi-activity network trace of a first type, the first type representing a situation of simultaneous implementation of the first digital activity and the second digital activity, also called a “multitasking” situation in English.
[0121] Step 306.1 of the first merging technique may be based on the logical substeps described below. Let trace_l be the single-activity network trace belonging to the first pair 401.1 and coming from the first single-activity network trace 141.10, that is to say the first part 141.101 in the example described previously; Let trace_2 be the single-activity network trace belonging to the first pair 401.1 and coming from the second single-activity network trace 141.20, that is to say the second single-activity network trace 141.20 itself; Let index_l be the variable representing the index of the packets identified in trace_l. Thus, trace_l[index_l] denotes the packet with index index_l identified in the single-activity network trace trace_l; Let index_2 be the variable representing the index of the packets identified in trace_2. Thus, trace_2[index_2] denotes the packet with index index_2 identified in the single-activity network trace trace_2; Let length() be the function representing the length of a trace, in number of indices; length() therefore represents the number of packets identified by a given trace; Let date() be a function indicating a date of arrival of a packet, which corresponds to the timestamp value presented previously;
[0122] Let multitasking_tracel be the first multi-activity network trace of the first type from step 306.1.
[0123] The variables index_l and index_2 can be initialized to a predetermined initialization value, for example to zero or 1.
[0124] As long as index_l < length(trace_l) and index_2 < length(trace_2): - if date(trace_l[index_l])< date(trace_2[index_2]): add trace_l[index_l] to multitasking_tracel; increment index_l by 1;
[0125] - otherwise, if date(trace_l[index_l])>date(trace_2[index_2]): add trace_2[index_2] to multitasking_tracel; increment index_2 by 1;
[0126] - otherwise, if date(trace_l[index_l]) =date(trace_2[index_2]):
[0127] choose (randomly or according to a given criterion) one of the packets trace_l[index_l] and trace_2[index_2], add the chosen packet to multitasking_tracel, and increment the index of the trace of the chosen packet. Note that in this case, the non-chosen packet is added to the next iteration of multitasking_tracel.
[0128] Thus, according to the above logic, the first packets from the first part 141.101 of the first single-activity network trace 141.10 and the second packets from the second single-activity network trace 141.20 are ordered only according to their timestamp values in the first multi-activity network trace generated in step 306.1.
[0129] It is thus made possible to obtain the first multi-activity trace of the first type.
[0130] [Fig.5a] illustrates the implementation of the first technique on the first pair 401.1 of single-activity network traces.
[0131] In [Fig.5a], for illustration purposes, the first part 141.101 of the first trace single-activity network trace 141.10 comprises four first packets with indices between 1 and 4, and the second single-activity network trace 141.20 comprises three second packets with indices between 1 and 3. The respective timestamp values of the first packets are indicated in a line 502.1 and the timestamp values respective second packets are indicated in a 502.2 line.
[0132] The first multi-activity network trace 501 is obtained by ordering the first packets and the second packets only according to their respective timestamp values, indicated in a line 502.3, and the first multi-activity network trace 501 thus comprises seven packets, including four first packets and three second packets.
[0133] In the example of [Fig.5a], the timestamp values of lines 502.1, 502.2 and 502.3 are expressed in seconds.
[0134] [Fig.5b] shows a second multi-activity network trace obtained in step 306.2 corresponding to the second technique for merging single-activity network traces of a pair created by the generation module, according to embodiments of the invention. Such a second merging technique is applicable to an association of strictly more than two single-activity network traces created by the generation module.
[0135] According to the invention, the second fusion technique allows the generation of at least one second multi-activity network trace of a second type, the second type representing a situation of alternating implementation of the first digital activity and the second digital activity, also called a “task-switching” situation in English. In an alternating situation, each activity is carried out for a given duration, noted P in the following, and the generation module 110 further takes into account a transition duration D from one digital activity to the other.
[0136] Step 306.2 of the second merging technique may be based on the logical substeps described below.
[0137] Let P be a parameter that defines a duration during which a digital activity is performed before alternating with the other activity. No restriction is attached to the value of P, which can be fixed or can be selected randomly or semi-randomly in a given interval. In the following, P is a fixed value that is equal to 2 seconds, for illustrative purposes.
[0138] Let D be a parameter that defines a transition duration between the two digital activities. No restriction is attached to the value of D, which can be a fixed value or can be selected randomly or semi-randomly in a given interval. In the following, it is considered, for illustrative purposes, that D is selected randomly in an interval between 0.1 and 0.5 seconds.
[0139] Let trace_l be the single-activity network trace belonging to the first pair 401.1 and coming from the first single-activity network trace 141.10, i.e. the first part 141.101 in the example described previously. Let trace_2 be the single-activity network trace belonging to the first pair 401.1 and coming from the second single-activity network trace 141.20, that is to say the second single-activity network trace 141.20 itself.
[0140] Let multitasking_trace2 be the second multi-activity network trace of the second type from step 306.2.
[0141] Let the function sub_trace(P,T) be a function that returns a sub-trace of duration P (or of duration closest to P, depending on the packets in the trace T) from a single-activity network trace T. Alternatively, sub_trace(P,T) returns the smallest sub-trace of the single-activity network trace T whose duration is greater than P.
[0142] As long as trace_l and trace_2 are non-empty, the following steps are implemented: - generate a parameter value P. In the example considered here, the parameter P is fixed and equal to 2 seconds;
[0143] - add the packets identified in the subtrace sub_trace(P,trace_l) to mul- titasking_trace2; - delete the subtrace sub_trace(P,trace_l) from trace_l; - generate a value of parameter D. In the example considered here, parameter D is randomly selected in the interval [0.1; 0.5]; - add an empty interval of duration D to multitasking_trace2. Adding such an interval is equivalent to changing the timestamp value of the next added packet to a value equal to the sum of the timestamp value of the last added packet and D; - generate a parameter value P. In the example considered, P being fixed, this new generation of P leads to obtaining again a value equal to 2 seconds; - add the packets identified in the subtrace sub_trace(P,trace_2) to mul-titasking_trace2;
[0144] - delete the subtrace sub_trace(P,trace_2) of trace_2; - generate a value of parameter D. In the example considered here, parameter D is randomly selected in the interval [0.1; 0.5];
[0145] - add an empty interval of duration D to multitasking_trace2.
[0146] In other words, the second multi-activity trace is obtained by alternating sub-traces, or sets of packets, of given duration P of the two single-activity network traces of the first pair 401.1, an empty interval of duration D being provided in the second multi-activity trace between two consecutive sub-traces from different single-activity network traces.
[0147] [Fig.5b] illustrates the implementation of the second technique on the first pair 401.1 of single-activity network traces.
[0148] In [Fig.5b], for illustration purposes, the first part 141.101 of the first single-activity network trace 141.10 comprises five first packets with indices between 1 and 5, and the second single-activity network trace 141.20 comprises four second packets with indices between 1 and 4. The respective timestamp values of the first packets are indicated in a line 512.1 and the respective timestamp values of the second packets are indicated in a line 512.2.
[0149] The second multi-activity network trace 511 is obtained by alternating sub- traces, or sets of packets, of given duration P of the two single-activity network traces of the first pair 401.1, an empty interval of duration D being provided in the second multi-activity trace between two consecutive sub-traces from different single-activity network traces.
[0150] Thus, a first sub-trace comprises the second packets of index 1 to 3 of the second single-activity network trace 141.20, a second sub-trace comprises the first packets of index 1 and 2 of the first part 141.101, a third sub-trace comprises the second packet of index 4 of the second single-activity network trace 141.20, and a fourth sub-trace comprises the first packets of index 3 to 5 of the first part 141.101. A 512.3 line shows the packet timestamp values of the subtraces above. The packet timestamp values of a given subtrace are determined by summing: - the timestamp value of the last packet of the previous subtrace; - the empty interval of duration D determined between the previous subtrace and the given subtrace; - the timestamp value initially assigned to the packet, i.e. the timestamp values of lines 512.1 and 512.2.
[0151] The D values of the empty intervals between the subtraces are determined randomly in the interval [0.1-0.5], and the following D values are obtained, as an example: - 0.3 seconds for the empty interval between the first subtrace and the second subtrace; - 0.1 seconds for the empty interval between the second subtrace and the third subtrace; - 0.5 seconds for the empty interval between the third subtrace and the fourth subtrace.
[0152] In the example of [Fig.5b], the timestamp values of lines 512.1, 512.2 and 512.3 are expressed in seconds.
[0153] [Fig.6] presents the structure of a generation module 110 of at least one multi-activity network trace, according to embodiments of the invention.
[0154] The generation module 110 comprises a processor 601 configured to communicate unidirectionally or bidirectionally, via one or more buses or via a direct wired connection, with a memory 602 such as a memory of the “Random Access Memory” type, RAM, or a memory of the “Read Only Memory” type, ROM, or any other type of memory (Flash, EEPROM, etc.). Alternatively, the memory 602 comprises several memories of the aforementioned types.
[0155] The memory 602 comprises at least one non-volatile memory in which are stored, temporarily or permanently, the data used and / or resulting from the implementation of the steps of the generation method according to the invention described with reference to [Fig.3].
[0156] In particular, the memory 602 can store the single-activity data sets obtained in steps 300 and 301, the single-activity network traces from these data sets, the single-activity network traces aligned during step 303, the pairs of single-activity network traces from step 304 as well as said at least one multi-activity network trace generated during step 305. The storage of step 307 can however correspond to storage in a memory external to the generation module 110, such as storage in the second database 112 for example. Alternatively, at least one of the databases 111 and 112 is integrated into the memory 602. However, the size of the databases 111 and 112 being preferably very large, of the order of several thousands, or even hundreds of thousands of network traces, storage in databases 111 and 112 external to the generation module 110 is preferable.
[0157] The processor 601 is capable of executing instructions, stored in the memory 602, for implementing the steps of the generation method according to the invention, described with reference to [Fig.3].
[0158] The generation module 110 comprises a first interface 603 capable of receiving single-activity data sets during the steps 300 and 301 described previously. For example, the first interface 603 is capable of querying the first database 111 to obtain the first and second single-activity data sets.
[0159] The generation module 110 further comprises a second interface 604 capable of transmitting the at least one multi-activity network trace generated during step 305, in particular for storage in the second database 112 during step 307.
Claims
Claims
1. A method for generating at least one multi-activity network trace, the method comprising generating (305) said at least one multi-activity network trace (501; 511) from at least one first data set (140.1) and a second data set (140.2) respectively comprising at least one first single-activity network trace (141.10) associated with a first digital activity and at least one second single-activity network trace (141.20-141.23) associated with a second digital activity, said at least one multi-activity network trace identifying first packets of said first single-activity network trace and second packets of said second single-activity network trace.
2. The method of claim 1, wherein the generation (305) of said at least one multi-activity network trace (501; 511) is implemented based on timestamp values of the first packets of said first single-activity network trace (141.10) and the second packets of said second single-activity network trace (141.20-141.23).
3. The method of claim 1 or 2, further comprising forming (304) at least one association (401.1-401.4) single-activity network traces comprising at least part or all of the first single-activity network trace, identifying a first set of first packets among the first packets of the first single-activity network trace, and part or all of the second single-activity network trace, identifying a second set of second packets among the second packets of the second single-activity network trace; said at least one multi-activity network trace (501; 511) is generated from said at least one association, as a function of first timestamp values of the first packets of the first set and second timestamp values of the second packets of the second set, said at least one multi-activity network trace identifying the first packets of the first set and the second packets of the second set.
4. A method according to claim 2 or 3, comprising time-aligning (303) the first single-activity network trace (141.10) and the second single-activity network trace (141.20-141.23) by modifying the timestamp values of the first packets identified in the first single-activity network trace and / or by modifying the timestamp values of the second packets identified in the second single-activity network trace.
5. The method of claim 4, wherein the first single-activity network trace (141.10) and the second single-activity network trace (141.20) have different durations, the first single-activity network trace having a duration longer than a duration of the second single-activity network trace, and wherein the temporal alignment (303) comprises a splitting of the first single-activity network trace into at least a first portion (141.101) of duration as close as possible to a duration of the second single-activity network trace, and a remainder (141.104) of a given duration, wherein said at least one association (401.1-401.4) of single-activity network traces comprises a first association (401.1) formed at least by the first part resulting from the splitting of the first single-activity network trace and by the whole of the second single-activity network trace, in which at least one multi-activity network trace is generated (305) from the first association.
6. The method of claim 5, wherein said at least one association (401.1-401.4) of single-activity network traces comprises a second association (401.4) formed by the remainder (141.104) of the first single-activity network trace (141.10) and by a portion (141.20'”) of a copy of the second single-activity trace (141.20-141.23) having the closest possible duration to the given duration of the remainder, wherein at least one multi-activity network trace is generated (305) from the second association.
7. Method according to one of the preceding claims, wherein, according to a first fusion technique, the first multi-activity network trace (501) is generated (305) by ordering the first packets of the first set and the second packets of the second set only according to the first timestamp values of the first packets of the first set and the second timestamp values of the second packets of the second set.
8. Method according to one of the preceding claims, in which, according to a second fusion technique, the generation of the second multi-activity network trace (511) comprises the definition of a parameter P identifying a minimum duration for a given activity, and in which the second multi-activity network trace comprises at least one al- transmission of a first subset of first packets of the first set and a second subset of second packets of the second set, each first and second subset having a duration greater than or equal to the minimum duration identified by the parameter P.
9. The method of claim 8, wherein the parameter P is fixed, or is defined randomly or pseudo-randomly within a predetermined range of values for each first subset and each second subset.
10. The method of claim 8 or 9, wherein generating the second multi-activity network trace (511) according to the second fusion technique further comprises defining a parameter D identifying a transition duration between two digital activities, and wherein the second multi-activity network trace comprises an empty interval between each alternation from a first subset to a second subset or from a second subset to a first subset, the empty interval having a duration defined from the parameter D.
11. Method according to one of the preceding claims, in which the method is iterated after obtaining (300; 301) several first and second single-activity data sets, and in which the multi-activity network traces are stored (307) in a database.
12. Generation module (110) of at least one multi-activity network trace (501; 511) comprising: - an interface (603) capable of obtaining at least one first data set (140.1) comprising at least one first single-activity network trace (141.10) associated with a first digital activity, and of obtaining at least one second data set (140.2) comprising at least one second single-activity network trace (141.20-141.23) associated with a second digital activity; - a processor (601) configured to generate at least one multi-activity network trace (501; 511) from the first data set (140.1) and the second data set (140.2), said at least one multi-activity network trace identifying first packets of said first single-activity network trace and second packets of said second single-activity network trace.
13. A computer program implementable in a generation module as defined in claim 12, the program comprising code instructions which, when executed by a processor (601), carries out the steps of the method defined in one of claims 1 to 11.
14. A computer-readable data carrier on which at least one series of program code instructions has been stored for executing the method according to one of claims 1 to 11.
15. System comprising a generation module according to claim 12, and at least one user terminal (150.1-150.n) capable of transmitting and / or receiving first packets and / or second packets.
