Cloud desktop implementation method, electronic device, and computer-readable storage medium

By dynamically selecting the routing forwarding unit with the best transmission quality and creating an acceleration channel, the problem of lag in cloud desktop networking when network quality changes is solved, and the transmission delay and reliability are improved.

WO2025066681A1PCT designated stage expired Publication Date: 2025-04-03ZTE CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/113525
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-25
Filing Date
2024-08-21
Publication Date
2025-04-03

AI Technical Summary

Technical Problem

The existing cloud desktop networking method is prone to lag when network quality changes, and the access gateway selected in fixed configurations is not necessarily the best.

Method used

By obtaining the address information of the routing forwarding unit with the best transmission quality of the transmission link between the cloud desktop client terminal and the access gateway, the optimal transmission path is dynamically selected and an acceleration channel is created on the path for efficient communication.

Benefits of technology

It improves the delay and reliability of cloud desktop audio and video transmission, adapts to changes in network quality, reduces the possibility of lag, and ensures the stability and efficiency of communication.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024113525_03042025_PF_FP_ABST
    Figure CN2024113525_03042025_PF_FP_ABST
Patent Text Reader

Abstract

The present application provides a cloud desktop implementation method, an electronic device, and a computer-readable storage medium. The cloud desktop implementation method comprises: acquiring address information of a first route forwarding unit having optimal transmission quality of a transmission link with a cloud desktop client when connected to the cloud desktop client, and address information of a second route forwarding unit having optimal transmission quality of a transmission link with a cloud desktop access gateway when connected to the cloud desktop access gateway, sending the address information of the first route forwarding unit to the cloud desktop client, and sending the address information of the second route forwarding unit to the cloud desktop access gateway, wherein the cloud desktop access gateway is connected to a cloud desktop server; receiving a request message sent by the cloud desktop client, and determining a first optimal transmission path between the first route forwarding unit and the second route forwarding unit; and creating a first acceleration channel on the first optimal transmission path, and returning a success message to the cloud desktop client and the cloud desktop access gateway.
Need to check novelty before this filing date? Find Prior Art

Description

Cloud desktop implementation method, electronic device, and computer-readable storage medium

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to Chinese patent application No. 202311246118.8 filed on September 25, 2023, the entire contents of which are incorporated herein by reference in their entirety. Technical Field

[0003] The present application relates to, but is not limited to, the field of communication technology, and in particular to a cloud desktop implementation method, an electronic device, and a computer-readable storage medium. Background Art

[0004] In recent years, cloud desktop applications have become increasingly popular. Cloud desktop usage places high demands on the latency and reliability of audio and video transmission. Figure 1 shows a cloud desktop network configuration. Cloud desktop client terminals directly connect to a cloud access gateway (CAG) via the internet, communicating with the cloud desktop server through the CAG. This networking approach selects a CAG based on a fixed configuration, but the CAG selected based on this fixed configuration is not necessarily the optimal one. When network quality fluctuates, there is a possibility of lag.

[0005] Public content

[0006] In a first aspect, an embodiment of the present application provides a method for implementing a cloud desktop, which is applied to a control node in an acceleration network, including: obtaining address information of a first routing forwarding unit having the best transmission quality of a transmission link between the cloud desktop client terminal and the cloud desktop client terminal when connected to a cloud desktop access gateway, and address information of a second routing forwarding unit having the best transmission quality of a transmission link between the cloud desktop access gateway and the cloud desktop access gateway when connected to a cloud desktop access gateway; sending the address information of the first routing forwarding unit to the cloud desktop client terminal, and sending the address information of the second routing forwarding unit to the cloud desktop access gateway; the cloud desktop access gateway is connected to a cloud desktop server; receiving a request message sent by the cloud desktop client terminal, determining a first optimal transmission path between the first routing forwarding unit and the second routing forwarding unit; creating a first acceleration channel on the first optimal transmission path, and returning a success message to the cloud desktop client terminal and the cloud desktop access gateway.

[0007] In a second aspect, an embodiment of the present application provides a method for implementing a cloud desktop, which is applied to a cloud desktop client terminal, including: receiving address information of a first routing forwarding unit sent by a control node in an acceleration network, and sending a request message to the control node; the first routing forwarding unit is a routing forwarding unit with the best transmission quality of the transmission link between the cloud desktop client terminal and the cloud desktop client terminal when connected to the cloud desktop client terminal; receiving a success message sent by the control node in the acceleration network; communicating with a cloud desktop access gateway through a first acceleration channel created on a first optimal transmission path between the first routing forwarding unit and the second routing forwarding unit; the second routing forwarding unit is a routing forwarding unit with the best transmission quality of the transmission link between the cloud desktop access gateway and the cloud desktop access gateway when connected to the cloud desktop access gateway, and the cloud desktop access gateway is connected to a cloud desktop server.

[0008] In a third aspect, an embodiment of the present application provides a method for implementing a cloud desktop, which is applied to a cloud desktop access gateway connected to a cloud desktop server, including: receiving a success message sent by a control node in an acceleration network; communicating with a cloud desktop client terminal through a first acceleration channel created on a first optimal transmission path between a first routing forwarding unit and a second routing forwarding unit; the first routing forwarding unit is a routing forwarding unit with the best transmission quality of the transmission link between the cloud desktop client terminal when connected to the cloud desktop client terminal, and the second routing forwarding unit is a routing forwarding unit with the best transmission quality of the transmission link between the cloud desktop access gateway when connected to the cloud desktop access gateway.

