Transmission of a measurement result through a packet-switched communication network
By applying a marking value and using a scaling factor to adjust for packet transmission rate, the method ensures accurate transmission of measurement results in packet-switched networks, independent of the transmission rate.
Patent Information
- Application Number
- PCT/IB2025/060522
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-10-21
- Filing Date
- 2025-10-16
- Publication Date
- 2026-04-30
AI Technical Summary
Existing methods for transmitting measurement results in packet-switched communication networks suffer from inaccuracies due to errors in reading the results by entities without direct access, which are influenced by the packet transmission rate of the node.
A method where a node applies a marking value to packets, switches it based on a measurement result, and waits for a duration proportional to the measurement result multiplied by a scaling factor inversely proportional to the packet transmission rate, allowing a probe to read the result with an error independent of the transmission rate.
The method ensures that the error in reading the measurement result is independent of the packet transmission rate, providing accurate and reliable transmission of measurement results across the network.
Smart Images

Figure IB2025060522_30042026_PF_FP_ABST
Abstract
Description
[0001] TRANSMISSION OF A MEASUREMENT RESULT THROUGH A PACKET-SWITCHED COMMUNICATION NETWORK Technical field
[0002] The present invention relates to the field of communication networks. In particular, the present invention relates to a method for transmitting a measurement result available at a node of a packet-switched communication network (e.g. the result of a packet loss measurement, a delay measurement, a local temperature measurement, etc.) through the network itself.
[0003] Background art
[0004] In a packet-switched communication network, packet flows are transmitted from source nodes to destination nodes through possible intermediate nodes. Exemplary packet-switched networks are IP (Internet Protocol) networks, Ethernet networks and MPLS (Multiprotocol Label Switching) networks.
[0005] Typically, each node of the network has one or more measurement results locally available, which may be either obtained by the node itself (alone or in cooperation with other nodes) or which the node may receive from other entities of the network or cooperating with the network, such as another node or a network controller or manager.
[0006] Such measurement results may comprise for example the results of measurements of operational parameters of the node’s hardware, such as its temperature. As another example, such measurement results may include the results of performance measurements relating to the connection between the node and another node of the network, such as outgoing and / or incoming packet transmission rate, packet loss, one-way delay, round-trip (RTT) delay, jitter, etc.
[0007] In some cases, however, the above measurement results may be inaccessible (or hardly accessible) to entities other the entity which manages the nodes.
[0008] For example, client-server protocols, such as QUIC or TCP, typically provide that the nodes acting as endpoints of the clientserver connection have available the results of RTT measurements, which are obtained (e.g. by the endpoints themselves) from encrypted packets and respective acknowledge encrypted packets exchanged by the endpoint. If an entity other than the one that manages the endpoints and the exchange of encrypted packet has no access to the RTT measurement results available at the endpoints and has no knowledge of the encryption parameters, it cannot obtain the RTT measurements, since it is not capable of autonomously decrypting and properly correlating the encrypted packets.
[0009] However, the results of such RTT measurements (as well as of other measurements locally available at the nodes) may be useful also to entities other than the one which manages the nodes.
[0010] WO 2023 / 099372 in the name of the same Applicant discloses a method for transmitting a measurement result available at a node of a packet-switched communication network, wherein the node applies a marking value to packets of a packet flow transmitted from the node itself to another node. The marking value is switchable by the node between at least two alternative marking values. The node performs a first switching of the marking value applied to the packets, then waits a wait time whose duration is equal to a value indicative of the measurement result available at the node, and then performs a second switching of the marking value applied to the packets to be transmitted.
[0011] The operation of the node according to WO 2023 / 099372 enables an entity having no direct access to the measurement result available at the node to read the measurement result available at the node from the packets transmitted by the node itself. Assuming that the node (for example, the node acting as client of a QUIC connection) stores a value Vi indicative of an RTT measurement result e.g. performed by the node itself (for example, the result of the last RTT measurement performed), and that the marking value which the node applies to the packets to be transmitted is switchable e.g. between the marking values 0 and 1, the node performs a first switching of the marking value applied to the packets to be transmitted to the other node e.g. from 0 to 1. The node then waits a wait time whose duration is equal to Vi, during which it does not perform any further switching of the marking value applied to the packets to be transmitted. When the wait time whose duration is equal to Vi lapses, the node then performs a second switching of the marking value applied to the packets to be transmitted back from 1 to 0. A probe placed on the path of the packet flow (namely, at an intermediate position or at any one of the two nodes) may then detect, in the packets transmitted from the node to the other node, the first switching from 0 to 1 and the second switching from 1 to 0 of the marking value applied by the node. The probe may then obtain a reading VE of the RTT measurement result available at the node as the time lapsing between the detection times of the first and second switching of the marking value applied by the node, which is roughly equal to Vi (short of an error E, as it will be discussed in detail herein below). Hence, even if the probe is implemented and operated by an entity other than the entity managing the nodes and, accordingly, has no direct access to the results of the RTT measurements available at the node, it is nonetheless enabled to indirectly obtain a reading VE of the measurement result available at the node.
[0012] Summary of the invention
[0013] The Applicant has perceived the need to improve the method of WO 2023 / 099372, in particular in connection with the accuracy of the reading VE of the measurement result available at the node that may be obtained by the probe.
[0014] Each reading VE obtained by the probe is indeed affected by an error E relative to the value Vi indicative of the measurement result available at the node, due to the fact that a delay typically occurs between lapse of the wait time and transmission time of the next packet by the node. The error E is the reciprocal of the packet transmission rate, and accordingly decreases as the packet transmission rate of the node increases. For example, if the measurement result is an RTT measurement result expressed in ms and the packet transmission rate is 1 packet / ms, the reading VE will be inherently affected by an error E of 1 ms, because a maximum delay of 1 ms occurs between lapse of the wait time and transmission time of the next packet by the node. If the packet transmission rate becomes 0.1 packet / ms, the error E becomes equal to 10 ms.
[0015] In case the packets transmitted by the node carry live traffic, their packet transmission rate cannot be predicted. This ultimately results in an unpredictable error E on the reading VE of the measurement result by the probe.
[0016] In view of the above, the Applicant has tackled the problem of providing a method for transmitting a measurement result available at a node of a packet-switched communication network through the network itself, which solves the above drawbacks.
[0017] In particular, the Applicant has tackled the problem of providing a method for transmitting a measurement result available at a node of a packet-switched communication network through the network itself, wherein the error affecting the reading of the measurement result available at the node by an entity having no direct access to the measurement result available at the node is substantially independent of the packet transmission rate of the node.
[0018] According to embodiments of the present invention, this problem is solved by a method for transmitting a measurement result available at a node of a packet-switched communication network, wherein the node applies a marking value to packets of a packet flow transmitted from the node itself to another node. The marking value is switchable by the node between at least two alternative marking values. The node performs a first switching of the marking value applied to the packets, then waits a wait time whose duration is equal to a value indicative of the measurement result available at the node, and then performs a second switching of the marking value applied to the packets to be transmitted. The value indicative of the measurement result available at the node is calculated by multiplying the measurement result available at the node by a scaling factor inversely proportional to the packet transmission rate of the node. The calculation of the value Vi indicative of the measurement result available at the node according to the present invention advantageously results in the error affecting the reading VE of the measurement result available at the node being substantially independent of the packet transmission rate of the node.
[0019] Assuming that the node (for example, the node acting as client of a QUIC connection) has available an RTT measurement result (e.g.
[0020] 500 ms) and that its packet transmission rate is currently PTR = 1 packet / ms, according to the present invention the node calculates the value Vi indicative of the RTT measurement result by multiplying it by a scaling factor F inversely proportional to the packet transmission rate PTR. The node then performs a first switching of the marking value (e.g. from 0 to 1) in the packets to be transmitted and, after a wait time equal to the calculated Vi, it performs a second switching of the marking value applied to the packets to be transmitted back from 1 to 0. A probe placed on the path of the packet flow (namely, at an intermediate position or at any one of the two nodes) may then detect, in the packets transmitted from the node, the first switching from 0 to 1 and the second switching from 1 to 0 of the marking value. The probe may then obtain a reading VE of the RTT measurement result available at the node as the time lapsing between the detection times of the first and second switching of the marking value, which is roughly equal to Vi, divided by the scaling factor F.
[0021] As discussed above, the time lapsing between the detection times of the first and second switching of the marking value is roughly equal to Vi, short of an error E which is the reciprocal of the packet transmission rate PTR. Since the reading VE of the RTT measurement result is obtained by the probe by dividing the time lapsing between the detection times of the first and second switching of the marking value by the scaling factor F, the error E’ affecting the reading VE according to the present invention will be equal to E’ = E / F. The error E and the scaling factor F are however both inversely proportional to the packet transmission rate PTR. Their ratio is therefore inherently independent of the packet transmission rate PTR.
[0022] According to a first aspect, the present invention provides a method for transmitting through a packet-switched communication network a measurement result available at a node of the packet-switched communication network, the node applying a marking value to packets of a packet flow to be transmitted to a further node of the packet-switched communication network, the marking value being switchable by the node between at least two alternative marking values, the method comprising, by the node:
[0023] a) performing a switching of the marking value applied to packets of the packet flow to be transmitted to the further node;
[0024] b) waiting a wait time whose duration is equal to a value Vi indicative of the measurement result available at the node; and c) performing a further switching of the marking value applied to packets of the packet flow to be transmitted to the further node, wherein the value Vi indicative of the measurement result available at the node is calculated by multiplying the measurement result available at the node by a scaling factor F inversely proportional to a packet transmission rate of the node.
[0025] Preferably, the method further comprises calculating the scaling factor F by:
[0026] i) estimating an average packet transmission rate of the node during an observation period T1 having a predefined duration; and ii) calculating the scaling factor F based on the estimated average packet transmission rate.
[0027] Preferably, calculating the scaling factor F is performed by the node.
[0028] Preferably, at least step i) is performed at the end of a handshake phase between the node and the further node.
[0029] Preferably, step ii) comprises reducing the estimated average packet transmission rate by a predefined factor and step iii) comprises calculating the scaling factor F based on the reduced estimated average packet transmission rate.
[0030] According to a second aspect, the present invention provides a method for reading a measurement result available at a node of a packet-switched communication network and transmitted through the packet-switched communication network, the method comprising the steps of the method as set forth above and:
[0031] d) by a probe placed on a path of the packet flow, detecting a first switching and a second switching of the marking value applied to packets of the packet flow transmitted by the node to the further node and obtaining a reading VE of the measurement result available at the node as a time lapsing between the first switching and the second switching divided by the scaling factor F.
[0032] Step d) is preceded by the probe calculating or being provided with the scaling factor F.
[0033] Preferably, the scaling factor F is calculated as a ratio between a proportionality factor k and the packet transmission rate, the proportionality factor k being determined according to a desired maximum error E’ on the reading VE of the measurement result obtained by the probe.
[0034] According to an embodiment, the proportionality factor k is determined as the reciprocal of the desired maximum error E’ on the reading VE of the measurement result obtained by the probe.
[0035] The value of the proportionality factor k may be predefined, or it may be determined by the node, or it may be determined by an external entity which manages the node.
[0036] Preferably, the value Vi indicative of the measurement result available at the node is updated during step b) into an updated value Vi indicative of an updated measurement result available at the node, and at step b) the duration of the wait time:
[0037] - is kept equal to the stored value Vi until lapse of the wait time, the updated value Vi being applied at a subsequent iteration of step b); or
[0038] - is changed into the updated value Vi while the wait time is ongoing.
[0039] Optionally, the further switching at step c) comprises forcing the further switching of the marking value applied to packets of the packet flow to be transmitted to the further node when a maximum time has lapsed since the switching at step a).
[0040] According to another aspect, the present invention provides a node for a packet-switched communication network, the node being configured to transmit a packet flow to a further node of the packet- switched communication network, the node being configured to apply a marking value to packets of the packet flow to be transmitted to the further node, the marking value being switchable by the node between at least two alternative marking values, the node being configured to:
[0041] a) perform a switching of the marking value applied to packets of the packet flow to be transmitted to the further node;
[0042] b) wait a wait time whose duration is equal to a value Vi indicative of a measurement result available at the node; and
[0043] c) perform a further switching of the marking value applied to packets of the packet flow to be transmitted to the further node, wherein the value Vi indicative of the measurement result available at the node is calculated by multiplying the measurement result available at the node by a scaling factor F inversely proportional to a packet transmission rate of the node.
[0044] According to a further aspect, the present invention provides a packet-switched communication network comprising a node and a further node, the node being configured to transmit a packet flow to the further node, the node being as set forth above.
[0045] Preferably, the packet-switched communication network further comprises a probe placed on a path of the packet flow, the probe being configured to:
[0046] d) detect a first switching and a second switching of the marking value applied to packets of the packet flow transmitted by the node to the further node and obtain a reading VE of the measurement result available at the node as a time lapsing between the first switching and the second switching divided by the scaling factor.
[0047] Brief description of the drawings
[0048] The present invention will become clearer from the following detailed description, given by way of example and not of limitation, to be read with reference to the accompanying drawings, wherein:
[0049] - Figure 1 schematically shows a packet-switched communication network in which the method for transmitting a measurement result according to embodiments of the present invention is implemented;
[0050] - Figure 2 schematically shows the structure of a packet exchanged in the communication network of Figure 1, according to embodiments of the present invention;
[0051] - Figure 3 is a flow chart of the operation of a node of the communication network of Figure 1, according to an embodiment of the present invention;
[0052] - Figure 4 shows the transmission of an exemplary RTT measurement result though the communication network of Figure 1; and
[0053] - Figure 5 is a flow chart showing in further detail a step of the flow chart of Figure 3, according to an embodiment of the invention.
[0054] Detailed description of preferred embodiments of the invention Figure 1 schematically shows a packet-switched communication network 100 in which the method for transmitting a measurement result according to embodiments of the present invention is implemented.
[0055] The communication network 100 comprises a plurality of nodes reciprocally interconnected by physical links according to any known topology, including two nodes 1 and 2 shown in Figure 1. The nodes 1 and 2 may be connected by a single physical link or by the concatenation of several physical links and intermediate nodes (not shown in the drawings). The communication network 100 may be for instance an IP network.
[0056] The nodes 1, 2 exchange a packet flow including packets Pk transmitted from the node 1 to the node 2. Optionally, the packet flow may be bidirectional and comprise also packets Pk’ transmitted from the node 2 to the node 1, as schematically depicted in Figure 1. The packets Pk may belong to a same packet flow (namely, they may all have a same source address and a same destination address, e.g. a same IP source address and a same IP destination address) or to different packet flows whose paths are overlapping between the nodes 1 and 2. Similarly, the packets Pk' may belong to a same packet flow or to different packet flows whose paths are overlapping between the nodes 2 and 1.
[0057] The packets Pk, Pk' are formatted according to a certain network protocol. By way of non-limiting example, the network protocol may be the above mentioned QUIC protocol.
[0058] In particular, as schematically depicted in Figure 2, each packet Pk, Pk' comprises a payload PL comprising user data and at least one header H. In case of multiple headers, each header pertains to a different network layer. For example, each packet Pk, Pk’ may comprise a network layer header (such as an IP header) and transport layer header (such as a QUIC+UDP header or a TCP header). One of the headers H (typically, the network layer header) comprises packet forwarding information, namely information allowing the packets Pk to reach the network node 2 and the packets Pk’ to reach the node 1.
[0059] Each packet Pk, Pk' also preferably comprises at least one nonencrypted field MF (also termed herein after “marking field”) supporting transmission of a measurement result according to embodiments of the present invention. The marking field MF is preferably dedicated to transmission of a measurement result according to embodiments of the present invention. The marking field(s) MF may be comprised in the same header H as the packet forwarding information (as shown in Figure 2), in a different header (if any) or in the payload PL. Assuming for example that the packets Pk, Pk' comprise a network layer header (such as an IP header) and a transport layer header (such as a QUIC header), the marking field(s) MF may be comprised in the transport layer header. The marking field MF comprises one or more bits, preferably a single bit. The marking field MF may be set to anyone of two alternative marking values M1 and M2 (e.g. M1=0 and M2=1). By way of non-limiting example, if the packets Pk, Pk’ are formatted according to the QUIC protocol, the marking field MF may be a bit other than the spin bit comprised in the QUIC header as by 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.
[0060] At least one of the nodes 1 , 2 sets the value of the marking field MF in its respective outgoing packets Pk, Pk’, before transmitting them to the other node 2, 1, so as to write a measurement result available at the node 1, 2 itself in its outgoing packets Pk, Pk’. By way of non-limiting example, it is assumed that only the node 1 sets the value of the marking field MF in its respective outgoing packets Pk, before transmitting them to the other node 2, so as to write a measurement result available at the node 1 itself in its outgoing packets Pk. The marking value which the node 1 applies to the packets Pk to be transmitted to the other node 2 will be also termed herein after “applicable marking value”. The applicable marking value is preferably switchable by the node 1 between the at least two alternative marking values M1 and M2 (for example, M1=0 and M2=1).
[0061] The measurement result available at the node 1 may be for example a performance measurement result, such as an RTT measurement result obtained (by the node 1 itself, or by another entity which provided the measurement result to the node 1 ) from encrypted packets and respective acknowledge encrypted packets exchanged between the nodes 1 and 2. Hence, if an entity has no access to the RTT measurement result available at the node 1 and has no knowledge of the encryption parameters, it cannot obtain any RTT measurement, since it is not capable of autonomously decrypting and properly correlating the encrypted packets. Alternatively, the measurement result may be for example a packet loss measurement result, or a temperature measurement result.
[0062] The measurement result available at the node 1 may be the result of either a single measurement or multiple measurements. For example, the measurement result may be the result of the last measurement obtained by or provided to the node 1 , or an average of the last N measurements obtained by or provided to the node 1.
[0063] Preferably, the node 1 determines and stores a value Vi (preferably expressed as a time duration, e.g. in ms) indicative of the measurement result (expressed in a certain measurement unit “u”). The expression “indicative of” means that a predefined mathematical relationship exists between the measurement result and the value Vi, which enables the node 1 to calculate the value Vi starting from the available measurement result.
[0064] In particular, according to embodiments of the present invention, the node 1 calculates the value Vi by multiplying the available measurement result by a scaling factor F inversely proportional to its packet transmission rate PTR. In particular, the scaling factor F is preferably equal to k / PTR, where k is a proportionality factor whose determination will be described in further detail herein below. The scaling factor F is preferably expressed in ms / u; if the packet transmission rate PTR is expressed in packets / ms, the proportionality factor k is accordingly preferably expressed in u_1. For example, in case the measurement result is a time measurement result expressed in ms (e.g. an RTT), the proportionality factor k is expressed in u’1=ms’1, which results in F being a pure number (namely, without dimension). If the proportionality factor k for example is set equal to 1 ms’1(criteria for setting the proportionality factor k will be described herein below), then the scaling factor F is equal to 1 / PTR (pure number). Hence, if the packet transmission rate is PTR = 1 packet / ms, the scaling factor F is equal to 1 ; if the packet transmission rate is PTR = 0.1 packet / ms, the scaling factor F is equal to 10 and, if the packet transmission rate is PTR = 10 packet / ms, the scaling factor F is equal to 0.1 ; and so on.
[0065] Once the value Vi has been calculated and is stored by the node 1, according to embodiments of the present invention, the node 1 performs a first switching of the marking value applied to the packets Pk to be transmitted to the node 2, then waits a wait time whose duration is equal to the stored value Vi and then, upon lapse of the wait time, it performs a second switching of the marking value applied to the packets Pk to be transmitted to the node 2.
[0066] With reference now to the flow chart of Figure 3, the operation of the node 1 according to an embodiment of the present invention will be described in further detail. If the nodes 1 , 2 are the endpoints of a QUIC connection, the node 1 may be, for example, the one acting as client of the QUIC connection, while the node 2 may be, for example, the one acting as server of the QUIC connection.
[0067] The node 1 may be initialized with a first value M1 of its applicable marking value (step 301). Further, a local variable TW at the node 1 is preferably initialized to zero (step 302). Hence, as long as the node 1 is not required to transmit any measurement result, it continues transmitting to the node 2 packets Pk with their marking field MF set to the marking value M1 (e.g. M1=0).
[0068] When the node 1 determines that a transmission session of available measurement results (e.g. RTT measurement results) has to be started, it preferably calculates (or is provided with) the value of the scaling factor F (step 303). Preferably, the value of the scaling factor F is kept fixed for the whole transmission session. Then, when the node 1 is provided with or obtains a first valid, non-zero measurement result (e.g. an RTT measurement result) (step 303a), it calculates the value Vi by multiplying the measurement result by the scaling factor F (step 303b). At step 303b, the node 1 also preferably writes the value Vi in the local variable TW.
[0069] The node 1 then preferably switches its applicable marking value (step 304). Hence, the node 1 transmits to the node 2 one or more packets Pk with their marking field MF set to M2 (e.g. M2=1 ).
[0070] According to a first variant, all the packets Pk transmitted following to the switching step 304 have their marking field MF set to the same marking value (namely, M2 at the first iteration of step 304), until the next iteration of step 304. According to a second variant, instead, after transmitting a single packet Pk with its marking field MF set to M2, the node 1 switches its applicable marking value back to M1. Hence, while according to the first variant each iteration of the switching step 304 triggers the transmission of a block of packets with their marking fields MF set to a same marking value (namely M2 at the first iteration, M1 at the second iteration, again M2 at the third iteration, etc.), according to the second variant each iteration of the switching step 304 triggers the transmission of a single packet with its marking field MF set to a marking value (namely, M2) which is different from all the other preceding and subsequent packets Pk, whose marking fields MF are all set to M1.
[0071] The node 1 then waits a wait time whose duration is equal to the value stored in the local variable TW, namely the value Vi equal to the measurement result available at the node 1 multiplied by the scaling factor F (step 305).
[0072] While the wait time is running, the node 1 preferably does not perform any further switching of its applicable marking value. Hence, according to the above mentioned first variant, during the wait time the node 1 continues to apply the marking value M2 to any packet Pk to be transmitted to the node 2. As an alternative, according to the above mentioned second variant, during the wait time the node 1 continues to apply the marking value M1 to any packet Pk to be transmitted to the node 2.
[0073] According to an embodiment, the node 1 may perform step 305 by starting a local timer counting the value stored in the local variable TW, and refraining from performing any further switching of its applicable marking value until the local timer is expired.
[0074] The local timer is preferably started by the node 1 upon transmission of the first packet Pk with marking value switched. Such transmission time may have a certain delay relative to the moment when the node 1 has switched its applicable marking value, which delay depends on the packet transmission rate PTR of the node 1. Then, when the wait time lapses, the node 1 preferably reverts to step 304, thereby performing another switching of its applicable marking value.
[0075] Hence, according to a first variant, all the packets Pk transmitted following to this second iteration of the switching step 304 have their marking field MF set to the same marking value (namely, M1 at the second iteration of step 304), until the next iteration of step 304. According to a second variant, instead, after transmitting a single packet Pk with its marking field MF set to M2, the node 1 switches its applicable marking value back to M1.
[0076] The node 1 then performs another iteration of step 305, thereby starting another wait time whose duration is equal to the value stored in the local variable TW.
[0077] Also this further iteration of step 305 may be performed by using the above mentioned local timer, which is preferably started upon transmission of the first packet Pk with marking value switched. Again, such transmission time may have a certain delay relative to the moment when the node 1 realizes that preceding wait time is lapsed and has accordingly switched again its applicable marking value, which delay depends on the packet transmission rate PTR of the node 1.
[0078] The above steps are iterated by the node 1, until the end of the measurement result transmission session (step 306, exit path y). Hence, the node 1 basically performs one switching 304 of its applicable marking value every TW, which is equal to the value Vi calculated as the measurement result available at the node 1 multiplied by the scaling factor F.
[0079] It shall be noticed that, while the above steps are iterated, a new measurement result may become available at the node 1, whose transmission requires a recalculation of the value Vi, which results in a variation of the value of the local variable TW (and then the duration of the wait time). Specifically, if more measurements are performed by or provided to the node 1 (for example, the measurement is iterated to periodically monitor the performance of the node 1 or of the connection between the nodes 1 and 2 during its operation), then the node 1 recalculates the value Vi each time the measurement is iterated, and the value of the local variable TW is updated accordingly.
[0080] According to a variant, the node 1 keeps the value of the local variable TW fixed for the whole duration of the wait time. Then, upon expiry of the wait time the node 1 preferably checks if a new measurement result has become available during the wait time just ended and, in the affirmative, it recalculates the value Vi by multiplying the new measurement result by the scaling factor F, and writes the updated value Vi in the local variable TW. The updated value Vi written in the local variable TW will be then used to set the duration of the next wait time.
[0081] According to another variant, the node 1 may recalculate the value Vi and overwrite the value of the local variable TW as soon as it realizes that a new measurement result has become available, even if the current wait time is still ongoing. In this case, it may happen that the updated value Vi is lower than the time already expired since the beginning of the current wait time. This prevents the node 1 from ending the wait time in the proper way, namely in such a way that the wait time duration is equal to the value stored in the local variable TW. In order to obviate such drawback, the node 1 may force the duration of the current wait time to a predefined maximum duration Tmax, if it realizes that the updated value Vi is lower than the time already expired since the beginning of the current wait time. The maximum duration Tmax is preferably set much higher than a maximum measurement result multiplied by the scaling factor F. For example, if the measurement is an RTT measurement and Vi is the measurement result itself (namely, the scaling factor F is equal to 1), Tmax is set much higher than the maximum RTT between the nodes 1 and 2, for example Tmax = 1 s.
[0082] This operation of the node 1 advantageously enables a probe placed on the path of the packets Pk to read the measurement result available at the node 1 in the packets Pk, as it will be discussed in detail herein below.
[0083] With reference to Figure 4, it is assumed that the marking field MF is a non-encrypted single-bit field switchable between M1=0 and M2=1. Further, Figure 4 shows the operation of the node 1 according to the above mentioned first variant, whereby all the packets Pk transmitted by the first node 1 following to the switching step 304 have their marking field MF set to the same marking value, until the next iteration of step 304. In Figure 4, for simplicity, only the first packet Pk transmitted following to each iteration of the switching step 304 is depicted.
[0084] The node 1 is initialized with its applicable marking value equal to M1=0 (step 301) and TW=0 (step 302). Before the beginning of the measurement transmission session, the node 1 transmits to the node 2 packets Pk with their marking field MF set to the marking value M1=0.
[0085] At the beginning of the measurement transmission session, the node 1 calculates (or is provided with) a scaling factor F inversely proportional to its packet transmission rate PTR (step 303, not depicted in Figure 4).
[0086] At time t1, the node 1 is provided with a first valid, non-zero measurement result. The value Vi indicative of such measurement result is then set equal to the measurement result multiplied by the scaling factor F, and is then written in the local variable TW that was previously initialized to zero.
[0087] The node 1 then preferably switches its applicable marking value from M1=0 to M2=1 (step 304). The node 1 then starts transmitting to the node 2 packets Pk with their marking field MF set to the marking value M2=1. It may be appreciated that, as depicted in Figure 4, the transmission time t2 of the first packet Pk having its marking field MF set to the marking value M2=1 is generally delayed relative to the time t1. The delay between t1 and t2 depends on the processing time at the node 1 and the packet transmission rate PTR of the node 1.
[0088] Upon transmission of the first packet Pk having its marking field MF set to the marking value M2=1, the node 1 enters a wait time (step 305) whose duration is equal to the value stored in the local variable TW, during which it does not perform any further switching of its applicable marking value, thereby continuing to transmit packets Pk with their marking field MF set to the marking value M2=1. As discussed above, the node 1 preferably enters the wait time (for example, it starts the local timer counting the duration TW of the wait time) at the transmission time t2 of the first packet Pk having its marking field MF set to the marking value M2=1, so that the beginning of the wait time substantially coincides with the transmission time t2 of the first packet Pk having its marking value switched.
[0089] Then, at time t3 the wait time lapses, and then the node 1 preferably switches its applicable marking value back from M2=1 to M1=0 (step 304). The node 1 then starts transmitting to the node 2 packets Pk with their marking field MF set to the marking value M1=0. It may be appreciated that, as depicted in Figure 4, the transmission time t4 of the first packet Pk having its marking field MF set to the marking value M1=0 is generally delayed relative to the time t3. Again, the delay between t3 and t4 depends on the processing time at the node 1 and the packet transmission rate of the node 1.
[0090] Upon transmission of the first packet Pk having its marking field MF set to the marking value M1=0, the node 1 enters again a wait time (step 305) whose duration is equal to the value stored in the local variable TW, during which it does not perform any further switching of its applicable marking value, thereby continuing to transmit packets Pk with their marking field MF set to the marking value M1=0. Again, as discussed above, the node 1 preferably enters the wait time (for example, it starts the local timer counting the duration TW of the wait time) at the transmission time t4 of the first packet Pk having its marking field MF set to the marking value M1=0, so that the beginning of the wait time substantially coincides with the transmission time t4 of the first packet Pk having its marking value switched.
[0091] It may be appreciated that the value stored in the local variable TW at this second iteration of step 305 may be different from that at the first iteration of step 305. In other words, the duration of the first wait time may be different from the duration of the second wait time. This may happen if the value of the local variable TW is updated between the end of the first wait time and the beginning of the second wait time, or during the second wait time (as described above, according to a variant the value of local variable TW may be overwritten as soon as an updated measurement result - and hence an updated value Vi calculated as the updated measurement result multiplied by the scaling factor F - becomes available, even if the current wait time is still ongoing).
[0092] Then, at time t5 the second wait time lapses, and then the node 1 preferably switches its applicable marking value back from M1=0 to M2=1 (step 304). The node 1 then starts transmitting again to the node 2 packets Pk with their marking field MF set to the marking value M2=1. It may be appreciated that, as depicted in Figure 4, the transmission time t6 of the first packet Pk having its marking field MF set to the marking value M2=1 is generally delayed relative to the time t5. Again, the delay between t5 and t6 depends on the processing time at the node 1 and the packet transmission rate of the node 1.
[0093] This operation of the node 1 may be further iterated, so that the switching of the applicable marking value upon lapse of a wait time of duration TW is further iterated by the node 1. In the meanwhile, the value stored in the local variable TW may be further updated, if in the meanwhile the measurement is further iterated.
[0094] This operation of the node 1 advantageously enables a probe placed on the path of the packets Pk to read the measurement result available at the node 1 in the packets Pk transmitted from the node 1 to the node 2.
[0095] In the scenario of Figure 4, it is assumed that a single probe 10 is placed on the path of the packets Pk. Assuming that the probe 10 is capable of detecting the packets Pk transmitted from the node 1 to the node 2 (e.g. by applying a known address filtering technique on all the incoming packets) and to read the value of their marking fields MF as set by the node 1, at time TS1 the probe 10 detects the first switching S1 from M1 to M2 of the marking value applied by the node 1, at time TS2 it detects the second switching S2 from M2 to M1 of the marking value applied by the node 1 , and at time TS3 it detects the third switching S3 from M1 to M2 of the marking value applied by the node 1.
[0096] The probe 10 may then obtain a sequence of readings VE of the measurement result available at the node 1 , each reading VE being obtained as the time lapsing between the detection of the two consecutive switchings of the marking value as applied by the node 1 , divided by the scaling factor F. For example, a first reading VE may be obtained by the probe 10 as a difference between TS2 and TS1 divided by the scaling factor F, a second reading VE may be obtained by the probe 10 as a difference between TS3 and TS2 divided by the scaling factor F, and so on.
[0097] The calculation of the value Vi as the measurement result available at the node 1 multiplied by the scaling factor F advantageously results in the error affecting each reading VE obtained by the probe 10 being substantially independent of the packet transmission rate PTR of the node 1.
[0098] The time lapsing between the detection of two consecutive switchings of the marking value as detected by the probe 10 (e.g. TS1 and TS2, or TS2 and TS3) is indeed roughly equal to Vi, short of an error E which is the reciprocal of the packet transmission rate PTR of the node 1. Since each reading VE is obtained by the probe 10 by dividing the time lapsing between the detection of two consecutive switchings of the marking value by the scaling factor F, the error E’ affecting the reading VE will be equal to E’ = E / F. The error E and the scaling factor F are however both inversely proportional to the packet transmission rate PTR. Their ratio is therefore inherently independent of the packet transmission rate PTR.
[0099] Figure 5 shows in further detail step 303 of calculating the scaling factor F, according to an embodiment of the present invention.
[0100] In order to calculate the scaling factor F, first of all the packet transmission rate PTR is preferably estimated (step 501). According to an embodiment, the packet transmission rate PTR is preferably estimated by counting the number NPk of packets Pk transmitted by the node 1 during a predefined observation period T1. The observation period T1 preferably has a predefined duration, for example 0.2 sec. Then, at the end of the observation period T1, the packet transmission rate PTR of the node 1 is calculated as the ratio between the number of counted packets and the observation period, namely PTR = NPk / TI.
[0101] Then, the proportionality factor k is preferably determined (step 502). Then, the scaling factor F is preferably calculated as F = k / PTR (step 503).
[0102] At step 502, the value of the proportionality factor k (expressed as u’1, as described above) is preferably determined according to the desired maximum error E’ on the reading VE of the measurement result by the probe 10. In particular, the proportionality factor k is preferably set equal to 1 / E’, where E’ is the desired maximum error on the reading VE of the measurement result expressed in the measurement unit u of the measurement result.
[0103] Assuming for example that a measurement result expressed in u=ms has to be transmitted (for example, an RTT measurement result), if a maximum error E’ = 1 ms on the reading VE of the RTT measurement result is desired, k will be set equal to 1 / E’ = 1 ms-1. Accordingly, at step 503 the scaling factor F will be calculated as 1 / PTR (and it will be a pure number). If the packet transmission rate estimated at step 501 is equal to 1 packet / ms, the scaling factor F calculated at step 503 is equal to 1 and an RTT measurement result e.g. of 50 ms will result in a value Vi of 50 ms. If the packet transmission rate estimated at step 501 is equal to 0.1 packet / ms, the scaling factor F calculated at step 503 is equal to 10 and the RTT measurement result of 50 ms will result in a value Vi of 500 ms. Conversely, if the packet transmission rate estimated at step 501 is equal to 10 packet / ms, the scaling factor F calculated at step 503 is equal to 0.1, and the RTT measurement result of 50 ms will result in a value Vi of 5 ms. In any case, the maximum error E’ on the reading of the RTT measurement result will be equal to E’ = 1 ms, independently of the packet transmission rate PTR.
[0104] As another example, it is assumed that a measurement result expressed in u=% has to be transmitted (for example, a packet loss measurement result, where 0% indicates that no packet Pk is lost, while 100% indicates that all the packets Pk are lost). If a maximum error E’ = 1% on the reading VE of the packet loss measurement result is desired, k will be set equal to 1 / E’ = (1%)-1. Accordingly, at step 503 the scaling factor F will be calculated as 1 / PTR. If the packet transmission rate estimated at step 501 is equal to 1 packet / ms, the scaling factor F calculated at step 503 is equal to 1 (expressed in ms / u, namely ms / %) and a packet loss measurement result e.g. of 25% will result in a value Vi of 25 ms. If the packet transmission rate estimated at step 501 is equal to 0.1 packet / ms, the scaling factor F calculated at step 503 is equal to 10 ms / % and the packet loss measurement result of 25% will result in a value Vi of 250 ms. Conversely, if the packet transmission rate estimated at step 501 is equal to 10 packet / ms, the scaling factor F calculated at step 503 is equal to 0.1 ms / %, and the packet loss measurement result of 25% will result in a value Vi of 2.5 ms. In any case, the maximum error E’ on the reading of the measurement result will be equal to E’ = 1 %, independently of the packet transmission rate PTR.
[0105] The calculation of the scaling factor F may be performed at the beginning of each transmission session of the available measurement results. According to a particularly advantageous variant, the calculation of the scaling factor F is preferably performed at the end of the handshake phase of the protocol (e.g., QUIC protocol) between the nodes 1 and 2, because during the handshake phase only a few packets are typically exchanged between the nodes 1 and 2, which would result in an unrealistically too low estimation of the packet transmission rate PTR at step 501. The calculation of the scaling factor F according to the flow chart of Figure 5 (in particular, the estimation of the packet transmission rate 501) is therefore preferably performed when the nodes 1 , 2 are exchanging packets under regime conditions, as it typically occurs after the end of the handshake phase.
[0106] Besides, it may be appreciated that the packet transmission rate PTR estimated at step 501 is an average value calculated on a certain observation period T1. Hence, the actual packet transmission rate of the node 1 may fluctuate during the measurement transmission session, and may accordingly temporarily depart from the value PTR estimated at step 501 and used at step 503 to calculate the scaling factor F. This fluctuation entails a fluctuation of the error E’ affecting the reading VE obtained by the probe 10 relative to its nominal value 1 / k. In particular, a temporary reduction of the packet transmission rate of the node 1 relative to the estimated value PTR entails a corresponding increase in the error E; since the scaling factor F is instead kept fixed, the resulting error E’ = E / F on the reading VE will correspondingly increase. In order to mitigate this effect, the packet transmission rate PTR estimated at step 501 is preferably reduced by a predefined factor (for example, halved) before being used to calculate the scaling factor F at step 503. For a same value of the proportionality factor k, therefore, a higher value of the scaling factor F is obtained, which allows keeping the actual error E’ affecting the reading VE obtained by the probe 10 below its nominal value 1 / k, in spite of possible reductions of the packet transmission rate relative to the estimated value PTR.
[0107] It shall be noticed that, depending on the value of the proportionality factor k and the packet transmission rate PTR, the scaling factor F may be higher than 1 , equal to 1 or lower than 1. In the first case, the scaling factor F basically “amplifies” the value of the measurement result. Besides, when the scaling factor F is lower than 1 , it reduces the value of the measurement result, which could be advantageous, for example, to increase the transmission rate of the available measurement results.
[0108] The calculation of the scaling factor F according to the flow chart of Figure 5 may be autonomously performed by the node 1 entirely, or only in part. According to a preferred embodiment, step 502 of determining the proportionality factor k is not performed by the node 1, the value of the proportionality factor k being either predefined (e.g. standardized) given the type of measurement result to be transmitted, or being determined by an external entity which manages the node 1 and the other apparatus of the network. In any case, the value of the proportionality factor k to be used for the calculation of the scaling factor F shall be provided to the node 1 before the measurement transmission session begins. According to another embodiment, the calculation of the scaling factor F may be performed by an external entity which manages the node 1 and the other apparatus of the network. In that case, the value of the scaling factor F shall be provided to the node 1 before the measurement transmission session begins.
[0109] Besides, the scaling factor F shall be known to the probe 10, that uses it to obtain the reading VE by dividing the time lapsing between the detection of two consecutive switchings of the marking value by the scaling factor F. For this purpose, the probe 10 may autonomously perform the calculation of the scaling factor F according to the flow chart of Figure 5, entirely or only in part. In that case, the probe 10 preferably applies the same calculation method applied by the node 1 , so that the value of the scaling factor F calculated by the probe 10 is equal to the value of the scaling factor F calculated by the node 1. Specifically, if the probe 10 autonomously estimates the packet transmission rate PTR (step 501), the packet transmission rate PTR shall be calculated substantially at the same time as the node 1 , and applying the same estimation procedure (in particular, the same observation time T1), so that both the node 1 and the probe 10 obtain the same estimated packet transmission rate PTR. According to an alternative embodiment, the estimated packet transmission rate PTR is made available to the probe 10, e.g. by node 1, or by an external entity which manages node 1, or by an external entity which manages the probe 10. According to a preferred embodiment, step 502 of determining the proportionality factor k is not performed by the probe 10, the value of the proportionality factor k being either predefined (e.g. standardized) given the type of measurement result to be transmitted, or being determined by an external entity which manages the probe 10. In any case, the value of the proportionality factor k to be used for the calculation of the scaling factor F shall be provided to the probe 10 before the measurement transmission session begins. According to another embodiment, the calculation of the scaling factor F may be performed by an external entity which manages the probe 10. In that case, the value of the scaling factor F shall be provided to the probe 10 before the measurement transmission session begins. In any case, the value of the scaling factor F applied by the probe 10 is preferably equal to the value of the scaling factor F applied by the node 1.
[0110] Though in the above description it has been assumed that the node 1 marks the packets Pk to enable the probe 10 reading the measurement result available at the node 1 as described above, this is not limiting.
[0111] According to other embodiments, the node 2 may switch the marking value in the marking fields MF of the packets Pk’ to be transmitted to the node 1, to enable the probe 10 reading the measurement result available at the node 2. In this case, the operation of the node 2 may be the same as the operation of the node 1 described above with reference to the flow chart of Figure 3. In this case, in order to read the measurement result available at the node 2, a probe shall be provided on the path of the packets Pk’, which is capable of detecting the packets Pk’ transmitted from the node 2 to the node 1 and to read the value of their marking fields MF as set by the node 2.
[0112] According to another embodiment, both the node 1 and the node 2 may switch the marking value in the marking fields MF of their outgoing packets Pk and Pk’. However, the node 1 and the node 2 operate independently of each other, namely the switching of the applicable marking value at the node 1 is not related to the switching of the applicable marking value at the node 2 and vice versa. If the probe is capable of detecting both the packets Pk transmitted from the node 1 to the node 2 and the packets Pk’ transmitted from the node 2 to the node 1, the probe 10 may obtain readings of the measurement results available at the node 1 or 2 from either the packets Pk or the packets Pk’.
[0113] According to other embodiments, the marking field MF may comprise more than 1 bit, so that more than two marking values may be applied to the packets Pk. For example, the marking values may be applied by the node 1 according to a predefined sequence (e.g. “00”, “01”, “10” and “11”, in case of two bits) which is repeated cyclically. This for example allows the probe 10 to detect “missing” wait times, which might be due to a packet loss involving all the packets Pk transmitted by the node 1 during a certain wait time. Such an event is of course more likely when a single packet Pk (or few packets Pk) is transmitted during a wait time, such as variant whereby a single packet Pk with switched marking value M2 is transmitted each time a wait time lapses.
Claims
CLAIMS1. A method for transmitting through a packet-switched communication network (100) a measurement result available at a node (1) of said packet-switched communication network (100), said node (1) applying a marking value to packets of a packet flow (Pk) to be transmitted to a further node (2) of said packet- switched communication network (100), said marking value being switchable by said node (1) between at least two alternative marking values (M1, M2), said method comprising, by said node (1):a) performing a switching of said marking value applied to packets of said packet flow (Pk) to be transmitted to said further node (2);b) waiting a wait time whose duration is equal to a value (Vi) indicative of said measurement result available at said node (1); andc) performing a further switching of said marking value applied to packets of said packet flow (Pk) to be transmitted to said further node (2),wherein the value (Vi) indicative of the measurement result available at the node (1) is calculated by multiplying the measurement result available at the node (1) by a scaling factor (F) inversely proportional to a packet transmission rate (PTR) of the node (1).
2. The method according to claim 1, wherein said method further comprises calculating said scaling factor (F) by:i) estimating an average packet transmission rate of said node (1) during an observation period (T1) having a predefined duration; andii) calculating the scaling factor (F) based on said estimatedaverage packet transmission rate.
3. The method according to claim 2, wherein calculating said scaling factor (F) is performed by said node (1).
4. The method according to claim 2 or 3, wherein at least step i) is performed at the end of a handshake phase between said node (1 ) and said further node (2).
5. The method according to any of claims 2 to 4, wherein step ii) comprises reducing the estimated average packet transmission rate by a predefined factor and step iii) comprises calculating the scaling factor (F) based on said reduced estimated average packet transmission rate.
6. A method for reading a measurement result available at a node (1) of a packet-switched communication network (100) and transmitted through said packet-switched communication network (100), said method comprising the steps of the method according to any of the preceding claims and:d) by a probe (10) placed on a path of said packet flow (Pk), detecting a first switching (S1) and a second switching (S2) of the marking value applied to packets of said packet flow (Pk) transmitted by said node (1) to said further node (2) and obtaining a reading (VE) of said measurement result available at said node (1) as a time lapsing between said first switching (S1) and said second switching (S2) divided by said scaling factor (F).
7. The method according to claim 6, wherein said step d) is preceded by said probe (10) calculating or being provided with said scaling factor (F).
8. The method according to any of the preceding claims, wherein the scaling factor (F) is calculated as a ratio between aproportionality factor (k) and the packet transmission rate (PTR), the proportionality factor (k) being determined according to a desired maximum error (E’) on the reading (VE) of said measurement result obtained by said probe (10).
9. The method according to claim 8, where said proportionality factor (k) is determined as the reciprocal of the desired maximum error (E’) on the reading (VE) of said measurement result obtained by said probe (10).
10. The method according to claim 8 or 9, wherein the value of the proportionality factor (k) is predefined, or it is determined by the node (1), or it is determined by an external entity which manages the node (1).
11. The method according to any of the preceding claims, wherein said value (Vi) indicative of said measurement result available at said node (1) is updated during step b) into an updated value (Vi) indicative of an updated measurement result available at said node (1 ), wherein at step b) said duration of said wait time:is kept equal to said stored value (Vi) until lapse of said wait time, said updated value (Vi) being applied at a subsequent iteration of step b); oris changed into said updated value (Vi) while said wait time is ongoing.
12. The method according to any of the preceding claims, wherein said further switching at step c) comprises forcing said further switching of said marking value applied to packets of said packet flow (Pk) to be transmitted to said further node (2) when a maximum time (Tmax) has lapsed since said switching at step a).
13. A node (1) for a packet-switched communication network (100), said node (1) being configured to transmit a packet flow (Pk) to afurther node (2) of said packet-switched communication network (100), said node (1) being configured to apply a marking value to packets of said packet flow (Pk) to be transmitted to said further node (2), said marking value being switchable by said node (1) between at least two alternative marking values (M1, M2), said node (1) being configured to:a) perform a switching of said marking value applied to packets of said packet flow (Pk) to be transmitted to said further node (2);b) wait a wait time whose duration is equal to a value (Vi) indicative of a measurement result available at said node (1); andc) perform a further switching of said marking value applied to packets of said packet flow (Pk) to be transmitted to said further node (2),wherein the value (Vi) indicative of the measurement result available at the node (1) is calculated by multiplying the measurement result available at the node (1) by a scaling factor (F) inversely proportional to a packet transmission rate (PTR) of the node (1).
14. A packet-switched communication network (100) comprising a node (1) and a further node (2), said node (1) being configured to transmit a packet flow (Pk) to said further node (2), said node (1) being according to claim 13.
15. The packet-switched communication network (100) of claim 14, further comprising a probe (10) placed on a path of said packet flow (Pk), said probe (10) being configured to:d) detect a first switching (S1) and a second switching (S2) of the marking value applied to packets (Pk) of said packet flow transmitted by said node (1) to said further node (2) andobtain a reading (VE) of said measurement result available at said node (1) as a time lapsing between said first switching (S1) and said second switching (S2) divided by said scaling factor (F).
Citation Information
Patent Citations
Transmission of a measurement result through a packet-switched communication network
WO2023099372A1
Round-trip time measurement in a packet-switched communication network
WO2023275110A1