Remote desktop bandwidth control method and device, storage medium and electronic equipment

By generating probe frame sequences to measure network timing distortion parameters in real time and actively adjusting the remote desktop data packet sending rate, the problem of response lag in remote desktop products under environments with frequent changes in network conditions is solved, achieving a smooth user experience and efficient utilization of network resources.

CN121664667APending Publication Date: 2026-03-13CHINA TOWER CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202610170510.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-02-06
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

In environments with frequent and drastic changes in network conditions, existing remote desktop products suffer from delayed response decisions, leading to lag and latency issues. Current technologies rely on historical data to judge network conditions, resulting in slow responses and an inability to adjust bandwidth in a timely manner.

Method used

By generating probe frame sequences and utilizing the bursts and silence periods in remote desktop application data packets, network timing distortion parameters are measured in real time, and the data packet sending rate is actively adjusted to reduce network latency.

Benefits of technology

It proactively reduces the transmission rate before network congestion occurs, avoiding user-perceived delays and stuttering, improving network resource utilization efficiency, and ensuring a smooth user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121664667A_ABST
    Figure CN121664667A_ABST
Patent Text Reader

Abstract

The invention discloses a remote desktop bandwidth control method and device, a storage medium and electronic equipment, and relates to the technical field of information. The method comprises the following steps: acquiring a to-be-transmitted application data packet on a remote desktop; a detection frame sequence is generated according to the application data packet, the detection frame sequence comprises a pulse string and a silent period, and the pulse string comprises a plurality of data packets; the detection frame sequence is sent to a receiving end, and the receiving end is used for measuring actual time intervals among the data packets in the detection frame sequence and predicting time sequence distortion parameters reflecting the current network state according to the actual time intervals; receiving the time sequence distortion parameter fed back by the receiving end; and adjusting the sending rate of the application data packet based on the time sequence distortion parameter so as to reduce the network delay. The problem of response decision lag in the prior art can be solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of information technology, and in particular to a remote desktop bandwidth control method, apparatus, storage medium, and electronic device. Background Technology

[0002] Remote desktop is becoming increasingly popular, but a common problem reported by users is lag and latency, especially in shared WiFi environments at home or in the office where the network is unpredictable, making the remote desktop experience feel like a rollercoaster.

[0003] Currently, existing remote desktop products typically rely on monitoring packet loss rates to determine network quality. For example, if a sudden increase in latency or the onset of packet loss is detected, it's assumed to be network congestion, and the sending speed and image quality are immediately reduced. However, by the time a spike in latency or packet loss is measured, data packets have already queued up in network devices (such as routers), congestion has already occurred, and users are already experiencing lag. This method of relying on historical data for judgment is too slow, especially in environments with frequent changes in network conditions. It consistently fails to keep up with the pace, causing control decisions to always lag behind the actual network situation. Summary of the Invention

[0004] In view of this, this application provides a remote desktop bandwidth control method, apparatus, storage medium and electronic device, which mainly solves the problem of delayed response decision in the prior art.

[0005] According to a first aspect of this application, a remote desktop bandwidth control method is provided, applied at a sending end, the method comprising: Retrieve application data packets to be transferred from the remote desktop; Based on the application data packet, a probe frame sequence is generated, wherein the probe frame sequence includes a burst of pulses and a silent period, and the burst of pulses includes several data packets; The probe frame sequence is sent to the receiving end, wherein the receiving end is used to measure the actual time interval between the plurality of data packets in the probe frame sequence, and predict the timing distortion parameters reflecting the current network state based on the actual time interval; Receive the timing distortion parameters fed back by the receiving end; Based on the timing distortion parameters, the sending rate of the application data packets is adjusted to reduce network latency.

[0006] According to a second aspect of this application, a remote desktop bandwidth control method is provided, applied at a receiving end, the method comprising: The receiver receives a sequence of probe frames sent by the sender, wherein the sender generates the sequence of probe frames based on the application data packets to be transmitted on the remote desktop, and the sequence of probe frames includes a burst of pulses and a silent period, and the burst of pulses includes several data packets. Measure the actual time interval between the plurality of data packets in the probe frame sequence; Based on the actual time interval, predict the timing distortion parameters that reflect the current network state; The timing distortion parameters are fed back to the sending end so that the sending end can adjust the sending rate of the application data packets based on the timing distortion parameters, thereby reducing network latency.

[0007] According to a third aspect of this application, a remote desktop bandwidth control device is provided, applied at a sending end, the device comprising: The acquisition unit is used to acquire application data packets to be transmitted on the remote desktop. A generation unit is configured to generate a probe frame sequence based on the application data packet, wherein the probe frame sequence includes a burst of pulses and a silent period, and the burst of pulses includes several data packets; A sending unit is used to send the probe frame sequence to a receiving end, wherein the receiving end is used to measure the actual time interval between the plurality of data packets in the probe frame sequence, and predict timing distortion parameters reflecting the current network state based on the actual time interval; The receiving unit is used to receive the timing distortion parameters fed back by the receiving end; The adjustment unit is used to adjust the sending rate of the application data packets based on the timing distortion parameters in order to reduce network latency.

[0008] According to a fourth aspect of this application, a remote desktop bandwidth control device is provided, applied at a receiving end, the device comprising: A receiving unit is used to receive a probe frame sequence sent by a sending end, wherein the sending end is used to generate a probe frame sequence based on the application data packets to be transmitted on the remote desktop, the probe frame sequence including a burst of pulses and a silent period, and the burst of pulses including several data packets; A measurement unit is used to measure the actual time interval between the plurality of data packets in the probe frame sequence; The prediction unit is used to predict the timing distortion parameters reflecting the current network state based on the actual time interval. The sending unit is used to feed back the timing distortion parameters to the sending end, so that the sending end can adjust the sending rate of the application data packets based on the timing distortion parameters and reduce network latency.