[0009] In a fourth aspect, an embodiment of the present application provides an electronic device comprising: at least one processor; a memory, wherein at least one computer program is stored in the memory, and when the at least one computer program is executed by the at least one processor, the at least one processor implements the above-mentioned cloud desktop implementation method.

[0010] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored. The computer program is executed by a processor, so that the processor implements the above-mentioned cloud desktop implementation method. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] FIG1 is a schematic diagram of a cloud desktop network provided in an embodiment of the present application;

[0012] FIG2 is a flow chart of a method for implementing a cloud desktop according to an embodiment of the present application;

[0013] FIG3 is a flow chart of a method for implementing a cloud desktop according to an embodiment of the present application;

[0014] FIG4 is a schematic diagram of the composition of a data packet when communicating using a reliable UDP or QUIC protocol in an embodiment of the present application;

[0015] FIG5 is a schematic diagram showing the composition of a data packet when unreliable UDP communication is used in an embodiment of the present application;

[0016] FIG6 is a flow chart of a method for implementing a cloud desktop according to an embodiment of the present application;

[0017] FIG7 is a block diagram of the electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0018] In order to enable those skilled in the art to better understand the technical solution of the present application, the implementation method of the cloud desktop, electronic device, and computer-readable storage medium provided by the present application are described in detail below with reference to the accompanying drawings.

[0019] Hereinafter, example embodiments will be described more fully with reference to the accompanying drawings, but the example embodiments may be embodied in different forms, and the present application should not be construed as limited to the embodiments set forth herein. These embodiments are provided to make this application more thorough and complete and to enable those skilled in the art to fully understand the scope of this application.

[0020] In the absence of conflict, the various embodiments of the present application and the various features therein may be combined with each other.

[0021] As used herein, the term "and / or" includes any and all combinations of at least one of the associated listed items.

[0022] The terms used herein are used only to describe specific embodiments and do not limit this application. As used herein, the singular forms "a," "an," and "the" also include the plural forms, unless the context clearly indicates otherwise. It will also be understood that when the terms "comprising" and / or "made of" are used in this specification, they specify the presence of a particular feature, whole, step, operation, element, and / or component, but do not exclude the presence or addition of at least one other feature, whole, step, operation, element, component, and / or group thereof.

[0023] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by those skilled in the art. It will also be understood that terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant art and this application, and will not be interpreted as having an idealized or overly formal meaning unless expressly defined as such herein.

[0024] FIG2 is a flow chart of a method for implementing a cloud desktop provided in an embodiment of the present application.

[0025] In a first aspect, referring to FIG. 2 , an embodiment of the present application provides a method for implementing a cloud desktop, which is applied to a control node in an acceleration network, and includes steps 200 to 202 .

[0026] In step 200, the address information of the first routing forwarding unit having the best transmission quality of the transmission link between the cloud desktop client terminal and the cloud desktop client terminal when connected, and the address information of the second routing forwarding unit having the best transmission quality of the transmission link between the cloud desktop access gateway and the cloud desktop access gateway when connected are obtained. The address information of the first routing forwarding unit is sent to the cloud desktop client terminal, and the address information of the second routing forwarding unit is sent to the cloud desktop access gateway; the cloud desktop access gateway is connected to the cloud desktop server.

[0027] In some embodiments, the obtaining of the address information of the first routing forwarding unit having the best transmission quality of the transmission link between the first routing forwarding unit and the cloud desktop client terminal when connected to the cloud desktop client terminal, and the obtaining of the address information of the second routing forwarding unit having the best transmission quality of the transmission link between the first routing forwarding unit and the cloud desktop access gateway when connected to the cloud desktop access gateway, includes: obtaining the address information of the cloud desktop client terminal, and determining the address information of the first routing forwarding unit based on the address information of the cloud desktop client terminal; and obtaining the address information of the cloud desktop access gateway, and determining the address information of the second routing forwarding unit based on the address information of the cloud desktop access gateway.

[0028] In some embodiments, determining the address information of the first routing forwarding unit based on the address information of the cloud desktop client terminal includes: searching for the access point address information corresponding to the address resource pool list where the address information of the cloud desktop client terminal is located in the correspondence between the preset address resource pool list and the access point address information; when the number of access point address information found is one, using the found access point address information as the address information of the first routing forwarding unit; when the number of access point address information found is two or more, selecting the access point address information with the best transmission quality from the found access point address information as the address information of the first routing forwarding unit.

[0029] In some embodiments, when selecting access point address information with the best transmission quality from the found access point address information as the address information of the first routing forwarding unit, the transmission quality of the access point address information can be determined based on the network parameters of the access point corresponding to the access point address information. The network parameters can be at least one of the following: packet loss rate, delay, jitter, bandwidth, etc.

[0030] In some implementations, the network parameters of the access point may be reported by the access point to the control node when receiving a data detection request.

