Performance measurement via user communication equipment

By installing performance measurement applications on user communication equipment, marking and detecting performance parameters of packet flows, the problem of high complexity of network nodes in the prior art is solved, and efficient monitoring of the performance of multiple packet flows is achieved.

CN116057903BActive Publication Date: 2025-04-15TELECOM ITALIA SPA
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202180044248.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-05-27
Filing Date
2021-05-26
Publication Date
2025-04-15
Estimated Expiration
2041-05-26

AI Technical Summary

Technical Problem

In packet-switched communication networks, prior art requires the deployment of complex measurement points at network nodes to detect multiple packet flows, resulting in high computational workload and complex node selection.

Method used

By installing a performance measurement application on the user communication device, the application can activate the marking function on the packet flow, mark up and down packets, and provide performance parameters to achieve performance measurement of the packet flow.

Benefits of technology

This method eliminates the need to deploy a large number of measurement points on network nodes, significantly reducing the number and complexity of measurement points, and can monitor the performance of multiple packet streams sent over the network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116057903B_ABST
    Figure CN116057903B_ABST
Patent Text Reader

Abstract

A performance measurement application for a user communication device is disclosed. The device runs at least one user application that exchanges at least one packet stream with a packet-switched communication network. When executed, the performance measurement application receives a request from an owner of the user communication device to perform a performance measurement. In response to such a request, the performance measurement application activates a marking function, the marking function comprising marking an uplink packet of the packet stream to be measured and inducing a network node that originates a downlink packet of the packet stream to be measured to mark a downlink packet. The performance measurement application then provides performance parameters related to the sent marked uplink packets and / or the received marked downlink packets, and based on such parameters, provides a performance measurement. The measurement results are then shared with a measurement management server.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communication networks. More particularly, the present invention relates to a computer program product, a system and a method for performing performance measurements by a user communication device connected to a packet-switched communication network. Background Art

[0002] In a packet-switched communication network, a packet stream is sent from a source node to a destination node through possible intermediate nodes. Exemplary packet-switched networks are IP (Internet Protocol) networks, Ethernet networks, and MPLS (Multi-Protocol Label Switching) networks. IP networks may support QUIC (Quick UDP Internet Connections), which is a transport layer (layer 4) network protocol over User Datagram Protocol (UDP) designed to support multiplexed connections between two endpoints (client and server).

[0003] The performance of a packet-switched communication network is usually measured in terms of packet loss and / or delay and / or jitter. These measurements can be one-way or round-trip.

[0004] Measurement techniques are known which operate directly on a packet stream carrying user data, without the need to send any artificial packets specifically for measurement purposes (such as ping packets or the like). These techniques generally provide for marking packets of the packet stream to be measured, and for deploying one or more measurement points on the path of the marked packets. Each measurement point provides one or more performance parameters (usually counters and / or timestamps) related to the marked packets, which are then used to determine the performance of the packet stream. Some of these techniques require a single measurement point implemented on the path of the marked packets, said measurement point being able to autonomously determine a performance measurement (e.g. a packet loss measurement or a delay measurement) based on its own performance parameters (i.e. without using performance parameters provided by other measurement points).

[0005] B.Trammel et al.:Internet draft "The addition of a Spin Bit to the QUIC Transport Protocol draft-trammel-quic-spin-01", December 13, 2017 describes the addition of a so-called "delay spin bit" (or simply "spin bit") in the QUIC header, which enables RTT (round-trip time) measurement between the client and server of a QUIC connection through a measurement point located on the connection.

[0006] M.Cociglio et al.: Internet Draft "New Spin bit enabled measurementswith one or two more bits draft-cfb-ippm-spinbit-new-measurements-01", July 1, 2019 describes the addition of a so-called loss bit in the QUIC header that enables round-trip packet loss measurements between the client and server of a QUIC connection via a measurement point located on the connection.

[0007] A. Ferrieux et al.: Internet Draft "Packet Loss Signaling for Encrypted Protocols draft-ferrieuxhamchaoui-quic-lossbits-03", January 16, 2020 describes an extension of the QUIC protocol, which introduces two bits in the packet header, namely the Q bit (square wave signal bit) and the L bit (loss event bit). The Q bit and the L bit are located at measurement points on the connection to achieve different types of unidirectional packet loss measurements (including end-to-end measurement, uplink measurement, and downlink measurement). Summary of the invention

