Embedded equipment speed measurement method, equipment, medium and product
By dynamically adjusting the TCP sending window and the use rate table to adjust the speed limit rate at the driver level of embedded devices, the problem of inaccurate speed measurement in high delay and high bandwidth scenarios is solved, and the speed measurement stability of rapidly reaching the bandwidth peak is achieved Sex and accuracy.
Patent Information
- Application Number
- CN202411146450.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-20
- Publication Date
- 2024-12-27
AI Technical Summary
Embedded devices cannot accurately measure speed in high-delay and high bandwidth scenarios, and existing algorithms cannot quickly adjust the packet transmission rate, resulting in rate oscillation and packet loss.
Implement dynamic adjustment of the transmission window of the TCP message sending end at the driver level of embedded devices, pre-test the rates in various high-delay scenarios, adjust the speed limit rate according to the rate table, and use simple packet transmission algorithm and TCP data flow shaping speed limit technology , quickly reach bandwidth peak.
Accurate speed measurement in high delay and high bandwidth scenarios is achieved, speed measurement stability and accuracy are improved, and slow adaptation problems of traditional congestion control algorithms are avoided.
Smart Images

Figure CN119211087A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of embedded devices, and in particular to a method, device, medium and product for measuring speed of an embedded device. Background Art
[0002] The speedtest speed of the ONT device in a high-latency scenario is unstable, and the uploading speed is often only 1 Gbps.
[0003] Because ONT is an embedded device, the CPU performance is not enough. The speed test process in Linux user mode has a very low speed. Therefore, ONT deploys the speed test function in the driver. In low-latency scenarios, driver uploading can easily reach the peak rate. However, in high-latency scenarios, the TCP ACK message reply of the speed test server is not timely, and the sending window of the sender is not adjusted in time. Data messages are sent to the speed test server at a rate exceeding the bandwidth, resulting in buffer overflow and packet loss of the speed test server. The speed test server sends a duplicate ack to notify the speed test client to retransmit. The speed test rate drops and rate oscillation occurs. Due to the large delay, there is currently no good algorithm to quickly adjust the packet sending rate of the speed test client. It is impossible to measure the actual speed test rate in high-latency and high-bandwidth scenarios. Summary of the invention
[0004] One purpose of the present application is to provide an embedded device speed measurement method, device, medium and product, at least to solve the technical problem that the embedded device cannot accurately measure the speed in a high-latency and high-bandwidth scenario.
[0005] To achieve the above objectives, some embodiments of the present application provide the following aspects:
[0006] In the first aspect, some embodiments of the present application also provide a method for measuring speed of an embedded device, the method comprising: implementing a packet sending algorithm at the driver level of the embedded device, and dynamically adjusting the sending window of the TCP message sender; pre-testing the speedtest upload rate under various high-latency scenarios, and obtaining a rate table based on the upload rate; setting a speed limit rate as a typical value in the rate table based on the idle delay of the speedtest; performing a rate test on the embedded device, and when the upload test rate of the speedtest is lower than the expected value, adjusting to the next level of speed limit rate according to the rate table, and retesting; when the upload test rate of the speedtest reaches the expected value, recording the current rate value as the final test result.
[0007] In a second aspect, some embodiments of the present application further provide an electronic device, comprising: one or more processors; and a memory storing computer program instructions, wherein the computer program instructions, when executed, cause the processor to perform the steps of the method described above.
[0008] In a third aspect, some embodiments of the present application further provide a computer-readable medium having computer program instructions stored thereon, wherein the computer program instructions can be executed by a processor to implement the method as described above.
[0009] In a fourth aspect, some embodiments of the present application further provide a computer program product, comprising a computer program / instruction, which implements the steps of the method described above when executed by a processor.
[0010] Compared with the related art, the solution provided in the embodiment of the present application adopts a simple packet sending algorithm combined with TCP data flow shaping speed limiting technology, which can adjust the data flow rate faster than the traditional method that relies on the TCP congestion control algorithm. This improvement enables speedtest to quickly reach the bandwidth peak in a high-bandwidth environment without having to wait for the congestion control algorithm to gradually adapt to the network conditions. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] One or more embodiments are exemplarily described by pictures in the corresponding drawings, and these exemplified descriptions do not constitute limitations on the embodiments. Elements with the same reference numerals in the drawings represent similar elements, and unless otherwise stated, the figures in the drawings do not constitute proportional limitations.
[0012] Figure 1 This is a schematic diagram of an exemplary process of an embedded device speed measurement method provided according to an embodiment of the present application;
[0013] Figure 2 A schematic diagram of an exemplary process of a packet sending algorithm provided according to an embodiment of the present application;
[0014] Figure 3 The present invention is a structural architecture diagram of an electronic device provided according to an embodiment of the present application. DETAILED DESCRIPTION
[0015] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0016] The following terms are used in this article.
[0017] Speedtest: is a widely used internet connection speed test tool that calculates download and upload rates by measuring the time it takes for data packets to travel between the user's device and the server.
[0018] Window Size: In the TCP protocol, Window Size refers to the maximum amount of data (in bytes) that can be sent before waiting for confirmation. The adjustment of the window size is based on network congestion and the data processing capacity of the receiving end, and plays a key role in improving network communication efficiency.
[0019] Inflight: refers to the total amount of data packets that have been sent but not yet confirmed to be received. In TCP network communications, accurate tracking of inflight data is essential for dynamically adjusting window sizes and avoiding network congestion.
[0020] rcv-inflight: usually refers to the amount of data that has not been confirmed by the receiving end. It helps the sending end evaluate the current network status and the processing capacity of the receiving end, so as to adjust its sending strategy and ensure efficient and stable data transmission.
[0021] Idle Latency: refers to the round-trip time of a data packet from the sender to the receiver when there is no data transmission activity. This is an important indicator for evaluating network response speed, especially when performing network speed testing, the size of idle latency directly affects the accuracy and reliability of speed testing.
[0022] Shaping: also known as Traffic Shaping, is a network traffic management technology used to control the data transmission rate to ensure the effective use and fairness of the network. By adjusting the data transmission rate, traffic shaping helps reduce congestion, improve the utilization of network resources, and ensure the priority transmission of important data flows.
[0023] First embodiment
[0024] The first embodiment of the present application relates to a method for measuring speed of an embedded device. Figure 1 As shown, the method may include the following steps:
[0025] S101, implement a packet sending algorithm at the driver level of the embedded device to dynamically adjust the sending window of the TCP message sending end. In the driver, a TCP-based message processing process is implemented. The driver is mainly responsible for controlling the sending and receiving of TCP data to ensure that the data can be effectively transmitted through the network. The packet sending algorithm is used to determine the size of the sending window during the TCP communication process. The algorithm will dynamically adjust the size of the sending window according to the delay in the network and the change of the data transmission rate, thereby optimizing the efficiency of data transmission. Each time the packet sending algorithm sends a TCP data packet, it will determine the size of the new round of sending window based on the size of the previous round of sending window and the current network status. If congestion is detected or data retransmission is required, the packet sending algorithm will appropriately reduce the window size to ensure the reliability of data transmission; if the network condition is good, the algorithm will increase the window to improve the transmission efficiency; dynamically adjusting the size of the TCP sending window can avoid network congestion and data loss caused by too large a sending window, and avoid inefficient data transmission caused by too small a window. In high-latency and high-bandwidth network scenarios, dynamic adjustment of the sending window is particularly important.
[0026] S102, pre-test the speedtest upload rate in various high-latency scenarios, and obtain a rate table based on the upload rate. Build a high-latency test environment, simulate different delay scenarios (for example, 15ms, 20ms, 30ms, etc.), and different network bandwidth conditions (for example, 5Gbps, 10Gbps and above, etc.). In each high-latency scenario, the upload rate is tested multiple times by Speedtest, and the average upload rate in each test environment is calculated. The test results in each test scenario need to be recorded to form a rate table. The rate table example is as follows:
[0027]
[0028] The rate table includes different bandwidths, delays, speed limits, and expected rates. Analyze the rate data under different delay scenarios and summarize the typical values of upload rates under each typical delay scenario. This typical value will serve as a reference for rate adjustment.
[0029] S103, according to the idle delay of speedtest, the speed limit rate is set as the typical value in the speed table. Idle delay refers to the delay of Speedtest when no data is transmitted. It can reflect the basic performance of the network itself, such as the transmission delay between devices such as routers and switches; measurements are performed in different high-delay scenarios to obtain idle delay data in each network environment as a reference value for network delay. According to the idle delay, combined with the rate table obtained in the previous step S102, a reasonable upload rate is selected as the typical value of the speed limit rate. This ensures the accuracy of the rate table and makes it applicable to different network conditions. By adjusting the speed limit rate, it can be ensured that the rate test can still be performed accurately under high delay conditions. This strategy uses the speed limit rate as the initial value and adjusts it according to the actual transmission situation in subsequent tests. The typical value of the speed limit rate determined by the idle delay is added to the rate table for reference in subsequent rate adjustments to ensure that the accurate peak rate can be quickly reached during the speed test.
[0030] S104, perform a rate test on the embedded device. When the upload test rate of speedtest is lower than the expected value, adjust to the next level of speed limit according to the speed table, and retest. Start Speedtest on the embedded device to perform a rate test, obtain the upload rate under the current network environment, and compare it with the typical rate value under the corresponding delay condition in the rate table. Determine whether the rate meets the standard: If the current upload rate reaches or exceeds the expected typical value in the rate table, it means that the current speed limit setting is appropriate, and the test results can be recorded and the test ends; if the current upload rate is lower than the expected typical value, it indicates that the speed limit setting may be too high or the current network conditions are not good, and the rate needs to be adjusted; according to the data in the rate table, reduce the speed limit to the next level of speed limit; re-perform the Speedtest rate test to confirm the upload rate under the new speed limit setting; if the adjusted rate is still lower than expected, select the next level of speed limit from the rate table again, and continue testing. Repeat this process until the upload rate reaches the expected value or drops to the minimum speed limit.
[0031] S105, when the upload test rate of speedtest reaches the expected value, the current rate value is recorded as the final test result. After adjusting the speed limit rate for many times, when the upload rate of Speedtest finally reaches or exceeds the expected value, stop further adjusting the speed limit rate. Ensure that the current rate is within the expected range by comparing the typical rate values in the rate table. Record the current rate value as the final test result and store it together with the corresponding network delay and speed limit settings for future reference. It is also necessary to record the test environment, network delay, test equipment model and other parameters that affect the test to ensure the traceability of the results. Compare the recorded rate results with the data in the rate table to analyze the transmission performance under the current network conditions. Summarize the characteristics of the test results and further improve the rate table to provide a more accurate speed limit rate reference in future tests and rate adjustments. This step ensures that the upload rate results are accurately recorded under different network conditions, providing reliable data for the performance evaluation of embedded devices.
[0032] It is not difficult to find that compared with the related art, the solution provided in the embodiment of the present application uses a simple packet sending algorithm and TCP data flow shaping speed limit instead of a slow TCP congestion algorithm to allow the speedtest rate to quickly reach the bandwidth peak, thereby improving the stability and accuracy of the speedtest speed measurement in high-latency and high-bandwidth scenarios. Compared with the reno and cubic congestion avoidance algorithms of the Linux kernel, this method has a higher rate and is more stable, and the code implementation is simpler.
[0033] Second embodiment
[0034] The second embodiment of the present application relates to a method for measuring the speed of an embedded device. The second implementation is an improvement made on the basis of the first embodiment. The specific improvement is that the packet sending algorithm is as follows: Figure 2 As shown:
[0035] When sending a TCP message, the sequence number seq of the TCP message is updated to ensure the order and integrity of the data packet.
[0036] Determine whether the window size sent last time is 0. If so, set the current window size to a preset value;
[0037] If the window size sent last time is not 0, determine whether twice the window size sent last time is greater than the script value. If so, set the current window size to the preset value to quickly start data sending. If not, adjust the current window size to twice the window size sent last time, so as to gradually expand the sending window and increase the transmission speed.
[0038] Determine whether data retransmission is needed (usually due to network errors or data loss). If necessary, set the current window size to 1 data length to minimize network congestion caused by retransmission.
[0039] If data retransmission is not required, infight is calculated; the infight is the amount of data that has been sent but not confirmed in the network, which is a key indicator for dynamically adjusting the window size;
[0040] If the server receiving window is larger than infight, the current window size is set to the minimum value of rcv-infight and itself to fully utilize the receiving capacity of the server while avoiding overflow; rcv-infight is the amount of data that the server receiving end has not confirmed;
[0041] If the server receiving window is less than or equal to infight, set the current window size to 1 data length;
[0042] Send a message of window size and update seq num.
[0043] This improved packet sending algorithm can more flexibly respond to changes in network status and optimize the data transmission process. It is particularly suitable for environments with unstable network conditions or high latency. By dynamically adjusting the TCP send window size, it can effectively improve the efficiency and reliability of network transmission and ensure the stability and speed of data transmission.
[0044] In addition, some embodiments of the present application also provide an electronic device. The electronic device may be a digital computer in various forms, such as a laptop computer, a desktop computer, a workbench, a personal digital assistant, a server, a blade server, a mainframe computer, etc. The electronic device may also be a mobile device in various forms, such as a personal digital processing, a cellular phone, a smart phone, a wearable device, and other similar computing devices.
[0045] The electronic device includes: one or more processors; and a memory storing computer program instructions, wherein when the computer program instructions are executed, the processor executes the steps of the method provided in any one or more of the above embodiments. Figure 3 An exemplary structural diagram of the electronic device is disclosed. Figure 3As shown, the electronic device includes: one or more processors 1101, memory 1102, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. The various components are connected to each other using different buses and can be installed on a common mainboard or installed in other ways as needed. The processor can process instructions executed in the electronic device, including instructions stored in or on the memory to display graphical information of the GUI on an external input / output device (such as a display device coupled to the interface). In some other embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple electronic devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Among them, the components shown in this article, their connections and relationships, and their functions are only used as examples, and are not intended to limit the implementation of the present application described and / or required herein.
[0046] The electronic device may further include: an input device 1103 and an output device 1104. The processor 1101, the memory 1102, the input device 1103 and the output device 1104 may be connected via a bus or other means. Figure 3 The example of connecting through bus is taken in the following.
[0047] The input device 1103 can receive input digital or character information, and generate key signal input related to the user settings and function control of the electronic device, such as a touch screen, a keypad, a mouse, a track pad, a touch pad, an indicator bar, one or more mouse buttons, a trackball, a joystick and other input devices. The output device 1104 may include a display device, an auxiliary lighting device (e.g., an LED) and a tactile feedback device (e.g., a vibration motor), etc. The display device may include, but is not limited to, a liquid crystal display (LCD), a light emitting diode (LED) display and a plasma display. In some embodiments, the display device may be a touch screen.
[0048] To provide interaction with a user, the electronic device may be a computer. The computer has: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or a trackball), through which the user can provide input to the computer. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).
[0049] In the embodiments of the present application, a computer program / instruction is stored on a computer-readable medium, and when the computer program / instruction is executed by a processor, the steps of the method provided by any one or more of the above embodiments are implemented. The computer-readable medium may be included in the electronic device described in the above embodiments; or it may exist independently without being assembled into the device. The above computer-readable medium carries one or more computer-readable instructions.
[0050] The memory 1102 can be used as a non-transient computer-readable storage medium, which can be used to store non-transient software programs, non-transient computer executable programs and modules. The processor 1101 executes various functional applications and data processing of the server by running the non-transient software programs, instructions and modules stored in the memory 1102, so as to implement the program instructions / modules corresponding to the method provided by any one or more embodiments in the embodiments of the present application.
[0051] The memory 1102 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the electronic device, etc. In addition, the memory 1102 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some embodiments, the memory 1102 may optionally include a memory remotely arranged relative to the processor 1101, and these remote memories may be connected to the electronic device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0052] It should be noted that the computer-readable medium described in the present application may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, a computer-readable medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device.
[0053] Computer readable media include permanent and non-permanent, removable and non-removable media, and can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, modules of programs or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, read-only compact disk (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape disk storage or other magnetic storage devices or any other non-transmission medium that can be used to store information that can be accessed by a computing device.
[0054] Computer program code for performing the operations of the present application may be written in one or more programming languages or a combination thereof, including object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0055] In the above-described embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. For example, it can be implemented by using an application specific integrated circuit (ASIC), a general-purpose computer or any other similar hardware device. In certain embodiments, the software program of the present application can be executed by a processor to implement the above steps or functions. Similarly, the software program of the present application (including relevant data structures) can be stored in a computer-readable recording medium, for example, a RAM memory, a magnetic or optical drive or a floppy disk and similar devices. In addition, some steps or functions of the present application can be implemented by hardware, for example, as a circuit that cooperates with a processor to perform each step or function.
[0056] The computer program product provided in the embodiment of the present application includes one or more computer programs / instructions, and when the computer program / instructions are executed by the processor, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in a computer-readable storage medium, or transmitted from a computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website site, a computer, a server or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or a data center that includes one or more available media integrations. The available medium may be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state disk (SSD)), etc.
[0057] The flow chart or block diagram in the accompanying drawings shows the possible architecture, function and operation of the equipment, method and computer program product according to various embodiments of the present application. In this regard, each box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be implemented with a dedicated system for hardware that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0058] The scope of the present application is defined by the appended claims rather than the above description, and it is intended that all changes that fall within the meaning and scope of the equivalent elements of the claims are included in the present application. Any reference signs in the claims should not be considered as limiting the claims involved. In addition, it is clear that the word "comprising" does not exclude other units or steps, and the singular does not exclude the plural. Multiple units or devices stated in the device claim can also be implemented by one unit or device through software or hardware. The words "first" and "second" are only used to distinguish the description, and do not indicate any particular order, nor can they be understood as indicating or implying relative importance. .
[0059] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art can easily mention changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims, and the above embodiments should be regarded as exemplary and non-restrictive.
Claims
1. A method for measuring speed of an embedded device, characterized in that: include: Implement the packet sending algorithm at the driver level of the embedded device to dynamically adjust the sending window of the TCP message sender; Pre-test the speedtest upload rates under various high-latency scenarios, and obtain a rate table based on the upload rates; Set the speed limit rate according to the idle delay of speedtest as the typical value in the rate table; Perform a speed test on the embedded device. When the upload test rate of the speedtest is lower than the expected value, adjust it to the next level of speed limit according to the speed table and re-test. When the upload test rate of speedtest reaches the expected value, the current rate value is recorded as the final test result.
2. The method according to claim 1, characterized in that: The packet sending algorithm includes: a. When sending a TCP message, update the sequence number of the TCP message; b. Determine whether the last sending window size is 0. If so, set the current sending window size to a preset value; c. If the last sending window size is not 0, determine whether twice the last sending window size is greater than the script value. If so, set the current sending window size to the preset value; if not, adjust the current sending window size to twice the last sending window size.
3. The method according to claim 2, characterized in that The packet sending algorithm also includes: d. Determine whether data retransmission is required. If necessary, set the current sending window size to 1 data length; e. If data retransmission is not required, calculate infight; the inf i ght is the amount of data sent but not confirmed in the network; f. If the server receive window is larger than infi ght, the current send window size is set to the minimum of rcv-infight and its own; the rcv-infight is the amount of data that the server receiving end has not confirmed; g. If the server receive window is less than or equal to infight, set the current send window size to 1 data length.
4. The method according to any one of claims 1 to 3, characterized in that: The high-latency scenario is a network delay scenario of more than 10ms.
5. The method according to claim 4, characterized in that: The embedded device uses an uplink bandwidth of 5Gbp+.
6. The method according to claim 5, characterized in that The speed limit is determined by uplink shaping technology.
7. The method according to claim 6, characterized in that Also includes: Test with different data packets to determine the effect of different data packet sizes on the upload rate test results.
8. An electronic device, characterized in that: The electronic device comprises: one or more processors; and A memory storing computer program instructions, which, when executed, cause the processor to perform the steps of the method as claimed in any one of claims 1 to 7.
9. A computer readable medium having a computer program / instructions stored thereon, characterized in that: When the computer program / instructions are executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.
10. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.