[0031] In some embodiments, determining the address information of the second routing forwarding unit based on the address information of the cloud desktop access gateway includes: searching for the access point address information corresponding to the address resource pool list where the address information of the cloud desktop access gateway is located in a pre-set correspondence between the address resource pool list and the access point address information; when the number of access point address information found is one, using the found access point address information as the address information of the second routing forwarding unit; when the number of access point address information found is two or more, selecting the access point address information with the best transmission quality from the found access point address information as the address information of the second routing forwarding unit.

[0032] In some embodiments, when selecting access point address information with the best transmission quality from the found access point address information as the address information of the second routing forwarding unit, the transmission quality of the access point address information can be determined based on the network parameters of the access point corresponding to the access point address information. The network parameters can be at least one of the following: packet loss rate, delay, jitter, bandwidth, etc.

[0033] In some implementations, the network parameters of the access point may be reported by the access point to the control node when receiving a data detection request.

[0034] In some implementations, after obtaining the address information of the first routing forwarding unit and the address information of the second routing forwarding unit, the address information of the second routing forwarding unit may be sent to the cloud desktop client terminal.

[0035] In step 201, a request message sent by a cloud desktop client terminal is received, and a first optimal transmission path between a first routing forwarding unit and a second routing forwarding unit is determined.

[0036] In some implementations, the request message is an accelerated channel creation request message.

[0037] In some implementations, the request message is an accelerated channel switching request message.

[0038] In step 202, a first acceleration channel is created on the first optimal transmission path, and a success message is returned to the cloud desktop client terminal and the cloud desktop access gateway.

[0039] In some implementations, the success message is an accelerated channel creation success message.

[0040] In some implementations, the success message is an accelerated channel switching success message.

[0041] In some embodiments, creating a first acceleration channel on the first optimal transmission path includes: issuing corresponding routing settings to the routing forwarding unit on the first optimal transmission path; opening a transmission port of the routing forwarding unit on the first optimal transmission path; and allocating corresponding transmission resources to the routing forwarding unit on the first optimal transmission path.

[0042] In some embodiments, the cloud desktop implementation method also includes: after returning a success message to the cloud desktop client terminal and the cloud desktop access gateway, receiving an acceleration channel closing request sent by the cloud desktop client terminal, and sending an acceleration channel closing request to the routing forwarding unit on the first optimal transmission path to release the first acceleration channel.

[0043] In some embodiments, after receiving the acceleration channel closing request, the routing forwarding unit on the first optimal transmission path deletes the routing settings issued when the first acceleration channel was created; closes the transmission port opened when the first acceleration channel was created; and releases the transmission resources allocated when the first acceleration channel was created.

[0044] In some embodiments, the cloud desktop implementation method also includes: before returning a success message to the cloud desktop client terminal and the cloud desktop access gateway, sending an acceleration channel closing request to the routing forwarding unit on the second optimal transmission path to release the second acceleration channel on the second optimal transmission path; the second optimal transmission path is the optimal transmission path between the third routing forwarding unit currently connected to the cloud desktop client terminal and the fourth routing unit currently connected to the cloud desktop access gateway.

[0045] In some embodiments, after receiving the acceleration channel closing request, the routing forwarding unit on the second optimal transmission path deletes the routing settings issued when the second acceleration channel on the second optimal transmission path is created; closes the transmission port opened when the second acceleration channel is created; and releases the transmission resources allocated when the second acceleration channel is created.

[0046] The cloud desktop implementation method provided in the embodiment of the present application selects a first routing forwarding unit with the best transmission quality for the cloud desktop client terminal by a control node in the acceleration network, selects a second routing forwarding unit with the best transmission quality for the cloud desktop access gateway, and determines a first optimal transmission path between the first routing forwarding unit and the second routing forwarding unit, thereby creating a first acceleration channel on the first optimal transmission path for realizing communication between the cloud desktop client terminal and the cloud desktop access gateway. The method can adapt to changes in network quality and improve transmission quality.

[0047] FIG3 is a flow chart of a method for implementing a cloud desktop provided in an embodiment of the present application.

[0048] 3 , an embodiment of the present application provides a method for implementing a cloud desktop, which is applied to a cloud desktop client terminal and includes steps 300 and 301 .

[0049] In step 300, address information of a first routing forwarding unit sent by a control node in the acceleration network is received, and a request message is sent to the control node; the first routing forwarding unit is a routing forwarding unit with the best transmission quality of the transmission link between the first routing forwarding unit and the cloud desktop client terminal when connected to the cloud desktop client terminal.

[0050] In some implementations, the request message is an accelerated channel creation request message.

[0051] In some implementations, the request message is an accelerated channel switching request message.

[0052] In some embodiments, the cloud desktop implementation method also includes: before sending a request message to the control node, receiving the address information of the second routing forwarding unit sent by the control node; when the address information of the first routing forwarding unit is different from the address information of the third routing forwarding unit currently connected to the cloud desktop client terminal, or the address information of the second routing forwarding unit is different from the address information of the fourth routing unit currently connected to the cloud desktop access gateway, continuing to execute the request message sent to the control node, where the request message sent here is an accelerated channel switching request message.

[0053] In some implementations, if the address information of the first routing forwarding unit is the same as the address information of the third routing forwarding unit, and the address information of the second routing forwarding unit is the same as the address information of the fourth routing unit, this process ends.