[0009] According to a fifth aspect of this application, a storage medium is provided that stores a computer program thereon, which, when executed by a processor, implements the above-described remote desktop bandwidth control method applied to a sending end.

[0010] According to a sixth aspect of this application, a storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the aforementioned remote desktop bandwidth control method applied to a receiving end.

[0011] According to a seventh aspect of this application, an electronic device is provided, including a storage medium, a processor, and a computer program stored on the storage medium and executable on the processor, wherein the processor executes the program to implement the aforementioned remote desktop bandwidth control method applied to a transmitting end.

[0012] According to an eighth aspect of this application, an electronic device is provided, including a storage medium, a processor, and a computer program stored on the storage medium and executable on the processor, wherein the processor executes the program to implement the aforementioned remote desktop bandwidth control method applied to a receiving end.

[0013] By employing the above technical solution, this application provides a remote desktop bandwidth control method, apparatus, storage medium, and electronic device. Compared with existing technologies, it first generates a probe frame sequence based on the application data packets to be transmitted on the remote desktop and sends the probe frame sequence to the receiving end. The receiving end measures the actual time interval between several data packets in the probe frame sequence and predicts timing distortion parameters reflecting the current network state based on the actual time interval. Then, it receives the timing distortion parameters fed back from the receiving end and finally adjusts the transmission rate of application data packets based on the timing distortion parameters to reduce network latency. Therefore, by sending a probe frame sequence to the receiving end and analyzing the timing distortion parameters fed back from the receiving end, this application can proactively detect the actual queuing situation of the network. The decision-making basis no longer relies on lagging historical data, and it can proactively reduce the transmission rate before congestion causes perceptible delays or lag for users, eliminating congestion in its early stages. This solves the problem of lagging response decisions in existing technologies. Meanwhile, this application transforms the application's latency tolerance into a measurable physical control objective, namely, the timing distortion parameter. This allows the application to utilize bandwidth as much as possible while satisfying the application's user experience, rather than repeatedly oscillating between full bandwidth and excessive speed reduction, resulting in a smooth user experience. Furthermore, the entire probing process in this application utilizes the application's own data packets, without introducing any additional probing-specific packets, thus avoiding any extra burden on the network.

[0014] The above description is only an overview of the technical solution of this application. In order to better understand the technical means of this application and to implement it in accordance with the contents of the specification, and to make the above and other objects, features and advantages of this application more obvious and understandable, the following are specific embodiments of this application. Attached Figure Description

[0015] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings: Figure 1 A flowchart illustrating a remote desktop bandwidth control method provided in an embodiment of this application is shown. Figure 2 A flowchart illustrating another remote desktop bandwidth control method provided in an embodiment of this application is shown; Figure 3 This illustration shows a schematic diagram of a remote desktop bandwidth control device provided in an embodiment of this application; Figure 4 A schematic diagram of another remote desktop bandwidth control device provided in an embodiment of this application is shown. Detailed Implementation

[0016] The present application will be described in detail below with reference to the accompanying drawings and embodiments. It should be noted that, unless otherwise specified, the embodiments and features described in the embodiments of the present application can be combined with each other.

[0017] The existing technology's reliance on historical data for judgment is too slow, especially in environments where network conditions change frequently. It always falls behind the pace, causing control decisions to lag behind the actual network conditions.

[0018] To address the aforementioned problems, embodiments of the present invention provide a remote desktop bandwidth control method, applied at the sending end, such as... Figure 1 As shown, the method includes: Step 10: Obtain the application data packet to be transferred on the remote desktop.

[0019] The application data packets include audio and video streams, keyboard and mouse event sequences, image data, etc. It should be noted that the application data packets in this embodiment are not limited to those listed above and may also be other data packets.

[0020] The innovation of this invention lies in actively probing the actual queuing situation of the network instead of passively waiting for congestion signals. However, this invention does not increase the network burden by sending additional probe packets, but instead directly utilizes the application data packets to be transmitted (such as image data from a remote desktop).

[0021] Step 20: Generate a probe frame sequence based on the application data packet.

[0022] The detection frame sequence includes a burst of pulses and a silent period, and the burst of pulses includes several data packets.

[0023] In this embodiment of the invention, instead of sending these data packets evenly at the sending end, the sending timing is precisely controlled to organize them into a probe frame sequence. This probe frame sequence consists of two parts: the first part consists of N data packets being sent out quickly one after another to form a pulse train, followed by a silent period during which no data is sent. The combination of this pulse train and the silent period constitutes a probe frame sequence.

[0024] When generating the probe frame sequence, the real-time round-trip time of the monitored data is obtained; based on the real-time round-trip time, the number of data packets and the length of the silence period are dynamically and adaptively determined; based on the application data packets, the number of data packets, and the length of the silence period, the plurality of data packets and the silence period are set; the pulse train is generated according to the plurality of data packets; and the probe frame sequence is generated according to the pulse train and the silence period.

[0025] Specifically, the initial number of data packets, data packet interval, and silence period can be set at the sending end according to the detection requirements. These parameters together constitute a detection frame sequence for a specific fingerprint. The specific values ​​set serve the target network features that the embodiments of the present invention want to detect.

[0026] The structure of the aforementioned probe frame sequence (the number of data packets in the burst and the duration of the silence period) is not fixed. This embodiment of the invention can continuously monitor the baseline RTT (Real-Time To-Trip) value of the link, and then dynamically adjust the number of data packets and the duration of the silence period based on the RTT value, so that the characteristics of the probe frame sequence match the response characteristics of the current network. Based on this, the method includes: determining the length of the silence period based on the RTT, wherein the length of the silence period is directly proportional to the RTT; and determining the number of data packets based on the RTT and the bandwidth-delay product corresponding to the sending rate of the application data packets.

