WO2023217543A1 - Method for operating a remote desktop system, remote desktop system, and computer-readable medium - Google Patents

Method for operating a remote desktop system, remote desktop system, and computer-readable medium Download PDF

Info

Publication number
WO2023217543A1
WO2023217543A1 PCT/EP2023/061091 EP2023061091W WO2023217543A1 WO 2023217543 A1 WO2023217543 A1 WO 2023217543A1 EP 2023061091 W EP2023061091 W EP 2023061091W WO 2023217543 A1 WO2023217543 A1 WO 2023217543A1
Authority
WO
WIPO (PCT)
Prior art keywords
client
remote desktop
local
applications
application
Prior art date
Application number
PCT/EP2023/061091
Other languages
German (de)
French (fr)
Inventor
Ulrich MERTZ
René VÖGELI
Original Assignee
Rangee GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rangee GmbH filed Critical Rangee GmbH
Publication of WO2023217543A1 publication Critical patent/WO2023217543A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication

Definitions

  • the invention relates to a method for operating a remote desktop system, consisting of a remote desktop client and a remote desktop server, which hosts a remote desktop in a remote desktop environment, the remote desktop connection being established following a remote desktop protocol.
  • the object of embodiments of the invention is to provide a method with which a user can particularly easily use local applications on a remote desktop client and remote applications on a remote desktop, for example on a terminal server, in parallel, a remote desktop system that is suitable to carry out the method and to provide a computer-readable medium comprising code for instructing processors of a remote desktop system.
  • a method for generating and controlling a composite view of local applications on a local graphical user interface of a remote desktop client the remote desktop client being a virtual or physical computer, and one of a remote desktop Server-hosted remote desktop in a remote desktop environment, for example a terminal server, with remote applications, the method comprising the following steps:
  • the method according to the invention is characterized in that the communication channel available for the remote desktop connection is additionally used or at least one further communication channel is created between the remote desktop client and the remote desktop server and used in such a way that a client-side server application receives information about the local in one step obtains applications and provides them via the communication channel to a client on the remote desktop side and sends information updates to the client on the remote desktop if the local application in question is already open, with the client storing the information about the local applications in another View on the graphical user interface, the view comprising a list of local applications, so that a user can interact with the view and select for each list entry from a list of commands that are sent to the client via the communication channel or the further communication channel when activated client-side server and from the client-side server to the local application, with the local application running on the remote desktop client, where the user can hide or mark local applications as favorites in the view of the client on the remote desktop, with a priority of the Applications are changed during communication between client and client-side server application, whereby the information updates
  • a remote desktop client is understood to mean a virtual or physical computer, for example a laptop or a computer with low computing capacity, as is the case with a thin client, which is capable of following a remote desktop protocol, such as for example, the proprietary Remote Desktop Protocol (RDP) and the Independent Computing Architecture (ICA) or PC over IP (PColP) or Virtual Network Computing (VNC) to gain access to a remote desktop.
  • RDP Remote Desktop Protocol
  • ICA Independent Computing Architecture
  • PColP PC over IP
  • VNC Virtual Network Computing
  • the Remote Desktop Client can use any operating system, such as Windows, Linux or MaxOS.
  • a remote desktop server in the context of this application, is also a virtual or physical computer and is used to host the remote desktop in a remote desktop environment, such as a terminal server.
  • the remote desktop is a Windows desktop, such as a desktop on the Windows Terminal Server, a desktop on the Azure Virtual Desktop, or any other Windows desktop system that runs on a remote desktop system.
  • the client-side server application can be, for example, a self-starting server application, a communication server or a web server, which is started automatically when the user's end device is started or when the remote desktop client is started and is suitable for controlling local programs.
  • a self-starting server application Via an application programming interface (API), the client is informed on the remote desktop side which functions are available for which local applications on the local remote desktop client and/or which functions can be activated for remote access.
  • the functions can, for example, be added or removed by the user or an administrator in the server application on the Remote Desktop Client. These functions correspond to the commands that the user can send on the remote desktop via the client, so that only software instructions are sent from the client to the server application.
  • Additional information that the server application provides to the client includes, for example, an icon, a name, a thumbnail screenshot, and a location and dimension of a local application. For example, this information becomes local in the list of the client's view (GUI) on the remote desktop Applications are taken into account in such a way that for running applications, thumbnail screenshots of the local window are sent at regular intervals and are displayed in the client's view next to the respective list entry for the corresponding local application, while for local applications that are not running, only the icon is shown next to it corresponding list entry is shown.
  • the client can be permanently active on the Remote Desktop Server and wait for the request from the server application and, when a user establishes a remote desktop connection, show the local applications available on his Remote Desktop Client in a view. However, it is also possible that the user only starts the client after the remote desktop connection has been established.
  • the additional communication channel can be formed, for example, by a TCP channel between the remote desktop client and the remote desktop server.
  • a side channel embedded in the respective Remote Desktop protocol also called a virtual channel.
  • Communication via a side channel of a Remote Desktop Protocol is preferably used, and a TCP channel is used if a Remote Desktop Protocol does not support the Virtual Channel functionality. In many use cases, this eliminates the need for the terminal server to be able to reach the ThinClient (the Remote Desktop Client) via a TCP connection. This is not necessarily possible, especially in home office setups and particularly secure networks, so the solution of using virtual channels of the remote desktop protocols overcomes this problem.
  • the information updates that are sent from the client-side server to the client on the remote desktop can, for example, be displayed if the user “hovers” his or her cursor over the list entry of the corresponding application for a while without closing the mouse button actuate.
  • the list of local applications is maintained in the client's view. This means that the list entries for running local applications show the information, which receives updates at regular intervals, at the position where the icon of the application is shown in the list entries for local applications that are not running.
  • the information includes, for example, the position and size of a window of a running local application. This makes it easier for the user to track the progress of individual processes on their local device, for example during a download, a compilation process or similar processes that may take a long time.
  • the user hides local applications in the client on the remote desktop or marks them as favorites, changing the priority of the applications in communication between the client and the client-side server.
  • Prioritization means that some information is sent more frequently than others. For a download that the user is very interested in completing, it is advisable, for example, to favorite the download manager, which means that updates for this application are sent more frequently, for example in the form of miniature screenshots, so that the user is always informed of the progress image is.
  • the prioritization can also be taken into account by the communication channel when transmitting the updates. This can ensure that information that is particularly relevant to the user has priority when transmitted to the client on the remote desktop and is delivered even if the data transfer rate is limited.
  • Another local application that can be started and favorited by the user on the remote desktop is, for example, the task manager.
  • the method thus provided offers the advantage that a user can use a remote desktop client with limited computing capacity to run remote applications on a remote desktop server and, via the client on the remote desktop, with local applications running on the remote desktop client are located to interact and give commands.
  • the client on the remote desktop provides an interface for accessing and controlling running graphical interface applications and their information.
  • Local applications include, for example Multimedia applications, conference solutions, as well as office applications, emails and graphic editing. This procedure eliminates the remote desktop connection as a bottleneck.
  • establishing a connection between Remote Desktop Client and Remote Desktop on a terminal server can follow the following steps:
  • Remote Desktop Client for example in the home office.
  • Server application starts automatically and provides an API for controlling controllable and startable or running programs.
  • Client regularly retrieves a list of controllable and startable or running programs via the server application API.
  • the user finds a list of local programs that are already running or can be started in the client view and, when clicking on a list entry, sees a list of available commands, e.g. -Start, -Focus, -Bring to Front.
  • the list of the client's view can, for example, be sorted by the user and is structured in such a way that each list entry corresponding to an available local application is displayed in a line of the list with the name of the local application and the associated icon, or a miniature screenshot.
  • the icon or thumbnail screenshot is displayed on the left or right side next to the name of the local application in the line of the list.
  • the thumbnail screenshot can be displayed instead of the icon when the local application is running on the Remote Desktop Client.
  • the list of commands that the user can give includes starting a local application, focusing on a local application, minimizing a local application, maximizing a local application, closing a local application, and bringing a local application forward, wherein the view of the local application or the local applications can be kept at the front, in particular so that parallel work on at least one Remote application and at least one local application is possible.
  • the user of the Remote Desktop Client can use the client on the Remote Desktop to select a local application that may already be running and is located on the Remote Desktop Client and is/is being executed there, and focus on this local application so that his input can be used to control it serve the local application and put the local application at the front so that the user sees the graphical interface of the local program and can make entries there while the remote desktop connection view remains open.
  • the user can activate a function that fixes the local application at the front, so that the focus can switch to the remote desktop and the user can work on the remote application while the local application remains visible to him.
  • Other commands for controlling the open windows of local applications include minimizing, maximizing, closing, moving and resizing the window.
  • TCP and/or UDP-based transmission techniques are used for the communication protocol of the communication channel or channels between the client-side server application and the client on the remote desktop and the communication takes place via a wired or wireless computer network, whereby the Communication channel or channels can be freely selected and/or the communication preferably runs via side channels of the Remote Desktop Protocol and switches to a TCP channel if the Remote Desktop Protocol does not support the functionality of side channels.
  • the use of virtual channels (side channels) eliminates the need for the terminal server to be able to reach the ThinClient (the remote desktop client) via a TCP connection and is not essential, especially in home office setups and particularly secure networks possible. The process is therefore particularly suitable for use in the home office and for a variety of remote desktop protocols, or uses them advantageously.
  • the local application or the local applications that were started by the user, in particular started via the client on the remote desktop are displayed, in particular without minimizing the view of the remote desktop connection on the local client-side device.
  • a user can thus run running local applications, in particular multimedia applications, e-mail, graphics applications and conference solutions, for the transmission of which the remote desktop connection represents the bottleneck due to the image repetitions, on his local device and, if necessary, move them to the front, but without the view of the remote desktop connection to minimize or abandon.
  • the information updates that are sent from the client-side server to the client on the remote desktop, in particular at regular intervals include in particular miniature screenshots reduced in size, provided that the local application in question is already open.
  • the thumbnail screenshot of the local application can be displayed, if the user hovers over the list entry of the corresponding application for a while without pressing the mouse button.
  • the list of local applications is maintained in the client's view as described above, that is, the list entries for running local applications show a miniature screenshot, updated at regular intervals, at the position where the icon for the list entries of local applications that are not running the application is shown.
  • the client-side server application automatically generates quick access functions for the started local applications, in particular multimedia applications, and transmits them to the client on the remote desktop.
  • quick access functions include, for example, answer/hang up a call, screen share, mute or turn camera on/off in case the local application is a conference solution, or they include, for example, fast forward, rewind, go back to the beginning, next/next content, play/pause , in the case of multimedia applications.
  • a user can define their own quick access functions by telling the server application which button is selected and defining under which name or symbol this function should be listed in the client.
  • the list order is changed by prioritizing the local applications.
  • the list means the overview of the local applications listed in the client with which the client can interact. By allocating different list positions, some information is sent more frequently than others. For a download that the user is very interested in completing, it is advisable, for example, to favorite the download manager, which means that updates for this application are sent more frequently, for example in the form of miniature screenshots, so that the user is always informed of the progress image is.
  • local audio and/or video settings can be changed in the client on the remote desktop side, the client comprising the following functions:
  • Changing the output device especially the default output device, changing the output device for an application, adjusting the volume of an application.
  • the volumes of the output devices for example a headset and a loudspeaker, that are connected to the remote desktop client can be changed via the client on the remote server.
  • a first application which is running locally, for example, can be assigned a first output device and a second output device can be assigned to a second application, which is also running locally, and a third application, which is a remote application.
  • a user can only have conference software, such as MS Teams, output on their headset and all other sounds can be output via laptop speakers, which creates a particularly uninterrupted entertainment experience for them, especially if the conference solution is running locally on their remote desktop client running.
  • adjusting the volumes of the applications offers the advantage that the ratio of the volumes of the applications to one another can be adjusted via the client.
  • a user can, for example, call up a menu in the client in which all applications running locally on the Remote Desktop Server and on the Remote Desktop Client are listed, assign each of them a local or remote output device and adjust the volume levels of the applications in the client.
  • This method also provides a combined sound control with which settings on the remote desktop and the remote desktop client can be advantageously combined.
  • various power management functions of the remote desktop client can be carried out, for example the following functions: shutdown, restart, standby, information about the battery level, logout of the locally logged in user, locking the local device, adjusting the screen brightness the local client-side device.
  • the remote desktop client can first save all open saves in the local applications and then, following the remote desktop protocol through which the remote desktop connection is established, the connection to the Remote Desktop and then the Remote Desktop Client shut down directly. This eliminates the inconvenient “double” logout/shutdown when logging out of the workplace.
  • the client on the remote desktop side can also be used to perform the following functions:
  • Enabling and disabling individual parts of the local client-side device It is particularly advantageous if the resolution and dimension of the remote desktop connection can also be changed. The user can thus handle the remote desktop in a similar way to his local workstation and in a particularly intuitive way, even after the connection has been established, add or deactivate screens that are understood to be part of the local client-side device. This is advantageous, for example, if multiple monitors with different resolutions have been added to the client-side device and the user wants to adjust the resolution of a screen or remove it again.
  • a remote desktop system which has a remote desktop client, preferably a virtual or physical computer, and a remote desktop server, which is formed by a virtual or physical computer and is suitable for a remote desktop a remote desktop environment, for example in a terminal server, wherein the remote desktop client accesses a remote desktop on the remote desktop server according to a remote desktop protocol, wherein the remote desktop client is suitable for running local applications and the remote desktop is suitable for executing remote applications, and wherein there is an additional communication channel between the remote desktop client and the remote desktop server, via which a user can control the local application from the remote desktop and via which information about the local applications depends on a priority the applications can be sent at different frequencies.
  • the remote desktop system thus provided is therefore suitable for carrying out the method described above.
  • a computer-readable medium comprising code to cause processors of a remote desktop system, in particular of the aforementioned remote desktop system, to carry out one of the methods described above.
  • Fig. 1 is a flowchart for carrying out a method for generating
  • Fig. 2 a remote desktop system
  • Figure 3 pseudo-screenshots of a local client-side device demonstrating connection setup and some steps of a method for generating and controlling a composite view
  • FIG. 4 Pseudo screenshots of a local client-side device demonstrating further steps of a method for generating and controlling a composite view.
  • a user starts his remote desktop client 220, for example a laptop, with local applications 260 and a local graphical user interface that is output on a local client-side device.
  • a server application 240 is then started in a second step 120. This preferably happens automatically immediately after the first step 110 when starting up the remote desktop client 220.
  • the server application 240 provides an API for controlling controllable and startable or running local programs 260. If this is provided for by the Remote Desktop Protocol, in a next step 130 a connection is established between the Remote Desktop Client and a Virtual Private Network (VPN).
  • VPN Virtual Private Network
  • this step 130 is skipped and the remote desktop connection is established directly in the fourth step 140 in accordance with known remote desktop protocols via a wired or wireless network 210.
  • a graphical interface for operating the remote desktop 230 is built on the local client-side device, and the user can select from a selection of remote applications 270 and start them. The user then opens the client 250 on the remote desktop 230 in the next step 150.
  • the client calls 250 via an additional channel, which is, for example, a side channel of a remote desktop protocol or an additional TCP channel can, the information 251 from the server application 240, which contains a list of controllable and startable or running programs 260.
  • a next step 170 the user is presented with the list of available local programs 260 in the client 250 and is allowed to choose from a list of commands which, for example, enable starting a local application 260. If the user gives a command 252, this is sent to the server application 240 via the communication channel and translated from there to the local application 260 via the API. Accordingly, the user only sends software instructions to operate their local programs. If the user has started both a remote application 270 on the remote desktop 230, which is executed by the remote desktop server 235, and a local application 260, which is executed by the remote desktop client 220, he can now use 180 simultaneously in a next step local programs 260 and remote Programs 270 interact without minimizing or closing the remote desktop connection 210.
  • this invention relates to a method for generating and controlling a composite view of local applications on a local graphical user interface of a remote desktop client and a remote desktop, the method is explained in more detail below using pseudo screenshots. These are in no way to be interpreted as restrictive when interpreting the claims, but merely serve to provide better clarity.
  • FIG. 3a to 3h show a local client-side device at various times in performing a method for generating and controlling a composite view of local applications on a local graphical user interface of a remote desktop client and a remote desktop.
  • the graphical interface 320 of the local desktop is shown, on which a local application is opened in a window 362.
  • Additional desktop shortcuts 361 indicate additional local applications on the Remote Desktop Client.
  • the taskbar 301 with local volume settings 321 indicates via the symbol 322 that a VPN connection is already active.
  • the server application is opened in a window 341.
  • the server application carries out an automatic scan on the remote desktop client and lists all programs that it has found and considers to be controllable.
  • connection window 311 in Fig. 3c indicates.
  • information from the Server application can be transferred to the client if it runs permanently on the remote desktop server.
  • the remote desktop client is connected to the remote desktop and a graphical user interface 330 of the remote desktop is generated, as indicated by the connection bar 331 and the modified taskbar 302.
  • desktop shortcuts 371 to remote applications that a user can execute, for example, to work.
  • a view 350 of the client which has already prepared the information from the server application and keeps a list 363 of available local programs.
  • the client can have been started by the user or can be started automatically when the Remote Desktop Client connects to the Remote Desktop Server.
  • the list 363 of local applications can be sorted, for example, according to favorites and/or divided into open and startable programs.
  • the user triggers one of the remote programs linked to the icons 371.
  • a window 372 of the remote application is open and the user, for example, works with the remote application as usual with his local input devices connected to the client-side device.
  • the user decides to look at the window 362 of the previously opened local application.
  • a thumbnail screenshot 366 of the local application is shown.
  • the user in Fig. 3g has given the command to bring the window 362 forward so that he can work with it.
  • the remote desktop connection remains open and the view 330 of the remote desktop is not minimized.
  • the local program continues to run locally on the Remote Desktop Client and Window 362 is also on the local device, so no further graphical data or similar is transferred.
  • the user has adjusted the ratio of the local program 362 and remote application 372 windows to maximize use of the local client-side device for output.
  • the server application helps in conjunction with the client by obtaining information about the position and size of the window 362 and taking this into account when dividing the screen. For example, a contentless window is created on the remote desktop and placed below the local window 362.
  • the client enables interaction with windows 362 of local applications as well as windows 372 of remote applications, for example via AeroSnap.
  • a composite view generated which can be controlled and adjusted by a user through appropriate communication between a client and a server application.
  • Fig. 4a the state of the graphical user interface 330 of the remote desktop from Fig. 3g is repeated.
  • the user has already opened a window of a local application 362 and a window of a remote application 372 and has now used the cursor 303 to press a second list entry 3651 of the client's view 350, the list entry 3651 corresponding to a second local application that is not yet was started.
  • the only available command 367 is to start the second local program.
  • Fig. 4b the local program was started and the corresponding window 368 was brought forward without minimizing the view of the remote desktop 330.
  • this second local program is a communication program.
  • the user first minimizes the window 368 of the second local application using the button 369 and divides the monitor area maximally between the window 362 of the first local program and the window 372 of the remote program and works with both simultaneously. To do this, he can mark the window 362 of the local application as “always on top”, for example via the view 350 of the client.
  • the user receives a notification 355 from the minimized client that a call is incoming to his locally running communication program and is provided with two quick access functions 356 with which he can react directly.
  • only one software instruction is sent from the client to the server application and then executed locally via the API in the second local application.
  • the user has answered the incoming call and the second local program window 368 has been brought forward. The user can control the locally running program as usual using the buttons 369 shown.