[0054] In step 301, a success message sent by a control node in the acceleration network is received; communication is performed with the cloud desktop access gateway via a first acceleration channel created on a first optimal transmission path between a first routing forwarding unit and a second routing forwarding unit; the second routing forwarding unit is a routing forwarding unit having the best transmission quality of the transmission link between the second routing forwarding unit and the cloud desktop access gateway when connected to the cloud desktop access gateway, and the cloud desktop access gateway is connected to the cloud desktop server.

[0055] In some implementations, the success message is an accelerated channel creation success message.

[0056] In some implementations, the success message is an accelerated channel switching success message.

[0057] In some embodiments, communicating with the cloud desktop access gateway through a first acceleration channel created on a first optimal transmission path between the first routing forwarding unit and the second routing forwarding unit includes: sending cloud desktop control signaling to the cloud desktop access gateway through the first acceleration channel.

[0058] In some embodiments, communicating with the cloud desktop access gateway through a first acceleration channel created on a first optimal transmission path between the first routing forwarding unit and the second routing forwarding unit includes: receiving a cloud desktop audio and video data stream sent by the cloud desktop access gateway through the first acceleration channel.

[0059] In some embodiments, communicating with the cloud desktop access gateway through a first acceleration channel created on a first optimal transmission path between a first routing forwarding unit and a second routing forwarding unit includes: sending cloud desktop control signaling to the cloud desktop access gateway through the first acceleration channel; and receiving cloud desktop audio and video data streams sent by the cloud desktop access gateway through the first acceleration channel.

[0060] In some embodiments, communicating with the cloud desktop access gateway through a first acceleration channel created on a first optimal transmission path between the first routing forwarding unit and the second routing forwarding unit includes: communicating with the cloud desktop access gateway through the first acceleration channel using a reliable User Datagram Protocol (UDP), an unreliable UDP, or a Quick UDP Internet Connection (QUIC) protocol.

[0061] In some embodiments, communicating with the cloud desktop access gateway through the first acceleration channel using reliable UDP, unreliable UDP, or QUIC protocol includes: sending cloud desktop control signaling to the cloud desktop access gateway through the first acceleration channel using reliable UDP, unreliable UDP, or QUIC protocol.

[0062] In some embodiments, communicating with the cloud desktop access gateway through the first acceleration channel using a reliable UDP, unreliable UDP, or QUIC protocol includes: receiving the cloud desktop audio and video data stream sent by the cloud desktop access gateway through the first acceleration channel using a reliable UDP, unreliable UDP, or QUIC protocol.

[0063] In some embodiments, using reliable UDP, unreliable UDP or QUIC protocol to communicate with the cloud desktop access gateway through the first acceleration channel includes: using reliable UDP, unreliable UDP or QUIC protocol to send cloud desktop control signaling to the cloud desktop access gateway through the first acceleration channel; using reliable UDP, unreliable UDP or QUIC protocol to receive cloud desktop audio and video data streams sent by the cloud desktop access gateway through the first acceleration channel.

[0064] In some implementations, when a reliable UDP or QUIC protocol is used to send cloud desktop control signaling to a cloud desktop access gateway through a first acceleration channel, the cloud desktop control signaling may be sent using a data packet as shown in FIG. 4 .

[0065] In some implementations, when a cloud desktop audio and video data stream sent by a cloud desktop access gateway is received through a first acceleration channel using a reliable UDP or QUIC protocol, the received cloud desktop audio and video data stream may be carried using a data packet as shown in FIG. 4 .

[0066] As shown in FIG4 , a data packet sent using the reliable UDP or QUIC protocol includes a first header and a payload area.

[0067] In some implementations, the first packet header includes: a T field, a major sequence number field, a subsequence number field, an F field, and a length field.

[0068] In some embodiments, the T field indicates that the current protocol is reliable UDP or QUIC.

[0069] In some implementations, the primary sequence number field indicates the sequence number of the primary data packet sent, and may start from 0 and gradually increase.

[0070] In some implementations, the sub-sequence number field indicates the sequence number of a sub-data packet split from a main data packet, and may start from 0 and gradually increase.

[0071] In some implementations, the F field indicates whether the current data packet is the last sub-data packet in a main data packet.

[0072] In some implementations, the length field indicates the data length of the payload area in the current sub-packet.

[0073] In some implementations, the payload area may include the aforementioned cloud desktop control signaling or cloud desktop audio and video data stream.

[0074] In some implementations, a cloud desktop control signaling may be sent using one main data packet or at least two main data packets.

[0075] In some implementations, a frame of cloud desktop audio and video data stream may be sent using one main data packet or at least two main data packets.

[0076] In some embodiments, when a cloud desktop audio and video data stream sent by a cloud desktop access gateway is received through a first acceleration channel using a reliable UDP or QUIC protocol, it can be determined based on the main sequence number field and the subsequence number field whether a complete main data packet has been received. When a complete main data packet is received, subsequent processing continues; when a complete main data packet is not received, the received main data packet is discarded.

[0077] In some implementations, when unreliable UDP is used to send cloud desktop control signaling to the cloud desktop access gateway through the first acceleration channel, the cloud desktop control signaling may be sent using a data packet as shown in FIG. 5 .

[0078] In some implementations, when unreliable UDP is used to receive the cloud desktop audio and video data stream sent by the cloud desktop access gateway through the first acceleration channel, the received cloud desktop audio and video data stream can be carried by the data packet shown in FIG. 5 .