[0027] Specifically, the silence period length is directly proportional to the real-time round-trip time (RTT). Preferably, the silence period length is set to twice the RTT. This ensures that, on links with various latency levels, the silence period has sufficient time for the queuing delay caused by the previous burst to completely disappear. Simultaneously, the number of data packets in the burst can be determined based on the product of the RTT and the bandwidth-delay ratio corresponding to the transmission rate. For example, if the RTT is 40ms, in a scenario with a transmission rate of 4Mbps, the bandwidth-delay ratio is 160kbit or 20KB. If the average size of the application data packets is 1KB, then selecting 3 or 4 data packets can constitute a burst sufficient to effectively stress the link buffer. In a local area network environment with a RTT of 5ms, the number of data packets can be adjusted to 2. Through the above method, the physical scale of the detection tool in this embodiment of the invention can be dynamically matched with the geometry of the channel under test, thereby maintaining the effectiveness of detection in various network environments.

[0028] Furthermore, to ensure that the probe frame sequence constructed in this embodiment of the invention can stably probe the network state, this embodiment of the invention performs an RTT initialization and continuous update process after the digital information transmission session is established. Specifically, within a few seconds of the session's start, the system transmits data at a preset initial rate lower than the safe transmission rate. During this period, the sending end records the transmission timestamp of each data packet, and the receiving end immediately returns an acknowledgment message containing the timestamp after receiving the data packet. The sending end calculates a series of instantaneous round-trip times based on this, and uses the minimum value among these measurements as the initial RTT value. After the session enters a stable operating state, the system continuously calculates the instantaneous round-trip time for each data packet within a relatively long window (e.g., 60 seconds), and uses the minimum value among all instantaneous round-trip times as the RTT value. This window is periodically updated. Thus, the RTT value used to adjust the probe frame sequence structure parameters reflects the physical propagation delay of the network path, rather than an instantaneous measurement value that includes variable queuing delay, thereby providing a stable physical reference for the adaptive adjustment of the probe mechanism.

[0029] The entire detection process in this embodiment of the invention utilizes the application's own data packets, without introducing any additional detection-specific packets, thus avoiding any extra burden on the network. Furthermore, the detection results of this embodiment can adaptively adjust according to the network RTT, and a verification mechanism ensures the reliability of the measurement data, enabling it to work effectively in various complex real-world network environments.

[0030] Step 30: Send the probe frame sequence to the receiving end.

[0031] The receiving end is used to measure the actual time interval between the plurality of data packets in the probe frame sequence, and predict the timing distortion parameters reflecting the current network state based on the actual time interval.

[0032] In this embodiment of the invention, when sending data, the scheduler takes over the original application data packets and manages and determines the exact time when each data packet is sent into the kernel network protocol stack according to a preset probe sequence.

[0033] Step 40: Receive the timing distortion parameters fed back by the receiving end.

[0034] In this embodiment of the invention, the application's tolerance for latency is transformed into a measurable physical control target, namely, the timing distortion parameter. After the receiver calculates the timing distortion parameter based on the probe frame sequence, it feeds it back to the transmitter.

[0035] Step 50: Based on the timing distortion parameters, adjust the sending rate of the application data packets to reduce network latency.

[0036] In this embodiment of the invention, the timing distortion parameter directly reflects the real-time queuing delay of the bottleneck link on the current network path. If the timing distortion parameter is approximately equal to 1, it indicates that the network is idle; the larger the timing distortion parameter, the more severe the queuing. After receiving the timing distortion parameter from the receiver, the sending end has a basis for decision-making, thereby adjusting the sending rate of the application data packet. The method for adjusting the sending rate includes: obtaining the sending rate of the application data packet at the previous moment and the target timing distortion parameter; calculating the difference between the target timing distortion parameter and the timing distortion parameter; multiplying the difference by a gain coefficient and accumulating it to the sending rate at the previous moment to obtain the adjusted sending rate; and determining the sending rate at the current moment based on the adjusted sending rate. The specific sending rate control formula is as follows.

[0037] Where k represents the current time or batch, It is the transmission rate at the previous moment; It is a gain coefficient used to control the step size or magnitude of the rate adjustment, and the calibration of this coefficient can be determined through offline simulation; These are the timing distortion parameters; The target temporal distortion parameter; the difference between the target temporal distortion parameter and the temporal distortion parameter. The direction and magnitude of the data transmission rate adjustment are determined by multiplying by the gain factor. The adjusted transmission rate is then added to the transmission rate from the previous moment. That is, the transmission rate at the current moment.

[0038] The control logic of the above formula is to first obtain a target timing distortion parameter. , This represents the maximum queuing latency that the application can tolerate, for example, in real-time operations. Smaller is fine, but larger is better for watching videos. (Then...) With the calculated time-series distortion parameters Compare, if Exceeded This indicates that the queue is too long and the sending rate needs to be reduced; if much smaller This indicates that the network still has significant capacity, and the transmission rate can be appropriately increased. Through the above control logic, this embodiment of the invention can proactively control the network queuing depth to a desired level that does not affect the user experience.

[0039] In some embodiments, to prevent performance bottlenecks from migrating from the transmission link to a remote server, the system monitors an application-layer performance metric reflecting user experience in parallel. Based on this, the method further includes: acquiring the application-layer performance metric reflecting user experience; if the timing distortion parameter has converged to the target timing distortion parameter, and the application-layer performance metric is lower than a preset threshold, then it is determined that the bottleneck is not caused by network queuing congestion, and the target timing distortion parameter is adjusted to switch the control objective from maintaining low latency to preparing for high throughput.

[0040] The application layer performance metrics can be the effective frame rate or other metrics, and this embodiment of the invention does not impose any specific limitations on them.