Abstract

The invention relates to a method for generating and controlling a composite view of local applications on a local graphical user surface of a remote desktop client, wherein the local graphical user surface is output on a local client-side device, and the remote desktop client is a virtual or physical computer, and a remote desktop, which is hosted by a remote desktop server, in a remote desktop environment, preferably a terminal server, with remote applications. The method has the steps of: generating a graphical user surface on the local client-side device in order to remotely control the remote applications from the local client-side device, the accessing of the remote desktop by means of the remote desktop client being carried out according to any remote desktop protocol; and generating a view of the remote application on the basis of display output data of the remote application, said data being received by the local client-side device. At least one additional communication channel is generated between the remote desktop client and the remote desktop server. In a first step, a client-side server application obtains information on the local applications, provides same to a client on the remote desktop side via the communication channel, and transmits information updates to the client on the remote desktop if the local application in question has already been opened. The client displays the information via the local applications in an additional view of the graphical user surface of the remote desktop connection so that a user can interact with the view and can select from a list of commands which are transmitted from the client to the client-side server via the communication channel and from the client-side server to the local application. The local application is ran on the remote desktop client, and the user can mask local applications in the view of the client on the remote desktop or mark the applications as favorites. The priority of the applications is changed during a communication between the client and the client-side server application, whereby the information updates are transmitted with varying frequency on the basis of the priority.

Description