[0079] As shown in FIG5 , the data packet sent using the unreliable UDP includes a second header and a payload area.

[0080] In some implementations, the second packet header includes: a T field and a length field.

[0081] In some implementations, the T field indicates that the current UDP is unreliable.

[0082] In some implementations, the length field indicates the length of the data in the payload area.

[0083] In some implementations, the payload area may include the aforementioned cloud desktop control signaling or cloud desktop audio and video data stream.

[0084] In some implementations, a cloud desktop control signaling may be sent using one data packet or at least two data packets.

[0085] In some implementations, a frame of cloud desktop audio and video data stream may be sent using one data packet or at least two data packets.

[0086] In some embodiments, when unreliable UDP is used to receive the cloud desktop audio and video data stream sent by the cloud desktop access gateway through the first acceleration channel, the data in the payload area can be spliced ​​according to the length field in the data packet, and subsequent processing can be continued after splicing is completed.

[0087] In some embodiments, when the QUIC protocol is used to communicate with the cloud desktop access gateway through the first acceleration channel, it has the following advantages: reduced connection time, and the establishment of a 0-round trip times (0-RTT) connection is achieved when the cloud desktop client terminal has a cache; congestion control is more flexible, and a different congestion control strategy can be configured for each request in the user state; multiplexing without head-of-line blocking, and a different congestion control strategy can be configured for each request in the user state; network switching will not interrupt data transmission.

[0088] In the cloud desktop implementation method provided by the embodiment of the present application, the cloud desktop client terminal communicates with the cloud desktop access gateway through a first acceleration channel created on a first optimal transmission path between a first routing forwarding unit and a second routing forwarding unit. Since the first routing forwarding unit is the routing forwarding unit with the best transmission quality of the transmission link between the cloud desktop client terminal and the cloud desktop client terminal when connected to the cloud desktop client terminal, and the second routing forwarding unit is the routing forwarding unit with the best transmission quality of the transmission link between the cloud desktop access gateway and the cloud desktop access gateway when connected to the cloud desktop access gateway, the transmission path between the first routing forwarding unit and the second routing forwarding unit is also the optimal transmission path. Therefore, it can adapt to changes in network quality and improve transmission quality.

[0089] FIG6 is a flowchart of a method for implementing a cloud desktop provided in an embodiment of the present application.

[0090] 6 , an embodiment of the present application provides a method for implementing a cloud desktop, which is applied to a cloud desktop access gateway connected to a cloud desktop server, and includes steps 600 and 601 .

[0091] In step 600, a success message sent by a control node in the acceleration network is received.

[0092] In some implementations, the success message is an accelerated channel creation success message.

[0093] In some implementations, the success message is an accelerated channel switching success message.

[0094] In step 601, communication is performed with a cloud desktop client terminal via a first acceleration channel created on a first optimal transmission path between a first routing forwarding unit and a second routing forwarding unit; the first routing forwarding unit is a routing forwarding unit having the best transmission quality of a transmission link between the first routing forwarding unit and the cloud desktop client terminal when connected to the cloud desktop client terminal, and the second routing forwarding unit is a routing forwarding unit having the best transmission quality of a transmission link between the first routing forwarding unit and the cloud desktop access gateway when connected to the cloud desktop access gateway.

[0095] In some embodiments, communicating with the cloud desktop client terminal through a first acceleration channel created on a first optimal transmission path between the first routing forwarding unit and the second routing forwarding unit includes: receiving cloud desktop control signaling sent by the cloud desktop client terminal through the first acceleration channel.

[0096] In some embodiments, communicating with the cloud desktop client terminal through a first acceleration channel created on a first optimal transmission path between the first routing forwarding unit and the second routing forwarding unit includes: sending a cloud desktop audio and video data stream to the cloud desktop client terminal through the first acceleration channel.

[0097] In some embodiments, communicating with a cloud desktop client terminal through a first acceleration channel created on a first optimal transmission path between a first routing forwarding unit and a second routing forwarding unit includes: receiving cloud desktop control signaling sent by the cloud desktop client terminal through the first acceleration channel; and sending cloud desktop audio and video data streams to the cloud desktop client terminal through the first acceleration channel.

[0098] In some embodiments, communicating with the cloud desktop client terminal through a first acceleration channel created on a first optimal transmission path between a first routing forwarding unit and a second routing forwarding unit includes: communicating with the cloud desktop client terminal through the first acceleration channel using a reliable UDP, an unreliable UDP, or a QUIC protocol.

[0099] In some embodiments, communicating with the cloud desktop client terminal through the first acceleration channel using a reliable UDP, unreliable UDP, or QUIC protocol includes: receiving cloud desktop control signaling sent by the cloud desktop client terminal through the first acceleration channel using a reliable UDP, unreliable UDP, or QUIC protocol.

[0100] In some embodiments, communicating with the cloud desktop client terminal through the first acceleration channel using a reliable UDP, unreliable UDP, or QUIC protocol includes: sending a cloud desktop audio and video data stream to the cloud desktop client terminal through the first acceleration channel using a reliable UDP, unreliable UDP, or QUIC protocol.