[0041] Specifically, when detected It has converged to the target. If the application layer performance metrics are lower than the preset threshold, it is determined that the bottleneck is no longer caused by network queuing, and temporary adjustments will be made. This allows for a more lenient approach, shifting the control objective from maintaining low latency to preparing for high throughput, ensuring that backlogged data can be quickly transferred when the server recovers.

[0042] In some embodiments, in addition to adjusting the transmission rate using the control formula described above, a threshold determination method can also be used. Specifically, a first threshold and a second threshold are set respectively, where the first threshold is less than the second threshold. When the measured... When the value is less than the first threshold, increase the transmission rate; when the measured value is less than the first threshold, increase the transmission rate. When the value is between the first and second thresholds, the rate remains constant; when the measured value is between the first and second thresholds, the rate remains constant. When the value exceeds the second threshold, the rate is reduced.

[0043] When setting the first and second thresholds, assuming the remote application is medical image 3D reconstruction software, the transmission rate control logic is set to increase linearly only. Starting from a safe baseline rate, the transmission rate increases slowly at a rate of 0.1 Mbps / s. At the receiving end, the instantaneous value of the timing distortion parameter D is recorded at high frequency, and the end-to-end delay during model rotation is recorded at the application layer. Data analysis shows that when the transmission rate reaches 5 Mbps, the average value of D is 1.1, and the application layer delay is 80 ms. Continuing to increase the rate, when the rate reaches 8 Mbps, the average value of D rises to 1.4, and the application layer delay increases accordingly to 145 ms, where the user experience is at a critical point. When the rate further increases to 8.5 Mbps, the average value of D reaches 1.55, and the application layer delay exceeds 160 ms, resulting in noticeable stuttering. Based on this set of data, in order to reserve reaction space before the critical point of performance degradation, this embodiment of the invention sets the first threshold to 1.1 to indicate that network queuing has occurred and a cautious rate increase state should be entered, while the second threshold is set to 1.4 as the upper limit for triggering active rate reduction to prevent the user experience from being affected.

[0044] In some embodiments, to effectively address network congestion, this invention also provides a supplementary mechanism for dealing with network congestion. Based on this, the method includes: monitoring network packet loss events; when a packet loss event is detected, executing a supplementary transmission rate adjustment strategy, wherein the transmission rate reduction magnitude corresponding to the supplementary transmission rate adjustment strategy is greater than the transmission rate reduction magnitude based on timing distortion parameters. This can constitute a multi-layered response system for different degrees of congestion.

[0045] In some embodiments, if the timing distortion parameter is not received within a preset time period, the sending rate of the application data packet is adjusted to a preset security baseline rate. The preset time period can be set according to actual business needs.

[0046] Specifically, if the timing distortion parameter D is not received within a certain period of time (e.g., 200 milliseconds), it indicates that the feedback channel is also congested. At this time, the sending end will automatically fall back to a preset safe rate to prevent network collapse caused by blindly sending packets.

[0047] In some embodiments, the presence of other traffic can be monitored during the quiet period to determine whether the congestion is caused by excessive local traffic or by external traffic competition, and more targeted rate adjustments can be made accordingly. Based on this, the method further includes: receiving timing distortion parameters and channel contention parameters fed back by the receiver; analyzing the causes of current network latency congestion based on the channel contention parameters; and adjusting the sending rate of the application data packets based on the analyzed causes and the timing distortion parameters.

[0048] Specifically, in order to further improve the robustness and decision-making accuracy of this solution in complex network environments, this embodiment of the invention also introduces a collaborative mechanism to address the ambiguity of the causes of congestion in shared medium networks. Within the time window corresponding to the silent period of the probe frame sequence, the receiver monitors in parallel whether there are data packets caused by other external competing traffic. Based on the monitoring results, a channel competition parameter reflecting the degree of competition for the shared channel is generated. This channel competition parameter is sent to the transmitter along with the timing distortion parameter, enabling the transmitter to distinguish whether the congestion is due to its own excessive traffic or external traffic competition when adjusting the transmission rate, thereby executing a more targeted adjustment strategy.

[0049] When adjusting the transmission rate, if the channel contention parameter exceeds the preset threshold, it indicates that the network congestion is caused by external traffic contention and is unrelated to this application. In this case, the adjusted transmission rate determined in step 50 can be adjusted. The current transmission rate is directly used as the transmission rate. If the channel contention parameter is greater than, less than, or equal to the preset threshold, it indicates that the network congestion is caused by the application itself. In this case, the adjusted transmission rate can be used. Based on this, the reduction in transmission rate will be further increased.

[0050] This invention, by sending a sequence of probe frames to the receiving end and analyzing the timing distortion parameters fed back by the receiving end, can proactively detect the actual queuing situation of the network. The decision-making basis no longer relies on lagging historical data. It can proactively reduce the sending rate before congestion causes perceptible delays or lag to users, thus eliminating congestion in its infancy. This solves the problem of lagging response decisions in the prior art.

[0051] Furthermore, embodiments of the present invention provide another remote desktop bandwidth control method, applied to the receiving end, such as... Figure 2 As shown, the method includes: Step 60: Receive the probe frame sequence sent by the sending end.

[0052] The sending end is used to generate a probe frame sequence based on the application data packets to be transmitted on the remote desktop. The probe frame sequence includes a burst of pulses and a silent period. The burst of pulses includes several data packets.

[0053] In this embodiment of the invention, in order to actively detect the actual queuing situation in the network, the sending end will send the generated detection frame sequence to the receiving end.

[0054] Step 70: Measure the actual time interval between the data packets in the probe frame sequence.

[0055] In this embodiment of the invention, after receiving the probe frame sequence, the receiving end measures the timing distortion parameter. Specifically, when the pulse train in the probe frame sequence is transmitted, the interval between data packets is very small and fixed. However, after network transmission, if there is queuing in the buffer of a certain network node (such as a router), the time interval between these data packets arriving at the receiving end will definitely be stretched. By accurately measuring the actual time interval between a number of packets, the receiving end can determine the degree of stretching and thus define a quantization parameter, namely the timing distortion parameter.