[0008] Applicants have been notified of providing a performance measure (e.g., by any of the known techniques described above) that is indicative of the actual overall performance of a packet-switched network, while providing results with a desired granularity and requiring monitoring of all packet flows sent through the network, or at least a significant portion thereof. Since nodes of a communication network are typically spanned by multiple packet flows, a measurement point implemented at a network node should be configured to detect multiple packet flows and provide performance measures associated with each of the multiple packet flows. This would require a significant amount of computational effort by the measurement point.

[0009] Furthermore, the selection of nodes at which measurement points should be implemented in order to ensure that all packet flows (or at least a significant part thereof) are monitored is also complex.

[0010] In view of the above, the Applicant has perceived a need to provide techniques for performing performance measurements of packet-switched communication networks that overcome or mitigate the above-mentioned disadvantages.

[0011] In particular, the Applicant has addressed the problem of providing a technique for performing performance measurements of a packet-switched communication network which does not require a complex solution of deploying measurement points at the network nodes which are able to detect multiple packet flows.

[0012] According to an embodiment of the present invention, this problem is solved by a computer program product (also referred to as a "performance measurement application" in the following description) suitable for installation on a user communication device (such as a smart phone, PC, tablet computer, IoT device, etc.). The user communication device is provided with at least one user application (such as a browser, a video conferencing application, a social networking application, an e-commerce application, an e-banking application, etc.) configured to exchange at least one packet flow (usually a bidirectional packet flow) with a packet switching communication network. When the performance measurement application is run by the user communication device, the performance measurement application can receive a request from the device owner to perform performance measurement on the packet flow exchanged by the user application. In response to the request, the performance measurement application activates a marking function on the packet flow, the marking function including marking the uplink packets of the packet flow to be measured, and inducing the network node that is initiating the downlink packets of the packet flow to be measured to consistently mark the downlink packets. Then, the performance measurement application detects the uplink packets as the mark sent by the user communication device and / or the downlink packets as the mark received by the user communication device, provides at least one performance parameter (such as a counter or a timestamp) related thereto, and provides performance measurement based on such performance parameters. Then, the performance measurement application shares the measurement results with the measurement management server.

[0013] In the present specification and claims, the expression "marking a packet" or "marking a packet stream" shall mean setting the value of one or more measurement-specific fields in a packet or in each packet of a packet stream to support the operation of performance measurement. The number of measurement-specific fields, the location of the measurement-specific fields within the packet, and the marking rules depend on the protocol formatting the packet and the type of performance measurement. By way of non-limiting example, if the packet stream to be measured is formatted according to the QUIC protocol, the measurement-specific fields may include rotation bits as disclosed by the above-known Internet Draft of B. Trammel et al. and / or loss bits disclosed by the above-known Internet Draft of M. Cociglio et al. and / or Q bits and L bits disclosed by the above-known Internet Draft of A. Ferrieux et al.

[0014] The performance measurement application according to an embodiment of the present invention then advantageously acts as a measurement point capable of autonomously monitoring any (or even all) packet flows exchanged by the user communication device with the packet-switched communication network. Since the user communication device typically uses a limited number of user applications that exchange a limited number of packet flows, the maximum number of packet flows to be measured by the performance measurement application is also limited and can be managed by the computing resources typically available at the user communication device.

[0015] Therefore, if the performance measurement application is installed on multiple user communication devices, a corresponding number of measurement points will be available, which will provide the measurement management server with performance measurements for multiple packet flows sent through the network. The performance measurement application and the measurement management server then form a performance measurement system that is capable of monitoring all packet flows sent through the network (or at least a significant portion thereof), while significantly reducing the number of measurement points to be deployed at network nodes and their complexity (in terms of the number of packet flows to be monitored by each measurement point).

[0016] According to a first aspect, the present invention provides a computer program product for a user communication device provided with at least one user application adapted to exchange at least one packet stream with a packet switched communication network, the computer program product comprising instructions which, when executed by a processor of the user communication device, cause the processor of the user communication device to perform the following steps:

[0017] a) receiving a request from an owner of the user communication device to perform performance measurements on the packet flow;

[0018] b) in response to the request, activating a marking function on the packet flow, the marking function comprising marking an upstream packet of the packet flow and inducing a network node of the packet switching communication network that originates a downstream packet of the packet flow to mark the downstream packet;