[0101] In some embodiments, using reliable UDP, unreliable UDP or QUIC protocol to communicate with the cloud desktop client terminal through the first acceleration channel includes: using reliable UDP, unreliable UDP or QUIC protocol to receive cloud desktop control signaling sent by the cloud desktop client terminal through the first acceleration channel; using reliable UDP, unreliable UDP or QUIC protocol to send cloud desktop audio and video data streams to the cloud desktop client terminal through the first acceleration channel.

[0102] In some implementations, when a reliable UDP or QUIC protocol is used to send a cloud desktop audio and video data stream to a cloud desktop client terminal through a first acceleration channel, the cloud desktop audio and video data stream may be sent using a data packet as shown in FIG. 4 .

[0103] In some embodiments, when a cloud desktop control signaling sent by a cloud desktop client terminal is received through a first acceleration channel using a reliable UDP or QUIC protocol, the received cloud desktop control signaling can be carried using a data packet as shown in FIG. 4 .

[0104] As shown in FIG4 , a data packet sent using the reliable UDP or QUIC protocol includes a first header and a payload area.

[0105] In some implementations, the first packet header includes: a T field, a major sequence number field, a subsequence number field, an F field, and a length field.

[0106] In some embodiments, the T field indicates that the current protocol is reliable UDP or QUIC.

[0107] In some implementations, the primary sequence number field indicates the sequence number of the primary data packet sent, and may start from 0 and increase gradually.

[0108] In some implementations, the sub-sequence number field indicates the sequence number of a sub-data packet split from a main data packet, and may start from 0 and gradually increase.

[0109] In some implementations, the F field indicates whether the current data packet is the last sub-data packet in a main data packet.

[0110] In some implementations, the length field indicates the data length of the payload area in the current sub-packet.

[0111] In some implementations, the payload area may include the aforementioned cloud desktop control signaling or cloud desktop audio and video data stream.

[0112] In some implementations, a cloud desktop control signaling may be sent using one main data packet or at least two main data packets.

[0113] In some implementations, a frame of cloud desktop audio and video data stream may be sent using one main data packet or at least two main data packets.

[0114] In some embodiments, when receiving cloud desktop control signaling sent by a cloud desktop client terminal through a first acceleration channel using a reliable UDP or QUIC protocol, it can be determined based on the main sequence number field and the subsequence number field whether a complete main data packet has been received. When a complete main data packet is received, subsequent processing continues; when a complete main data packet is not received, the received main data packet is discarded.

[0115] In some implementations, when unreliable UDP is used to send the cloud desktop audio and video data stream to the cloud desktop client terminal through the first acceleration channel, the cloud desktop audio and video data stream may be sent using a data packet as shown in FIG. 5 .

[0116] In some implementations, when unreliable UDP is used to receive cloud desktop control signaling sent by a cloud desktop client terminal through a first acceleration channel, the received cloud desktop control signaling may be carried by a data packet as shown in FIG. 5 .

[0117] As shown in FIG5 , the data packet sent using the unreliable UDP includes a second header and a payload area.

[0118] In some implementations, the second packet header includes: a T field and a length field.

[0119] In some implementations, the T field indicates that the current UDP is unreliable.

[0120] In some implementations, the length field indicates the length of the data in the payload area.

[0121] In some implementations, the payload area may include the aforementioned cloud desktop control signaling or cloud desktop audio and video data stream.

[0122] In some implementations, a cloud desktop control signaling may be sent using one data packet or at least two data packets.

[0123] In some implementations, a frame of cloud desktop audio and video data stream may be sent using one data packet or at least two data packets.

[0124] In some embodiments, when unreliable UDP is used to receive cloud desktop control signaling sent by a cloud desktop client terminal through a first acceleration channel, the data in the payload area can be spliced ​​according to the length field in the data packet, and subsequent processing can be continued after the splicing is completed.

[0125] In some embodiments, when the QUIC protocol is used to communicate with the cloud desktop client terminal through the first acceleration channel, it has the following advantages: reduced connection time, and the establishment of a 0-RTT connection is achieved when the cloud desktop client terminal has a cache; congestion control is more flexible, and a different congestion control strategy can be configured for each request in the user state; multiplexing without head-of-line blocking, and a different congestion control strategy can be configured for each request in the user state; network switching will not interrupt data transmission.

[0126] In the cloud desktop implementation method provided by the embodiment of the present application, the cloud desktop client terminal communicates with the cloud desktop access gateway through a first acceleration channel created on a first optimal transmission path between a first routing forwarding unit and a second routing forwarding unit. Since the first routing forwarding unit is the routing forwarding unit that is about to be connected to the cloud desktop client terminal and has the best transmission quality, and the second routing forwarding unit is the routing forwarding unit that has the best transmission quality of the transmission link between the cloud desktop access gateway and the cloud desktop access gateway when connected to the cloud desktop access gateway, the transmission path between the first routing forwarding unit and the second routing forwarding unit is also the optimal transmission path. Therefore, it can adapt to changes in network quality and improve transmission quality.

[0127] Referring to Figure 7, an embodiment of the present application provides an electronic device, including: at least one processor 701; a memory 702, on which at least one computer program is stored. When the at least one computer program is executed by the at least one processor 701, the at least one processor 701 implements the above-mentioned cloud desktop implementation method.

[0128] In some embodiments, the electronic device further includes: at least one I / O interface 703 connected between the processor 701 and the memory 702 , and configured to implement information interaction between the processor 701 and the memory 702 .