Beschreibung Description
VERFAHREN ZUM BETREIBEN EINES REMOTE DESKTOP SYSTEMS, REMOTE DESKTOP SYSTEM UND COMPUTERLESBARES MEDIUM METHOD FOR OPERATING A REMOTE DESKTOP SYSTEM, REMOTE DESKTOP SYSTEM AND COMPUTER READABLE MEDIUM
TECHNISCHES GEBIET TECHNICAL FIELD
Die Erfindung betrifft ein Verfahren zum Betreiben eines Remote Desktop Systems, bestehend aus einem Remote Desktop Client und einem Remote Desktop Server, der einen Remote Desktop in einer Remote Desktop Umgebung hostet, wobei die Remotedesktopverbindung folgend einem Remote Desktop Protokoll aufgebaut wird. The invention relates to a method for operating a remote desktop system, consisting of a remote desktop client and a remote desktop server, which hosts a remote desktop in a remote desktop environment, the remote desktop connection being established following a remote desktop protocol.
STAND DER TECHNIK STATE OF THE ART
Die Nutzung von Multimedia Anwendungen auf Terminalservern ist allgemein sehr unperformant und unbefriedigend. Anwendungen, die große Mengen Daten übertragen müssen und/oder eine hohe Bildwiderholungsrate erfordern, wie das Schauen von Videos oder das Teilnehmen an Videokonferenzen, belasten den Server und die Netzwerkanbindung, da die Remoteprotokolle nicht für Multimedia Anwendungen ausgelegt sind. The use of multimedia applications on terminal servers is generally very unperforming and unsatisfactory. Applications that need to transfer large amounts of data and/or require a high refresh rate, such as watching videos or participating in video conferences, place a strain on the server and network connection because the remote protocols are not designed for multimedia applications.
AUFGABE DER ERFINDUNG OBJECT OF THE INVENTION
Aufgabe von Ausführungsformen der Erfindung ist es, ein Verfahren, mit der ein Nutzer parallel lokale Anwendungen auf einem Remote Desktop Client und Remote Anwendungen auf einem Remote Desktop, beispielsweise an einem Terminalserver, besonders einfach nutzen kann, ein Remote Desktop System, das geeignet ist, das Verfahren auszuführen, sowie ein computerlesbares Medium umfassend Code zur Instruktion von Prozessoren eines Remote Desktop Systems bereitzustellen. The object of embodiments of the invention is to provide a method with which a user can particularly easily use local applications on a remote desktop client and remote applications on a remote desktop, for example on a terminal server, in parallel, a remote desktop system that is suitable to carry out the method and to provide a computer-readable medium comprising code for instructing processors of a remote desktop system.
DARSTELLUNG DER ERFINDUNG PRESENTATION OF THE INVENTION
Gelöst wird diese Aufgabe über die Verfahren nach Anspruch 1, dem Remote Desktop System nach Anspruch 9 und dem computerlesbaren Medium nach Anspruch 10. Vorteilhafte Ausführungsformen der Erfindung werden durch die abhängigen Ansprüche bereitgestellt. Die Merkmale der im Folgenden beschriebenen Ausführungsbeispiele sind miteinander kombinierbar, sofern dies nicht explizit verneint ist. This task is solved via the method according to claim 1, the remote desktop system according to claim 9 and the computer-readable medium according to claim 10. Advantageous embodiments of the invention are defined by the dependent claims provided. The features of the exemplary embodiments described below can be combined with one another unless this is explicitly denied.
Gemäß einer Ausführungsform der Erfindung wird ein Verfahren zur Erzeugung und Steuerung einer zusammengesetzten Ansicht aus lokalen Anwendungen auf einer lokalen grafischen Nutzeroberfläche eines Remote Desktop Clients, wobei es sich bei dem Remote Desktop Client um einen virtuellen oder physischen Computer handelt, und einem von einem Remote Desktop Server gehosteten Remote Desktop in einer Remote Desktop Umgebung, beispielsweise einem Terminalserver, mit Remote Anwendungen, bereitgestellt, wobei das Verfahren folgende Schritte umfasst: According to one embodiment of the invention, a method for generating and controlling a composite view of local applications on a local graphical user interface of a remote desktop client, the remote desktop client being a virtual or physical computer, and one of a remote desktop Server-hosted remote desktop in a remote desktop environment, for example a terminal server, with remote applications, the method comprising the following steps:
Erzeugen einer grafischen Nutzeroberfläche auf einer lokalen clientseitigen Vorrichtung, zum entfernten Steuern der Remote Anwendungen von der lokalen clientseitigen Vorrichtung, wobei der Zugriff des Remote Desktop Clients auf den Remote Desktop gemäß einem beliebigen Remote Desktop Protokoll erfolgt, Generating a graphical user interface on a local client-side device for remotely controlling the remote applications from the local client-side device, with the Remote Desktop client accessing the Remote Desktop according to any Remote Desktop protocol,
Erzeugen einer Ansicht der Remote Anwendung, basierend auf Anzeigeausgabedaten der Remote Anwendung, die von der lokalen clientseitigen Vorrichtung empfangen werden. Generate a view of the remote application based on display output data of the remote application received from the local client-side device.
Das erfindungsgemäße Verfahren zeichnet sich dadurch aus, dass der für die Remotedesktopverbindung vorhandene Kommunikationskanal zusätzlich so genutzt oder mindestens ein weiterer Kommunikationskanal zwischen dem Remote Desktop Client und dem Remote Desktop Server erzeugt und so genutzt wird, dass eine clientseitige Serverapplikation in einem Schritt Informationen über die lokalen Anwendungen einholt und über den Kommunikationskanal an einen Client auf der Seite des Remote Desktops bereitstellt und Informations-Updates an den Client auf dem Remote Desktop sendet, sofern die betreffende lokale Anwendung bereits geöffnet ist, wobei der Client die Informationen über die lokalen Anwendungen in einer weiteren Ansicht auf der grafischen Nutzeroberfläche darstellt, wobei die Ansicht eine Liste der lokalen Anwendungen umfasst, sodass ein Nutzer mit der Ansicht interagieren und zu jedem Listeneintrag aus einer Liste von Kommandos wählen kann, die bei Betätigung vom Client über den Kommunikationskanal beziehungsweise den weiteren Kommunikationskanal an den clientseitigen Server und vom clientseitigen Server an die lokale Anwendung gesendet werden, wobei die lokale Anwendung auf dem Remote Desktop Client ausgeführt wirdv, wobei der Nutzer in der Ansicht des Client auf dem Remote Desktop lokale Anwendungen ausblenden oder als Favorit markieren kann, wobei eine Priorität der Anwendungen bei der Kommunikation zwischen Client und clientseitiger Serverapplikation verändert wird, wodurch die Informations-Updates in Abhängigkeit von der Priorität unterschiedlich häufig gesendet werden. The method according to the invention is characterized in that the communication channel available for the remote desktop connection is additionally used or at least one further communication channel is created between the remote desktop client and the remote desktop server and used in such a way that a client-side server application receives information about the local in one step obtains applications and provides them via the communication channel to a client on the remote desktop side and sends information updates to the client on the remote desktop if the local application in question is already open, with the client storing the information about the local applications in another View on the graphical user interface, the view comprising a list of local applications, so that a user can interact with the view and select for each list entry from a list of commands that are sent to the client via the communication channel or the further communication channel when activated client-side server and from the client-side server to the local application, with the local application running on the remote desktop client, where the user can hide or mark local applications as favorites in the view of the client on the remote desktop, with a priority of the Applications are changed during communication between client and client-side server application, whereby the information updates are sent at different frequencies depending on the priority.
Unter Remote Desktop Client wird im Kontext dieser Anmeldung ein virtueller oder physischer Computer, beispielsweise ein Laptop oder ein Computer mit geringer Rechenkapazität, wie es bei einem Thin Client der Fall ist, verstanden, der in der Lage ist, folgend einem Remote Desktop Protokoll, wie beispielsweise den proprietären Remote Desktop Protocol (RDP) und der Independent Computing Architecture (ICA) oder PC over IP (PColP) bzw. Virtual Network Computing (VNC) Zugang zu einem Remote Desktop zu erhalten. Der Remote Desktop Client kann jedes Betriebssystem verwenden, beispielsweise Windows, Linux oder MaxOS. In the context of this application, a remote desktop client is understood to mean a virtual or physical computer, for example a laptop or a computer with low computing capacity, as is the case with a thin client, which is capable of following a remote desktop protocol, such as for example, the proprietary Remote Desktop Protocol (RDP) and the Independent Computing Architecture (ICA) or PC over IP (PColP) or Virtual Network Computing (VNC) to gain access to a remote desktop. The Remote Desktop Client can use any operating system, such as Windows, Linux or MaxOS.
Ein Remote Desktop Server ist im Kontext dieser Anmeldung ebenfalls ein virtueller oder physischer Computer und wird benutzt, um den Remote Desktop in einer Remote Desktop Umgebung, beispielsweise einem Terminalserver, zu hosten. Bei dem Remote Desktop handelt es sich um einen Windows Desktop, wie beispielsweise einem Desktop am Windows Terminalserver, einem Desktop auf dem Azure Virtual Desktop, oder jedes beliebige andere Windows Desktop System, das auf einem Remote Desktop System läuft. A remote desktop server, in the context of this application, is also a virtual or physical computer and is used to host the remote desktop in a remote desktop environment, such as a terminal server. The remote desktop is a Windows desktop, such as a desktop on the Windows Terminal Server, a desktop on the Azure Virtual Desktop, or any other Windows desktop system that runs on a remote desktop system.
Bei der clientseitigen Serverapplikation kann es sich beispielsweise um eine selbststartende Serverapplikation, einen Kommunikationsserver oder einen Webserver handeln, die automatisch beim Starten des Endgeräts des Nutzers, bzw. beim Starten des Remote Desktop Clients, gestartet wird und zur Steuerung von lokalen Programmen geeignet ist. Über ein Application Programming Interface (API) wird dem Client auf der Seite des Remote Desktops mitgeteilt, welche Funktionen für welche lokalen Anwendungen auf dem lokalen Remote Desktop Client verfügbar sind und/oder welche Funktionen für den Fernzugriff freischaltbar sind. Die Funktionen können beispielsweise durch den Nutzer oder einen Administrator in der Serveranwendung auf dem Remote Desktop Client hinzugefügt oder entfernt werden. Diese Funktionen entsprechen den Kommandos, die der Nutzer auf dem Remote Desktop über den Client senden kann, sodass von dem Client an die Serverapplikation lediglich Software Instruktionen gesendet werden. Weitere Informationen, die die Serverapplikation dem Client bereitstellt, umfassen bspw. ein Icon, einen Namen, einen Miniatur-Screenshot sowie eine Position und Dimension einer lokalen Anwendung. Diese Informationen werden beispielsweise in der Liste der Ansicht (des GUI) des Clients auf dem Remote Desktop zu den lokalen Anwendungen in der Form berücksichtigt, dass für laufende Anwendungen Miniatur- Screenshots des lokalen Fensters insbesondere in regelmäßigen Abständen gesendet und in der Ansicht des Clients bei dem jeweiligen Listeneintrag zu der entsprechenden lokalen Anwendung angezeigt werden, während für nicht ausgeführte lokale Anwendungen nur das Icon bei dem korrespondierenden Listeneintrag gezeigt wird. Der Client kann beispielsweise dauerhaft auf dem Remote Desktop Server aktiv sein und auf die Anfrage der Serverapplikation warten und bei Herstellung einer Remotedesktopverbindung durch einen Nutzer ihm die auf seinem Remote Desktop Client verfügbaren lokalen Anwendungen in einer Ansicht anzeigen. Es ist jedoch auch möglich, dass der Nutzer den Client erst nach der Herstellung der Remotedesktopverbindung startet. The client-side server application can be, for example, a self-starting server application, a communication server or a web server, which is started automatically when the user's end device is started or when the remote desktop client is started and is suitable for controlling local programs. Via an application programming interface (API), the client is informed on the remote desktop side which functions are available for which local applications on the local remote desktop client and/or which functions can be activated for remote access. The functions can, for example, be added or removed by the user or an administrator in the server application on the Remote Desktop Client. These functions correspond to the commands that the user can send on the remote desktop via the client, so that only software instructions are sent from the client to the server application. Additional information that the server application provides to the client includes, for example, an icon, a name, a thumbnail screenshot, and a location and dimension of a local application. For example, this information becomes local in the list of the client's view (GUI) on the remote desktop Applications are taken into account in such a way that for running applications, thumbnail screenshots of the local window are sent at regular intervals and are displayed in the client's view next to the respective list entry for the corresponding local application, while for local applications that are not running, only the icon is shown next to it corresponding list entry is shown. For example, the client can be permanently active on the Remote Desktop Server and wait for the request from the server application and, when a user establishes a remote desktop connection, show the local applications available on his Remote Desktop Client in a view. However, it is also possible that the user only starts the client after the remote desktop connection has been established.
Der zusätzliche Kommunikationskanal kann beispielsweise durch einen TCP -Kanal zwischen Remote Desktop Client und Remote Desktop Server ausgebildet werden. Es ist jedoch auch möglich, die Kommunikation über einen im jeweiligen Remote Desktop Protokoll eingebetteten Seitenkanal, auch Virtual Channel genannt, laufen zu lassen. Die Kommunikation über einen Seitenkanal eines Remote Desktop Protokolls wird bevorzugterweise verwendet, und es wird auf einen TCP-Kanal ausgewichen, sofern ein Remote Desktop Protokoll die Virtual Channel Funktionalität nicht unterstützt. Damit entfällt in vielen Anwendungsfällen die Notwendigkeit, dass der Terminalserver den ThinClient (den Remote Desktop Client) über eine TCP-Verbindung erreichen können muss. Dies ist gerade in Home-Office Setups und besonders abgesicherten Netzwerken nicht unbedingt möglich, sodass die Lösung, Virtual Channels der Remote Desktop Protokolle zu benutzen, dieses Problem überwindet. The additional communication channel can be formed, for example, by a TCP channel between the remote desktop client and the remote desktop server. However, it is also possible to run communication via a side channel embedded in the respective Remote Desktop protocol, also called a virtual channel. Communication via a side channel of a Remote Desktop Protocol is preferably used, and a TCP channel is used if a Remote Desktop Protocol does not support the Virtual Channel functionality. In many use cases, this eliminates the need for the terminal server to be able to reach the ThinClient (the Remote Desktop Client) via a TCP connection. This is not necessarily possible, especially in home office setups and particularly secure networks, so the solution of using virtual channels of the remote desktop protocols overcomes this problem.
Die Informations-Updates, welche vom clientseitigen Server an den Client auf dem Remote Desktop gesendet werden, können beispielsweise angezeigt werden, wenn der Nutzer eine Zeit lang mit seinem Cursor über dem Listeneintrag der entsprechenden Anwendung „hovert“, also schwebt, ohne die Maustaste zu betätigen. Alternativ wird die Liste der lokalen Anwendungen in der Ansicht des Clients geführt. Das heißt, dass die Listeneinträge zu laufenden lokalen Anwendungen die Informationen, die insbesondere in regelmäßigen Zeitabständen ein Update erhalten, an der Position zeigen, wo bei den Listeneinträgen der nicht ausgeführten lokalen Anwendungen das Icon der Anwendung gezeigt wird. Zu den Informationen gehören beispielsweise die Position und Größe eines Fensters einer laufenden lokalen Anwendung. Damit ist es dem Nutzer erleichtert, den Fortschritt einzelner Prozesse auf seinem lokalen Endgerät zu verfolgen, beispielsweise bei einem Download, einem Kompilierprozess oder ähnlichen Prozessen, die eine längere Zeit beanspruchen können. The information updates that are sent from the client-side server to the client on the remote desktop can, for example, be displayed if the user “hovers” his or her cursor over the list entry of the corresponding application for a while without closing the mouse button actuate. Alternatively, the list of local applications is maintained in the client's view. This means that the list entries for running local applications show the information, which receives updates at regular intervals, at the position where the icon of the application is shown in the list entries for local applications that are not running. The information includes, for example, the position and size of a window of a running local application. This makes it easier for the user to track the progress of individual processes on their local device, for example during a download, a compilation process or similar processes that may take a long time.
Der Nutzer blendet in dem Client auf dem Remote Desktop lokale Anwendungen aus oder markiert sie als Favorit, wobei die Priorität der Anwendungen bei der Kommunikation zwischen Client und clientseitigem Server verändert wird. Durch die Priorisierung werden manche Informationen häufiger gesendet als andere. Bei einem Download, an dessen Abschluss der Nutzer sehr interessiert ist, bietet es sich z.B. an, den Download-Manager zu favorisieren, wodurch für diese Anwendung häufiger Updates beispielsweise in Form von Miniatur-Screenshots geschickt werden, sodass der Nutzer stets über den Fortschritt im Bilde ist. Die Priorisierung kann zudem von dem Kommunikationskanal bei der Übertragung der Updates berücksichtigt werden. So kann sichergestellt werden, dass die für den Nutzer besonders relevanten Informationen bei der Übertragung an den Client auf dem Remote Desktop Vorrang haben und auch bei eingeschränkter Datenübertragungsrate zugestellt werden. The user hides local applications in the client on the remote desktop or marks them as favorites, changing the priority of the applications in communication between the client and the client-side server. Prioritization means that some information is sent more frequently than others. For a download that the user is very interested in completing, it is advisable, for example, to favorite the download manager, which means that updates for this application are sent more frequently, for example in the form of miniature screenshots, so that the user is always informed of the progress image is. The prioritization can also be taken into account by the communication channel when transmitting the updates. This can ensure that information that is particularly relevant to the user has priority when transmitted to the client on the remote desktop and is delivered even if the data transfer rate is limited.
Eine weitere lokale Anwendung, die von dem Nutzer auf dem Remote Desktop gestartet und insbesondere favorisiert werden kann, ist beispielsweise der Task-Manager. Dies bietet dem Nutzer die Möglichkeit, lokale Anwendungen zu überwachen und insbesondere die Speicher- und/oder die Prozessorauslastung des clientseitigen Servers einzusehen. Hierdurch kann der Nutzer sich dazu entscheiden, eine lokal ausgeführte Anwendung zu beenden und gegebenenfalls auf den Remote Desktop Server zu „verlagern“ beziehungsweise auf dem Remote Desktop Server zu starten. Dies ist von besonderer Relevanz bei einem Remote Desktop Client mit beschränkten Kapazitäten, insbesondere beschränkter Speicher- und/oder Rechenkapazität. Another local application that can be started and favorited by the user on the remote desktop is, for example, the task manager. This offers the user the opportunity to monitor local applications and in particular to view the memory and/or processor utilization of the client-side server. This allows the user to decide to terminate a locally running application and, if necessary, “move” it to the Remote Desktop Server or start it on the Remote Desktop Server. This is of particular relevance for a remote desktop client with limited capacities, particularly limited storage and/or computing capacity.
Das somit bereitgestellte Verfahren bietet den Vorteil, dass ein Nutzer einen Remote Desktop Client mit beschränkter Rechenkapazität nutzen kann, um Remote Anwendungen auf einem Remote Desktop Server ausführen zu lassen und über den Client auf dem Remote Desktop mit lokalen Anwendungen, die auf dem Remote Desktop Client befindlich sind, zu interagieren und Kommandos zu erteilen. Somit können über den Client auf dem Remote Desktop Software Instruktionen an die lokalen Anwendungen gesendet werden, während die lokale Anwendung auf dem Remote Desktop Client ausgeführt wird. Der Client auf dem Remote Desktop bietet eine Schnittstelle zum Abrufen und Steuern laufender Anwendungen mit grafischer Oberfläche und deren Informationen. Zu den lokalen Anwendungen gehören beispielsweise Multimediaanwendungen, Konferenzlösungen, sowie Office-Anwendungen, eMails und Grafikbearbeitungen. Mit diesem Verfahren wird somit die Remotedesktopverbindung als Bottleneck ausgeschlossen. The method thus provided offers the advantage that a user can use a remote desktop client with limited computing capacity to run remote applications on a remote desktop server and, via the client on the remote desktop, with local applications running on the remote desktop client are located to interact and give commands. This means that software instructions can be sent to the local applications via the client on the Remote Desktop while the local application is running on the Remote Desktop Client. The client on the remote desktop provides an interface for accessing and controlling running graphical interface applications and their information. Local applications include, for example Multimedia applications, conference solutions, as well as office applications, emails and graphic editing. This procedure eliminates the remote desktop connection as a bottleneck.
Ein Verbindungsaufbau zwischen Remote Desktop Client und Remote Desktop auf einem Terminalserver kann beispielsweise folgenden Schritten folgen: For example, establishing a connection between Remote Desktop Client and Remote Desktop on a terminal server can follow the following steps:
1. Nutzer startet Remote Desktop Client, bspw. im Home-Office. 1. User starts Remote Desktop Client, for example in the home office.
2. Serverapplikation startet automatisch und stellt ein API für die Steuerung kontrollierbarer und startbarer bzw. laufender Programme bereit. 2. Server application starts automatically and provides an API for controlling controllable and startable or running programs.
3. (Optional falls für den Remote Desktop Zugriff erforderlich) Nutzer stellt Verbindung zu VPN her. 3. (Optional if required for remote desktop access) User connects to VPN.
4. Nutzer stellt Remotedesktopverbindung her. 4. User establishes remote desktop connection.
5. Nutzer öffnet Ansicht des Clients auf Remote Desktop. 5. User opens client view on Remote Desktop.
6. Client ruft über Serverapplikation API regelmäßig eine Liste kontrollierbarer und startbarer bzw. laufender Programme ab. 6. Client regularly retrieves a list of controllable and startable or running programs via the server application API.
7. Nutzer findet Liste bereits laufender oder startbarer lokaler Programme in der Ansicht des Clients und sieht bei Betätigung eines Listeneintrags eine Liste verfügbarer Kommandos, bspw. -Start, -Focus, -Bring to Front. 7. The user finds a list of local programs that are already running or can be started in the client view and, when clicking on a list entry, sees a list of available commands, e.g. -Start, -Focus, -Bring to Front.
8. Nutzer interagiert simultan mit lokalen Programmen und Remote Anwendungen, ohne die Remotedesktopverbindung zu schließen oder zu minimieren. 8. User interacts with local programs and remote applications simultaneously without closing or minimizing the remote desktop connection.
Die Liste der Ansicht des Clients ist beispielsweise durch den Nutzer sortierbar und so aufgebaut, dass jeder zu einer verfügbaren lokalen Anwendung korrespondierende Listeneintrag in einer Zeile der Liste mit dem Namen der lokalen Anwendung und dem zugehörigen Icon, beziehungsweise einem Miniatur-Screenshot, dargestellt wird. Das Icon bzw. der Miniatur-Screenshot wird beispielsweise auf der linken oder rechten Seite neben dem Namen der lokalen Anwendung in der Zeile der Liste angezeigt. Der Miniatur- Screenshot kann anstelle des Icons angezeigt werden, wenn die lokale Anwendung auf dem Remote Desktop Client ausgeführt wird. Um die Liste der Kommandos zu einer jeweiligen lokalen Anwendung aufzurufen, klickt der Nutzer mit seiner Maus auf den entsprechenden Listeneintrag, wodurch die Kommandos beispielsweise in Form eines Kontextmenüs gelistet werden. The list of the client's view can, for example, be sorted by the user and is structured in such a way that each list entry corresponding to an available local application is displayed in a line of the list with the name of the local application and the associated icon, or a miniature screenshot. For example, the icon or thumbnail screenshot is displayed on the left or right side next to the name of the local application in the line of the list. The thumbnail screenshot can be displayed instead of the icon when the local application is running on the Remote Desktop Client. To call up the list of commands for a respective local application, the user clicks on the corresponding list entry with their mouse, whereby the commands are listed, for example, in the form of a context menu.
Vorteilhafterweise umfasst die Liste der Kommandos, die der Nutzer geben kann, ein Starten einer lokalen Anwendung, ein Fokussieren auf eine lokale Anwendung, ein Minimieren einer lokalen Anwendung, ein Maximieren einer lokalen Anwendung, ein Schließen einer lokalen Anwendung, und ein Nachvornestellen einer lokalen Anwendung, wobei die Ansicht der lokalen Anwendung beziehungsweise der lokalen Anwendungen vorne gehalten werden kann, insbesondere so, dass ein paralleles Arbeiten an mindestens einer Remote Anwendung und mindestens einer lokalen Anwendungen möglich ist. Advantageously, the list of commands that the user can give includes starting a local application, focusing on a local application, minimizing a local application, maximizing a local application, closing a local application, and bringing a local application forward, wherein the view of the local application or the local applications can be kept at the front, in particular so that parallel work on at least one Remote application and at least one local application is possible.
Somit kann der Nutzer des Remote Desktop Clients über den Client auf dem Remote Desktop eine möglicherweise bereits laufende lokale Anwendung auswählen, die auf dem Remote Desktop Client befindlich ist und dort ausgeführt ist/wird, und auf diese lokale Anwendung fokussieren, sodass seine Eingaben zur Steuerung der lokalen Anwendung dienen und die lokale Anwendung nach vorne stellen, sodass der Nutzer die grafische Oberfläche des lokalen Programms sieht und dort Eingaben machen kann, während die Ansicht der Remotedesktopverbindung geöffnet bleibt. Vorteilhafterweise kann der Nutzer eine Funktion betätigen, die die lokale Anwendung vorne fixiert, sodass der Fokus auf den Remote Desktop wechseln und der Nutzer an der Remote Anwendung arbeiten kann, während die lokale Anwendung für ihn sichtbar bleibt. Zu weiteren Kommandos zum Steuern der offenen Fenster der lokalen Anwendungen gehören beispielsweise Minimieren, Maximieren, Schließen, Verschieben und die Größe des Fensters ändern. Es ist beispielsweise auch möglich, die lokalen Lautstärkeeinstellungen des Remote Desktop Clients über den Client auf dem Remote Desktop zu verändern. Das kann beispielsweise dann vorteilhaft sein, wenn die Remotedesktopverbindung die lokale Taskleiste und die Lautstärkeeinstellungen verdeckt. Thus, the user of the Remote Desktop Client can use the client on the Remote Desktop to select a local application that may already be running and is located on the Remote Desktop Client and is/is being executed there, and focus on this local application so that his input can be used to control it serve the local application and put the local application at the front so that the user sees the graphical interface of the local program and can make entries there while the remote desktop connection view remains open. Advantageously, the user can activate a function that fixes the local application at the front, so that the focus can switch to the remote desktop and the user can work on the remote application while the local application remains visible to him. Other commands for controlling the open windows of local applications include minimizing, maximizing, closing, moving and resizing the window. For example, it is also possible to change the local volume settings of the Remote Desktop Client via the client on the Remote Desktop. This can be advantageous, for example, if the remote desktop connection obscures the local taskbar and volume settings.
Gemäß einer vorteilhaften Ausbildung der Erfindung wird für das Kommunikationsprotokoll des Kommunikationskanals bzw. der Kommunikationskanäle zwischen der clientseitigen Serverapplikation und dem Client auf dem Remote Desktop TCP- und/oder UDP-basierte Übertragungstechniken benutzt und die Kommunikation über ein drahtgebundenes oder drahtloses Computernetzwerk erfolgt, wobei der Kommunikationskanal bzw. die Kommunikationskanäle frei wählbar ist/sind und/oder die Kommunikation präferiert über Seitenkanäle des Remote Desktop Protokolls läuft und auf einen TCP-Kanal ausweicht, sofern das Remote Desktop Protokoll die Funktionalität von Seitenkanälen nicht unterstützt. Durch die Verwendung von Virtual Channels (Seitenkanäle) entfällt die Notwendigkeit, dass der Terminalserver den ThinClient (den Remote Desktop Client) über eine TCP-Verbindung erreichen können muss und ist gerade in Home-Office Setups und besonders abgesicherten Netzwerken nicht unbedingt möglich. Das Verfahren ist damit besonders für den Einsatz im Home-Office und für eine Vielzahl von Remote Desktop Protokollen geeignet, beziehungsweise nutzt diese vorteilhaft. According to an advantageous embodiment of the invention, TCP and/or UDP-based transmission techniques are used for the communication protocol of the communication channel or channels between the client-side server application and the client on the remote desktop and the communication takes place via a wired or wireless computer network, whereby the Communication channel or channels can be freely selected and/or the communication preferably runs via side channels of the Remote Desktop Protocol and switches to a TCP channel if the Remote Desktop Protocol does not support the functionality of side channels. The use of virtual channels (side channels) eliminates the need for the terminal server to be able to reach the ThinClient (the remote desktop client) via a TCP connection and is not essential, especially in home office setups and particularly secure networks possible. The process is therefore particularly suitable for use in the home office and for a variety of remote desktop protocols, or uses them advantageously.
Vorteilhafterweise wird die lokale Anwendung beziehungsweise die lokalen Anwendungen, die von dem Nutzer gestartet wurden, insbesondere über den Client auf dem Remote Desktop gestartet wurden, angezeigt, insbesondere ohne die Ansicht der Remotedesktopverbindung auf der lokalen clientseitigen Vorrichtung zu minimieren. Somit kann ein Nutzer laufende lokale Anwendungen, insbesondere Multimediaanwendungen, eMail, Grafikanwendungen und Konferenzlösungen, für deren Übertragung die Remotedesktopverbindung aufgrund der Bildwiederholungen den Bottleneck darstellt, auf seinem lokalen Gerät laufen lassen und sie bei Bedarf nach vorne stellen, ohne dabei jedoch die Ansicht der Remotedesktopverbindung zu minimieren oder zu verlassen. Wird auf eine lokale Anwendung fokussiert und diese in den Vordergrund geholt, wird keine grafische Information über den Kommunikationskanal und sozusagen nur ein Abbild der lokalen Anwendung auf den Remote Desktop projiziert, sondern die tatsächliche lokale Anwendung, die auf dem Remote Desktop Client ausgeführt wird, wird zur Benutzung mit ihrem GUI nach vorne geholt. Wenn die Informationen, die die Serverapplikation dem Client auf der Seite des Remote Desktops mitteilt, die Position und die Dimension des Fensters der lokalen Anwendung umfassen, kann der Client z.B. ein inhaltloses Fenster auf dem Remote Desktop „unter“ das Fenster der lokalen Anwendung legen, das der Position und Dimension des Fensters der lokalen Anwendung entspricht, wodurch ein kombiniertes Handling lokaler Anwendungen und Remote Anwendungen ermöglicht wird und Funktionen wie AeroSnap ausgeführt werden können. Dazu kann es vorteilhaft sein, die Informationen bezüglich der Größe und Position des Fensters der lokalen Anwendung in engem Zeittakt zu übertragen, sodass sich ein besonders flüssiges Gefühl beim Nutzer einstellt. Falls ein Nutzer eine Anwendung vorne „festpinnt“, sie also markiert, dass sie immer im Vordergrund stehen soll, kann der Client dies auch für das kopierte inhaltlose Fenster ausführen und der Nutzer kann auf dem Remote Desktop Weiterarbeiten, ohne dass die Remotedesktopverbindung die Anwendung sofort wieder verdeckt. Advantageously, the local application or the local applications that were started by the user, in particular started via the client on the remote desktop, are displayed, in particular without minimizing the view of the remote desktop connection on the local client-side device. A user can thus run running local applications, in particular multimedia applications, e-mail, graphics applications and conference solutions, for the transmission of which the remote desktop connection represents the bottleneck due to the image repetitions, on his local device and, if necessary, move them to the front, but without the view of the remote desktop connection to minimize or abandon. If you focus on a local application and bring it to the foreground, no graphical information about the communication channel and, so to speak, only an image of the local application is projected onto the remote desktop, but rather the actual local application that is running on the remote desktop client brought forward for use with their GUI. For example, if the information that the server application communicates to the client on the remote desktop side includes the location and dimension of the local application window, the client can place a contentless window on the remote desktop "underneath" the local application window, which corresponds to the position and dimension of the local application window, enabling combined handling of local applications and remote applications and enabling functions such as AeroSnap to be executed. For this purpose, it can be advantageous to transmit the information regarding the size and position of the window of the local application at close intervals, so that the user has a particularly fluid feeling. If a user “pins” an application to the front, i.e. marks it so that it should always be in the foreground, the client can also do this for the copied contentless window and the user can continue working on the remote desktop without the remote desktop connection immediately opening the application covered again.
Gemäß einer Ausführungsform umfassen die Informations-Updates, die vom clientseitigen Server an den Client auf dem Remote Desktop insbesondere in regelmäßigen Zeitabständen gesendet werden, insbesondere in ihrer Größe reduzierte Miniatur-Screenshots, sofern die betreffende lokale Anwendung bereits geöffnet ist. Der Miniatur-Screenshot der lokalen Anwendung kann beispielsweise angezeigt werden, wenn der Nutzer eine Zeit lang mit seinem Cursor über dem Listeneintrag der entsprechenden Anwendung „hovert“, also schwebt, ohne die Maustaste zu betätigen. Alternativ wird die Liste der lokalen Anwendungen in der Ansicht des Clients wie zuvor beschrieben geführt, das heißt, die Listeneinträge zu laufenden lokalen Anwendungen zeigen einen in regelmäßigen Zeitabständen aktualisierten Miniatur-Screenshot an der Position, wo bei den Listeneinträgen der nicht ausgeführten lokalen Anwendungen das Icon der Anwendung gezeigt wird. According to one embodiment, the information updates that are sent from the client-side server to the client on the remote desktop, in particular at regular intervals, include in particular miniature screenshots reduced in size, provided that the local application in question is already open. For example, the thumbnail screenshot of the local application can be displayed, if the user hovers over the list entry of the corresponding application for a while without pressing the mouse button. Alternatively, the list of local applications is maintained in the client's view as described above, that is, the list entries for running local applications show a miniature screenshot, updated at regular intervals, at the position where the icon for the list entries of local applications that are not running the application is shown.
Es ist vorteilhaft, wenn die clientseitige Serverapplikation automatisch Schnellzugriffsfunktionen für die gestarteten lokalen Anwendungen, insbesondere Multimediaanwendungen, generiert und an den Client auf dem Remote Desktop übermittelt. Solche Schnellzugriffsfunktionen umfassen beispielsweise Anruf annehmen/auflegen, Bildschirmfreigabe, Stummschalten oder Kamera an-/ausschalten, im Falle, dass die lokale Anwendung eine Konferenzlösung ist, oder sie umfassen beispielsweise vorspulen, zurückspulen, zurück zum Anfang, weiter/nächster Inhalt, Play/Pause, im Falle von Multimediaanwendungen. Es kann jedoch von Vorteil sein, wenn ein Nutzer selbst eigene Schnellzugriffsfunktionen definieren kann, indem er der Serverapplikation mitteilt, welcher Knopf gewählt wird und definiert, unter welchem Namen oder Symbol diese Funktion im Client aufgeführt werden soll. It is advantageous if the client-side server application automatically generates quick access functions for the started local applications, in particular multimedia applications, and transmits them to the client on the remote desktop. Such quick access functions include, for example, answer/hang up a call, screen share, mute or turn camera on/off in case the local application is a conference solution, or they include, for example, fast forward, rewind, go back to the beginning, next/next content, play/pause , in the case of multimedia applications. However, it can be advantageous if a user can define their own quick access functions by telling the server application which button is selected and defining under which name or symbol this function should be listed in the client.
Abermals bevorzugterweise wird durch die Priorisierung der lokalen Anwendungen die Listenreihenfolge verändert. Mit der Liste ist die im Client aufgeführte Übersicht der lokalen Anwendungen gemeint, mit denen der Client interagieren kann. Durch die Vergabe unterschiedlich hoher Listenplätze werden manche Informationen häufiger gesendet als andere. Bei einem Download, an dessen Abschluss der Nutzer sehr interessiert ist, bietet es sich z.B. an, den Download-Manager zu favorisieren, wodurch für diese Anwendung häufiger Updates beispielsweise in Form von Miniatur-Screenshots geschickt werden, sodass der Nutzer stets über den Fortschritt im Bilde ist. Again preferably, the list order is changed by prioritizing the local applications. The list means the overview of the local applications listed in the client with which the client can interact. By allocating different list positions, some information is sent more frequently than others. For a download that the user is very interested in completing, it is advisable, for example, to favorite the download manager, which means that updates for this application are sent more frequently, for example in the form of miniature screenshots, so that the user is always informed of the progress image is.
Vorteilhafterweise können in dem Client auf der Seite des Remote Desktops lokale Audio- und/oder Videoeinstellungen verändert werden, wobei der Client die folgenden Funktionen umfasst: Advantageously, local audio and/or video settings can be changed in the client on the remote desktop side, the client comprising the following functions:
Ändern einer Lautstärke eines Ausgabegeräts, changing a volume of an output device,
Ändern des Ausgabegeräts, insbesondere des Standardausgabegeräts, Ändern des Ausgabegeräts für eine Anwendung, Anpassen der Lautstärke einer Anwendung. Somit können die Lautstärken der Ausgabegeräte, beispielsweise eines Headsets und eines Lautsprechers, die an den Remote Desktop Client angeschlossen sind, über den Client auf dem Remote Server verändert werden. Zudem kann einer ersten Anwendung, die beispielsweise lokal läuft, ein erstes Ausgabegerät zugewiesen werden und einer zweiten Anwendung, die ebenfalls lokal ausgeführt wird, sowie einer dritten Anwendung, die eine Remote Anwendung ist, ein zweites Ausgabegerät zugewiesen werden. Somit kann ein Nutzer beispielsweise auf seinem Headset ausschließlich eine Konferenzsoftware, wie beispielsweise MS Teams, ausgeben lassen und sämtliche weitere Sounds über Laptoplautsprecher ausgeben lassen, wodurch für ihn ein besonders unterbrechungsfreies Unterhaltungsgefühl erzeugt wird, insbesondere dann, wenn die Konferenzlösung auf seinem Remote Desktop Client lokal läuft. Zusätzlich bietet das Anpassen der Lautstärken der Anwendungen den Vorteil, dass das Verhältnis der Lautstärken der Anwendungen zueinander über den Client angepasst werden kann. Dazu kann ein Nutzer beispielsweise ein Menü im Client aufrufen, in dem sämtliche auf dem Remote Desktop Server und auf dem Remote Desktop Client lokal laufende Anwendungen aufgeführt werden, ihnen jeweils ein lokales oder Remote Ausgabegerät zuweisen und die Lautstärkepegel der Anwendungen in dem Client anpassen. Damit stellt dieses Verfahren auch eine kombinierte SoundControl bereit, mit dem Einstellungen auf dem Remote Desktop und dem Remote Desktop Client vorteilhaft vereint werden können. Changing the output device, especially the default output device, changing the output device for an application, adjusting the volume of an application. This means that the volumes of the output devices, for example a headset and a loudspeaker, that are connected to the remote desktop client can be changed via the client on the remote server. In addition, a first application, which is running locally, for example, can be assigned a first output device and a second output device can be assigned to a second application, which is also running locally, and a third application, which is a remote application. For example, a user can only have conference software, such as MS Teams, output on their headset and all other sounds can be output via laptop speakers, which creates a particularly uninterrupted entertainment experience for them, especially if the conference solution is running locally on their remote desktop client running. In addition, adjusting the volumes of the applications offers the advantage that the ratio of the volumes of the applications to one another can be adjusted via the client. To do this, a user can, for example, call up a menu in the client in which all applications running locally on the Remote Desktop Server and on the Remote Desktop Client are listed, assign each of them a local or remote output device and adjust the volume levels of the applications in the client. This method also provides a combined sound control with which settings on the remote desktop and the remote desktop client can be advantageously combined.
In dem Client auf der Seite des Remote Desktops können verschiedene Power Management Funktionen des Remote Desktop Clients ausgeführt werden, beispielsweise die folgenden Funktionen: Herunterfahren, Neustarten, Standby, Auskunft über Akkustand, Abmelden des lokal angemeldeten Nutzers, Sperren des lokalen Geräts, Anpassen der Bildschirmhelligkeit der lokalen clientseitigen Vorrichtung. In the client on the remote desktop side, various power management functions of the remote desktop client can be carried out, for example the following functions: shutdown, restart, standby, information about the battery level, logout of the locally logged in user, locking the local device, adjusting the screen brightness the local client-side device.
Beispielsweise kann der Remote Desktop Client, falls der Nutzer ihn über die Funktion des Clients auf dem Remote Desktop ausschalten möchte, zunächst alle offenen Speicherstände in den lokalen Anwendungen speichern, und anschließend folgend dem Remote Desktop Protokoll, über das die Remotedesktopverbindung aufgebaut ist, die Verbindung zum Remote Desktop trennen und den Remote Desktop Client anschließend direkt herunterfahren. Somit ist das unbequeme „doppelte“ Ausloggen/Herunterfahren beim Abmelden vom Arbeitsplatz überwunden. For example, if the user wants to switch it off via the client's function on the remote desktop, the remote desktop client can first save all open saves in the local applications and then, following the remote desktop protocol through which the remote desktop connection is established, the connection to the Remote Desktop and then the Remote Desktop Client shut down directly. This eliminates the inconvenient “double” logout/shutdown when logging out of the workplace.
Mit dem Client auf der Seite des Remote Desktops können zusätzlich folgende Funktionen ausgeführt werden: The following functions can also be carried out with the client on the remote desktop side:
Sicheres Auswerfen eines lokal angeschlossenen USB-Sticks, Auswerfen eines CD-Laufwerks. Safely eject a locally connected USB stick, eject a CD drive.
Dadurch kann man auf leichte Art und Weise mit der Hardware seines Endgeräts, das als Remote Desktop Clients dient, interagieren und von dem Remote Desktop aus die lokale Maschine, den Remote Desktop Client, steuern. This allows you to easily interact with the hardware of your end device, which serves as a remote desktop client, and to control the local machine, the remote desktop client, from the remote desktop.
Mit dem Client auf der Seite des Remote Desktops können ferner folgende Funktionen ausgeführt werden: The client on the remote desktop side can also be used to perform the following functions:
Wechsel von einer ersten Ansicht auf der lokalen clientseitigen Vorrichtung zu einer zweiten Ansicht auf der lokalen clientseitigen Vorrichtung, insbesondere wenn die lokale clientseitige Vorrichtung mehrere Bildschirme zur Ausgabe verwendet, Ändern der Auflösung, Changing from a first view on the local client-side device to a second view on the local client-side device, particularly if the local client-side device uses multiple screens for output, changing the resolution,
Aktivieren und Deaktivieren einzelner Teile der lokalen clientseitigen Vorrichtung. Es ist dabei besonders vorteilhaft, wenn die Auflösung und die Dimension der Remotedesktopverbindung ebenfalls veränderbar ist. Somit kann der Nutzer mit dem Remote Desktop in ähnlicher Weise hantieren, wie mit seinem lokalen Arbeitsplatz und auf besonders intuitive Weise auch noch nach Herstellung der Verbindung Bildschirme, welche als Teil der lokalen clientseitigen Vorrichtung verstanden werden, hinzufügen oder deaktivieren. Das ist beispielsweise vorteilhaft, wenn mehrere Monitore mit unterschiedlicher Auflösung zur clientseitigen Vorrichtung hinzugefügt wurden und der Nutzer die Auflösung eines Bildschirms anpassen möchte oder ihn wieder entfernen möchte. Enabling and disabling individual parts of the local client-side device. It is particularly advantageous if the resolution and dimension of the remote desktop connection can also be changed. The user can thus handle the remote desktop in a similar way to his local workstation and in a particularly intuitive way, even after the connection has been established, add or deactivate screens that are understood to be part of the local client-side device. This is advantageous, for example, if multiple monitors with different resolutions have been added to the client-side device and the user wants to adjust the resolution of a screen or remove it again.
Mit einer weiteren Ausbildung der Erfindung wird ein Remote Desktop System bereitgestellt, welches einen Remote Desktop Client, vorzugsweise einem virtuellen oder physischen Computer, und einen Remote Desktop Server aufweist, welcher durch einen virtuellen oder physischen Computer ausgebildet ist und geeignet ist, einen Remote Desktop in einer Remote Desktop Umgebung, beispielsweise in einem Terminalserver, zu hosten, wobei der Remote Desktop Client auf einen Remote Desktop auf dem Remote Desktop Server gemäß einem Remote Desktop Protokoll zugreift, wobei der Remote Desktop Client geeignet ist, lokale Anwendungen auszuführen und der Remote Desktop geeignet ist, Remote Anwendungen auszuführen, und wobei ein zusätzlicher Kommunikationskanal zwischen dem Remote Desktop Client und dem Remote Desktop Server vorliegt, über den ein Nutzer die lokale Anwendung vom Remote Desktop aus steuern kann und über den Informationen über die lokalen Anwendungen in Abhängigkeit von einer Priorität der Anwendungen unterschiedlich häufig gesendet werden können. Das somit bereitgestellte Remote Desktop System ist demnach geeignet, das vorbeschriebene Verfahren auszuführen. With a further embodiment of the invention, a remote desktop system is provided which has a remote desktop client, preferably a virtual or physical computer, and a remote desktop server, which is formed by a virtual or physical computer and is suitable for a remote desktop a remote desktop environment, for example in a terminal server, wherein the remote desktop client accesses a remote desktop on the remote desktop server according to a remote desktop protocol, wherein the remote desktop client is suitable for running local applications and the remote desktop is suitable for executing remote applications, and wherein there is an additional communication channel between the remote desktop client and the remote desktop server, via which a user can control the local application from the remote desktop and via which information about the local applications depends on a priority the applications can be sent at different frequencies. The remote desktop system thus provided is therefore suitable for carrying out the method described above.
Gemäß einer weiteren Ausbildung der Erfindung wird ein computerlesbares Medium umfassend Code, um Prozessoren eines Remote Desktop Systems, insbesondere des vorgenannten Remote Desktop Systems, zu veranlassen, eines der vorbeschriebenen Verfahren durchzuführen. According to a further embodiment of the invention, a computer-readable medium comprising code to cause processors of a remote desktop system, in particular of the aforementioned remote desktop system, to carry out one of the methods described above.
KURZE BESCHREIBUNG DER FIGUREN BRIEF DESCRIPTION OF THE FIGURES
Weitere vorteilhafte Ausführungsformen können aus der folgenden Beschreibung und den Zeichnungen abgeleitet werden. Darin zeigt Further advantageous embodiments can be derived from the following description and the drawings. In it shows
Fig. 1 ein Flowchart zur Durchführung eines Verfahrens zur Erzeugung undFig. 1 is a flowchart for carrying out a method for generating and
Steuerung einer zusammengesetzten Ansicht; Controlling a Composite View;
Fig. 2 ein Remote Desktop System; Fig. 2 a remote desktop system;
Fig. 3 Pseudo-Screenshots einer lokalen clientseitigen Vorrichtung zur Demonstration des Verbindungsaufbaus und einiger Schritte eines Verfahrens zur Erzeugung und Steuerung einer zusammengesetzten Ansicht; Figure 3 pseudo-screenshots of a local client-side device demonstrating connection setup and some steps of a method for generating and controlling a composite view;
Fig. 4 Pseudo-Screenshots einer lokalen clientseitigen Vorrichtung zur Demonstration weiterer Schritte eines Verfahrens zur Erzeugung und Steuerung einer zusammengesetzten Ansicht. Fig. 4 Pseudo screenshots of a local client-side device demonstrating further steps of a method for generating and controlling a composite view.
DETAILLIERTE BESCHREIBUNG DER FIGUREN DETAILED DESCRIPTION OF THE FIGURES
Die Erfindung wird allgemein unter Bezugnahme auf alle Bezugszeichen beschrieben. Details werden im Zusammenhang mit der jeweiligen Figur erläutert. Die Schritte zur Durchführung eines Verfahrens 100 zur Erzeugung und Steuerung einer zusammengesetzten Ansicht werden anhand von Fig. 1 in Kombination mit einem Remote Desktop System 200 aus Fig. 2 beschrieben. The invention will be generally described with reference to all reference numerals. Details are explained in connection with the respective figure. The steps for carrying out a method 100 for generating and controlling a composite view are described with reference to FIG. 1 in combination with a remote desktop system 200 from FIG. 2.
In einem ersten Schritt 110 startet ein nicht gezeigter Nutzer seinen Remote Desktop Client 220, beispielsweise einen Laptop, mit lokalen Anwendungen 260 und einer lokalen grafischen Nutzeroberfläche, die auf einer lokalen clientseitigen Vorrichtung ausgegeben wird. Der Nutzer ist beispielsweise im Home-Office. Anschließend wird in einem zweiten Schritt 120 eine Serverapplikation 240 gestartet. Vorzugsweise geschieht dies automatisch direkt nach dem ersten Schritt 110 beim Hochfahren des Remote Desktop Clients 220. Die Serverapplikation 240 stellt ein API für die Steuerung kontrollierbarer und startbarer bzw. laufender lokaler Programme 260 bereit. Falls dies durch das Remote Desktop Protokoll vorgesehen ist, wird in einem nächsten Schritt 130 eine Verbindung zwischen dem Remote Desktop Client und einem Virtual Private Network (VPN) aufgebaut. Anderenfalls wird dieser Schritt 130 übersprungen und direkt im vierten Schritt 140 die Remotedesktopverbindung gemäß bekannter Remote Desktop Protokolle über ein drahtgebundenes oder drahtloses Netzwerk 210 aufgebaut. Es wird eine grafische Oberfläche zur Bedienung des Remote Desktops 230 auf der lokalen clientseitigen Vorrichtung aufgebaut, und der Nutzer kann aus einer Auswahl an Remote Anwendungen 270 wählen und diese starten. Anschließend öffnet der Nutzer im nächsten Schritt 150 den Client 250 auf dem Remote Desktop 230. Im folgenden Schritt 160 ruft der Client 250 über einen zusätzlichen Kanal, bei dem es sich bspw. um einen Seitenkanal eines Remote Desktop Protokolls oder einen zusätzlichen TCP-Kanal handeln kann, die Informationen 251 von der Serverapplikation 240 ab, welche eine Liste kontrollierbarer und startbarer bzw. laufender Programme 260 enthalten. In einem nächsten Schritt 170 wird dem Nutzer die Liste verfügbarer lokaler Programme 260 in dem Client 250 präsentiert und ihm ermöglicht aus einer Liste von Kommandos zu wählen, welche beispielsweise ein Starten einer lokalen Anwendung 260 ermöglichen. Gibt der Nutzer ein Kommando 252 wird dies über den Kommunikationskanal an die Serverapplikation 240 gesendet und von dort über die API an die lokale Anwendung 260 übersetzt. Demnach sendet der Nutzer ausschließlich Software Instruktionen, um seine lokalen Programme zu bedienen. Hat der Nutzer sowohl auf dem Remote Desktop 230 eine Remote Anwendung 270, die vom Remote Desktop Server 235 ausgeführt wird, und eine lokale Anwendung 260 gestartet, die von dem Remote Desktop Client 220 ausgeführt wird, kann er nun in einem nächsten Schritt 180 simultan mit lokalen Programmen 260 und Remote Programmen 270 interagieren, ohne dabei die Remotedesktopverbindung 210 zu minimieren oder zu schließen. In a first step 110, a user, not shown, starts his remote desktop client 220, for example a laptop, with local applications 260 and a local graphical user interface that is output on a local client-side device. For example, the user is in the home office. A server application 240 is then started in a second step 120. This preferably happens automatically immediately after the first step 110 when starting up the remote desktop client 220. The server application 240 provides an API for controlling controllable and startable or running local programs 260. If this is provided for by the Remote Desktop Protocol, in a next step 130 a connection is established between the Remote Desktop Client and a Virtual Private Network (VPN). Otherwise, this step 130 is skipped and the remote desktop connection is established directly in the fourth step 140 in accordance with known remote desktop protocols via a wired or wireless network 210. A graphical interface for operating the remote desktop 230 is built on the local client-side device, and the user can select from a selection of remote applications 270 and start them. The user then opens the client 250 on the remote desktop 230 in the next step 150. In the following step 160, the client calls 250 via an additional channel, which is, for example, a side channel of a remote desktop protocol or an additional TCP channel can, the information 251 from the server application 240, which contains a list of controllable and startable or running programs 260. In a next step 170, the user is presented with the list of available local programs 260 in the client 250 and is allowed to choose from a list of commands which, for example, enable starting a local application 260. If the user gives a command 252, this is sent to the server application 240 via the communication channel and translated from there to the local application 260 via the API. Accordingly, the user only sends software instructions to operate their local programs. If the user has started both a remote application 270 on the remote desktop 230, which is executed by the remote desktop server 235, and a local application 260, which is executed by the remote desktop client 220, he can now use 180 simultaneously in a next step local programs 260 and remote Programs 270 interact without minimizing or closing the remote desktop connection 210.
Dies stellt jedoch nur eine Ausbildungsform eines Verfahrens 100 zur Erzeugung und Steuerung einer zusammengesetzten Ansicht dar. Dem Fachmann/Der Fachfrau ist klar, dass es je nach Art des Remote Desktop Servers 235 und des Remote Desktop Clients 220 vorteilhaft sein kann, dass der Client 250 beispielsweise dauerhaft auf dem Remote Desktop Server 235 läuft und beim Verbindungsaufbau des Remote Desktop Clients 220 zu dem Remote Desktop Server 235 durch den Client 250 geprüft wird, ob eine Serverapplikation 240 auf dem Remote Desktop Client 220 aktiv ist und während des Verbindungsaufbaus bereits Informationen 251 betreffend lokale Anwendungen 260 abgerufen werden, sodass der Nutzer beim Aufbau der grafischen Nutzeroberfläche des Remote Desktops 230 bereits eine geöffnete Ansicht des Clients 250 vorfindet. However, this only represents one embodiment of a method 100 for generating and controlling a composite view. It is clear to the person skilled in the art that, depending on the type of remote desktop server 235 and the remote desktop client 220, it can be advantageous for the client 250 for example, runs permanently on the remote desktop server 235 and when the remote desktop client 220 establishes a connection to the remote desktop server 235, the client 250 checks whether a server application 240 is active on the remote desktop client 220 and information 251 is already available during the connection establishment local applications 260 are accessed, so that the user already finds an open view of the client 250 when setting up the graphical user interface of the remote desktop 230.
Da diese Erfindung ein Verfahren zur Erzeugung und Steuerung einer zusammengesetzten Ansicht aus lokalen Anwendungen auf einer lokalen grafischen Nutzeroberfläche eines Remotedesktopclients und einem Remote Desktop betrifft, wird im Folgenden das Verfahren anhand von Pseudo-Screenshots näher erläutert. Diese sind bei der Interpretation der Ansprüche keineswegs als einschränkend zu interpretieren, sondern dienen lediglich der besseren Anschaulichkeit. Since this invention relates to a method for generating and controlling a composite view of local applications on a local graphical user interface of a remote desktop client and a remote desktop, the method is explained in more detail below using pseudo screenshots. These are in no way to be interpreted as restrictive when interpreting the claims, but merely serve to provide better clarity.
In Fig. 3a bis 3h wird eine lokale clientseitige Vorrichtung zu verschiedenen Zeitpunkten bei der Durchführung eines Verfahrens zur Erzeugung und Steuerung einer zusammengesetzten Ansicht aus lokalen Anwendungen auf einer lokalen grafischen Nutzeroberfläche eines Remote Desktop Clients und einem Remote Desktop gezeigt. Zunächst ist die grafische Oberfläche 320 des lokalen Desktops gezeigt, auf der eine lokale Anwendung in einem Fenster 362 geöffnet ist. Weitere Desktopverknüpfungen 361 deuten auf weitere lokale Anwendungen auf dem Remote Desktop Client hin. Die Taskleiste 301 mit lokalen Lautstärkeeinstellungen 321 deutet über das Symbol 322 an, dass eine VPN-Verbindung bereits aktiv ist. In Fig. 3b ist die Serverapplikation in einem Fenster 341 geöffnet. Hier kann der Nutzer oder ein Administrator weitere lokale Programme für den Fernzugriff freigeben. Die Serverapplikation führt dabei beispielsweise einen automatischen Scan auf dem Remote Desktop Client durch und listet alle Programme, die sie gefunden hat und für steuerbar hält. Anschließend verbindet sich der Nutzer zum Remote Desktop Server, wie das Verbindungsfenster 311 in Fig. 3c anzeigt. Während der Verbindung können beispielsweise bereits Informationen von der Serverapplikation zum Client übertragen werden, falls dieser dauerhaft auf dem Remote Desktop Server läuft. In Fig. 3d ist der Remote Desktop Client zum Remote Desktop verbunden und eine grafische Nutzeroberfläche 330 des Remote Desktops erzeugt, wie durch die Verbindungsleiste 331 und die veränderte Taskleiste 302 angedeutet. Auf der grafischen Nutzeroberfläche 330 des Remote Desktops befinden sich Desktopverknüpfungen 371 zu Remote Anwendungen, die ein Nutzer beispielsweise zum Arbeiten ausführen kann. Unten rechts in der Ecke der grafischen Nutzeroberfläche 330 des Remote Desktops ist eine Ansicht 350 des Clients gezeigt, der bereits die Informationen der Serverapplikation aufbereitet hat und eine Liste 363 verfügbarer lokaler Programme führt. Der Client kann von dem Nutzer gestartet worden sein oder automatisch beim Verbindungsaufbau des Remote Desktop Clients zum Remote Desktop Server gestartet werden. Dabei kann die Liste 363 der lokalen Anwendungen beispielsweise nach Favoriten und/oder zweigeteilt in geöffnete und startbare Programme sortiert sein. Der Nutzer löst in diesem Fall eines der mit den Icons 371 verknüpften Remote Programme aus. In Fig. 3e ist ein Fenster 372 der Remote Anwendung geöffnet und der Nutzer arbeitet beispielsweise wie üblich mit seinen lokalen Eingabegeräten, die an der clientseitigen Vorrichtung angeschlossen sind, mit der Remote Anwendung. In Fig. 3f entschließt sich der Nutzer das Fenster 362 der zuvor geöffneten lokalen Anwendung anzuschauen. Beim Schweben mit dem Cursor 303 über dem korrespondierenden Listeneintrag 365 in der Liste 363 der Ansicht 350 des Clients 350 wird ein Miniatur- Screenshot 366 der lokalen Anwendung gezeigt. Um besser mit der lokalen Anwendung arbeiten zu können, hat der Nutzer in Fig. 3g das Kommando gegeben, das Fenster 362 nach vorne zu holen, sodass er damit arbeiten kann. Die Remotedesktopverbindung bleibt dabei geöffnet und die Ansicht 330 des Remote Desktops wird nicht minimiert. Das lokale Programm läuft weiterhin lokal auf dem Remote Desktop Client und das Fenster 362 befindet sich ebenfalls auf dem lokalen Endgerät, sodass keine weiteren grafischen Daten oder ähnliches übertragen werden. In Fig. 3h hat der Nutzer das Verhältnis der Fenster des lokalen Programms 362 und der Remote Anwendung 372 so angepasst, dass die lokale clientseitige Vorrichtung für die Ausgabe maximal genutzt wird. Dabei hilft die Serverapplikation in Verbindung mit dem Client, indem sie Informationen über die Position und Größe des Fensters 362 einholt und bei der Bildschirmaufteilung berücksichtigt. Beispielsweise wird ein inhaltloses Fenster auf dem Remote Desktop erzeugt und unter das lokale Fenster 362 gelegt. Mittels des Clients wird eine Interaktion mit Fenstern 362 lokaler Anwendungen sowie Fenstern 372 von Remote Anwendungen beispielsweise via AeroSnap ermöglicht. Somit ist eine zusammengesetzte Ansicht erzeugt, die durch geeignete Kommunikation zwischen einem Client und einer Serverapplikation durch einen Nutzer gesteuert und angepasst werden kann. 3a to 3h show a local client-side device at various times in performing a method for generating and controlling a composite view of local applications on a local graphical user interface of a remote desktop client and a remote desktop. First, the graphical interface 320 of the local desktop is shown, on which a local application is opened in a window 362. Additional desktop shortcuts 361 indicate additional local applications on the Remote Desktop Client. The taskbar 301 with local volume settings 321 indicates via the symbol 322 that a VPN connection is already active. In Fig. 3b the server application is opened in a window 341. Here the user or an administrator can enable additional local programs for remote access. For example, the server application carries out an automatic scan on the remote desktop client and lists all programs that it has found and considers to be controllable. The user then connects to the remote desktop server, as the connection window 311 in Fig. 3c indicates. During the connection, for example, information from the Server application can be transferred to the client if it runs permanently on the remote desktop server. In Fig. 3d, the remote desktop client is connected to the remote desktop and a graphical user interface 330 of the remote desktop is generated, as indicated by the connection bar 331 and the modified taskbar 302. On the graphical user interface 330 of the remote desktop there are desktop shortcuts 371 to remote applications that a user can execute, for example, to work. At the bottom right corner of the graphical user interface 330 of the remote desktop is a view 350 of the client, which has already prepared the information from the server application and keeps a list 363 of available local programs. The client can have been started by the user or can be started automatically when the Remote Desktop Client connects to the Remote Desktop Server. The list 363 of local applications can be sorted, for example, according to favorites and/or divided into open and startable programs. In this case, the user triggers one of the remote programs linked to the icons 371. In Fig. 3e, a window 372 of the remote application is open and the user, for example, works with the remote application as usual with his local input devices connected to the client-side device. In Fig. 3f, the user decides to look at the window 362 of the previously opened local application. When hovering the cursor 303 over the corresponding list entry 365 in the list 363 of the view 350 of the client 350, a thumbnail screenshot 366 of the local application is shown. In order to be able to work better with the local application, the user in Fig. 3g has given the command to bring the window 362 forward so that he can work with it. The remote desktop connection remains open and the view 330 of the remote desktop is not minimized. The local program continues to run locally on the Remote Desktop Client and Window 362 is also on the local device, so no further graphical data or similar is transferred. In Figure 3h, the user has adjusted the ratio of the local program 362 and remote application 372 windows to maximize use of the local client-side device for output. The server application helps in conjunction with the client by obtaining information about the position and size of the window 362 and taking this into account when dividing the screen. For example, a contentless window is created on the remote desktop and placed below the local window 362. The client enables interaction with windows 362 of local applications as well as windows 372 of remote applications, for example via AeroSnap. Thus is a composite view generated, which can be controlled and adjusted by a user through appropriate communication between a client and a server application.
In Fig. 4a ist der Zustand der grafischen Nutzeroberfläche 330 des Remote Desktops aus Fig. 3g widerholt. Der Nutzer hat bereits ein Fenster einer lokalen Anwendung 362 und ein Fenster einer Remote Anwendung 372 geöffnet und hat nun mit dem Cursor 303 einen zweiten Listeneintrag 3651 der Ansicht 350 des Clients betätigt, wobei der Listeneintrag 3651 zu einer zweiten lokalen Anwendung korrespondiert, die noch nicht gestartet wurde. Als einziges verfügbares Kommando 367 wird ein Starten des zweiten lokalen Programms geboten. In Fig. 4b wurde das lokale Programm gestartet und das korrespondierende Fenster 368 wurde nach vorne geholt, ohne dabei die Ansicht des Remote Desktops 330 zu minimieren. Es handelt sich bei diesem zweiten lokalen Programm in diesem Beispiel um ein Kommunikationsprogramm. Der Nutzer minimiert das Fenster 368 der zweiten lokalen Anwendung zunächst über den Knopf 369 und teilt die Monitorfläche maximal zwischen dem Fenster 362 des ersten lokalen Programms und dem Fenster 372 des Remote Programms auf und arbeitet simultan mit beiden. Er kann das Fenster 362 der lokalen Anwendung dazu beispielsweise über die Ansicht 350 des Clients als „always on top“ markieren. In Fig. 4d erhält der Nutzer von dem minimierten Client eine Benachrichtigung 355, dass bei seinem lokal ausgeführten Kommunikationsprogramm ein Anruf eingeht und bekommt zwei Schnellzugriffsfunktionen 356 bereitgestellt, mit denen er direkt reagieren kann. Bei Aktivierung wird nur eine Software Instruktion von dem Client an die Serverapplikation gesendet und von dort anschließend lokal über die API in der zweiten lokalen Anwendung ausgeführt. In Fig. 4e hat der Nutzer den eingehenden Anruf angenommen und das Fenster 368 des zweiten lokalen Programms wurde nach vorne geholt. Der Nutzer kann das lokal laufende Programm wie gewöhnlich über die dargestellten Knöpfe 369 steuern. In Fig. 4a, the state of the graphical user interface 330 of the remote desktop from Fig. 3g is repeated. The user has already opened a window of a local application 362 and a window of a remote application 372 and has now used the cursor 303 to press a second list entry 3651 of the client's view 350, the list entry 3651 corresponding to a second local application that is not yet was started. The only available command 367 is to start the second local program. In Fig. 4b, the local program was started and the corresponding window 368 was brought forward without minimizing the view of the remote desktop 330. In this example, this second local program is a communication program. The user first minimizes the window 368 of the second local application using the button 369 and divides the monitor area maximally between the window 362 of the first local program and the window 372 of the remote program and works with both simultaneously. To do this, he can mark the window 362 of the local application as “always on top”, for example via the view 350 of the client. In Fig. 4d, the user receives a notification 355 from the minimized client that a call is incoming to his locally running communication program and is provided with two quick access functions 356 with which he can react directly. When activated, only one software instruction is sent from the client to the server application and then executed locally via the API in the second local application. In Figure 4e, the user has answered the incoming call and the second local program window 368 has been brought forward. The user can control the locally running program as usual using the buttons 369 shown.
Die vorliegende Offenbarung ermöglicht es dem Fachmann / der Fachfrau, die im jeweiligen Remote Desktop System besonders vorteilhafte Kombination von Verfahrensschritten zu implementieren. The present disclosure enables the person skilled in the art to implement the particularly advantageous combination of method steps in the respective remote desktop system.