[0056] In some embodiments, to prevent network packet loss or out-of-order interference with measurement results, the present invention assigns a number to each data packet in the burst to ensure the validity of the calculated timing distortion parameters. Based on this, the method further includes: obtaining the numbering information of the plurality of data packets; if, based on the numbering information, it is determined that the burst composed of the plurality of data packets conforms to the order requirements and is complete, then the probe frame sequence is determined to be valid; if, based on the numbering information, it is determined that the burst composed of the plurality of data packets does not conform to the order requirements or is incomplete, then the probe frame sequence is discarded, and a probe failure signal is fed back to the transmitting end.

[0057] Specifically, after receiving the probe frame sequence, the receiving end verifies whether the order and content of the data packets in the burst within the probe frame sequence meet the requirements. The timing distortion parameters calculated by the receiving end are only valid after receiving a complete burst in sequence. If the received burst is incomplete or does not meet the order requirements, the probe frame sequence is discarded directly, and a probe failure signal is sent back to the sending end.

[0058] Step 80: Based on the actual time interval, predict the timing distortion parameters that reflect the current network state.

[0059] In this embodiment of the invention, when calculating the timing distortion parameter, the initial time interval between several data packets is obtained, and the actual time interval is divided by the initial time interval to obtain the timing distortion parameter D reflecting the current network state.

[0060] Specifically, the magnitude of the timing distortion parameter D directly reflects the real-time queuing delay of the bottleneck link on the current network path. A timing distortion parameter D of approximately 1 indicates that the network is very idle, while a larger timing distortion parameter D indicates more severe queuing.

[0061] Step 90: Feed back the timing distortion parameters to the sending end so that the sending end can adjust the sending rate of the application data packets based on the timing distortion parameters and reduce network latency.

[0062] To objectively verify the effectiveness of the technical solution of this invention under network mutation, this invention has built a network simulation test platform and directly compared its performance with a traditional congestion control algorithm based on packet loss feedback.

[0063] In the test, this embodiment of the invention set the basic bandwidth of the network path to 20Mbps, the baseline round-trip time to 40ms, and the target queuing delay (i.e., the target timing distortion parameter) to 20Mbps. The value was set to 1.2. The control group used a traditional packet loss feedback algorithm, while the samples in this embodiment of the invention used the above-described technical solution.

[0064] At the start of the test, both systems were running stably with a transmission rate of nearly 19Mbps and a latency of around 45-48ms. Everything was normal. However, at the 10th second of the test, a 15Mbps background traffic was suddenly injected into the network to simulate a common bandwidth contention scenario in office networks.

[0065] The results showed a significant difference. Just 2 seconds after the background traffic injection (t=12s), the latency of the control group soared to 155ms and a packet loss rate of 1.8%, severely deteriorating the user experience. Meanwhile, the sample group in this embodiment of the invention reacted in advance by measuring the network queuing in real time, keeping the latency stably controlled at 65ms and without any packet loss.

[0066] Throughout the entire congestion period (e.g., at t=25s), the delay in the control group remained as high as 120ms, while the sample group in this embodiment of the invention consistently maintained a lower delay of 62ms. When the background traffic stopped at 30 seconds, both systems quickly resumed bandwidth utilization.

[0067] This comparative test fully demonstrates that the performance advantage of the method in this invention embodiment is overwhelming, the fundamental reason being the difference in decision-making basis. Traditional methods rely on post-event signals such as packet loss, inevitably resulting in a delayed response. In contrast, this invention embodiment achieves proactive and predictive adjustment through direct measurement of the network's physical queuing status, thereby enabling more efficient and stable utilization of network resources without sacrificing user experience.

[0068] In some embodiments, to address the ambiguity of congestion causes in shared-medium networks, this invention can calculate channel contention parameters simultaneously with timing distortion parameters. Based on this, the method includes: within the time window corresponding to the quiet period, examining the network layer and transport header information of each transmitted data packet to obtain the quintuple corresponding to each transmitted data packet; matching the quintuple corresponding to each transmitted data packet with the target quintuple corresponding to the data packet of the remote desktop application; identifying mismatched transmitted data packets as data packets of external contention traffic; accumulating the number of bytes in the data packets of external contention traffic to obtain the total number of bytes; and determining the channel contention parameters based on the total number of bytes. In this scenario, the receiving end feeds back the timing distortion parameters and the channel contention parameters to the sending end, so that the sending end can adjust the transmission rate of the application data packets based on the timing distortion parameters and the channel contention parameters.

[0069] The quintuple includes the source IP address, destination IP address, source port number, destination port number, and protocol type of each transmitted data packet.

[0070] This invention provides a remote desktop bandwidth control method that proactively detects the actual queuing situation of the network by sending a sequence of probe frames to the receiving end and analyzing the timing distortion parameters fed back by the receiving end. The decision-making basis no longer relies on lagging historical data, and it can proactively reduce the sending rate before congestion causes perceptible delays or stuttering for users, thus nipping congestion in the bud. This solves the problem of lagging response decisions in existing technologies. Simultaneously, this invention transforms the application's tolerance for latency into a measurable physical control target, namely the timing distortion parameter. This allows the invention to utilize bandwidth as much as possible while satisfying the application's experience, rather than repeatedly oscillating between full bandwidth and excessive speed reduction, resulting in a smooth user experience. Furthermore, the entire detection process in this invention is completed using the application's own data packets, without introducing any additional dedicated probe packets, thus avoiding any additional burden on the network.