[0019] c) providing at least one performance parameter associated with said marked uplink packets as transmitted by said user communication device and / or said marked downlink packets as received by said user communication device, and providing a performance measurement of said packet flow based on said at least one performance parameter; and

[0020] d) Sharing said performance measurements with a measurement management server.

[0021] According to some embodiments, the measurement functionality is embedded in the user application and step b) comprises instructing the user application to activate the marking functionality.

[0022] According to other embodiments, at step b), the marking function is implemented by the computer program product itself.

[0023] Preferably, at step b), marking the uplink packet of the packet flow includes setting the value of at least one measurement-specific field in the uplink packet, and inducing the network node of the packet-switched communication network that initiates the downlink packet of the packet flow to mark the downlink packet includes inducing the network node to set the value of at least one measurement-specific field in the downlink packet.

[0024] Optionally, the uplink packet and the downlink packet include at least two measurement-specific fields supporting at least two corresponding types of performance measurements, and: step a) includes receiving a request from the owner of the user communication device to perform a type of performance measurement selected from the at least two types of performance measurements, and steps b) and c) are performed on the measurement-specific fields supporting the selected type of performance measurement.

[0025] According to some embodiments, the user application is suitable for exchanging multiple packet flows, and: step a) comprises receiving a request from the owner of the user communication device to perform performance measurements on at least one packet flow selected from the multiple packet flows, and steps b) and c) are performed only for the selected at least one packet flow.

[0026] According to some embodiments, step a) comprises receiving a request from the owner to perform performance measurements on all packet flows exchanged by all user applications run by the user communication device, and steps b) and c) are performed on all packet flows exchanged by all user applications run by the user communication device.

[0027] Optionally, steps b) and c) are performed on all packet flows exchanged by all user applications executed by the user communication device, except for at least one packet flow complying with a filtering criterion selected by the owner.

[0028] Optionally, step d) comprises completing said shared performance measurements with information identifying at least one of said user communication device, said packet flow and said user application.

[0029] Preferably, the computer program product comprises further instructions, which, when the program is executed by the processor of the user communication device, cause the processor of the user communication device to perform the following steps:

[0030] e) sharing said performance measurements with said owner of said user communication device.

[0031] Upon request from the owner, the computer program product can be downloaded and installed on the user communication device.

[0032] Alternatively, the computer program product is part of an operating system of the user communication device.

[0033] According to a second aspect, the present invention provides a method for performing performance measurements on a packet-switched communication network at a user communication device, the user communication device being provided with at least one user application adapted to exchange at least one packet flow with the packet-switched communication network, the method comprising:

[0034] a) receiving a request from an owner of the user communication device to perform performance measurements on the packet flow;

[0035] b) in response to the request, activating a marking function on the packet flow, the marking function comprising marking an upstream packet of the packet flow and inducing a network node of the packet switching communication network that originates a downstream packet of the packet flow to mark the downstream packet;

[0036] c) providing at least one performance parameter associated with said marked uplink packets as transmitted by said user communication device and / or said marked downlink packets as received by said user communication device, and providing a performance measurement of said packet flow based on said at least one performance parameter; and

[0037] d) Sharing said performance measurements with a measurement management server.

[0038] According to a third aspect, the present invention provides a system for performing performance measurements on a packet-switched communication network, the system comprising a measurement management server and at least one user communication device, the at least one user communication device being provided with at least one user application adapted to exchange at least one packet flow with the packet-switched communication network, the at least one user communication device being further configured to:

[0039] - receiving a request from an owner of said user communication device to perform performance measurements on said packet flow;

[0040] - in response to the request, activating a marking function on the packet flow, the marking function comprising marking an upstream packet of the packet flow and inducing a network node of the packet switching communication network that originates a downstream packet of the packet flow to mark the downstream packet;

[0041] - providing at least one performance parameter related to said marked uplink packets as transmitted by said user communication device and / or said marked downlink packets as received by said user communication device, and providing a performance measurement of said packet flow based on said at least one performance parameter; and

[0042] - Sharing said performance measurements with said measurement management server. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] The present invention will become more apparent from the following detailed description, given by way of example and not limitation, which is to be read with reference to the accompanying drawings, in which:

[0044] - Figure 1 Schematically showing a user communication device provided with a performance measurement application according to an embodiment of the present invention;

[0045] - Figure 2Schematically showing the embodiment of the present invention. Figure 1 The structure of a packet sent or received by a user communication device;