Claims

Patentansprüche Patent claims
1. Verfahren zur Erzeugung und Steuerung einer zusammengesetzten Ansicht aus lokalen Anwendungen (260) auf einer lokalen grafischen Nutzeroberfläche (320) eines Remote Desktop Clients (220), wobei die lokale grafische Nutzeroberfläche (320) auf einer lokalen clientseitigen Vorrichtung ausgegeben wird und es sich bei dem Remote Desktop Client (220) um einen virtuellen oder physischen Computer handelt, und einem von einem Remote Desktop Server (235) gehosteten Remote Desktop (230) in einer Remote Desktop Umgebung, beispielsweise einem Terminalserver, mit Remote Anwendungen (270), umfassend: 1. Method for generating and controlling a composite view of local applications (260) on a local graphical user interface (320) of a remote desktop client (220), the local graphical user interface (320) being output on a local client-side device and being the remote desktop client (220) is a virtual or physical computer, and a remote desktop (230) hosted by a remote desktop server (235) in a remote desktop environment, for example a terminal server, with remote applications (270). :
Erzeugen einer grafischen Nutzeroberfläche (330) auf der lokalen clientseitigen Vorrichtung zum entfernten Steuern der Remote Anwendungen (270) von der lokalen clientseitigen Vorrichtung, wobei der Zugriff des Remote Desktop Clients (220) auf den Remote Desktop (230) gemäß einem beliebigen Remote Desktop Protokoll erfolgt, Erzeugen einer Ansicht (372) der Remote Anwendung (270), basierend auf Anzeigeausgabedaten der Remote Anwendung (270), die von der lokalen clientseitigen Vorrichtung empfangen werden, dadurch gekennzeichnet, dass der für die Remotedesktopverbindung vorhandene Kommunikationskanal (210) zusätzlich so genutzt wird oder mindestens ein weiterer Kommunikationskanal zwischen dem Remote Desktop Client und dem Remote Desktop Server erzeugt und so genutzt wird, dass eine clientseitige Serverapplikation (240) in einem Schritt Informationen (251) über die lokalen Anwendungen (260) über den Kommunikationskanal einholt und an einen Client (250) auf der Seite des Remote Desktops (230) bereitstellt und Informations-Updates (251) an den Client (250) auf dem Remote Desktop (230) sendet, sofern die betreffende lokale Anwendung (260) bereits geöffnet ist, wobei der Client (250) die Informationen (251) über die lokalen Anwendungen (260) in einer weiteren Ansicht (350) auf der grafischen Nutzeroberfläche (330) darstellt, wobei die Ansicht (350) eine Liste (363) der lokalen Anwendungen (260) umfasst, sodass ein Nutzer mit der Ansicht (350) interagieren und zu jedem Listeneintrag (365, 3651) aus einer Liste von Kommandos (367) wählen kann, die bei Betätigung vom Client (250) über den Kommunikationskanal beziehungsweise den weiteren Kommunikationskanal an den clientseitigen Server (240) und vom clientseitigen Server (240) an die lokale Anwendung (260) gesendet werden, wobei die lokale Anwendung (260) auf dem Remote Desktop Client (220) ausgeführt wird, wobei der Nutzer in der Ansicht (350) des Client (250) auf dem Remote Desktop (230) lokale Anwendungen (260) ausblenden oder als Favorit markieren kann, wobei eine Priorität der Anwendungen (260) bei der Kommunikation zwischen Client (250) und clientseitiger Serverapplikation (240) verändert wird, wodurch die Informations-Updates (251) in Abhängigkeit von der Priorität unterschiedlich häufig gesendet werden. Generating a graphical user interface (330) on the local client-side device for remotely controlling the remote applications (270) from the local client-side device, wherein the remote desktop client (220) accesses the remote desktop (230) according to any remote desktop protocol takes place, generating a view (372) of the remote application (270) based on display output data of the remote application (270) received from the local client-side device, characterized in that the communication channel (210) available for the remote desktop connection is additionally used in this way is or at least one further communication channel is created between the remote desktop client and the remote desktop server and used in such a way that a client-side server application (240) obtains information (251) about the local applications (260) via the communication channel in one step and sends it to one Provides client (250) on the remote desktop (230) side and sends information updates (251) to the client (250) on the remote desktop (230) if the relevant local application (260) is already open, the Client (250) displays the information (251) about the local applications (260) in a further view (350) on the graphical user interface (330), the view (350) comprising a list (363) of the local applications (260). , so that a user can interact with the view (350) and select from a list of commands (367) for each list entry (365, 3651), which when activated by the client (250) are sent to the client-side server via the communication channel or the further communication channel (240) and are sent from the client-side server (240) to the local application (260), the local application (260) being executed on the remote desktop client (220), with the user in the view (350) of the client (240) 250) on the remote desktop (230) can hide local applications (260) or mark them as favorites, with a priority of the applications (260) in communication between client (250) and client-side server application (240), whereby the information updates (251) are sent at different frequencies depending on the priority.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Liste der Kommandos (367) folgende Aktionen umfasst: ein Starten einer lokalen Anwendung (260), ein Fokussieren auf eine lokale Anwendung (260), ein Minimieren einer lokalen Anwendung (260), ein Maximieren einer lokalen Anwendung (260), ein Schließen einer lokalen Anwendung (260), und ein Nachvornestellen einer lokalen Anwendung (260), wobei die Ansicht (362) der lokalen Anwendung (260) beziehungsweise der lokalen Anwendungen (260) vorne gehalten werden kann, insbesondere so, dass ein paralleles Arbeiten an mindestens einer Remote Anwendung (270) und mindestens einer lokalen Anwendungen (260) möglich ist. 2. The method according to claim 1, characterized in that the list of commands (367) includes the following actions: starting a local application (260), focusing on a local application (260), minimizing a local application (260), maximizing a local application (260), closing a local application (260), and bringing a local application (260) forward, wherein the view (362) of the local application (260) or the local applications (260) are kept at the front can, in particular so that parallel work on at least one remote application (270) and at least one local application (260) is possible.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass das Kommunikationsprotokoll des Kommunikationskanals bzw. der Kommunikationskanäle zwischen dem clientseitigen Server und dem Client auf dem Remote Desktop TCP und/oder UDP basierte Übertragungstechniken benutzt und die Kommunikation über ein drahtgebundenes oder drahtloses Computernetzwerk erfolgt und der Kommunikationskanal bzw. die Kommunikationskanäle frei wählbar ist/sind, und/oder dass die Kommunikation präferiert über Seitenkanäle des Remote Desktop Protokolls läuft und auf einen TCP- bzw. UDP- Kanal ausweicht, sofern das Remote Desktop Protokoll die Funktionalität von Seitenkanälen nicht unterstützt. 3. The method according to claim 2, characterized in that the communication protocol of the communication channel or channels between the client-side server and the client uses transmission techniques based on the remote desktop TCP and / or UDP and the communication takes place via a wired or wireless computer network and the Communication channel or channels can be freely selected and/or that communication preferably runs via side channels of the Remote Desktop Protocol and switches to a TCP or UDP channel if the Remote Desktop Protocol does not support the functionality of side channels.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass die lokale Anwendung (260) beziehungsweise die lokalen Anwendungen (260), die von dem Nutzer gestartet wurden, insbesondere über den Client (250) auf dem Remote Desktop gestartet wurden, angezeigt werden, insbesondere ohne die grafische Nutzeroberfläche (330) der Remotedesktopverbindung auf der lokalen clientseitigen Vorrichtung zu minimieren. 4. The method according to claim 3, characterized in that the local application (260) or the local applications (260) that were started by the user, in particular via the client (250) on the remote desktop, are displayed, in particular without minimizing the graphical user interface (330) of the remote desktop connection on the local client-side device.
5. Verfahren nach einem der vorigen Ansprüche, dadurch gekennzeichnet, dass die Informations-Updates (251) in ihrer Größe reduzierte Miniatur-Screenshots (366) umfassen. 5. Method according to one of the preceding claims, characterized in that the information updates (251) include miniature screenshots (366) that are reduced in size.
6. Verfahren nach einem der vorigen Ansprüche, dadurch gekennzeichnet, dass die clientseitige Serverapplikation (240) automatisch Schnellzugriffsfunktionen (356) für die gestarteten lokalen Anwendungen (260), insbesondere Multimediaanwendungen, generiert und an den Client (250) auf dem Remote Desktop (230) übermittelt. 6. Method according to one of the preceding claims, characterized in that the client-side server application (240) automatically generates quick access functions (356) for the started local applications (260), in particular multimedia applications, and sends them to the client (250) on the remote desktop (230 ) transmitted.
7. Verfahren nach einem der vorigen Ansprüche, dadurch gekennzeichnet, dass der Nutzer der Ansicht (350) des Client (250) auf dem Remote Desktop (230) lokale Anwendungen (260) ausblenden oder als Favorit markieren kann, wodurch eine Reihenfolge der Liste (363) verändert wird. 7. The method according to any one of the preceding claims, characterized in that the user can hide the view (350) of the client (250) on the remote desktop (230) or mark local applications (260) as favorites, whereby an order of the list ( 363) is changed.
8. Verfahren nach einem der vorigen Ansprüche, dadurch gekennzeichnet, dass in dem Client (250) auf der Seite des Remote Desktops (230) lokale Audio- und/oder Videoeinstellungen verändert werden können, wobei der Client (250) die folgenden Funktionen umfasst: Ändern einer Lautstärke eines Ausgabegeräts, 8. Method according to one of the preceding claims, characterized in that local audio and/or video settings can be changed in the client (250) on the remote desktop (230) side, the client (250) comprising the following functions: changing a volume of an output device,
Ändern des Ausgabegeräts, insbesondere des Standardausgabegeräts, Ändern des Ausgabegeräts für eine Anwendung, Anpassen der Lautstärke einer Anwendung. Changing the output device, especially the default output device, changing the output device for an application, adjusting the volume of an application.
9. Remote Desktop System (200), aufweisend einen Remote Desktop Client (220), vorzugsweise ausgebildet durch einen virtuellen oder physischen Computer, und einen Remote Desktop Server (235), welcher durch einen virtuellen oder physischen Computer ausgebildet und geeignet ist, einen Remote Desktop (230) in einer Remote Desktop Umgebung, beispielsweise in einem Terminalserver, zu hosten, wobei der Remote Desktop Client (220) auf einen Remote Desktop (230) auf dem Remote Desktop Server (235) gemäß einem Remote Desktop Protokoll zugreift, wobei der Remote Desktop Client (220) geeignet ist, lokale Anwendungen (260) auszuführen und der Remote Desktop (230) geeignet ist, Remote Anwendungen (270) auszuführen, und wobei ein Seitenkanal oder ein zusätzlicher Kommunikationskanal zwischen dem Remote Desktop Client (220) und dem Remote Desktop Server (235) vorliegt, über den ein Nutzer lokale Anwendungen (260) vom Remote Desktop (230) aus steuern kann und über den Informationen (251) über die lokalen Anwendungen (260) in Abhängigkeit von einer Priorität der Anwendungen (260) unterschiedlich häufig gesendet werden können. 9. Remote desktop system (200), comprising a remote desktop client (220), preferably formed by a virtual or physical computer, and a remote desktop server (235), which is formed by a virtual or physical computer and is suitable for a remote Desktop (230) in a remote desktop environment, for example in a terminal server, wherein the remote desktop client (220) accesses a remote desktop (230) on the remote desktop server (235) according to a remote desktop protocol, wherein the Remote Desktop Client (220) is suitable for executing local applications (260) and the Remote Desktop (230) is suitable for executing remote applications (270), and wherein a side channel or an additional communication channel between the Remote Desktop Client (220) and the Remote Desktop Server (235) is present, via which a user can control local applications (260) from the Remote Desktop (230) and via which information (251) can be sent at different frequencies via the local applications (260) depending on a priority of the applications (260).
10. Computerlesbares Medium umfassend Code, um Prozessoren eines Remote Desktop Systems (200), insbesondere eines Remote Desktop Systems (200) nach Anspruch 9, zu veranlassen, ein Verfahren zur Erzeugung und Steuerung einer zusammengesetzten Ansicht nach einem beliebigen der Ansprüche 1 bis 8 durchzuführen. 10. Computer-readable medium comprising code for causing processors of a remote desktop system (200), in particular a remote desktop system (200) according to claim 9, to carry out a method for generating and controlling a composite view according to any one of claims 1 to 8 .
PCT/EP2023/061091 2022-05-11 2023-04-27 Method for operating a remote desktop system, remote desktop system, and computer-readable medium WO2023217543A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102022111859.2 2022-05-11
DE102022111859.2A DE102022111859A1 (en) 2022-05-11 2022-05-11 METHOD FOR OPERATING A REMOTE DESKTOP SYSTEM, REMOTE DESKTOP SYSTEM AND COMPUTER READABLE MEDIUM

