Device and method for measuring transmission channel
By transmitting data packets to the destination, receiving confirmation messages and handling silence periods and irregularities, the accuracy of transmission channel state measurement is solved, and more efficient channel resource allocation is achieved.
Patent Information
- Application Number
- CN202080101119.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-05-19
- Publication Date
- 2025-08-08
- Estimated Expiration
- 2040-05-19
AI Technical Summary
The prior art is difficult to accurately measure the status of the transmission channel, especially in mobile wireless networks, resulting in an equalization algorithm selecting a channel with low capacity instead of a channel with high capacity, affecting data transmission efficiency.
By transmitting multiple data packets to the destination, receiving confirmation messages, detecting and deleting the silent period, performing smoothing processing to remove irregularities and emergencies, and computing the bandwidth and delay of the transmission channel.
It provides more reliable transmission channel bandwidth and delay measurement, improves data transmission efficiency, and ensures reasonable allocation of channel resources.
Smart Images

Figure CN115668882B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates generally to the field of telecommunications. More particularly, the present invention relates to an apparatus and method for measuring a transmission channel. Background Art
[0002] Modern telecommunications networks are complex. They can consist of numerous, diverse smaller networks maintained by different owners. These networks may have varying quality and technology. Users of different networks often connect to the internet, and the servers and other entities that respond to client requests may be located in different countries or states. Consequently, client networks connect to server networks via international connections. The quality of these connections depends on several factors. Furthermore, current network conditions, such as the number of users, can cause significant, temporary changes in the state of the transmission channel. For example, when there are many users, their requests may exceed the capacity of the transmission channel, resulting in lower bandwidth and higher latency than expected.
[0003] Measuring the status of a transmission channel, Internet access, or any other network connection can be important for various reasons. For example, traffic balancing algorithms require current information about the state of the transmission channels. Balancing can be used to route more data through the connection with the highest available capacity. Without accurate measurement of the available transmission channels, balancing algorithms may choose a low-capacity transmission channel over a high-capacity one. While measuring the data transfer rate of incoming data is straightforward at the receiving end, measuring the data transfer rate of the transmission channel at the sending end is more difficult. The sender typically sends packets at the maximum available data transfer rate, which is typically represented by the data transfer rate of the most recent connection.
[0004] The only way to estimate the data rate on the transmitting side is to receive acknowledgments from the receiving side. High channel latency can cause bursts in the observed transmitted data rate due to irregularities in incoming acknowledgment packets. Furthermore, packet loss can cause gaps in a series of consecutive acknowledgments, leading to more bursts and making measurement more difficult.
[0005] One-way channel delay cannot be accurately estimated in physically distributed systems. Only round-trip time (RTT) can be accurately measured when using acknowledged transport protocols for data transmission. RTT values can be directly derived from connection characteristics (e.g., TCP sessions), but the assumption that channel delay is equal to RTT / 2 cannot be true, especially in mobile wireless networks, especially LTE networks with large buffers in network devices.
[0006] Therefore, there is a need for improved methods of measuring transmission channels. Summary of the Invention
[0007] The present invention provides an apparatus and method for measuring a transmission channel. The transmission channel is measured by transmitting multiple data packets to a destination. The destination responds to the data packets by sending an acknowledgment message of the measurement results. The measurement results are then processed to remove possible silent periods. The processed measurement results are then smoothed to remove irregularities, data bursts, and the like. Finally, the smoothed measurement results may be left unprocessed or used to calculate the bandwidth and latency of the transmission channel.
[0008] A first aspect discloses a method for measuring a transmission channel. The method includes: transmitting a transmission signal including a plurality of data packets to a destination; receiving a plurality of acknowledgments as measurement results in response to transmitting the transmission signal; detecting a silence period in the transmission signal; deleting the detected silence period from the measurement result; and smoothing the measurement result after deleting the detected silence period from the measurement result.
[0009] The first aspect can measure transmission channels in the uplink direction. This measurement provides a basis for determining transmission bandwidth and latency. This can be conveniently achieved by removing silent periods from transmission and further smoothing out irregularities, bursts, and similar events that reduce the reliability of the measurement results. Removing silent periods and smoothing out irregularities allows for measurement of transmission bandwidth and latency under current conditions. This allows for allocation of transmission channels to improve achievable bandwidth and latency.
[0010] In one implementation of the first aspect, the smoothing process includes approximating the exponential bandwidth function using piecewise rational functions. Using piecewise functions is beneficial because it allows approximating different parts of the exponential bandwidth function by considering local characteristics of the function. Furthermore, this is particularly useful when the environment in which the smoothing algorithm is used is unable to perform operations that require computation of the function. The environment used may not be capable of computing floating-point numbers. Segmentwise processing enables computations without floating-point numbers.
[0011] In a second implementation of the first aspect, the smoothing includes smoothing the measurement result using a maximum filter function when the measurement result decreases rapidly. Using a maximum filter function on the measurement result is beneficial because it can eliminate irregularities in the transmission channel, data bursts, and other temporary and local variations from the measurement result. This provides a more reliable measurement result for the overall measurement, as local irregularities can distort the measurement result.
[0012] In a third implementation of the first aspect, the method further includes calculating the bandwidth of the transmission channel based on the smoothed measurement results. Calculating the bandwidth of the transmission channel is beneficial because this information can be directly used in various applications that require available bandwidth information. Furthermore, because the smoothed measurement results are used as a basis for the calculation, the calculated bandwidth corresponds to the current available bandwidth but does not include irregular deviations.
[0013] In a fourth implementation of the first aspect, the method further includes determining the round-trip time by dividing the amount of data being transmitted by the calculated bandwidth of the transmission channel. Calculating the round-trip time of a data packet is beneficial because the round-trip time can be used to calculate one-way latency. Dividing the known amount of data being transmitted by the calculated bandwidth yields a reliable estimate of the round-trip time.
[0014] In a fifth implementation of the first aspect, the method further includes: estimating a one-way delay value by multiplying the round-trip time by a predetermined constant. Multiplying by a constant provides a simple and efficient method to approximate the delay.
[0015] In a sixth implementation of the first aspect, the predetermined constant is 0.75. Due to the properties of the data path to the client, the constant 0.75 provides a reliable estimate in conventional devices.
[0016] A second aspect discloses a computer program comprising computer program code for executing a method according to said aspect or any of the discussed implementations. It is advantageous to implement the first aspect using a computer program executable in a proxy server.
[0017] A third aspect discloses an apparatus for a transmission channel. The apparatus includes processing circuitry configured to: transmit a transmission signal comprising a plurality of data packets to a destination; receive a plurality of acknowledgments as measurement results in response to the transmission; detect a period of silence in the transmission signal; remove the detected period of silence from the measurement results; and smooth the measurement results after the detected period of silence has been removed from the measurement results.
[0018] The third aspect can measure transmission channels in the uplink direction. This measurement provides a basis for determining transmission bandwidth and latency. This can be conveniently achieved by removing silent periods from transmission and further smoothing out irregularities, bursts, and similar events that reduce the reliability of the measurement results. Removing silent periods and smoothing out irregularities allows for measurement of transmission bandwidth and latency under current conditions. This allows for allocation of transmission channels to improve achievable bandwidth and latency.
[0019] In one implementation of the third aspect, the processing circuit is configured to smooth the measurement results by approximating an exponential bandwidth function using a piecewise rational function. Using a piecewise function is advantageous because it allows approximating different portions of the exponential bandwidth function by taking into account local characteristics of the function. Furthermore, this is particularly useful when the environment in which the smoothing algorithm is used is unable to perform operations that require computation of the necessary functions. The environment in which the smoothing algorithm is used may not be capable of computing floating-point numbers. Segmentwise processing enables computations to be performed without floating-point numbers.
[0020] In a second implementation of the third aspect, the processing circuit is configured to smooth the measurement result using a maximum filter function when the measurement result decreases rapidly. Using a maximum filter function on the measurement result is beneficial because it can eliminate irregularities in the transmission channel, data bursts, and other temporary and local variations from the measurement result. This provides more reliable measurement results.
[0021] In a third implementation of the third aspect, the processing circuit is further configured to calculate the bandwidth of the transmission channel based on the smoothed measurement results. Calculating the bandwidth of the transmission channel is beneficial because this information can be directly used in various applications that require available bandwidth information. Furthermore, because the smoothed measurement results are used as a basis for the calculation, the calculated bandwidth corresponds to the current available bandwidth, but does not include irregular deviations.
[0022] In a fourth implementation of the third aspect, the processing circuit is further configured to determine the round-trip time by dividing the amount of data being transmitted by the calculated bandwidth of the transmission channel. Calculating the round-trip time of a data packet is beneficial because the round-trip time can be used to calculate one-way latency. Dividing the known amount of data being transmitted by the calculated bandwidth yields a reliable estimate of the round-trip time.
[0023] In a fifth implementation of the third aspect, the processing circuit is further configured to estimate a one-way delay value by multiplying the round-trip time by a predetermined constant. Multiplication by a constant provides a simple and efficient method to approximate the delay.
[0024] In a sixth implementation of the third aspect, the predetermined constant is 0.75. Due to the properties of the data path to the client, the constant 0.75 provides a reliable estimate in conventional devices.
[0025] The above aspects and implementations provide a more reliable method for measuring uplink bandwidth and latency. These aspects and implementations are beneficial because they can be implemented without significant changes to the underlying architecture. The principles discussed are applicable to different types of devices that need to measure the current status of an uplink channel. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] Other exemplary embodiments will be described with reference to the following drawings, in which:
[0027] Figure 1 An example of a block diagram of an apparatus for measuring a transmission channel is shown;
[0028] Figure 2 An example of transmission is shown;
[0029] Figure 3 An example of data transfer rate estimation for file download using small chunks is shown;
[0030] Figure 4 An example of data transmission rate calculation excluding silent periods is shown;
[0031] Figure 5 An example of a method for measuring a transmission channel is shown;
[0032] Figure 6 An example of a piecewise rational function is shown;
[0033] Figure 7 An example of an approximation function is shown;
[0034] Figure 8 An example of applying a maximum filter function to the measured bandwidth values to eliminate irregularities is shown.
[0035] In the following figures, the same reference numerals are used to denote identical or at least functionally equivalent features. DETAILED DESCRIPTION
[0036] The following description is made with reference to the accompanying drawings, which form a part of the present invention and illustrate, by way of illustration, specific aspects of the apparatus and method that may be implemented in accordance with the present invention. It should be understood that other aspects may be utilized and structural or logical changes may be made without departing from the scope of the claims. Therefore, the following detailed description should not be construed in a limiting sense.
[0037] For example, it should be understood that disclosures related to a described method also apply to corresponding devices or systems for performing the method, and vice versa. For example, if a specific method step is described, the corresponding device may include a unit for performing the described method step, even if such a unit is not explicitly described or illustrated in the figures. Furthermore, it should be understood that, unless otherwise explicitly stated, features of the various exemplary aspects described herein may be combined with each other.
[0038] Detailed and very specific examples are given in the following description. These examples should be understood as a description of one possible way to implement transmission channel measurements.
[0039] Figure 1 An example of an apparatus for multi-channel data transmission for a mobile phone 100, tablet computer, or similar device is shown. The mobile phone 100, tablet computer, or similar device has a mobile connection 120 and a wireless local area network connection 110. In this example, a proxy server 140 aggregates multiple streams from the mobile phone 100 and sends the aggregated data to a web server 150. Accordingly, the proxy server 140 distributes the data from the web server 150 over all available connections.
[0040] exist Figure 1 In the example of , mobile phone 100 is a conventional mobile phone that includes circuitry for performing tasks common to mobile devices. Common tasks include making calls and using a packet data connection, such as viewing or streaming live video or browsing the World Wide Web. Mobile phone 100 in this example connects to the Internet 130 using a mobile connection 120, which may be an LTE connection, and a wireless local area network connection 110. Proxy server 140 includes circuitry for performing tasks common to proxy servers. Proxy server 140 acts as an intermediary for requests originating from mobile phone 100 and seeking resources from web server 150. In Figure 1 In the example of FIG, the web server 150 provides real-time video to the mobile phone 100. The web server 150 includes circuitry for providing real-time video based on a request from the mobile device 100. Figure 1 In the example shown, only one mobile device 100, one proxy server 140, and one web server 150 are shown, but this is for simplicity. Proxy server 140 typically serves many more mobile devices and other devices. A common proxy server 140 and web server 150 typically include multiple servers, so that requests from a mobile device are distributed among these servers. Thus, end users perceive these servers as a single large server.
[0041] exist Figure 1 In the example, a HTTP GET request with a specified range of data to be transmitted is used to request video stream data from the web server 150. This method is very useful for dynamic changes in video quality. However, if the channel delay between the client (i.e., the mobile phone 100) and the web server 150 is quite large, data downloads will be bursty. This is in Figure 2 A detailed description is provided below.
[0042] Figure 2 An example of transmission when measuring a transmission channel is shown. Figure 2As can be seen in FIG, client 200 transmits a request, such as an HTTP GET request. The HTTP GET request is used to retrieve and request data from a specified source in a server using the Hypertext Transfer Protocol. Client 200 transmits a first request 250 having a range of 0kB to 256kB. The first request 250 is transmitted to server 220 via proxy server 210. Server 220 may be a web server, similar to Figure 1 In the example, web server 150 is shown in FIG. Server 220 responds to first request 250 by providing a response to client 200 via proxy server 210. Client 200 responds by sending an acknowledgment. After receiving the response from server 220, client 200 transmits a second request 260, similar to first request 250 but with a size ranging from 256 kB to 512 kB. Client 200 later receives a response to second request 260 and transmits a third request 270 to server 220. Both transmission directions, from client 200 to server 220 and from server 220 to client 200, have silent periods, with requests and responses provided in bursts.
[0043] In such cases, since the confirmation packets from the client 200 appear in bursts and there are long periods of no transmission, it is difficult to determine the exact data transmission rate of the data between the proxy server 210 and the client 200. Calculating the data transmission rate directly by the amount of data confirmed in the time interval will result in a variable value. After a period of silence, the estimated data transmission rate value will decrease. Figure 3 A detailed description is provided below.
[0044] Figure 3 An example of data transfer rate estimation for a file download using small chunks is shown. The actual maximum bandwidth available to the user in the measurement is different and may depend on the current network conditions. Figure 3 In the example, the y-axis corresponds to the data transmission rate in bits per second (in Figure 3 The x-axis corresponds to system time in seconds. The values shown are examples only and may vary when measured during normal use of the data transmission equipment. Figure 3 In the example, it is assumed that the buffers in the network are empty. Therefore, at the beginning of the measured transmission, there will be a period of time when the buffers in the network are filled. This can be seen as Figure 3The data transmission rate rises at 300 in the measurement results. Several silent periods can be seen in the example of the identified silent period 305. The measurement results show that after the silent period 305, a drop in the data transmission rate occurs at 310. Furthermore, the measurement results show that a similar drop occurs after each similar silent period. During the silent period, no data was transmitted using the measured transmission channel. This temporary silent period reduces the data transmission rate, which recovers during the transmission process, as shown in FIG. Figure 3 As shown in 320 in FIG. 1 , the data transmission rate is reduced, resulting in unsatisfactory data balance between channels, which reduces the aggregate data transmission rate.
[0045] When using measured transmissions to equalize data between several transmission channels, it is beneficial to accurately calculate the current bandwidth of one or more used transmission channels in order to move more data transmission from the slow channel to the fast channel. Figure 3 The measurements shown are not processed and may reduce Figure 3 Therefore, in order to reduce the degradation caused by the silent period, the measuring equipment, such as Figure 1 The proxy server 140 in the embodiment detects the silent periods through the TCP socket characteristics and removes these silent periods from the bandwidth calculation to obtain the actual current bandwidth of the transmission channel. Figure 4 A detailed description is provided below.
[0046] Figure 4 An example of data transmission rate calculation without silent periods is shown. In the measurement, the actual maximum bandwidth available to the user is different and may depend on the current network conditions. Figure 4 In the example, the y-axis corresponds to the data transmission rate in bits per second (in Figure 4 The x-axis corresponds to the system time in seconds. Figure 4 The measurements in the Figure 3 The transmission channel in is similar to the transmission channel in Figure 3 As in the example above, at the beginning of the measured transmission there is a period of time during which the buffers in the network are filled. This can be seen as Figure 4 The data transmission rate rises at 400.
[0047] Figure 4 The result of the data transmission rate calculation of the transmission channel is shown. After each silent period at the beginning of the data transmission, the calculated data transmission rate increases, as shown in 405, so as to reach the actual value of the bandwidth available on the measured transmission channel. Therefore, more fast channels can be used during the equalization period, thereby reducing the silent period. This improves the overall data transmission rate. Figure 3 When compared, it can be seen that there are fewer silent periods 410 during which no data is sent over the channel. Therefore, more data is sent over the channel. The data transmission rate is increased based on the improved measurement, which helps to allocate resources more efficiently. Figure 5 Provide an example of a method for improving measurements.
[0048] Figure 5 An example of a method for measuring a transmission channel is disclosed. Figure 5 In the example shown in FIG5 , if the method is completed, the bandwidth and latency of the transmission channel are measured. However, depending on the measurement, the method may stop at step 508 or at any step after step 508. For example, if only the bandwidth of the transmission channel is required, the method does not need to continue after the bandwidth of the transmission channel is calculated.
[0049] exist Figure 5 In step 500, the method is started by transmitting a plurality of data packets. The transmission may be a specific measurement transmission, or the data packets may be part of a normal transmission. Figure 5 In the example, the bandwidth and latency of this transmission are measured. This is achieved by measuring the acknowledgments associated with the transmission in step 500 in step 502. The received acknowledgments form the basis of the measurement results. The received acknowledgments correspond to the transmissions described above. Therefore, any periods of silence during the transmission will be visible in the measurement results. In step 504, the measurement results are processed by detecting periods of silence in the measurement results. For example, periods of silence can be detected by analyzing the socket buffer and the number of packets currently being transmitted by the sender. If the buffer is empty and there are no previously transmitted packets awaiting acknowledgment, a period of silence has been detected. A new statistical calculation is initiated only when the sender receives a new acknowledgment. At this point, the time collected in the statistics is updated using the round-trip time. The measurement results may include one or more periods of silence. Then, in step 506, the detected periods of silence are removed from the measurement results. For example, this can be accomplished by simply excluding the time period in which the detected period of silence occurred from the measurement results. As a result, the data transmission rate indicated by the measurement results better corresponds to the current bandwidth of the transmission channel.
[0050] Finally, in step 508, the processed measurement results without the silent period are smoothed. The purpose of smoothing is to remove portions of the measurement results where the measurement results drop rapidly. Smoothing can be applied to a variety of irregularities, and the purpose of smoothing is to remove these irregularities, such as bursts, from the measurement results so that the measurement results better represent the overall situation. For example, smoothing can be performed by using an averaging window with reduced weight and storing a small amount of additional data in the TCP socket data structure. Furthermore, this approximation is applicable to any statistical value.
[0051] Even in the case where no silent periods are detected and removed, smoothing is beneficial because transmissions may include bursts, and if bursty measurements are used to distribute data across transmission channels, the data distribution may not be ideal. The smoothed measurements may be left unprocessed, such as for diagnostic purposes, or further processed, as shown below in steps 510 through 514.
[0052] The bandwidth calculation in step 510 can be performed as follows. n Carry x n bits, the following rules can be used to update the current estimate of bandwidth:
[0053]
[0054] To approximate the exponential bandwidth function, piecewise rational functions can be used. Figure 6 An example is shown and a detailed description is provided below.
[0055] After the bandwidth calculation in step 510, the round-trip time (RTT) is measured in step 512. The RTT value can be measured accurately. In modern networks, where the on-line buffers can be very large, estimating the one-way delay as RTT / 2 is incorrect. If the buffer is empty or only partially full at the start of the measured transmission, there will be a period of time to fill the buffer in the network. In the case where the traffic to the mobile device is much greater than the traffic from the mobile device, the one-way delay depends largely on the direction of the main traffic flow. When the main traffic flow is to the mobile device, in step 514, the one-way delay can be estimated according to the following formula:
[0056]
[0057] This formula represents the average value between RTT / 2 and RTT. The measured RTT value has a certain "inertia" and does not show the current value, but rather the state of the channel in the past. This is especially noticeable when the channel is long and smoothing algorithms are applied to it. The RTT value can be accurately calculated based on the amount of data in transit (data that has been sent but not yet acknowledged) using the following formula:
[0058]
[0059] Among them, B is the currently calculated channel bandwidth, D inflight is the amount of data sent but not yet acknowledged.
[0060] Figure 6 An example of a transmission-based piecewise rational function is shown. Figure 6 The piecewise function shown in shows results based on the exponential approximation used in the Linux kernel. Figure 6 The piecewise function shown in [1] is used to approximate an exponential bandwidth function. In the Linux kernel, it is not possible to use floating-point numbers, and floating-point numbers are generally required to calculate functions approximated using piecewise functions. Therefore, this method is useful when the environment using smoothing algorithms cannot perform operations to calculate the necessary function.
[0061] Considering a series of time points X0 <X1<…<X n And a series of rational functions, rational functions R0(x), R1(x), ..., R_n(x) are the ratios of two polynomials, and the approximation can be written as follows:
[0062]
[0063] For the experimental results provided below with detailed description, we implemented the exponential approximation method in the Linux kernel using the next parameters:
[0064] n=2,X0=0, X2=2, and
[0065] R0(x)=1-x, R2(x)=0.
[0066] In this method, n represents Figure 6 The number of segments in the function. X0, X1, and X2 represent the values of X at the indicated points. Figure 6 The piecewise function in is defined by multiple sub-functions between these points. From X0 to X1, the piecewise function is defined by R0(x)=1-x, and from X1 to X2, the piecewise function is defined by Definition: From X2, the piecewise function is defined by R2(x)=0.
[0067] TCP congestion control algorithms can be very aggressive when faced with data loss. For example, the commonly used CUBIC algorithm significantly shortens the send window when data is lost. Other congestion control algorithms can be used instead of CUBIC. This results in a decrease in the amount of data sent, causing the calculated data rate to drop suddenly before returning to its previous value after a period of time. For balancing purposes, it is best to eliminate variations in the measured values that do not correspond to actual transmission channel variations.
[0068] To eliminate this type of value drop, a maximum filter function can be used. This smoothes rapidly decreasing measured values and uses them as statistical values for c seconds. After c seconds, the statistical value begins to approximate the current measured value by calculating the next maximum value using the function h(x). This function is used to approximate the speed at which the minimum and maximum measured values approach the current value. These values can be bandwidth or round-trip time values. An example of such a function is h(x) = 1 – x, however, other approximating functions can also be used, and they can be determined differently in certain time intervals.
[0069] Figure 7 An example of the approximation function is shown. diff =t now -t max -c (only in t now -t max >c), the new maximum value can be calculated by means of the auxiliary function h(x), which is set on the time interval [m,n] chosen for the measurement, including the rapid decrease of the value according to the following formula, such as Figure 7 As shown:
[0070]
[0071] exist Figure 7 In the figure, some points on the h(x) approximation function are shown. The starting and ending values of the interval [m,n] are shown. In addition, the point h(p) is shown in the figure, which can be determined as follows:
[0072]
[0073] exist Figure 7 In the example, a rapid drop is observed in the time interval [m,p] and then smoothed in the time interval [p,n]. The time interval [p,n] is set according to a certain value c. As mentioned above, after c seconds, the statistical value starts to approach the current measured value by calculating the next maximum value of the function h(x). The value of c can be selected by the operator of the smoothing entity. An example of a suitable value for c is 0.5s. This Figure 8 The maximum filter function is further explained in
[15] .
[0074] Figure 8 An example of smoothing using a maximum filter function is shown. Figure 8 In the example, the y-axis corresponds to the data transmission rate in bits per second (in Figure 8The x-axis corresponds to the system time in seconds. The values shown are examples only and may differ when measured during normal use of the data transmission device. Two measurements are described: one for the measured bandwidth value 810 and one for the bandwidth value using the maximum filter function 800. Assume h(x) = 1 – x and c = 0.5 s. Figure 8 As can be seen in , the use of the maximum filter function can remove irregularities and the resulting measurement results better describe the true state of the transmission channel. Figure 8 , the bandwidth measurement without the maximum filter function includes several drops 820 in the data transmission rate. Figure 8 A larger dip 830 is shown on the right, whereby it can be seen that even though the measurement without the maximum filter function shows a dip in the measured data transmission rate, when the maximum filter function is used the measurement 800 does not show any significant change during the dip.
[0075] The following table shows various measurement results of the apparatus provided by the examples of the present invention. The measurements were performed on various combinations of Wi-Fi and LTE connections of varying quality. It is clear from the measurement results in the table below that the greatest improvement is achieved when downloading data in small chunks when one channel is fast and has low latency (hereinafter referred to as "strong") and the other channel is slow and has high latency (hereinafter referred to as "weak" or "very weak"). In such cases, the default bandwidth measurement algorithm reduces the data transmission rate of the fast channel, and in dual-channel mode, most data is transmitted over the slow, long channel. The method based on the above principles can be used to more accurately estimate the channel bandwidth. This results in moving the transmission of most data from the fast, short channel to the slow, long channel. In the table, "strong" refers to a bandwidth of at least 20 Mbit / s and a latency of less than 50 ms, "weak" refers to a bandwidth of at least 8 Mbit / s and a latency of less than 800 ms, and "very weak" refers to a bandwidth of 2 Mbit / s and a latency of at least 800 ms.
[0076] Table 1
[0077] Table 2
[0078] Table 3
[0079] Table 4
[0080]
[0081] Table 5
[0082] In each table, the file size used for transfer is 128 megabytes. These tables show measurement results for different numbers of threads and different block sizes. The results include the current available bandwidth and the aggregation ratio. The aggregation ratio is the ratio of the cumulative data transfer rate on two channels to the maximum possible data transfer rate on those channels, assuming each channel is used independently. It can be seen that the above method provides improved bandwidth when one connection is good and the other is significantly poor, but no improvement is achieved in strong Wi-Fi and weak LTE situations.
[0083] Tables 2 through 5 differ from Table 1 in the number of threads. Furthermore, the block sizes used are larger than those in Table 1. As is evident from Tables 2, 3, and 4, improvements are achieved for all pairs with block sizes of 256 kilobytes, 512 kilobytes, and 2 megabytes, respectively, with the exception of the strong Wi-Fi and strong LTE cases. With a block size of 2 megabytes, the improvement is less pronounced than with smaller block sizes of 256 kilobytes and 512 kilobytes. In Table 5, a block size of 4 megabytes is used. With a block size of 4 megabytes, the improvement is less pronounced and is limited to a single pair of strong and very weak connections.
[0084] The measurement results shown in Tables 1 to 5 show that when using the principles described above, improved bandwidth and aggregation ratios can be achieved in most configurations, especially when the differences in connection quality are significant.
[0085] As described above, the apparatus for measuring a transmission channel can be implemented in hardware, such as a mobile phone, tablet computer, computer, telecommunications network base station, or any other network-connected device, or as a method. The method can be implemented as a computer program. The computer program is then executed on a computing device.
[0086] The apparatus, such as an apparatus for measuring a transmission channel, is configured to perform one of the above-described methods. The apparatus includes necessary hardware components. These hardware components may include at least one processor, at least one memory, at least one network connection, a bus, etc. For example, instead of dedicated hardware components, the memory or processor may be shared with other components or accessed from a cloud service, a centralized computing unit, or other resource accessible via a network connection.
[0087] This document describes an apparatus for measuring a transmission channel and a corresponding method in conjunction with various embodiments. However, based on a study of the drawings, the present invention and the appended claims, those skilled in the art will be able to understand and implement other variations of the disclosed embodiments when practicing the claimed invention. In the claims, the word "comprising" does not exclude other elements or steps, and "one" or "an" does not exclude a plurality. A single processor or other unit may implement the functions of several items listed in the claims. The listing of certain measures in different dependent claims does not indicate that a combination of these measures cannot be used to advantage. The computer program may be stored or distributed on a suitable medium, such as an optical storage medium or solid-state medium provided together with other hardware or as part of other hardware, and may also be distributed in other forms, such as via the Internet or other wired or wireless telecommunications systems.
Claims
1. A method for measuring a transmission channel, characterized in that: The method comprises: transmitting (500) a transmission signal including a plurality of data packets to a destination; receiving (502) a plurality of acknowledgments as measurement results in response to transmitting the transmission signal; detecting (504) a period of silence in the transmission signal; Deleting (506) the detected silence period from the measurement result; After the detected silence period is removed from the measurement result, smoothing the measurement result (508); The bandwidth of the transmission channel is calculated (510) based on the smoothed measurement result.
2. The method according to claim 1, characterized in that The smoothing process (508) includes approximating the exponential bandwidth function using a piecewise rational function.
3. The method according to claim 1 or 2, characterized in that The smoothing process (508) includes: when the measurement result drops rapidly, smoothing the measurement result using a maximum filter function.
4. The method according to claim 1 or 2, characterized in that The method further includes determining (512) a round trip time by dividing the amount of data in transit by the calculated bandwidth of the transmission channel.
5. The method according to claim 4, characterized in that The method also includes estimating (514) a one-way delay value by multiplying the round trip time by a predetermined constant.
6. The method according to claim 5, characterized in that The predetermined constant is 0.
75.
7. A computer program product comprising computer program code, characterized in that When the computer program code is executed in a computing device, the computer program code is configured to perform the method according to any one of claims 1 to 6.
8. A device for measuring a transmission channel, characterized in that: The apparatus comprises a processing circuit configured to: transmitting a transmission signal including a plurality of data packets to a destination; receiving a plurality of acknowledgments as measurement results in response to transmitting the transmission signal; detecting a period of silence in the transmission signal; deleting the detected silent period from the measurement result; After the detected silence period is deleted from the measurement result, smoothing the measurement result; The bandwidth of the transmission channel is calculated according to the smoothed measurement result.
9. The device according to claim 8, characterized in that The processing circuit is configured to smooth the measurement result by approximating an exponential bandwidth function using a piecewise rational function.
10. The device according to claim 8 or 9, characterized in that The processing circuit is configured to: when the measurement result drops rapidly, use a maximum filter function to smooth the measurement result.
11. The device according to claim 8 or 9, characterized in that The processing circuit is further configured to determine a round trip time by dividing the amount of data being transmitted by the calculated bandwidth of the transmission channel.
12. The device according to claim 11, characterized in that The processing circuit is further configured to estimate a one-way delay value by multiplying the round trip time by a predetermined constant.
13. The device according to claim 12, characterized in that The predetermined constant is 0.75.
Citation Information
Patent Citations
Methods, systems, and apparatus to generate information transmission performance alerts
CN108028778A
Method and apparatus for detecting heterogeneous communication system
US20120135689A1