[0071] Furthermore, as Figure 1 The specific implementation of the method shown in this embodiment provides a remote desktop bandwidth control device, such as... Figure 3 As shown, the device includes: an acquisition unit 101, a generation unit 102, a transmission unit 103, a receiving unit 104, and an adjustment unit 105.

[0072] The acquisition unit 101 can be used to acquire application data packets to be transmitted on the remote desktop.

[0073] The generation unit 102 can be used to generate a probe frame sequence based on the application data packet, wherein the probe frame sequence includes a burst of pulses and a silent period, and the burst of pulses includes several data packets.

[0074] The sending unit 103 can be used to send the probe frame sequence to the receiving end, wherein the receiving end is used to measure the actual time interval between the plurality of data packets in the probe frame sequence, and predict the timing distortion parameters reflecting the current network state based on the actual time interval.

[0075] The receiving unit 104 can be used to receive the timing distortion parameters fed back by the receiving end.

[0076] The adjustment unit 105 can be used to adjust the sending rate of the application data packets based on the timing distortion parameters in order to reduce network latency.

[0077] In some embodiments, the generation unit 102 includes: an acquisition module, a determination module, a setting module, and a generation module.

[0078] The acquisition module can be used to acquire the real-time round-trip time of the monitored data.

[0079] The determining module can be used to dynamically and adaptively determine the number of data packets and the length of the silent period based on the real-time round-trip time of the data.

[0080] The setting module can be used to set the plurality of data packets and the quiet period based on the application data packets, the number of data packets, and the quiet period length.

[0081] The generation module can be used to generate the pulse train based on the plurality of data packets.

[0082] The generation module can also be used to generate the detection frame sequence based on the pulse train and the silence period.

[0083] In some embodiments, the determining module may be specifically used to determine the length of the quiet period based on the real-time round-trip time of the data, wherein the length of the quiet period is directly proportional to the real-time round-trip time of the data; and to determine the number of data packets based on the real-time round-trip time of the data and the bandwidth-delay product corresponding to the sending rate of the application data packets.

[0084] In some embodiments, the adjustment unit 105 may be specifically used to obtain the transmission rate of the application data packet at the previous moment and the target timing distortion parameter; calculate the difference between the target timing distortion parameter and the timing distortion parameter; multiply the difference by a gain coefficient and accumulate it to the transmission rate at the previous moment to obtain the adjusted transmission rate; and determine the transmission rate at the current moment based on the adjusted transmission rate.

[0085] In some embodiments, the adjustment unit 105 can also be used to adjust the sending rate of the application data packet to a preset safe baseline rate if the timing distortion parameter is not received within a preset time period.

[0086] In some embodiments, the adjustment unit 105 may also be specifically used to obtain application layer performance indicators that reflect user experience; if the timing distortion parameter has converged to the target timing distortion parameter and the application layer performance indicator is lower than the preset indicator threshold, then it is determined that the bottleneck is not caused by network queuing congestion, and the target timing distortion parameter is adjusted to switch the control target from maintaining low latency to preparing for high throughput.

[0087] In some embodiments, the receiving unit 104 may be specifically used to receive timing distortion parameters and channel contention parameters fed back by the receiving end.

[0088] The adjustment unit 105 can also be specifically used to analyze the causes of current network delay congestion based on the channel contention parameters; and to adjust the sending rate of the application data packets based on the analyzed causes and the timing distortion parameters.

[0089] It should be noted that other corresponding descriptions of the functional units involved in the remote desktop bandwidth control device provided in this embodiment can be found in [reference needed]. Figure 1 The corresponding descriptions in [the document] will not be repeated here.

[0090] Based on the above, Figure 1 Accordingly, this embodiment also provides a storage medium storing a computer program that, when executed by a processor, implements the above-described method. Figure 1 The remote desktop bandwidth control method shown.

[0091] Based on this understanding, the technical solution of this application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as CD-ROM, USB flash drive, mobile hard drive, etc.) and includes several instructions to cause an electronic device (such as personal computer, server, or network device, etc.) to execute the methods of various implementation scenarios of this application.

[0092] Based on the above, Figure 1The method shown, and Figure 2 To achieve the above objectives, the present application also provides an electronic device, specifically a personal computer, tablet computer, server, or other network device, as shown in the virtual device embodiment. This device includes a storage medium and a processor; the storage medium stores a computer program; the processor executes the computer program to achieve the above-described objectives. Figure 1 The remote desktop bandwidth control method shown.

[0093] Optionally, the aforementioned physical devices may also include a user interface, a network interface, a camera, radio frequency (RF) circuitry, sensors, audio circuitry, a Wi-Fi module, etc. The user interface may include a display screen, input units such as a keyboard, etc., and optional user interfaces may also include USB interfaces, card reader interfaces, etc. The network interface may optionally include standard wired interfaces, wireless interfaces (such as Wi-Fi interfaces), etc.

[0094] Those skilled in the art will understand that the physical device structure provided in this embodiment does not constitute a limitation on the physical device, and may include more or fewer components, or combine certain components, or have different component arrangements.

[0095] The storage medium may also include an operating system and a network communication module. The operating system is a program that manages the hardware and software resources of the aforementioned physical device, supporting the operation of information processing programs and other software and / or programs. The network communication module is used to enable communication between the various components within the storage medium, as well as communication with other hardware and software in the information processing physical device.

[0096] Furthermore, as Figure 2 The specific implementation of the method shown in this embodiment provides a remote desktop bandwidth control device, such as... Figure 4 As shown, the device includes: a receiving unit 201, a measuring unit 202, a prediction unit 203, and a transmitting unit 204.

[0097] The receiving unit 201 can be used to receive a probe frame sequence sent by the sending end, wherein the sending end is used to generate a probe frame sequence based on the application data packets to be transmitted on the remote desktop, the probe frame sequence includes a burst of pulses and a silent period, and the burst of pulses includes several data packets.