Publications (1)

Publication Number Publication Date
WO2023217543A1 true WO2023217543A1 (en) 2023-11-16

Family

ID=86383000

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2023/061091 WO2023217543A1 (en) 2022-05-11 2023-04-27 Method for operating a remote desktop system, remote desktop system, and computer-readable medium

Country Status (2)

Country Link
DE (1) DE102022111859A1 (en)
WO (1) WO2023217543A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090210817A1 (en) * 2008-02-15 2009-08-20 Microsoft Corporation Mechanism for increasing remote desktop responsiveness
US9032325B2 (en) * 2001-06-08 2015-05-12 Real Enterprise Solutions Development B.V. Management of local applications in local and remote desktops in a server-based computing environment
US20210152626A1 (en) * 2012-03-02 2021-05-20 Citrix Systems, Inc. Reverse Seamless Integration Between Local and Remote Computing Environments
WO2021130500A1 (en) * 2019-12-23 2021-07-01 Ultima Business Solutions Limited A system and method for automated process orchestration

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010021130A1 (en) 2010-05-21 2011-11-24 Xompu Gmbh Client computer e.g. tablet computer, for viewing and modifying current desktop in terminal server computer, has operating system integrated to terminal server computer for locally running application to set window position
US8866701B2 (en) 2011-03-03 2014-10-21 Citrix Systems, Inc. Transparent user interface integration between local and remote computing environments

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9032325B2 (en) * 2001-06-08 2015-05-12 Real Enterprise Solutions Development B.V. Management of local applications in local and remote desktops in a server-based computing environment
US20090210817A1 (en) * 2008-02-15 2009-08-20 Microsoft Corporation Mechanism for increasing remote desktop responsiveness
US20210152626A1 (en) * 2012-03-02 2021-05-20 Citrix Systems, Inc. Reverse Seamless Integration Between Local and Remote Computing Environments
WO2021130500A1 (en) * 2019-12-23 2021-07-01 Ultima Business Solutions Limited A system and method for automated process orchestration

