Cloud desktop system, method, apparatus, device, storage medium and program product
Patent Information
- Application Number
- PCT/CN2026/081221
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-03-27
- Filing Date
- 2026-03-03
- Publication Date
- 2026-10-01
Smart Images

Figure CN2026081221_01102026_PF_FP_ABST
Abstract
Description
Cloud desktop systems, methods, devices, equipment, storage media, and program products
[0001] This disclosure claims priority to Chinese Patent Application No. 202510376437.3, filed on March 27, 2025, entitled “Cloud Desktop System, Method, Apparatus, Device, Storage Medium and Program Product”, the entire contents of which are incorporated herein by reference. Technical Field
[0002] This disclosure relates to the field of cloud computing, and in particular to a cloud desktop system, method, apparatus, device, storage medium, and program product. Background Technology
[0003] Cloud desktop technology allows users to access a desktop environment on a remote server from their client. The core of this technology lies in transmitting the graphical interface of remote computing resources to the client in real time, enabling users to operate the remote desktop as if it were a local computer.
[0004] The Simple Protocol for Independent Computing Environments (SPICE) is a remote display protocol for virtualized environments designed to provide an efficient remote desktop access experience.
[0005] In related technologies, cloud desktop technology can be implemented based on the SPICE architecture. The SPICE architecture can include SPICE Agent components, SPICE Server components, and SPICE Client components. The SPICE Agent component is deployed in the virtual operating system (Guest OS) of the remote server, the SPICE Server component is deployed in the host operating system (Host OS) of the remote server, and the SPICE Client component is deployed on the client.
[0006] However, in the SPICE architecture, the data transmission between the SPICE Agent component and the SPICE Server component incurs high communication overhead, which can easily lead to large data transmission latency and cloud desktop screen delay, resulting in a poor user experience when using remote cloud desktop services. Summary of the Invention
[0007] This disclosure provides a cloud desktop system, method, apparatus, device, storage medium, and program product to address the problem of poor user experience when using remote cloud desktop services.
[0008] In a first aspect, embodiments of this disclosure provide a cloud desktop system, including a cloud service component and a graphical interface service component deployed on a virtual operating system, as well as a cloud desktop instance and a proxy service component deployed in an isolated space of the virtual operating system; the cloud service component includes a cloud streaming service component;
[0009] The cloud streaming service component is used to obtain cloud desktop events from the client and send the cloud desktop events to the proxy service component through the graphical interface service component.
[0010] The proxy service component is used to generate a graphical interface display request based on the cloud desktop event;
[0011] The graphical interface service component is used to respond to the graphical interface display request, draw the graphical interface through the cloud desktop instance, and obtain cloud desktop data.
[0012] The cloud streaming service component is also used to encode the cloud desktop data to obtain streaming data, and send the streaming data to the client.
[0013] In one possible implementation, the cloud streaming service component communicates with the graphical interface service component through processes under the virtual operating system based on an adaptive streaming media protocol.
[0014] In one possible implementation, the cloud service component further includes a management and configuration component;
[0015] The management and configuration component is used to obtain the configuration parameters of the cloud desktop instance and configure the cloud desktop instance based on the configuration parameters of the cloud desktop instance.
[0016] In one possible implementation, the cloud service component further includes an authentication service component;
[0017] The authentication service component is used to obtain the cloud desktop account information sent by the client and to authenticate the cloud desktop account information.
[0018] The cloud streaming service component is also used to allocate an isolation space to the client after the cloud desktop account information is authenticated, and to start the cloud desktop instance and the proxy service component in the allocated isolation space.
[0019] In one possible implementation,
[0020] For any given isolation space, the isolation space supports importing and running at least one operating system;
[0021] The cloud service components are compatible with operating systems in any isolated space.
[0022] In one possible implementation, the isolation space is a container or a sandbox.
[0023] In a second aspect, embodiments of this disclosure provide a cloud desktop service method, applied to the cloud desktop system described in any one of the first aspects, the method comprising:
[0024] Obtain client-side cloud desktop events via the cloud streaming service component;
[0025] The cloud desktop events are sent to the proxy service component via the graphical interface service component;
[0026] The proxy service component generates a graphical interface display request based on the cloud desktop event;
[0027] The graphical interface service component responds to the graphical interface display request and draws the graphical interface through the cloud desktop instance to obtain cloud desktop data.
[0028] The cloud desktop data is encoded by the cloud streaming service component to obtain streaming data, and the streaming data is sent to the client.
[0029] Thirdly, embodiments of this disclosure provide a cloud desktop service device, applied to the cloud desktop system described in any of the first aspects, the device comprising: an acquisition module, an event forwarding module, a request generation module, a response module, and a data delivery module, wherein...
[0030] The acquisition module is used to acquire cloud desktop events of the client via the cloud streaming service component;
[0031] The event forwarding module is used to send the cloud desktop event to the proxy service component via the graphical interface service component;
[0032] The request generation module is used to generate a graphical interface display request based on the cloud desktop event via the proxy service component;
[0033] The response module is used to respond to the graphical interface display request via the graphical interface service component, draw the graphical interface through the cloud desktop instance, and obtain cloud desktop data.
[0034] The data delivery module is used to encode the cloud desktop data via the cloud streaming service component to obtain streaming data, and then send the streaming data to the client.
[0035] Fourthly, embodiments of this disclosure provide an electronic device, including: a memory and a processor;
[0036] The memory stores computer-executed instructions;
[0037] The processor executes computer execution instructions stored in the memory, causing the processor to perform the method described in any of the second aspects.
[0038] Fifthly, embodiments of this disclosure provide a computer-readable storage medium storing computer-executable instructions that, when executed by a processor, are used to implement the method described in any of the second aspects.
[0039] In a sixth aspect, embodiments of this disclosure provide a computer program product, including a computer program that, when executed by a processor, implements the method shown in any of the second aspects.
[0040] This disclosure provides a cloud desktop system, method, apparatus, device, storage medium, and program product. The cloud desktop system may include a cloud service component and a graphical user interface (GUI) service component deployed on a virtual operating system, as well as a cloud desktop instance and a proxy service component deployed in an isolated space within the virtual operating system. The cloud service component includes a cloud streaming service component. The cloud streaming service component can acquire cloud desktop events from the client and send these events to the proxy service component via the GUI service component. The proxy service component can generate a GUI display request based on the cloud desktop events. The GUI service component can respond to the GUI display request by drawing a GUI through the cloud desktop instance to obtain cloud desktop data. The cloud streaming service component can also encode the cloud desktop data to obtain streaming data and send the streaming data to the client. Because the cloud service component and the GUI service component are deployed in the same virtual operating system, data transmission between the cloud streaming service component and the GUI service component does not require cross-operating system communication, reducing communication overhead. Compared to existing technologies, this results in lower data transmission latency and lower cloud desktop display latency, thus improving the user experience of using remote cloud desktop services. Attached Figure Description
[0041] The accompanying drawings, which are included to provide a further understanding of this disclosure and form part of this disclosure, illustrate exemplary embodiments of the present disclosure and are used to explain the disclosure, but do not constitute an undue limitation of the disclosure. In the drawings:
[0042] Figure 1 is a schematic diagram of the relevant technology;
[0043] Figure 2 is a schematic diagram of a cloud desktop system provided by an exemplary embodiment of the present disclosure;
[0044] Figure 3 is a schematic diagram of the graphical interface provided in an exemplary embodiment of this disclosure;
[0045] Figure 4 is a schematic diagram of another cloud desktop system provided by an exemplary embodiment of the present disclosure;
[0046] Figure 5 is a flowchart illustrating a cloud desktop service method provided by an exemplary embodiment of this disclosure;
[0047] Figure 6 is a schematic diagram of the structure of a cloud desktop service device provided in an exemplary embodiment of the present disclosure;
[0048] Figure 7 is a schematic diagram of the structure of an electronic device provided by an exemplary embodiment of the present disclosure. Detailed Implementation
[0049] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this disclosure are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data must comply with relevant laws, regulations and standards, and corresponding operation entry points are provided for users to choose to authorize or refuse.
[0050] To make the objectives, technical solutions, and advantages of this disclosure clearer, the technical solutions of this disclosure will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this disclosure, and not all of them. All other embodiments obtained by those skilled in the art based on the embodiments of this disclosure without creative effort are within the scope of protection of this disclosure.
[0051] To facilitate understanding of the technical solutions disclosed herein, the concepts involved in this disclosure will first be explained.
[0052] 1. Virtual Desktop Infrastructure Port Device (VDIPort Device): This is a virtual device used to provide a data transfer channel between virtual machines and the host system in a virtualization environment, supporting various enhancements and implementations of remote desktop protocols (such as SPICE).
[0053] 2. Virtual Desktop Infrastructure Port Driver (VDIPort Driver): Primarily used to manage data transfer between virtual machine operating systems and virtual devices (such as VDIPort Devices) in a virtualization environment.
[0054] 3. Quick Xen Low-level graphics device (QXL Device): This is a virtual graphics card device used in virtualization environments, primarily for handling graphics rendering tasks within the virtual machine.
[0055] 4. Quick Xen Low-level graphics driver (QXL Driver): Provides support for communication between the Guest OS and the QXL Device.
[0056] The relevant technologies will now be explained in detail with reference to Figure 1.
[0057] Figure 1 is a schematic diagram of the relevant technology. Referring to Figure 1, it includes a remote server and a client. A virtual machine may run on the remote server. A Guest OS may run on the virtual machine. The Guest OS may include a cloud desktop instance, a SPICE Agent component, a QXL Driver, and a VDIPort Driver. The cloud desktop instance can be used to provide remote cloud desktop services.
[0058] The virtual machine also includes a QXL Device, a VDIPort Device, an output ring, an input ring, and a buffer. Among them, the QXL Device and the VDIPort Device can form the Device layer.
[0059] In the virtual machine, the QXL Driver and QXL Device are responsible for the image stream, while the VDIPort Driver and VDIPort Device are responsible for the control stream.
[0060] A Host OS can run on a remote server. The Host OS may include SPICE Server components.
[0061] The client can include a cloud desktop application and a SPICE Client component. The cloud desktop application allows the use of remote cloud desktop services.
[0062] The process of the SPICE Agent component sending image data to the client is as follows: The QXL Driver can obtain the image data sent by the SPICE Agent component and send the image data to the QXL Device. The QXL Device can write the image data into the output ring. The Host OS can write the image data in the output ring into a buffer. The SPICE Server component can read the image data from the buffer and determine whether to process the image data or send the image data to the client.
[0063] The process of a client sending control data to the SPICE Agent component is as follows: The client can send control data to the remote server through the SPICE Client component. The SPICE Server component on the remote server can store the control data in a buffer. The host OS can write the control data in the buffer to the input ring. The VDIPort Device can read the control data from the input ring and send the control data to the VDIPort Driver. The VDIPort Driver can send control data to the SPICE Agent component. The SPICE Agent component receives the control data sent by the VDIPort Driver and processes the control data or performs corresponding operations based on the control data.
[0064] The related technology shown in Figure 1 has the following disadvantages:
[0065] (1) The SPICE Agent component runs in the Guest OS and is easily misoperated by users, which can lead to the disconnection of remote services and thus the poor reliability of remote cloud desktop services.
[0066] (2) The SPICE Agent component runs in the Guest OS and the SPICE Server component runs in the Host OS. Data transmission between the SPICE Agent component and the SPICE Server component requires cross-operating system, resulting in high communication overhead, which can easily lead to large data transmission latency and cloud desktop screen delay, thus resulting in a poor user experience when using remote cloud desktop services.
[0067] To address the aforementioned technical problems, this disclosure provides a cloud desktop system. The cloud desktop system may include cloud service components and graphical interface service components deployed on a virtual operating system, as well as cloud desktop instances and proxy service components deployed in an isolated space within the virtual operating system. The cloud service components may include cloud streaming service components. Since the cloud service components and graphical interface service components are deployed within the same virtual operating system, data transmission between the cloud streaming service component and the graphical interface service component does not require cross-operating system communication, reducing communication overhead. Compared to existing technologies, data transmission latency is lower, and cloud desktop screen latency is reduced, thus improving the user experience of using remote cloud desktop services. Furthermore, because the cloud desktop instances and proxy service components are deployed in an isolated space within the virtual operating system, cloud service components outside the isolated space are invisible to the user and cannot be accidentally operated by the user, thus improving the reliability of remote cloud desktop services.
[0068] The technical solutions disclosed herein will now be described in detail through specific embodiments. It should be noted that the following embodiments may exist independently or in combination with each other; identical or similar content will not be repeated in different embodiments.
[0069] Figure 2 is a schematic diagram of a cloud desktop system provided by an exemplary embodiment of this disclosure. Referring to Figure 2, the remote server may include at least one virtual instance. Exemplarily, the virtual instance may be a virtual machine or a cloud server. For example, the remote server may include virtual instance V1, virtual instance V2, ...
[0070] A virtual operating system can run within any given virtual instance. This virtual operating system can include a kernel, file system, network, and underlying dependency libraries. A virtual operating system can be used to provide a basic environment.
[0071] A virtual operating system may include at least one isolated space. For example, the isolated space may be a container or a sandbox. For instance, a virtual operating system may include isolated spaces S1, S2, ...
[0072] A cloud desktop system may include cloud service components, graphical user interface service components, cloud desktop instances, and proxy service components. The cloud service components may include cloud streaming service components. The cloud service components and graphical user interface service components can be deployed in a virtual operating system, while the cloud desktop instances and proxy service components can be deployed in an isolated space.
[0073] It should be noted that any isolated space can contain cloud desktop instances and proxy service components. In other words, a cloud desktop system can include at least one cloud desktop instance and proxy service component in an isolated space.
[0074] For example, as shown in Figure 2, cloud desktop instance A1 and proxy service component C1 can be deployed in isolation space S1, and cloud desktop instance A2 and proxy service component C2 can be deployed in isolation space S2. Therefore, the cloud desktop system can include cloud service component, graphical interface service component, cloud desktop instance A1, proxy service component C1, and cloud desktop instance A2 and proxy service component C2.
[0075] In a cloud desktop system, the cloud streaming service component can be used to obtain cloud desktop events sent by the client and send the cloud desktop events to the proxy service component through the graphical interface service component.
[0076] A client refers to the terminal device used by the user. Cloud desktop applications can be deployed on the client. The client can run cloud desktop applications and display a local cloud desktop.
[0077] Optionally, users can use at least one local cloud desktop on the client side based on the cloud desktop application. For example, on the client side, a user can open local cloud desktop D1 and local cloud desktop D2 based on the cloud desktop application.
[0078] The client can respond to user actions on the local cloud desktop by generating cloud desktop events and sending them to a remote server, so that the cloud streaming service component on the remote server can obtain the cloud desktop events sent by the client. Optionally, the cloud desktop events can carry the identifier of the local cloud desktop.
[0079] For example, a cloud desktop event could be closing a folder window, and it could carry the identifier of the local cloud desktop as D1.
[0080] After the cloud streaming service component receives a cloud desktop event, it can send the cloud desktop event to the graphical interface service component. Upon receiving the cloud desktop event, the graphical interface service component can then send the cloud desktop event to the proxy service component. The proxy service component and the cloud desktop instance corresponding to the local cloud desktop reside in the same isolated space.
[0081] Optionally, the virtual instance may include the correspondence between local cloud desktops and cloud desktop instances, and / or the correspondence between local cloud desktops and isolated spaces.
[0082] For example, the correspondence between local cloud desktops and cloud desktop instances can be shown in Table 1:
[0083] Table 1
[0084] The correspondence between local cloud desktops and isolated spaces can be shown in Table 2:
[0085] Table 2
[0086] In an optional embodiment, if the virtual instance includes a mapping between local cloud desktops and cloud desktop instances, the graphical interface service component can obtain this mapping and, based on the mapping and the identifier of the local cloud desktop carried in the cloud desktop event, determine the target cloud desktop instance, and then determine the proxy service component located in the same isolated space as the target cloud desktop instance. The graphical interface service component can then send the cloud desktop event to the proxy service component.
[0087] For example, if the cloud desktop event is closing a folder window, and the identifier of the local cloud desktop is D1, and virtual instance V1 includes the correspondence between local cloud desktops and cloud desktop instances as shown in Table 1, then the graphical interface service component can determine the target cloud desktop instance as cloud desktop instance A1 based on the correspondence shown in Table 1 and the identifier D1 of the local cloud desktop, and then determine the proxy service component C1 located in the same isolation space S1 as cloud desktop instance A1. The graphical interface service component can then send the cloud desktop event to the proxy service component C1.
[0088] In another optional embodiment, if the virtual instance includes a mapping between local cloud desktops and isolated spaces, the graphical interface service component can obtain the mapping between local cloud desktops and isolated spaces, and based on the mapping between local cloud desktops and isolated spaces, and the identifier of the local cloud desktop carried in the cloud desktop event, determine the target isolated space, and then determine the proxy service component in the target isolated space. The graphical interface service component can then send the cloud desktop event to the proxy service component.
[0089] For example, if the cloud desktop event is closing a folder window, and the identifier of the local cloud desktop is D1, and virtual instance V1 includes the correspondence between local cloud desktops and isolated spaces as shown in Table 2, then the graphical interface service component can determine the target isolated space as isolated space S1 based on the correspondence shown in Table 2 and the identifier D1 of the local cloud desktop, and then determine the proxy service component C1 in isolated space S1. The graphical interface service component can then send the cloud desktop event to the proxy service component C1.
[0090] After receiving a cloud desktop event, the proxy service component can process the event, that is, generate a graphical interface display request based on the cloud desktop event. For example, if the cloud desktop event is closing a folder window, the proxy service component can generate a graphical interface display request based on this event, which can request to display the graphical interface after the folder window is closed.
[0091] The proxy service component can send a graphical interface display request to the graphical interface service component, which can respond to the graphical interface display request, draw the graphical interface through the cloud desktop instance, and obtain the cloud desktop data.
[0092] Cloud desktop data can be used to display graphical interfaces on cloud desktop instances, as well as to display local cloud desktops on clients.
[0093] The graphical interface will now be explained with reference to Figure 3.
[0094] Figure 3 is a schematic diagram of a graphical interface provided by an exemplary embodiment of this disclosure. Referring to Figure 3, for example, if the current graphical interface displayed by cloud desktop instance A1 is as shown in interface 301 of Figure 3, the current graphical interface displays a "browser" icon, a "music" icon, an "email" icon, a "folder" icon, and a folder window. The folder window includes documents W1, W2, and W3. If the cloud desktop event is closing the folder window, and the graphical interface display request generated by the proxy service component based on this cloud desktop event requests to display the graphical interface after closing the folder window, then the graphical interface service component can respond to this graphical interface display request by closing the folder window in the cloud desktop instance, thereby drawing the graphical interface after closing the folder window as shown in interface 302, and obtaining cloud desktop data. The cloud desktop data is the data corresponding to the graphical interface after closing the folder window, i.e., the cloud desktop data corresponding to interface 302.
[0095] The graphical interface service component can send cloud desktop data to the proxy service component. After receiving the cloud desktop data, the proxy service component can send the cloud desktop data to the cloud desktop instance, and the cloud desktop instance can display the graphical interface based on the cloud desktop data.
[0096] For example, if the cloud desktop data is the cloud desktop data corresponding to interface 302, the graphical interface service component can send the cloud desktop data to the proxy service component C1. After receiving the cloud desktop data, the proxy service component C1 can send the cloud desktop data to the cloud desktop instance A1. The cloud desktop instance A1 can display the graphical interface shown in interface 302 based on the cloud desktop data.
[0097] The cloud streaming service component can also acquire cloud desktop data generated by the graphical interface service component, encode the cloud desktop data to obtain streaming data, and send the streaming data to the client. For example, if the cloud desktop data is the cloud desktop data corresponding to interface 302, the cloud streaming service component can acquire the cloud desktop data, encode the cloud desktop data, and obtain streaming data. The cloud streaming service component can then send the streaming data to the client.
[0098] In a cloud desktop system, the cloud streaming service component can communicate with the graphical interface service component through processes within the virtual operating system, based on the Adaptive Streaming Protocol (ASP). That is, the cloud streaming service component sends cloud desktop events to the graphical interface service component and retrieves cloud desktop data from the graphical interface service component, which is achieved through communication between different processes within the same virtual operating system.
[0099] Since the cloud streaming service component and the graphical interface service component are deployed in the same virtual operating system and communicate through processes under the same virtual operating system, there is no need to cross operating systems (i.e., no host OS involved), which reduces communication overhead and data transmission latency, thus improving data transmission efficiency.
[0100] Optionally, the cloud desktop system may also include a cloud streaming proxy component, which can be deployed on the client. The cloud streaming proxy component can receive streaming data sent by the cloud streaming service component, decode the streaming data to obtain cloud desktop data, so that the client can use the cloud desktop application to display the local cloud desktop based on the cloud desktop data.
[0101] For example, if the cloud streaming agent component receives streaming data sent by the cloud streaming service component and decodes the streaming data to obtain cloud desktop data as shown in interface 302, the client can use the cloud desktop application to display the local cloud desktop as shown in interface 302 based on the cloud desktop data.
[0102] In this embodiment of the disclosure, the cloud desktop system may include a cloud service component and a graphical user interface (GUI) service component deployed on a virtual operating system, as well as a cloud desktop instance and a proxy service component deployed in an isolated space of the virtual operating system; the cloud service component includes a cloud streaming service component. The cloud streaming service component can be used to acquire cloud desktop events from the client and send these events to the proxy service component via the GUI service component; the proxy service component can be used to generate a GUI display request based on the cloud desktop events; the GUI service component can be used to respond to the GUI display request, draw a GUI using the cloud desktop instance, and obtain cloud desktop data; the cloud streaming service component can also be used to encode the cloud desktop data to obtain streaming data and send the streaming data to the client. Since the cloud service components and the graphical interface service components are deployed in the same virtual operating system, the cloud streaming service component and the graphical interface service component in the cloud service components can transmit data without crossing operating systems, reducing communication overhead. Compared with existing technologies, the data transmission latency is small and the cloud desktop screen latency is small, thus improving the user experience of using remote cloud desktop services. Furthermore, since the cloud desktop instance and the proxy service component are deployed in the isolated space of the virtual operating system, the cloud service components outside the isolated space are not visible to the user and will not be accidentally operated by the user, thus improving the reliability of remote cloud desktop services.
[0103] The cloud desktop system described above will be further explained below, based on the embodiment shown in Figure 2 and in conjunction with Figure 4.
[0104] Figure 4 is a schematic diagram of another cloud desktop system provided by an exemplary embodiment of this disclosure. Referring to Figure 4, based on the cloud desktop system shown in Figure 2, the cloud service components may further include a management and configuration component and an authentication service component.
[0105] In the remote server, the cloud service component and the graphical interface service component can start along with the virtual operating system. Since the cloud service component can also include a management and configuration component, the remote server can establish a network connection with the management device through the management and configuration component.
[0106] The management device can send configuration parameters of cloud desktop instances to a remote server. The management and configuration component on the remote server can obtain the configuration parameters of the cloud desktop instances and configure the cloud desktop instances based on these parameters.
[0107] Optionally, configuration parameters may include network bandwidth configuration, runtime resource configuration, etc.
[0108] For example, the configuration parameters sent by the management device to the remote server could be: network bandwidth of 100Mbps (megabits per second). The management configuration component can then configure the network bandwidth corresponding to the cloud desktop instance to 100Mbps based on these parameters.
[0109] Optionally, after the cloud service component starts, it can detect the virtual operating system in the virtual instance and complete the initialization of the isolated space. The management and configuration component can also dynamically configure runtime resources for the isolated space to ensure stable operation of the cloud service component while the isolated space is running stably. For example, runtime resources may include at least one of the following: memory resources, processor resources, etc.
[0110] For any given isolated space, it can support the import and running of at least one operating system. This operating system can be user-customized. The image file corresponding to the operating system can be imported into the isolated space to deploy the operating system.
[0111] The cloud service components can be adapted to any isolated operating system without requiring modifications to the cloud service components for the operating system.
[0112] As shown in Figure 4, operating system OS1 can be deployed in cloud desktop instance A1 in isolated space S1; operating system OS2 can be deployed in cloud desktop instance A2 in isolated space S2. Cloud service components can be adapted to operating systems OS1 and OS2.
[0113] In a cloud desktop instance, the operating system may include a Virtual Private Network (VPN) component, a file system, network components, and underlying dependency libraries. As shown in Figure 4, the operating system OS1 may include VPN components, a file system, network components, and the underlying dependency library DL1.
[0114] Cloud desktop instances can connect to external networks (e.g., the public network) via network components.
[0115] Cloud desktop instances provide remote cloud desktop services via a Virtual Private Network (VPN). When users access remote cloud desktop services on a client device, a network connection is established between the client and the remote server via VPN, based on the client's cloud desktop application and the cloud desktop instance on the remote server.
[0116] After a connection is established between the client and the remote server, the client can obtain the cloud desktop account information entered by the user and send it to the remote server. The cloud streaming service component can obtain the cloud desktop account information and send it to the authentication service component.
[0117] After obtaining the cloud desktop account information, the authentication service component can authenticate the cloud desktop account information. Optionally, the user account information can be stored on the remote server. The authentication service component can compare the user account information with the cloud desktop account information. If they match, the authentication of the cloud desktop account information is successful; if they do not match, the authentication of the cloud desktop account information is unsuccessful.
[0118] After the cloud desktop account information is successfully authenticated, the cloud streaming service component can also allocate an isolated space for the client and start the cloud desktop instance and proxy service component in the allocated isolated space.
[0119] For example, after the cloud desktop account information is authenticated, the cloud streaming service component can allocate an isolation space S1 to the client and start the cloud desktop instance A1 and the proxy service component C1 in the isolation space S1.
[0120] In this disclosed technical solution, cloud desktop instances and proxy service components are deployed in an isolated space, isolated from the underlying environment of the virtual operating system. Users have permissions within the isolated space, and the cloud desktop instances within the isolated space deploy an operating system independent of the underlying environment. Users can perform custom configurations and modifications within the isolated space without affecting the cloud service components outside the isolated space, avoiding accidental user operations and improving the reliability of the cloud service components. Furthermore, the isolated space supports running and importing various user-customized operating systems, eliminating the need for separate adaptation of cloud service components and the underlying virtual operating system environment for user-customized operating systems. This supports rapid customization and iteration, enabling a single cloud service component to support the running and import of multiple user-customized operating systems based on the isolated space. Through this disclosed technical solution, not only is the stable operation of cloud service components achieved, but the efficiency of deploying cloud desktop instances and proxy service components in the isolated space is also improved.
[0121] In this embodiment of the disclosure, the cloud desktop system may include a cloud service component and a graphical user interface (GUI) service component deployed on a virtual operating system, as well as a cloud desktop instance and a proxy service component deployed in an isolated space of the virtual operating system; the cloud service component includes a cloud streaming service component. The cloud streaming service component can be used to acquire cloud desktop events from the client and send these events to the proxy service component via the GUI service component; the proxy service component can be used to generate a GUI display request based on the cloud desktop events; the GUI service component can be used to respond to the GUI display request, draw a GUI using the cloud desktop instance, and obtain cloud desktop data; the cloud streaming service component can also be used to encode the cloud desktop data to obtain streaming data and send the streaming data to the client. Since the cloud service components and the graphical interface service components are deployed in the same virtual operating system, the cloud streaming service component and the graphical interface service component in the cloud service components can transmit data without crossing operating systems, reducing communication overhead. Compared with existing technologies, the data transmission latency is small and the cloud desktop screen latency is small, thus improving the user experience of using remote cloud desktop services. Furthermore, since the cloud desktop instance and the proxy service component are deployed in the isolated space of the virtual operating system, the cloud service components outside the isolated space are not visible to the user and will not be accidentally operated by the user, thus improving the reliability of remote cloud desktop services.
[0122] Below, based on any of the above embodiments and in conjunction with Figure 5, a cloud desktop service method is provided.
[0123] The executing entity in this embodiment can be a remote server, or a cloud desktop system or cloud desktop service device set in the remote server. The cloud desktop system or cloud desktop service device can be implemented by software or by a combination of software and hardware. The cloud desktop service device can be a processor in the remote server. For ease of understanding, the following description uses a cloud desktop system as the executing entity.
[0124] Figure 5 is a flowchart illustrating a cloud desktop service method provided by an exemplary embodiment of this disclosure. Referring to Figure 5, the method may include:
[0125] S501: Obtain client's cloud desktop events via cloud streaming service component.
[0126] The client can respond to the user's actions on the local cloud desktop, generate cloud desktop events, and send cloud desktop events to the cloud desktop system, so that the cloud desktop system can obtain the cloud desktop events sent by the client through the cloud streaming service component.
[0127] Optionally, cloud desktop events can carry the identifier of the local cloud desktop.
[0128] For example, a client can generate a cloud desktop event in response to a user's action on the local cloud desktop D1. This cloud desktop event could be closing a folder window, with the identifier of the local cloud desktop being D1. The client can then send this cloud desktop event to the cloud desktop system, allowing the cloud desktop system to retrieve the event sent by the client via the cloud streaming service component.
[0129] It should be noted that before obtaining the client's cloud desktop events via the cloud streaming service component, a network connection has already been established between the client and the cloud desktop instance in the cloud desktop system. The client can then use the remote cloud desktop service provided by the cloud desktop instance. For example, after establishing a network connection with cloud desktop instance A1, the client can use the remote cloud desktop service provided by cloud desktop instance A1 based on its local cloud desktop D1.
[0130] S502, Send cloud desktop events to the proxy service component via the graphical interface service component.
[0131] After the cloud streaming service component receives a cloud desktop event, it can send the cloud desktop event to the graphical interface service component. The graphical interface service component can then send the cloud desktop event to the proxy service component. The proxy service component and the cloud desktop instance corresponding to the local cloud desktop reside in the same isolated space.
[0132] For example, if the cloud desktop event is closing a folder window, and the identifier of the local cloud desktop is D1, then after the cloud streaming service component obtains the cloud desktop event, it can send the cloud desktop event to the graphical interface service component. If the virtual instance V1 includes the correspondence between local cloud desktops and cloud desktop instances as shown in Table 1, then the graphical interface service component can determine the target cloud desktop instance as cloud desktop instance A1 based on the correspondence shown in Table 1 and the identifier D1 of the local cloud desktop, and then determine the proxy service component C1 located in the same isolation space S1 as cloud desktop instance A1. The graphical interface service component can then send the cloud desktop event to the proxy service component C1.
[0133] S503 generates a graphical interface display request based on cloud desktop events via the proxy service component.
[0134] For example, if the cloud desktop event is closing a folder window, and the identifier of the local cloud desktop is D1, the proxy service component can generate a graphical interface display request based on the cloud desktop event. The graphical interface display request can be a request to display the graphical interface after the folder window is closed.
[0135] S504: Respond to the graphical interface display request via the graphical interface service component, draw the graphical interface through the cloud desktop instance, and obtain the cloud desktop data.
[0136] After the proxy service component generates a graphical interface display request, it can send the request to the graphical interface service component. The graphical interface service component can then respond to the request, drawing the graphical interface using the cloud desktop instance and obtaining the cloud desktop data.
[0137] For example, if the current graphical interface displayed by cloud desktop instance A1 is as shown in interface 301 of Figure 3, and a folder window is displayed in the current graphical interface, if the graphical interface display request is to display the graphical interface after closing the folder window, then the graphical interface service component can respond to the graphical interface display request, draw the graphical interface based on the cloud desktop instance, determine the graphical interface after closing the folder window as shown in interface 302, and obtain the cloud desktop data. The cloud desktop data is the data corresponding to the graphical interface after closing the folder window, that is, the cloud desktop data corresponding to interface 302.
[0138] S505 encodes cloud desktop data via the cloud streaming service component to obtain streaming data, and then sends the streaming data to the client.
[0139] For example, if the cloud desktop data corresponds to the cloud desktop data in interface 302, the cloud streaming service component can obtain the cloud desktop data, encode it, and obtain streaming data. The cloud streaming service component can then send the streaming data to the client.
[0140] A cloud streaming proxy component can be deployed on the client side. The cloud streaming proxy component can receive streaming data sent by the cloud streaming service component, decode the streaming data to obtain cloud desktop data, and enable the client to display local cloud desktop data based on the cloud desktop application through the cloud desktop data display.
[0141] For example, if the cloud streaming agent component receives streaming data sent by the cloud streaming service component and decodes the streaming data to obtain cloud desktop data as shown in interface 302, the client can use the cloud desktop application to display the local cloud desktop as shown in interface 302 based on the cloud desktop data.
[0142] It should be noted that the various processing steps (S501-S505) shown in the embodiment of Figure 5 do not constitute a specific limitation on the cloud desktop service process. In other embodiments of this disclosure, the cloud desktop service process may include more or fewer steps than in the embodiment of Figure 5. For example, the cloud desktop service process may include some of the steps in the embodiment of Figure 5, or some steps in the embodiment of Figure 5 may be replaced by steps with the same function, or some steps in the embodiment of Figure 5 may be split into multiple steps, etc.
[0143] In this embodiment, the cloud desktop system can obtain cloud desktop events from the client via the cloud streaming service component and send these events to the proxy service component via the graphical interface service component. The cloud desktop system can then generate a graphical interface display request based on the cloud desktop events via the proxy service component, respond to the request via the graphical interface service component, draw the graphical interface using the cloud desktop instance, obtain cloud desktop data, encode the data via the cloud streaming service component to obtain streaming data, and send the streaming data to the client. Since the cloud service component and the graphical interface service component are deployed in the same virtual operating system, data transmission between the cloud streaming service component and the graphical interface service component does not require cross-operating system access, reducing communication overhead. Compared to existing technologies, this results in lower data transmission latency and lower cloud desktop display latency, thus improving the user experience of using the remote cloud desktop service. Furthermore, since the cloud desktop instance and the proxy service component are deployed in an isolated space within the virtual operating system, cloud service components outside this isolated space are invisible to the user and cannot be accidentally operated by the user, thus improving the reliability of the remote cloud desktop service.
[0144] Figure 6 is a schematic diagram of the structure of a cloud desktop service device provided in an exemplary embodiment of this disclosure. Referring to Figure 6, the cloud desktop service device 60 is applied to the cloud desktop system of any of the above embodiments. The cloud desktop service device 60 may include: an acquisition module 61, an event forwarding module 62, a request generation module 63, a response module 64, and a data delivery module 65, wherein...
[0145] The acquisition module 61 is used to acquire the client's cloud desktop events via the cloud streaming service component;
[0146] Event forwarding module 62 is used to send cloud desktop events to the proxy service component via the graphical interface service component;
[0147] The request generation module 63 is used to generate a graphical interface display request based on cloud desktop events via the proxy service component;
[0148] The response module 64 is used to respond to graphical interface display requests via the graphical interface service component, draw the graphical interface through the cloud desktop instance, and obtain cloud desktop data.
[0149] The data delivery module 65 is used to encode cloud desktop data via the cloud streaming service component to obtain streaming data, and then send the streaming data to the client.
[0150] The cloud desktop service device provided in this disclosure can execute the technical solutions shown in the above method embodiments. Its implementation principle and beneficial effects are similar, and will not be described again here.
[0151] Figure 7 is a schematic diagram of the structure of an electronic device provided by an exemplary embodiment of the present disclosure. Referring to Figure 7, the electronic device 70 may include a processor 71 and a memory 72. Exemplarily, the processor 71 and the memory 72 are interconnected via a bus 73.
[0152] Memory 72 stores instructions executed by the computer;
[0153] The processor 71 executes computer execution instructions stored in the memory 72, causing the processor 71 to perform the method as shown in the above method embodiment.
[0154] The electronic device shown in Figure 7 can be a remote server in any of the above embodiments.
[0155] Accordingly, this disclosure provides a computer-readable storage medium storing computer-executable instructions that, when executed by a processor, are used to implement the methods described in the above method embodiments.
[0156] Accordingly, this disclosure also provides a computer program product, including a computer program, which, when executed by a processor, can implement the methods shown in the above-described method embodiments.
[0157] Those skilled in the art will understand that embodiments of this disclosure can be provided as methods, systems, or computer program products. Therefore, this disclosure can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this disclosure can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0158] This disclosure is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in one or more flowchart illustrations and / or one or more block diagrams.
[0159] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions specified in one or more flowcharts and / or one or more block diagrams.
[0160] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions specified in one or more flowcharts and / or one or more block diagrams.
[0161] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0162] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0163] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0164] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0165] The above are merely embodiments of this disclosure and are not intended to limit the scope of this disclosure. Various modifications and variations can be made to this disclosure by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this disclosure should be included within the scope of the claims of this disclosure.
Claims
1. A cloud desktop system, comprising a cloud service component and a graphical user interface service component deployed on a virtual operating system, and a cloud desktop instance and a proxy service component deployed in an isolated space of the virtual operating system; the cloud service component includes a cloud streaming service component; The cloud streaming service component is used to obtain cloud desktop events from the client and send the cloud desktop events to the proxy service component through the graphical interface service component. The proxy service component is used to generate a graphical interface display request based on the cloud desktop event; The graphical interface service component is used to respond to the graphical interface display request, draw the graphical interface through the cloud desktop instance, and obtain cloud desktop data. The cloud streaming service component is also used to encode the cloud desktop data to obtain streaming data, and send the streaming data to the client.
2. The cloud desktop system according to claim 1, wherein the cloud streaming service component communicates with the graphical interface service component through process communication under the virtual operating system based on an adaptive streaming media protocol.
3. The cloud desktop system according to claim 1 or 2, wherein the cloud service component further includes a management and configuration component; The management and configuration component is used to obtain the configuration parameters of the cloud desktop instance and configure the cloud desktop instance based on the configuration parameters of the cloud desktop instance.
4. The cloud desktop system according to any one of claims 1-3, wherein the cloud service component further includes an authentication service component; The authentication service component is used to obtain the cloud desktop account information sent by the client and to authenticate the cloud desktop account information. The cloud streaming service component is also used to allocate an isolation space to the client after the cloud desktop account information is authenticated, and to start the cloud desktop instance and the proxy service component in the allocated isolation space.
5. The cloud desktop system according to any one of claims 1-4, For any given isolation space, the isolation space supports importing and running at least one operating system; The cloud service components are compatible with operating systems in any isolated space.
6. The cloud desktop system according to any one of claims 1-5, wherein the isolated space is a container or a sandbox.
7. The cloud desktop system according to any one of claims 1-6, wherein the client is deployed with a cloud streaming proxy component; The cloud streaming proxy component is used to receive streaming data sent by the cloud streaming service component and decode the streaming data to obtain cloud desktop data, so that the client can display the local cloud desktop based on the cloud desktop data.
8. A cloud desktop service method, applied to the cloud desktop system according to any one of claims 1-7, the method comprising: Obtain client-side cloud desktop events via the cloud streaming service component; The cloud desktop events are sent to the proxy service component via the graphical interface service component; The proxy service component generates a graphical interface display request based on the cloud desktop event; The graphical interface service component responds to the graphical interface display request and draws the graphical interface through the cloud desktop instance to obtain cloud desktop data. The cloud desktop data is encoded by the cloud streaming service component to obtain streaming data, and the streaming data is sent to the client.
9. The method according to claim 8, further comprising: The cloud streaming service component communicates with the graphical interface service component through processes within the virtual operating system, based on an adaptive streaming media protocol.
10. The method according to claim 8 or 9, wherein the cloud desktop system further includes a management and configuration component, and the method further includes: The configuration parameters of the cloud desktop instance are obtained through the management and configuration component, and the cloud desktop instance is configured based on the configuration parameters of the cloud desktop instance.
11. The method according to any one of claims 8-10, wherein the cloud desktop system further includes an authentication service component, and the method further includes: The cloud desktop account information sent by the client is obtained through the authentication service component, and the cloud desktop account information is authenticated. After the cloud desktop account information is authenticated by the cloud streaming service component, an isolation space is allocated to the client, and the cloud desktop instance and the proxy service component are started in the allocated isolation space.
12. The method according to any one of claims 8-11, For any given isolation space, the isolation space supports importing and running at least one operating system; The cloud service components are compatible with operating systems in any isolated space.
13. The method according to any one of claims 8-12, wherein the isolation space is a container or a sandbox.
14. A cloud desktop service device, applied to the cloud desktop system according to any one of claims 1-7, the device comprising: The module comprises an acquisition module, an event forwarding module, a request generation module, a response module, and a data distribution module. The acquisition module is used to acquire cloud desktop events of the client via the cloud streaming service component; The event forwarding module is used to send the cloud desktop event to the proxy service component via the graphical interface service component; The request generation module is used to generate a graphical interface display request based on the cloud desktop event via the proxy service component; The response module is used to respond to the graphical interface display request via the graphical interface service component, draw the graphical interface through the cloud desktop instance, and obtain cloud desktop data. The data delivery module is used to encode the cloud desktop data via the cloud streaming service component to obtain streaming data, and then send the streaming data to the client.
15. The apparatus according to claim 14, wherein the cloud desktop system further includes a management and configuration component; The response module is also used to obtain the configuration parameters of the cloud desktop instance via the management and configuration component, and configure the cloud desktop instance based on the configuration parameters of the cloud desktop instance.
16. The apparatus according to claim 14 or 15, wherein the cloud desktop system further comprises an authentication service component; The response module is further configured to: obtain the cloud desktop account information sent by the client via the authentication service component; authenticate the cloud desktop account information; allocate an isolation space to the client via the cloud streaming service component after the cloud desktop account information is successfully authenticated; and start the cloud desktop instance and the proxy service component in the allocated isolation space.
17. The apparatus according to any one of claims 14-16, For any given isolation space, the isolation space supports importing and running at least one operating system; The cloud service components are compatible with operating systems in any isolated space.
18. An electronic device comprising: At least one processor; as well as A memory that is communicatively connected to the at least one processor; The memory stores instructions executable by the at least one processor, which, when executed by the at least one processor, cause the electronic device to perform the method according to any one of claims 8-13.
19. A computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the method as claimed in any one of claims 8-13.
20. A computer program product comprising a computer program that, when executed by a processor, implements the method of any one of claims 8-13.