[0098] The measurement unit 202 can be used to measure the actual time interval between the plurality of data packets in the probe frame sequence.

[0099] The prediction unit 203 can be used to predict the timing distortion parameters that reflect the current network state based on the actual time interval.

[0100] The sending unit 204 can be used to feed back the timing distortion parameters to the sending end, so that the sending end can adjust the sending rate of the application data packets based on the timing distortion parameters and reduce network latency.

[0101] In some embodiments, the prediction unit 203 may be specifically used to obtain the initial time interval between the plurality of data packets; and divide the actual time interval by the initial time interval to obtain a timing distortion parameter reflecting the current network state.

[0102] In some embodiments, the apparatus further includes a verification unit.

[0103] The verification unit can be used to obtain the numbering information of the plurality of data packets; if it is determined from the numbering information that the pulse string composed of the plurality of data packets meets the order requirements and is complete, then the probe frame sequence is determined to be valid; if it is determined from the numbering information that the pulse string composed of the plurality of data packets does not meet the order requirements or is incomplete, then the probe frame sequence is discarded and a probe failure signal is fed back to the sending end.

[0104] In some embodiments, the apparatus further includes a determining unit.

[0105] The determining unit is configured to, within the time window corresponding to the silent period, examine the network layer and transmission header information of each transmitted data packet to obtain the five-tuple corresponding to each transmitted data packet, wherein the five-tuple includes the source IP address, destination IP address, source port number, destination port number, and protocol type of each transmitted data packet; match the five-tuple corresponding to each transmitted data packet with the target five-tuple corresponding to the data packet of the remote desktop application; identify the non-matching transmitted data packets as data packets of external contention traffic; accumulate the number of bytes of the data packets of external contention traffic to obtain the total number of bytes; and determine the channel contention parameters based on the total number of bytes.

[0106] The sending unit 204 can be specifically used to feed back the timing distortion parameters and the channel contention parameters to the sending end, so that the sending end can adjust the sending rate of the application data packets based on the timing distortion parameters and the channel contention parameters.

[0107] It should be noted that other corresponding descriptions of the functional units involved in the remote desktop bandwidth control device provided in this embodiment can be found in [reference needed]. Figure 2 The corresponding descriptions in [the document] will not be repeated here.

[0108] Based on the above, Figure 2Accordingly, this embodiment also provides a storage medium storing a computer program that, when executed by a processor, implements the above-described method. Figure 2 The remote desktop bandwidth control method shown.

[0109] Based on this understanding, the technical solution of this application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as CD-ROM, USB flash drive, mobile hard drive, etc.) and includes several instructions to cause an electronic device (such as personal computer, server, or network device, etc.) to execute the methods of various implementation scenarios of this application.

[0110] Based on the above, Figure 2 The method shown, and Figure 4 To achieve the above objectives, the present application also provides an electronic device, specifically a personal computer, tablet computer, server, or other network device, as shown in the virtual device embodiment. This device includes a storage medium and a processor; the storage medium stores a computer program; the processor executes the computer program to achieve the above-described objectives. Figure 2 The remote desktop bandwidth control method shown.

[0111] Optionally, the aforementioned physical devices may also include a user interface, a network interface, a camera, radio frequency (RF) circuitry, sensors, audio circuitry, a Wi-Fi module, etc. The user interface may include a display screen, input units such as a keyboard, etc., and optional user interfaces may also include USB interfaces, card reader interfaces, etc. The network interface may optionally include standard wired interfaces, wireless interfaces (such as Wi-Fi interfaces), etc.

[0112] Those skilled in the art will understand that the physical device structure provided in this embodiment does not constitute a limitation on the physical device, and may include more or fewer components, or combine certain components, or have different component arrangements.

[0113] The storage medium may also include an operating system and a network communication module. The operating system is a program that manages the hardware and software resources of the aforementioned physical device, supporting the operation of information processing programs and other software and / or programs. The network communication module is used to enable communication between the various components within the storage medium, as well as communication with other hardware and software in the information processing physical device.

[0114] Through the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary general-purpose hardware platform, or it can be implemented by hardware.

[0115] This invention, by sending a sequence of probe frames to the receiving end and analyzing the timing distortion parameters fed back by the receiving end, can proactively detect the actual queuing situation of the network. The decision-making basis no longer relies on lagging historical data, and can proactively reduce the transmission rate before congestion causes perceptible delays or stuttering for users, nipping congestion in the bud. This solves the problem of lagging response decisions in existing technologies. Simultaneously, this invention transforms the application's tolerance for latency into a measurable physical control target, namely the timing distortion parameter. This allows the invention to utilize bandwidth as much as possible while satisfying the application's experience, rather than repeatedly oscillating between full bandwidth and excessive speed reduction, resulting in a smooth user experience. Furthermore, the entire detection process of this invention utilizes the application's own data packets, without introducing any additional dedicated probe packets, thus not placing an extra burden on the network.

[0116] Those skilled in the art will understand that the accompanying drawings are merely schematic diagrams of a preferred embodiment, and the modules or processes shown in the drawings are not necessarily essential for implementing this application. Those skilled in the art will understand that the modules in the apparatus of the embodiment can be distributed within the apparatus of the embodiment as described, or can be modified to be located in one or more apparatuses different from this embodiment. The modules of the above-described embodiment can be combined into one module, or further divided into multiple sub-modules.

[0117] The serial numbers in this application are for descriptive purposes only and do not represent the superiority or inferiority of any particular implementation scenario. The above disclosures are merely a few specific implementation scenarios of this application; however, this application is not limited thereto, and any variations conceived by those skilled in the art should fall within the protection scope of this application.

Claims