[0046] - Figure 3 is a flow chart of the operation of a performance management application according to an embodiment of the present invention; and

[0047] - Figure 4 The architecture of a performance measurement system including a performance measurement application and a measurement management server according to an embodiment of the present invention is schematically shown. DETAILED DESCRIPTION

[0048] Figure 1 A user communication device provided with a performance measurement application according to an embodiment of the invention is schematically shown.

[0049] Depend on Figure 1 The user communication device designated by reference numeral 1 in the figure may be a PC, a smart phone, a tablet computer, an IoT (Internet of Things) device or a user communication device provided with a packet switching communication network 100 (such as Figure 4 The user communication device 1 may be a personal device (usually its user is also its owner) or a commercial device (usually its owner is a natural person or legal person other than its user). Generally, the term "owner" is used in this application and in the claims to indicate an entity that has the right and / or material possibility to install and operate applications or other software on the user device or otherwise has rights on the user device.

[0050] The user communication device 1 is provided with at least one user application A1, which is configured to provide the device 1 with communication services provided by a service provider, such as, for example, web browsing services, video conferencing services, multimedia streaming services, e-commerce services, e-banking services, etc. The user communication device 1 may include multiple user applications that provide different communication services.

[0051] The user application A1 (and other user applications of the device 1, if any) communicates with the packet-switched communication network 100 (in particular with the Figure 4 The network node 2 (usually a server of a service provider) shown in FIG. 1 exchanges a flow of user packets to support the provision of corresponding communication services. The packet flow is usually bidirectional, that is, it includes both uplink packets Pk (i.e., packets sent from device 1 to network 100) and downlink packets Pk' (i.e., packets sent from network 100 to device 1).

[0052] The user application A1 originates an uplink packet Pk to be sent to the network node 2 and terminates a downlink packet Pk' received from the network node 2. The sending of the uplink packet Pk and the receiving of the downlink packet Pk' are performed by a network interface NI included in the user communication device 1.

[0053] like Figure 2 As schematically described in FIG. 1 , each packet Pk, Pk' exchanged by the user application A1 includes a payload PL containing user data and at least one header H. In the case of multiple headers, each header belongs to a different network layer. For example, each packet Pk, Pk' may include a network layer header (such as an IP header) and a transport layer header (such as a QUIC header or a TCP header).

[0054] One of the headers H (usually, a network layer header) includes packet forwarding information, ie, information allowing an uplink packet Pk generated by the user communication device 1 to reach the network node 2 and allowing a downlink packet Pk′ generated by the network node 2 to reach the user communication device 1 .

[0055] Each packet Pk, Pk' also preferably comprises at least one measurement-specific field MF (hereinafter also referred to as "marker field") supporting at least one type of performance measurement on the packet flow Pk, Pk'. The marker field MF may be included in the same header H as the packet forwarding information (e.g. Figure 2 ), in a different header (if present) or in the payload PL. For example, assuming that the packets Pk, Pk' include a network layer header (such as an IP header) and a transport layer header (such as a QUIC header), the marking field MF may be included in the transport layer header.

[0056] The number of marker fields and the location of the marker fields within the packet Pk, Pk' depends on the protocol according to which the packet is formatted and the type of performance measurement supported. By way of non-limiting example, if the packet Pk, Pk' is formatted according to the QUIC protocol, the marker field MF may be in the QUIC header and may include (i) a rotation bit to support RTT measurement according to the Internet draft of B. Trammeletal. above and / or (ii) a loss bit to support round-trip packet loss measurement according to the Internet draft of M. Cociglio et al. above and / or (iii) a Q bit and an L bit to support different types of unidirectional packet loss measurements according to the Internet draft of A. Ferrieux et al. above.

[0057] According to an embodiment of the present invention, the user communication device 1 comprises a performance measurement application 10. The performance measurement application 10 may be downloaded and installed on the user communication device 1, or it may be part of the operating system of the user communication device 1.

[0058] The performance measurement application 10 preferably includes an owner management module 101 , a tag management module 102 , a measurement module 103 , and a sharing module 104 .

[0059] The owner management module 101 is preferably configured to receive a performance measurement request from the owner of the device 1, by which the owner of the device 1 requests to start performance measurement of packet flows exchanged by one or more user applications running on the user communication device 1. The owner management module 101 is also preferably configured to provide measurement results to the owner of the device 1.

[0060] The marking management module 102 is preferably configured to activate a marking function on a packet flow exchanged by a user application in response to a performance measurement request requesting a performance measurement of the packet flow.

[0061] The measurement module 103 is preferably configured to detect packets as markers of a packet stream sent and / or received by the user communication device 1 via its network interface NI and to provide one or more performance parameters (e.g. timestamps and / or counters) related thereto. The measurement module 103 is also configured to autonomously calculate performance measures based on such performance parameters.

[0062] The sharing module 104 is preferably configured to share at least a portion of the measurement results provided by the measurement module 103 with one or more measurement management servers 3, such as Figure 4 . The measurement management server 3 may include a server of any entity that may be interested in collecting performance measurements on the network 100. For example, the measurement management server 3 may include a server of an entity that manages the performance management services provided to the owner through the performance management application 10. Alternatively or additionally, the measurement management server 3 may include a server of a network provider of the network 100. Alternatively or additionally, the measurement management server 3 may include a server of an entity that provides the communication services provided by the user application A1. Alternatively or additionally, the measurement management server 3 may include a server of a manufacturer of the user communication device 10.

[0063] Now refer to Figure 3 The operation of the performance measurement application 10 is described in more detail with reference to the flowchart of FIG.

[0064] At a first step 301, the owner management module 101 of the performance measurement application 10 receives a performance measurement request from the owner of the user communication device 1, by which the owner of the device 1 requests to start performance measurement of packet flows exchanged by a user application (e.g., user application A1) run by the user communication device 1. As mentioned above, depending on the type of user communication device 1 (personal or commercial), the owner of the device 1 may be the same as the user of the device 1, or may be another natural person or legal person other than the user of the device 1. For example, a list of user applications run by the device 1, including the user application A1, may be presented to the owner of the device 1. The owner may select the user application A1 from the list, such selection triggering the sending of a corresponding performance measurement request to the owner management module 101. The list may be presented to the owner of the device 1 in different ways, including a user interface UI of the device 1 (e.g., Figure 1 , which is applicable when the owner is consistent with the user of device 1 ) or a web page through which the owner registers device 1 (and its own other devices, if any) with the performance measurement service provided by performance measurement application 10 .

[0065] If the user application A1 can exchange a single packet stream, the selection of the user application corresponds to the selection of the packet stream to be measured. If instead the user application A1 can exchange multiple packet streams with the packet-switched communication network 100 (e.g. the user application A1 is a browser), the owner can be presented with a list of selectable packet streams (e.g. more frequently visited websites). The owner can select any of the listed websites (each corresponding to a respective packet stream), such selection triggering the sending of a corresponding performance measurement request to the owner management module 101.

[0066] At step 301, the owner management module 101 may also provide the owner with the possibility to select all packet flows of user applications and / or all packet flows of all user applications run by the device 1 simultaneously. In this case, the owner management module 101 may allow the owner to configure one or more filters that automatically exclude activation of any performance measurement of one or more user applications that meet one or more filter criteria. This allows the owner to ensure that some packet flows are excluded from measurement, for example for privacy or security reasons, such as for electronic banking applications or for browsers when used in anonymous mode.

[0067] If the marker field MF in the packet Pk, Pk' supports multiple performance measurement types, the owner of the device 1 can also select the type of performance measurement to be performed. For example, if the marker field MF includes a rotation bit and / or a loss bit and / or a Q bit and an L bit in the QUIC header of the packet Pk, Pk', the available performance measurements include an RTT measurement as disclosed by the above-known Internet draft of B. Trammel et al., a round-trip packet loss measurement as disclosed by the above-known Internet draft of M. Cociglio et al., or any unidirectional packet loss measurement as disclosed by the above-known Internet draft of A. Ferrieux et al. The owner can thus select among these performance measurements.

[0068] Then, after receiving the performance measurement request, the marking management module 102 preferably activates the marking function on the selected packet flows Pk, Pk' (step 302).

[0069] When activated, the marking function provides for marking uplink packets Pk initiated by the user application A1 and for inducing the network node 2 to also mark downlink packets Pk' in order to support the requested performance measurement of the packet flows Pk, Pk'. The marking of the uplink packets Pk and the downlink packets Pk' are mutually consistent because they support the same performance measurement of the packets Pk, Pk'.

[0070] The marking of the packets Pk, Pk' provides for appropriately setting the value of at least one measurement-specific field (also referred to as "marking field" in the following) MF in the packets Pk, Pk'.

[0071] According to an embodiment, the marking function is embedded in the user application A1, i.e. the value of the marking field MF in the uplink packet Pk can be uniquely set by the user application A1. For example, this is the case when the marking field MF of the packets Pk, Pk' is included in the header of a client-server protocol (such as QUIC), the client of which is embedded in the user application A1 itself. In this case, at step 302, the marking management module 102 instructs the user application A1 to activate the marking function.

[0072] Otherwise (for example, in the case where the user application A1 uses TCP as the transport layer protocol), the marking management module 102 can perform its own marking function by appropriately setting the value of the relevant marking field MF.

[0073] In order to induce the network node 2 originating the downstream packet Pk' to mark the downstream packet Pk' in accordance with the marking of the upstream packet Pk, different mechanisms may be used.

[0074] For example, if the marking field MF of the packets Pk, Pk' is included in the header of a client-server protocol (such as QUIC), the client of which is embedded in the user application A1 itself and the server of which is in the network node 2 that initiates the downstream packets Pk', the client in the user application A1 can instruct the server in the network node 2 to start marking the downstream packets Pk'. Such an indication can include sending an explicit marking instruction from the client to the server. Otherwise, the server at the network node 2 can be configured to permanently implement a reflection mechanism, by which the server reflects the value of the marking field MF in the received upstream packets Pk into the marking field MF of the corresponding downstream packets Pk'. In this case, as the client in the user application A1 starts marking the upstream packets Pk, the server in the network node 2 receives the upstream packets Pk and - by simply continuing to implement its reflection mechanism - automatically marks the downstream packets Pk' in accordance with the marking of the upstream packets Pk.

[0075] According to other embodiments, the tag management module 102 may send a tag instruction to the network node 2 , or negotiate the tag with the network node 2 .

[0076] If the user application A1 exchanges multiple packet streams and the owner's request is only related to one or some of the multiple packet streams, then at step 302, the marking function is preferably activated only for the selected packet streams. Furthermore, if the marking field MF of the packets Pk, Pk' supports different types of performance measurements and only one or some of them have been requested, the marking function may be activated only for the marking fields supporting the requested performance measurement type. For example, if the marking field MF includes a rotated bit and / or a lost bit and / or a Q bit and an L bit in the QUIC header of the packets Pk, Pk' and only a round-trip packet loss measurement as disclosed by the Internet draft of M. Cociglio et al. known above has been requested, then at step 302, the marking function is activated only for the lost bit in the QUIC header.

[0077] After the user application A1 activates the marking function, the measurement module 103 preferably starts to perform the requested performance measurement of the packets Pk, Pk' (step 303). In particular, at step 303, the measurement module 103 detects the uplink packet Pk as a mark sent by the network interface NI of the user communication device 1 and / or the downlink packet Pk' as a mark received by the network interface NI of the user communication device 1. The measurement module 103 then provides one or more performance parameters (e.g., timestamps and / or counters) related thereto and uses the one or more performance parameters to calculate the performance measurement.

[0078] For example, if a round-trip packet loss measurement as disclosed by the above-mentioned known Internet draft of M. Cociglio et al. has been requested, the measurement module 103 counts the number of transmitted upstream packets Pk in which the missing bit is equal to 1 in two consecutive series of upstream packets Pk, and calculates the round-trip packet loss based on such count.

[0079] When performing the measurements, the owner management module 101 preferably provides the measurement results to the owner of the device 1 (step 304).

[0080] For example, the measurement results may be presented in the form of a table showing the results of the performance measurements of the selected packet flow as performed by the measurement module 103 (e.g. round-trip packet loss according to the example considered). If the measurements are repeated periodically, the displayed results may be updated in near real time in order to provide the owner with an indication of the evolution of the performance in terms of time (stability, fluctuations, etc.). The measurement results may be presented to the owner of the device 1 in different ways, including in the user interface UI of the device 1 itself (e.g. Figure 1 ) or a web page through which the owner has registered device 1 (and its own other devices, if any) with the performance measurement service provided by the performance measurement application 10.

[0081] If performance measurements have been requested for other packet flows of the same user application A1 or other packet flows of other user applications run by the device 1, such measurements are also displayed by the user interface UI. For example, if the user application A1 is a browser, the above-mentioned round-trip packet loss measurements may be displayed separately for each visited website (i.e., for each packet flow identified by a specific domain or IP address).

[0082] Then, the sharing module 104 preferably shares the measurement result provided by the performance measurement application 10 with the measurement management server 3 (step 305).

[0083] Preferably, sharing of the measurement results requires permission from the owner of the user communication device 1. For example, when the owner registers the user communication device 1 to the performance measurement service provided by the performance measurement application 10, the measurement management server 3 may request such permission.

[0084] Preferably, at step 305, the sharing module 104 completes the measurement results to be shared with the measurement management server 3 by adding information allowing identification of the user communication device 1 initiating the measurement results and / or the packet flow to which the measurement results belong. For example, such information may include the destination address of the uplink packet Pk and / or the source address of the downlink packet Pk' and / or the DNS (Domain Name System) of the user communication device 1 and / or the geographical location and radio parameters of the user communication device 1 (if the user communication device 1 is a mobile device). If the owner of the device 1 agrees, at step 305, the sharing module 104 may add further information, such as the DNS of the user application A1, the http request domain, the service type (video conferencing, multimedia streaming, etc.).

[0085] The performance measurement application 10 then advantageously acts as a measurement point capable of monitoring any (or even all) packet flows exchanged by the user communication device 1 with the packet-switched communication network 100. Since the user communication device 10 typically uses a limited number of user applications that exchange a limited number of packet flows, the maximum number of packet flows to be measured by the performance measurement application 10 is also limited and can be managed by the computing resources typically available at the user communication device 1.

[0086] Therefore, if the performance measurement application 10 is installed on a plurality of user communication devices connected to the packet-switched communication network 100, a corresponding number of measurement points will be available, which will provide the measurement management server 3 with performance measurements for a plurality of packet flows sent through the network 100. The performance measurement application 10 and the measurement management server 3 then form a performance measurement system capable of monitoring all packet flows sent through the network 100, or at least a significant part thereof, without the need to deploy a plurality of complex measurement points at network nodes.

[0087] Optionally, the measurement management server 3 may further share the measurement results with other entities (preferably with the permission of the owner of the device 1), such as:

[0088] - public authorities, such as national or supranational telecommunications agencies, police and law enforcement agencies (also possibly independent of the owner’s permission);

[0089] -communication providers, service providers, content providers, DNS providers; and

[0090] - Suppliers of user communication equipment, suppliers of operating systems of user communication terminals, suppliers of user applications.

[0091] The measurement management server 3 and / or any entity receiving the measurement results can use the measurement results for different purposes, including troubleshooting (detecting and resolving congestion, failures and other problems that may occur in the network 100), optimizing the performance of user communication equipment, checking SLA (Service Level Agreement) compliance, or comparison between communication providers.

Claims

1. A computer program product (10) for a user communication device (1), the user communication device (1) being provided with at least one user application (A1) suitable for exchanging at least one packet stream (Pk, Pk') with a packet-switched communication network (100), the computer program product (10) comprising instructions which, when executed by a processor of the user communication device (1), cause the processor of the user communication device (1) to perform the following steps: a) receiving a request from an owner of said user communication device (1) to perform performance measurements on said packet flow (Pk, Pk'); b) in response to the request, activating a marking function on the packet flow (Pk, Pk'), the marking function comprising marking an upstream packet (Pk) of the packet flow, and inducing a network node (2) of the packet-switched communication network (100) that originates a downstream packet (Pk') of the packet flow to mark the downstream packet (Pk'); c) providing at least one performance parameter related to said marked uplink packets (Pk) as transmitted by said user communication equipment (1) and / or said marked downlink packets (Pk') as received by said user communication equipment (1), and providing a performance measurement of said packet flow (Pk, Pk') based on said at least one performance parameter; and d) Sharing said performance measurements with a measurement management server (3).

2. The computer program product (10) according to claim 1, wherein the marking function is embedded in the user application (A1), and wherein step b) comprises instructing the user application (A1) to activate the marking function.

3. The computer program product (10) according to claim 1, wherein at step b), the marking function is implemented by the computer program product (10).