Also Published As

Publication number Publication date
DE102022111859A1 (en) 2023-11-16

Similar Documents

Publication Publication Date Title
DE69817158T2 (en) User interface mechanism for manipulating contexts in computer management applications
DE69931024T2 (en) INTERNET-BASED UPDATE SERVICE FOR A PROGRAMMABLE CONTROL DEVICE
DE60311608T2 (en) Method and device for switching the control between connected devices
DE69433754T2 (en) Methods and systems for integrating various agent performance enhancement modules in a call center
DE69819184T2 (en) INTERNAL NETWORK BASED ON BROWSER COMMAND AND CONTROL
DE102009012638A1 (en) Method for displaying and using a user interface and an electronic device
DE60320181T2 (en) Device and method for the projection of data
DE102012214941B4 (en) Mobile communication device and method for changing an application interface
DE202017105691U1 (en) Intelligent assistant for repeated actions
DE19522185A1 (en) Dynamic conversion between remote application program graphical user interface display programs
DE112016001140T5 (en) Interactive multi-user display system and method
DE112012001230T5 (en) System and method for distributing user interface device configurations
WO2012069183A1 (en) Method and apparatus for displaying a graphical user interface of a portable computation unit of an external display unit
WO2007128512A1 (en) Method and device for providing an option menu which is associated with a displayed symbol
DE102012219119A1 (en) Intelligent windowing in a graphical user interface
DE4434878A1 (en) Remote display of objects and cursor movements in a conference system
DE10337053A1 (en) Graphical user computer interface
DE102015104962A1 (en) Information processing and electronic device
DE202014010943U1 (en) Switch to and from native web applications
DE102013201244A1 (en) Method and apparatus for adapting applications across multiple devices
EP3084742A1 (en) Portable control apparatus for remote control of a plurality of domestic appliances, system, corresponding method and computer program product
DE10247554B4 (en) System comprising a computer and a device connected to the computer
DE112013000749T5 (en) Interactive system and method for intelligent televisions
DE112011103985T5 (en) Collaboration management system
WO2023217543A1 (en) Method for operating a remote desktop system, remote desktop system, and computer-readable medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23723844

Country of ref document: EP

Kind code of ref document: A1