1. A method for controlling bandwidth in a remote desktop, characterized in that, Applied to the sending end, including: Retrieve application data packets to be transferred from the remote desktop; Based on the application data packet, a probe frame sequence is generated, wherein the probe frame sequence includes a burst of pulses and a silent period, and the burst of pulses includes several data packets; The probe frame sequence is sent to the receiving end, wherein the receiving end is used to measure the actual time interval between the plurality of data packets in the probe frame sequence, and predict the timing distortion parameters reflecting the current network state based on the actual time interval; Receive the timing distortion parameters fed back by the receiving end; Based on the timing distortion parameters, the sending rate of the application data packets is adjusted to reduce network latency.

2. The method according to claim 1, characterized in that, The step of generating a probe frame sequence based on the application data packet includes: Real-time round-trip time for acquiring monitored data; Based on the real-time round-trip time of the data, the number of data packets and the length of the silent period are dynamically and adaptively determined. Based on the application data packets, the number of data packets, and the silence period length, the plurality of data packets and the silence period are set; The pulse train is generated based on the aforementioned data packets; The probe frame sequence is generated based on the pulse train and the silence period.

3. The method according to claim 2, characterized in that, The dynamic adaptive determination of the number of data packets and the length of the silent period based on the real-time round-trip time of the data includes: The length of the silence period is determined based on the real-time round-trip time of the data, wherein the length of the silence period is directly proportional to the real-time round-trip time of the data. The number of data packets is determined based on the real-time round-trip time of the data and the bandwidth-delay product corresponding to the sending rate of the application data packets.

4. The method according to claim 1, characterized in that, Adjusting the sending rate of the application data packets based on the timing distortion parameters includes: Obtain the previous transmission rate of the application data packet and the target timing distortion parameters; Calculate the difference between the target temporal distortion parameter and the temporal distortion parameter; The difference is multiplied by the gain coefficient and then added to the transmission rate of the previous moment to obtain the adjusted transmission rate. The transmission rate of the current moment is then determined based on the adjusted transmission rate; and / or The method further includes: If the timing distortion parameter is not received within the preset time period, the sending rate of the application data packet will be adjusted to the preset safe baseline rate.

5. A method for controlling bandwidth in a remote desktop, characterized in that, Applied to the receiving end, including: The receiver receives a sequence of probe frames sent by the sender, wherein the sender generates the sequence of probe frames based on the application data packets to be transmitted on the remote desktop, and the sequence of probe frames includes a burst of pulses and a silent period, and the burst of pulses includes several data packets. Measure the actual time interval between the plurality of data packets in the probe frame sequence; Based on the actual time interval, predict the timing distortion parameters that reflect the current network state; The timing distortion parameters are fed back to the sending end so that the sending end can adjust the sending rate of the application data packets based on the timing distortion parameters, thereby reducing network latency.

6. The method according to claim 5, characterized in that, The method further includes: Within the time window corresponding to the silent period, the network layer and transmission header information of each transmitted data packet are checked to obtain the five-tuple corresponding to each transmitted data packet, wherein the five-tuple includes the source IP address, destination IP address, source port number, destination port number and protocol type of each transmitted data packet; Each transmitted data packet's corresponding quintuple is matched with the target quintuple corresponding to the data packet of the remote desktop application. Identify mismatched transport packets as packets from external competing traffic; The total number of bytes is obtained by summing the number of bytes in the data packets of the external competing traffic; Based on the total number of bytes, determine the channel contention parameters; The step of feeding back the timing distortion parameters to the sending end, so that the sending end can adjust the sending rate of the application data packets based on the timing distortion parameters, includes: The timing distortion parameters and the channel contention parameters are fed back to the transmitting end so that the transmitting end can adjust the transmission rate of the application data packets based on the timing distortion parameters and the channel contention parameters.

7. A remote desktop bandwidth control device, characterized in that, Applied to the sending end, including: The acquisition unit is used to acquire application data packets to be transmitted on the remote desktop. A generation unit is configured to generate a probe frame sequence based on the application data packet, wherein the probe frame sequence includes a burst of pulses and a silent period, and the burst of pulses includes several data packets; A sending unit is used to send the probe frame sequence to a receiving end, wherein the receiving end is used to measure the actual time interval between the plurality of data packets in the probe frame sequence, and predict timing distortion parameters reflecting the current network state based on the actual time interval; The receiving unit is used to receive the timing distortion parameters fed back by the receiving end; The adjustment unit is used to adjust the sending rate of the application data packets based on the timing distortion parameters in order to reduce network latency.

8. A remote desktop bandwidth control device, characterized in that, Applied to the receiving end, including: A receiving unit is used to receive a probe frame sequence sent by a sending end, wherein the sending end is used to generate a probe frame sequence based on the application data packets to be transmitted on the remote desktop, the probe frame sequence including a burst of pulses and a silent period, and the burst of pulses including several data packets; A measurement unit is used to measure the actual time interval between the plurality of data packets in the probe frame sequence; The prediction unit is used to predict the timing distortion parameters reflecting the current network state based on the actual time interval. The sending unit is used to feed back the timing distortion parameters to the sending end, so that the sending end can adjust the sending rate of the application data packets based on the timing distortion parameters and reduce network latency.

9. A storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method of any one of claims 1 to 4 and / or 5 to 6.

10. An electronic device comprising a storage medium, a processor, and a computer program stored on the storage medium and executable on the processor, characterized in that, When the processor executes the computer program, it implements the method of any one of claims 1 to 4 and / or 5 to 6.

Citation Information

Patent Citations

  • Method and a device for determining bandwidth transmission capability

    CN109905257A

  • Remote virtual desktop image frame control method, system and device and storage medium

    CN110519113A

  • Remote vehicle-mounted terminal desktop control system and method

    CN112804323A

  • Data processing method and device, computer, storage medium and program product

    CN117914750A

  • Method and apparatus for improved data transmission

    US20070115814A1