4. A computer program product (10) according to any one of claims 1 to 3, wherein at step b), the marking of the uplink packet (Pk) of the packet flow includes setting the value of at least one measurement-specific field (MF) in the uplink packet (Pk), and the inducing the network node (2) of the packet-switched communication network (100) that initiates the downlink packet (Pk') of the packet flow to mark the downlink packet (Pk') includes inducing the network node (2) to set the value of at least one measurement-specific field (MF) in the downlink packet (Pk').

5. The computer program product (10) according to any one of claims 1 to 4, wherein the uplink packet (Pk) and the downlink packet (Pk') comprise at least two measurement dedicated fields (MF) supporting at least two respective types of performance measurements, and wherein: Step a) comprises receiving a request from the owner of the user communication device (1) to perform a performance measurement of a type selected from at least two types of performance measurements, and steps b) and c) are performed on a measurement dedicated field (MF) supporting the selected type of performance measurement.

6. The computer program product (10) according to any one of claims 1 to 5, wherein the user application (A1) is adapted to switch a plurality of packet flows, and wherein: Step a) comprises receiving a request from the owner of the user communication device (1) to perform performance measurements on at least one packet flow (Pk, Pk') selected from the plurality of packet flows, and steps b) and c) are performed only for the selected at least one packet flow (Pk, Pk').

7. A computer program product (10) according to any one of claims 1 to 5, wherein step a) comprises receiving a request from the owner to perform performance measurements on all packet flows exchanged by all user applications run by the user communication device (1), and wherein steps b) and c) are performed on all packet flows exchanged by all user applications run by the user communication device (1).