[0129] The processor 701 is a device with data processing capabilities, including but not limited to a central processing unit (CPU); the memory 702 is a device with data storage capabilities, including but not limited to random access memory (RAM, more specifically such as SDRAM, DDR, etc.), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), and flash memory (FLASH); the I / O interface (read-write interface) 703 is connected between the processor 701 and the memory 702, and can realize information exchange between the processor 701 and the memory 702, including but not limited to a data bus (Bus), etc.

[0130] In some implementations, the processor 701 , the memory 702 , and the I / O interface 703 are connected to each other via a bus 704 , and further connected to other components of the computing device.

[0131] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the processor implements the above-mentioned cloud desktop implementation method.

[0132] It will be appreciated by those skilled in the art that all or some of the steps in the method disclosed above, and the functional modules / units in the device can be implemented as software, firmware, hardware, and appropriate combinations thereof. In a hardware implementation, the division between the functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed by several physical components in cooperation. Some or all physical components may be implemented as software executed by a processor (such as a central processing unit, a digital signal processor, or a microprocessor), or implemented as hardware, or implemented as an integrated circuit, such as an application-specific integrated circuit. Such software may be distributed on a computer-readable medium, which may include a computer storage medium (or non-transitory medium) and a communication medium (or temporary medium). As is well known to those skilled in the art, the term computer storage medium includes volatile and non-volatile, removable, and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage, or any other medium that can be used to store the desired information and can be accessed by a computer. In addition, as is well known to those skilled in the art, communication media typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media.

[0133] Example embodiments have been disclosed herein, and although specific terms are employed, they are used and should be interpreted only in a general illustrative sense and not for purposes of limitation. In some instances, it will be apparent to those skilled in the art that, unless otherwise expressly stated, features, characteristics, and / or elements described in conjunction with a particular embodiment may be used alone or in combination with other features, characteristics, and / or elements described in conjunction with the embodiment. Accordingly, it will be understood by those skilled in the art that various changes in form and detail may be made without departing from the scope of the present application as set forth in the appended claims.

Claims

1. A method for implementing a cloud desktop, applied to a control node in an acceleration network, comprising: Acquire the address information of a first routing forwarding unit having the best transmission quality of a transmission link between the cloud desktop client terminal and the cloud desktop client terminal when connected to the cloud desktop client terminal, and the address information of a second routing forwarding unit having the best transmission quality of a transmission link between the cloud desktop access gateway and the cloud desktop access gateway when connected to the cloud desktop access gateway, send the address information of the first routing forwarding unit to the cloud desktop client terminal, and send the address information of the second routing forwarding unit to the cloud desktop access gateway; wherein the cloud desktop access gateway is connected to a cloud desktop server; receiving a request message sent by the cloud desktop client terminal, and determining a first optimal transmission path between the first routing forwarding unit and the second routing forwarding unit; A first acceleration channel is created on the first optimal transmission path, and a success message is returned to the cloud desktop client terminal and the cloud desktop access gateway.

2. The method for implementing a cloud desktop according to claim 1, further comprising: After returning a success message to the cloud desktop client terminal and the cloud desktop access gateway, an acceleration channel closing request sent by the cloud desktop client terminal is received, and an acceleration channel closing request is sent to a routing forwarding unit on the first optimal transmission path to release the first acceleration channel.

3. The method for implementing a cloud desktop according to claim 1, wherein: The request message is an accelerated channel switching request message, and the success message is an accelerated channel switching success message; The implementation method of the cloud desktop also includes: Before returning a success message to the cloud desktop client terminal and the cloud desktop access gateway, an acceleration channel closing request is sent to the routing forwarding unit on the second optimal transmission path to release the second acceleration channel on the second optimal transmission path; wherein the second optimal transmission path is the third routing forwarding unit currently connected to the cloud desktop client terminal. The optimal transmission path between the sending unit and the fourth routing unit currently connected to the cloud desktop access gateway.

4. The method for implementing a cloud desktop according to any one of claims 1 to 3, wherein: The method of acquiring the address information of the first routing forwarding unit having the best transmission quality of the transmission link between the cloud desktop client terminal and the cloud desktop client terminal when connected, and the address information of the second routing forwarding unit having the best transmission quality of the transmission link between the cloud desktop access gateway and the cloud desktop access gateway when connected includes: Acquire address information of a cloud desktop client terminal, and determine address information of the first routing forwarding unit according to the address information of the cloud desktop client terminal; The address information of the cloud desktop access gateway is obtained, and the address information of the second routing forwarding unit is determined according to the address information of the cloud desktop access gateway.

5. The method for implementing a cloud desktop according to claim 4, wherein: The determining the address information of the first routing forwarding unit according to the address information of the cloud desktop client terminal includes: In the correspondence relationship between the preset address resource pool list and the access point address information, searching for the access point address information corresponding to the address resource pool list where the address information of the cloud desktop client terminal is located; When the number of the found access point address information is one, using the found access point address information as the address information of the first routing forwarding unit; When the number of the found access point address information is two or more, the access point address information with the best transmission quality is selected from the found access point address information as the address information of the first routing forwarding unit.