8. A computer program product (10) according to any one of claims 1 to 7, wherein steps b) and c) are performed on all packet flows exchanged by all user applications run by the user communication device (1) except for at least one packet flow that meets the filtering criteria selected by the owner.

9. A computer program product (10) according to any one of claims 1 to 8, wherein step d) comprises completing the shared performance measurement with information identifying at least one of the user communication device (1), the packet flow (Pk, Pk') and the user application (A1).

10. A computer program product (10) according to any one of claims 1 to 9, comprising further instructions which, when the program is executed by the processor of the user communication device (1), cause the processor of the user communication device (1) to perform the following steps: e) Sharing said performance measurements with said owner of said user communication device (1).

11. A computer program product (10) according to any one of claims 1 to 10, wherein the computer program product (10) can be downloaded and installed on the user communication device (1) upon request from the owner.

12. The computer program product (10) according to any one of claims 1 to 10, wherein the computer program product (10) is part of an operating system of the user communication device (1).

13. A method for performing performance measurements on a packet-switched communication network (100) by means of a user communication device (1), the user communication device (1) being provided with at least one user application (A1) adapted to exchange at least one packet flow (Pk, Pk') with the packet-switched communication network (100), the method comprising: a) receiving a request from an owner of said user communication device (1) to perform performance measurements on said packet flow (Pk, Pk'); b) in response to the request, activating a marking function on the packet flow (Pk, Pk'), the marking function comprising marking an upstream packet (Pk) of the packet flow, and inducing a network node (2) of the packet-switched communication network (100) that originates a downstream packet (Pk') of the packet flow to mark the downstream packet (Pk'); c) providing at least one performance parameter related to said marked uplink packets (Pk) as transmitted by said user communication equipment (1) and / or said marked downlink packets (Pk') as received by said user communication equipment (1), and providing a performance measurement of said packet flow (Pk, Pk') based on said at least one performance parameter; and d) Sharing said performance measurements with a measurement management server (3).

14. A system for performing performance measurements on a packet-switched communication network (100), the system comprising a measurement management server (3) and at least one user communication device (1), the at least one user communication device (1) being provided with at least one user application (A1) adapted to exchange at least one packet flow (Pk, Pk') with the packet-switched communication network (100), the user communication device (1) being further configured to: - receiving a request from an owner of said user communication device (1) to perform performance measurements on said packet flow (Pk, Pk'); - in response to the request, activating a marking function on the packet flow (Pk, Pk'), the marking function comprising marking an upstream packet (Pk) of the packet flow, and inducing a network node (2) of the packet-switched communication network (100) that originates a downstream packet (Pk') of the packet flow to mark the downstream packet (Pk'); - providing at least one performance parameter related to said marked uplink packets (Pk) as transmitted by said user communication equipment (1) and / or said marked downlink packets (Pk') as received by said user communication equipment (1), and providing a performance measurement of said packet flow (Pk, Pk') based on said at least one performance parameter; and - Sharing said performance measurements with said measurement management server (3).

Citation Information

Patent Citations

  • Network monitoring and analysis tool

    WO2011037536A1