6. The method for implementing a cloud desktop according to claim 4, wherein: The determining the address information of the second routing forwarding unit according to the address information of the cloud desktop access gateway includes: In the correspondence between the preset address resource pool list and the access point address information, find the address resource pool list where the address information of the cloud desktop access gateway is located. The corresponding access point address information; When the number of the found access point address information is one, using the found access point address information as the address information of the second routing forwarding unit; When the number of the found access point address information is two or more, the access point address information with the best transmission quality is selected from the found access point address information as the address information of the second routing forwarding unit.

7. The method for implementing a cloud desktop according to any one of claims 1 to 3, wherein: The step of creating a first acceleration channel on the first optimal transmission path comprises: Sending corresponding routing settings to the routing forwarding unit on the first optimal transmission path; Opening a transmission port of a routing forwarding unit on the first optimal transmission path; Corresponding transmission resources are allocated to the routing forwarding units on the first optimal transmission path.

8. A method for implementing a cloud desktop, applied to a cloud desktop client terminal, comprising: Receive address information of a first routing forwarding unit sent by a control node in the acceleration network, and send a request message to the control node; wherein the first routing forwarding unit is a routing forwarding unit having the best transmission quality of a transmission link between the cloud desktop client terminal and the cloud desktop client terminal when connected to the cloud desktop client terminal; Receive a success message sent by a control node in the acceleration network; communicate with a cloud desktop access gateway through a first acceleration channel created on a first optimal transmission path between a first routing forwarding unit and a second routing forwarding unit; wherein the second routing forwarding unit is a routing forwarding unit having the best transmission quality of a transmission link between the cloud desktop access gateway and the cloud desktop access gateway when connected to the cloud desktop access gateway, and the cloud desktop access gateway is connected to a cloud desktop server.

9. The method for implementing a cloud desktop according to claim 8, wherein: The request message is an accelerated channel switching request message, and the success message is an accelerated channel switching success message; The implementation method of the cloud desktop also includes: Before sending the request message to the control node, receiving address information of the second routing forwarding unit sent by the control node; When the address information of the first routing forwarding unit is different from the address information of the third routing forwarding unit currently connected to the cloud desktop client terminal, or the address information of the second routing forwarding unit is different from the address information of the fourth routing unit currently connected to the cloud desktop access gateway, continue to execute the sending of the request message to the control node.

10. The method for implementing a cloud desktop according to any one of claims 8 and 9, wherein: The communicating with the cloud desktop access gateway through the first acceleration channel created on the first optimal transmission path between the first routing forwarding unit and the second routing forwarding unit includes at least one of the following: Sending a cloud desktop control signaling to the cloud desktop access gateway through the first acceleration channel; The cloud desktop audio and video data stream sent by the cloud desktop access gateway is received through the first acceleration channel.

11. The method for implementing a cloud desktop according to any one of claims 8 and 9, wherein: The communicating with the cloud desktop access gateway through the first acceleration channel created on the first optimal transmission path between the first routing forwarding unit and the second routing forwarding unit comprises: The reliable user datagram protocol, the unreliable user datagram protocol or the fast user datagram network connection protocol is used to communicate with the cloud desktop access gateway through the first acceleration channel.

12. A method for implementing a cloud desktop, applied to a cloud desktop access gateway connected to a cloud desktop server, comprising: Receive a success message sent by a control node in the acceleration network; Communicate with the cloud desktop client terminal through a first acceleration channel created on a first optimal transmission path between the first routing forwarding unit and the second routing forwarding unit; wherein The first routing forwarding unit is a routing forwarding unit with the best transmission quality of the transmission link between the cloud desktop client terminal when connected to the cloud desktop client terminal, and the second routing forwarding unit is a routing forwarding unit with the best transmission quality of the transmission link between the cloud desktop access gateway when connected to the cloud desktop access gateway.

13. The method for implementing a cloud desktop according to claim 12, wherein: The communicating with the cloud desktop client terminal through the first acceleration channel created on the first optimal transmission path between the first routing forwarding unit and the second routing forwarding unit includes at least one of the following: Receiving a cloud desktop control signaling sent by the cloud desktop client terminal through the first acceleration channel; The cloud desktop audio and video data stream is sent to the cloud desktop client terminal through the first acceleration channel.

14. The method for implementing a cloud desktop according to claim 12, wherein: The communicating with the cloud desktop client terminal through the first acceleration channel created on the first optimal transmission path between the first routing forwarding unit and the second routing forwarding unit comprises: The reliable user datagram protocol, the unreliable user datagram protocol or the fast user datagram network connection protocol is used to communicate with the cloud desktop client terminal through the first acceleration channel.

15. An electronic device, comprising: at least one processor; A memory having at least one computer program stored thereon, wherein when the at least one computer program is executed by the at least one processor, the at least one processor implements the cloud desktop implementation method described in any one of claims 1 to 14.

16. A computer-readable storage medium having a computer program stored thereon, wherein the computer program is executed by a processor so that the processor implements the cloud desktop implementation method described in any one of claims 1 to 14.

Citation Information

Patent Citations

  • High concurrency processing method and device of cloud desktop system

    CN105872038A

  • Network scheduling method and device

    CN105873161A

  • Inter-gateway communication path determining method, device and equipment, and readable storage medium

    CN108933733A

  • Virtual desktop accelerator support for network gateway

    US9992185B1