FR3074329A1 - Procede et dispositif d'affichage sur un terminal local d'une application executee sur un serveur distant au moyen d'un protocole de bureau a distance - Google Patents

Procede et dispositif d'affichage sur un terminal local d'une application executee sur un serveur distant au moyen d'un protocole de bureau a distance Download PDF

Info

Publication number
FR3074329A1
FR3074329A1 FR1761185A FR1761185A FR3074329A1 FR 3074329 A1 FR3074329 A1 FR 3074329A1 FR 1761185 A FR1761185 A FR 1761185A FR 1761185 A FR1761185 A FR 1761185A FR 3074329 A1 FR3074329 A1 FR 3074329A1
Authority
FR
France
Prior art keywords
remote
connection
type
local
local terminal
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
FR1761185A
Other languages
English (en)
Other versions
FR3074329B1 (fr
Inventor
Raphael Zhou
Christophe Grosjean
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wallix SARL
Original Assignee
Wallix SARL
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 Wallix SARL filed Critical Wallix SARL
Priority to FR1761185A priority Critical patent/FR3074329B1/fr
Priority to EP18808440.4A priority patent/EP3714364A1/fr
Priority to PCT/FR2018/052702 priority patent/WO2019102088A1/fr
Priority to US16/766,232 priority patent/US11055117B2/en
Priority to CA3082705A priority patent/CA3082705A1/fr
Publication of FR3074329A1 publication Critical patent/FR3074329A1/fr
Application granted granted Critical
Publication of FR3074329B1 publication Critical patent/FR3074329B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Digital Computer Display Output (AREA)
  • Computer And Data Communications (AREA)

Abstract

L'invention concerne un procédé d'affichage d'un objet graphique généré par un serveur distant (2041, 2042) dans une fenêtre locale affichée sur un dispositif d'affichage, le terminal local communiquant avec le serveur par l'intermédiaire d'une passerelle mandataire (206) pour le protocole de bureau à distance, la passerelle établissant une connexion (2061, 2062) entre le terminal et le serveur, la connexion comportant une connexion primaire (206 1p) établie entre le terminal local et la passerelle mandataire de type application à distance, et une connexion secondaire (2061s, 2062s) établie entre ladite passerelle mandataire et ledit serveur distant, comportant une étape (E1) de détection du type de la connexion secondaire et une étape (E3) de transformation, réalisée par la passerelle mandataire, de données provenant du serveur distant et relatives à une fenêtre locale de type bureau, en des données à destination du terminal local et relatives à une fenêtre locale de type application.

Description

Procédé et dispositif d’affichage sur un terminal local d’une application exécutée sur un serveur distant au moyen d’un protocole de bureau à distance
Domaine technique
L’invention se situe dans le domaine de l’affichage sur un dispositif d’affichage d’un terminal local d’un objet graphique généré par un serveur distant. Plus précisément, l’invention s’applique à un terminal local et un serveur distant mettant en œuvre un protocole de bureau à distance. Elle s’applique notamment au protocole de bureau à distance connu sous le nom de RDP, pour l’anglais Remote Desktop Protocol.
État de la technique antérieure
De plus en plus d’utilisateurs mettent en œuvre des systèmes informatiques, qui peuvent utiliser des protocoles tels que le protocole de bureau à distance, le protocole ICA (pour l’anglais Indépendant Computing Architecture) ou d’autres, pour visualiser, depuis un terminal local, au moyen d’une connexion à distance, un bureau ou une application dont l’affichage est en réalité généré au niveau d’un équipement distant, par la suite appelé serveur distant, dudit terminal local.
Classiquement, de tels systèmes informatiques transmettent à destination du serveur distant, au moyen d’une connexion réseau, des actions de pression effectuée sur un clavier et des clics réalisés sur une souris du terminal local, tout en assurant le rafraîchissement du dispositif d’affichage du terminal local, en transmettant au terminal local les mises à jour d’un affichage généré par le serveur distant. Aussi, le terminal local ne reçoit que des mises à jour d’affichage générées par le serveur distant.
Les protocoles de bureau à distance, tel que le protocole RDP, distinguent une connexion de type bureau (en anglais Remote Desktop) et une connexion de type application à distance (en anglais RemoteApp).
Une connexion de type bureau présente un affichage d’un bureau généré par le serveur distant dans une fenêtre, dite locale ou locale de type bureau, affichée sur un dispositif d’affichage du terminal local.
-2 Dans la présente description, le mot bureau est employé dans son sens classique pour désigner l’environnement de travail d’un utilisateur, et désigne l’ensemble des composants graphiques affichés par un dispositif d’affichage, comportant un ou plusieurs écrans d’affichage, lors de l’ouverture d’une connexion sur un ordinateur générant un affichage effectivement affiché sur ledit dispositif d’affichage. Classiquement, un bureau peut comprendre un menu « Démarrer », une barre des tâches, une zone de notification et une ou plusieurs fenêtres correspondant à une ou plusieurs applications ouvertes sur le serveur distant. Aussi, une connexion de type bureau affiche, dans la fenêtre locale, tout le bureau généré par le serveur distant.
Un inconvénient d’une connexion de type bureau est que le bureau est prédéterminé en taille avant l’établissement de ladite connexion et reste fixé en taille pour toute la durée de ladite connexion : un utilisateur ne peut pas le redimensionner. La fenêtre locale peut être déplacée ou rétrécie. Dans le cas où celle-ci est rétrécie, une partie du bureau est masquée ; la partie visible peut être adaptée en utilisant des ascenseurs (en anglais scrollbars) disposés sur les côtés de la fenêtre.
Une connexion de type application à distance présente un affichage généré par une application s’exécutant sur le serveur distant dans une ou plusieurs fenêtres, dites locales ou locales de type application, affichées sur un dispositif d’affichage du terminal local. Aussi, au lieu de présenter tout le bureau du serveur distant, seul l’affichage généré par l’application s’exécutant sur le serveur distant est présenté dans les fenêtres locales de type application. Les fenêtres locales de type application sont redimensionnables, peuvent être déplacées sur un même écran d’un dispositif d’affichage, ou être déposées entre plusieurs écrans d’un dispositif d’affichage et possèdent leurs propres entrées sur la barre des tâches du bureau du terminal local. Aussi, une connexion de type application donne à l’utilisateur le sentiment, qui est faux, que l’application, dont l’affichage est affiché sur les fenêtres locales de type application, est une application s’exécutant sur le terminal local.
Un inconvénient des protocoles de bureau à distance, tel que le protocole RDP, est qu’il n’est pas possible d’établir une connexion respectivement d’un type, bureau ou application, entre un terminal local et un
-3 serveur distant, pour accéder aux ressources que ce dernier propose, respectivement de l’autre type, application ou bureau.
Or, un utilisateur ne connaît pas nécessairement le type de ressources qu’il est amené à utiliser.
Exposé de l’invention
Un but de l’invention est notamment de remédier à tout ou partie des inconvénients précités.
Selon un premier aspect de l’invention, il est proposé un procédé d’affichage d’un objet graphique généré par un serveur distant, sur un terminal local, dans une fenêtre dite locale affichée sur un dispositif d’affichage du terminal local, ledit terminal communiquant avec ledit serveur par l’intermédiaire d’une passerelle mandataire (pour l’anglais proxy) pour le protocole de bureau à distance, tel que le protocole RDP, ladite passerelle établissant une connexion entre ledit terminal local et ledit serveur distant, ladite connexion comportant une connexion primaire établie entre ledit terminal local et ladite passerelle mandataire de type application à distance, et une connexion secondaire établie entre ladite passerelle mandataire et ledit serveur distant.
Le procédé d’affichage comporte une étape de détection du type de ladite connexion secondaire.
Lorsque le type détecté est une connexion de type bureau, le procédé comporte en outre une étape de transformation, réalisée par ladite passerelle mandataire, de données provenant dudit serveur distant et relatives à une fenêtre locale de type bureau, en des données à destination dudit terminal local et relatives à une fenêtre locale de type application à distance.
Par protocole de bureau à distance, la présente invention désigne, de préférence notamment, le protocole RDP ou l’une de ses évolutions.
Par connexion de type bureau, la présente invention désigne, de préférence notamment, une connexion selon le protocole RDP, ou l’une de ses évolutions, de type Remote Desktop.
-4Par connexion de type application à distance, la présente invention désigne, de préférence, une connexion selon le protocole RDP, ou l’une de ses évolutions, de type RemoteApp.
Avec le procédé selon le premier aspect de l’invention, le terminal local reçoit des données relatives à une fenêtre locale de type application provenant de la passerelle mandataire, que la connexion secondaire soit une connexion de type bureau ou une connexion de type application à distance.
Aussi, l’utilisation par le terminal local de la passerelle mandataire et du procédé selon l’invention résout le problème technique posé.
En effet, la transformation, réalisée par la passerelle mandataire, de la fenêtre de type bureau à destination de la passerelle mandataire, en une fenêtre de type application, à destination du terminal local, permet de n’avoir qu’un seul type de connexion entre le terminal local et la passerelle mandataire.
Or, lorsqu’un utilisateur affiche, sur respectivement plusieurs fenêtres locales de type application, respectivement plusieurs applications dont l’affichage est généré par un même serveur distant, il n’existe dans le cas optimal, qu’un seul couple de connexions primaire/secondaire de type application établies entre le terminal local et la passerelle mandataire, et entre la passerelle mandataire et le serveur distant pour lesdites plusieurs applications.
En conséquence, il est possible pour un utilisateur du terminal local d’afficher, dans des fenêtres locales, de type application, à la fois des affichages des bureaux générés par des serveurs distants et des affichages générés par des applications s’exécutant sur des serveurs distants, ce qui résout le but de l’invention préalablement exposé.
En outre, la transformation est avantageuse, car elle permet à l’utilisateur d’un terminal local qui affiche un bureau, généré par un serveur à distance, de redimensionner, la fenêtre locale dans laquelle le bureau à distance est affiché.
Dans le but de permettre une interaction entre un utilisateur du terminal local et le serveur distant, le procédé selon l’invention peut comporter, lorsque le type détecté est une connexion de type bureau, une étape de transformation de données de commandes provenant du terminal local et relatives à la fenêtre
-5 locale de type application en des données de commande à destination du serveur distant et relatives à la fenêtre locale de type bureau.
Selon un deuxième aspect de l’invention, il est proposé un procédé d’affichage d’une pluralité d’objets graphiques générés par au moins un serveur distant, le terminal local communiquant avec l’au moins un serveur distant par l’intermédiaire d’une passerelle mandataire pour le protocole de bureau à distance, une connexion primaire établie entre le terminal local et la passerelle mandataire étant une connexion de type application à distance, et une pluralité de connexions secondaires étant établies entre la passerelle mandataire et l’au moins un serveur distant, comportant un procédé d’affichage selon le premier aspect de l’invention, ou l’un ou plusieurs de ses perfectionnements, dans lequel l’une au moins de la pluralité de connexions secondaires est de type bureau et une autre de l’une au moins de la pluralité de connexions secondaires est de type application à distance.
Selon un troisième aspect de l’invention, il est proposé un procédé selon le premier aspect de l’invention, ou l’un ou plusieurs de ses perfectionnements, ou le deuxième aspect de l’invention, ou l’un ou plusieurs de ses perfectionnements, dans lequel le protocole de bureau à distance prévoit :
o dans le cas d’une connexion de type bureau, une génération par un serveur distant de données à destination du terminal client comportant des coordonnées relatives à un point d’origine d’une fenêtre local, o dans le cas d’une connexion de type application à distance, une génération par un serveur distant de données à destination du terminal client comportant des coordonnées absolues relatives à un point fixe d’un afficheur du terminal local.
De préférence, le procédé peut en outre comporter une étape d’enregistrement sous forme de flux vidéo des données à destination du terminal local.
Selon un mode de réalisation, les données à destination du terminal local peuvent être relatives à au moins deux fenêtres locales de type application, comportant une étape de sélection d’un rectangle minimal comportant lesdites au moins deux fenêtres et, l’étape d’enregistrement étant limitée à l’enregistrement des données relatives audit rectangle minimal.
-6 Le protocole de bureau à distance peut être le protocole RDP, une connexion de type bureau étant une connexion de type Remote Desktop selon ledit protocole RDP, et une connexion de type application à distance étant une connexion de type RemoteApp selon ledit protocole RDP.
Selon un quatrième aspect de l’invention, il est proposé un produit programme d’ordinateur, chargeable directement dans la mémoire interne d’un ordinateur, comprenant des portions de code de logiciel pour l’exécution des étapes du procédé selon le premier, le deuxième ou le troisième aspect de l’invention, ou l’un ou plusieurs de leurs perfectionnements, lorsque le programme est exécuté sur un ordinateur.
Selon un cinquième aspect de l’invention, il est proposé une passerelle mandataire pour le protocole de bureau à distance comportant une unité de calcul agencée pour mettre en œuvre un procédé selon le premier, le deuxième ou le troisième aspect de l’invention, ou l’un ou plusieurs de leurs perfectionnements.
Selon un sixième aspect de l’invention, il est proposé un système, comportant :
- au moins un terminal local,
- une pluralité de serveurs distants,
- une passerelle mandataire selon le cinquième aspect de l’invention.
L’au moins un terminal local peut comporter au moins deux fenêtres locales, la passerelle mandataire étant configurée pour mettre en œuvre le procédé selon le premier, le deuxième ou le troisième aspect de l’invention, ou l’un ou plusieurs de leurs perfectionnements avec lesdits au moins deux fenêtres locales.
L’unité de calcul peut être configurée pour générer une liste de choix de serveurs distants à destination d’une fenêtre de l’au moins un terminal local.
De préférence, chacun des choix de la liste de choix correspond à un type de connexion à distance pour le protocole de bureau à distance, et la liste de choix peut comporter au moins deux choix de serveurs distants pour lesquels les types de connexion à distance sont distincts.
-7 Description des figures
D’autres avantages et particularités de l’invention apparaîtront à la lecture de la description détaillée de mises en œuvre et de modes de réalisation nullement limitatifs, au regard de dessins annexés sur lesquels :
- la figure 1 représente schématiquement l’art antérieur le plus proche ;
- la figure 2 représente schématiquement un mode de réalisation d’un système selon l’invention ;
- la figure 3 représente schématiquement un procédé selon un mode de réalisation de l’invention.
Description de modes de réalisation
Les modes de réalisation décrits ci-après n’étant nullement limitatifs, on pourra notamment considérer des variantes de l’invention ne comprenant qu’une sélection de caractéristiques décrites, par la suite isolées des autres caractéristiques décrites, si cette sélection de caractéristiques est suffisante pour conférer un avantage technique ou pour différencier l’invention par rapport à l’état de la technique antérieure. Cette sélection comprend au moins une caractéristique, de préférence fonctionnelle sans détails structurels, ou avec seulement une partie des détails structurels si cette partie uniquement est suffisante pour conférer un avantage technique ou pour différencier l’invention par rapport à l’état de la technique antérieure.
Sur les figures un élément apparaissant sur plusieurs figures conserve la même référence.
En référence à la figure 1, considéré comme l’art antérieur le plus proche, on connaît un système 100, comportant d’une part une pluralité 102 de terminaux, deux terminaux 1021 et 1022 selon l’art antérieur représenté, et d’autre part une pluralité 104 de serveurs distants, deux serveurs distants 1041 et 1042 selon l’art antérieur représenté.
Le système 100 comprend en outre une passerelle mandataire 106 pour le protocole de bureau à distance agencée pour établir une connexion 1061 entre le client 1021 et le terminal serveur 1041 et, une connexion 1062 entre le client 1022 et terminal serveur 1042.
-8 Plus précisément, la connexion 1061 comporte une connexion primaire 1061p établie entre le terminal local 1021 et la passerelle mandataire 106 de type application à distance, et une connexion secondaire 1061s établie entre ladite passerelle mandataire et serveur distant 1041 de type application à distance.
La connexion 1062 comporte une connexion primaire 1062p établie entre le terminal local 1022 et la passerelle mandataire 106 de type bureau, et une connexion secondaire 1062s établie entre ladite passerelle mandataire et le serveur distant 1042 de type bureau.
Les connexions 1061p et 1061s sont toutes deux de type application à distance sont représentées par un motif à rayures étroites horizontales.
Les connexions 1062p et 1062s sont toutes deux de type bureau et sont représentées par un motif à rayures étroites verticales.
Selon l’art antérieur, il n’est pas possible, depuis un même terminal local connecté au moyen d’une connexion de type application à distance, d’ouvrir indistinctement, des connexions de type application à distance ou bureau.
Cet obstacle est surmonté avec, selon un mode de réalisation d’un système 200 selon l’invention, qui comprend :
- un terminal 2021,
- une pluralité 204 de serveurs distants, deux serveurs distants 2041 et 2042,
- une passerelle mandataire 206 agencée pour établir, une connexion 2061 entre le client 2021 et le terminal serveur 2041 et, une connexion 2062 entre le client 2021 et terminal serveur 2042.
La passerelle mandataire 206 pour le protocole de bureau à distance est agencée pour établir une connexion 2061 entre le client 2021 et le terminal serveur 2041 et, une connexion 2062 entre le client 2021 et terminal serveur 2042.
Plus précisément, la connexion 2061 comporte une connexion primaire 2061 p établie entre le terminal local 2021 et la passerelle mandataire 206 de type application à distance, et une connexion secondaire 2061s établie entre ladite passerelle mandataire et le serveur distant 2041 de type application à distance.
-9 À la différence de l’art antérieur, la connexion 2062 comporte la connexion primaire 2061 p et une connexion secondaire 2062s établie entre ladite passerelle mandataire et le serveur distant 2042 de type bureau.
Les connexions 2061 p et 2061s de type application à distance sont représentées par un motif à rayures étroites horizontales.
La connexion 2062s est de type bureau et est représentée par un motif à rayures étroites verticales.
Avec le système selon l’invention il est possible, depuis un même terminal local connecté au moyen d’une connexion de type application à distance, d’ouvrir indistinctement, des connexions de type application à distance ou bureau.
À cet effet, la passerelle mandataire comporte une unité de calcul agencée pour mettre en œuvre un procédé P selon un mode de réalisation de l’invention, représenté sur la figure 3.
Le procédé P peut être mis en œuvre par l’exécution sur la passerelle mandataire, d’un produit programme d’ordinateur formé de portions de code de logiciel, chargeables directement ou indirectement dans la mémoire interne de la passerelle mandataire.
Le procédé P selon l’invention est un procédé d’affichage d’un objet graphique généré par l’un des serveurs distants, par exemple les serveurs 2041 ou 2042, sur le terminal local, ici le terminal local 2021, dans une fenêtre, dite locale, affichée sur un dispositif d’affichage du terminal local.
Le procédé P comporte :
- une étape E1 de détection du type de la connexion secondaire, par exemple des connexions 2061s ou 2062s de la figure 2,
- une étape E2 de test du type détecté, et, lorsque ledit type détecté est une connexion, la connexion 2062s dans l’exemple représenté sur la figure 2, de type bureau,
- une étape E3 de transformation, réalisée par ladite passerelle mandataire 206, de données provenant du serveur distant et relatives à une fenêtre locale de type bureau, en des données à destination dudit terminal local et relatives à une fenêtre locale de type application.
L’étape E1 est réalisée en analysant des données de configuration du serveur distant.
L’étape E2 est réalisée en comparant le résultat d’analyse à une valeur prédéterminée, ladite valeur prédéterminée correspondant à une connexion de type bureau.
L’étape E3 de transformation réalisée par la passerelle mandataire est maintenant décrite plus précisément.
La connexion traitée dans cette étape est de type bureau. Aussi, la passerelle mandataire reçoit des données provenant du serveur distant selon le protocole de bureau à distance qui sont spécifiques à ce type. Plus précisément, selon le mode Remote Desktop du protocole RDP, les données provenant du serveur comportent des ordres de dessins dont les coordonnées sont relatives et données par rapport à un coin supérieur gauche d’une fenêtre locale de type bureau.
Or, les données à envoyer à destination du terminal local sont des données relatives à une fenêtre locale de type application à distance. Selon le mode RemoteApp du protocole RDP, les ordres de dessin comportent des coordonnées absolues qui sont données par rapport à un coin supérieur gauche du bureau de l’ordinateur client.
Aussi, une transformation des données de dessins provenant du serveur distant est nécessaire pour procurer des données de type application à distance au terminal local.
En notant XYdessinServeur les coordonnées relatives d’un point de dessin reçues du serveur distant, la passerelle mandataire doit adresser des coordonnées absolues XYdessinAbsolu de dessin au terminal client, en translatant les dites coordonnées relatives d’un vecteur XYorigineFenetreApp indiquant les coordonnées absolues de la fenêtre locale de type application à distance, ce qui peut s’écrire :
XYdessinAbsolu = XYdessinServeur + XYorigineFenetreApp.
Les coordonnées absolues de la fenêtre locale de type application sont définies par la passerelle mandataire de plusieurs moyens. Si l’utilisateur les modifie par la suite, la passerelle recevra des messages de mise à jour via la connexion réseau.
-11 Lorsqu’un terminal local reçoit des données relatives à une fenêtre locale de type application, ces données comportent typiquement des contours de la fenêtre à afficher, tels que des icônes, une barre de titres, des boutons et des bordures. Toutefois, lorsque la passerelle mandataire reçoit des données relatives à une fenêtre locale de type bureau, les données relatives à la fenêtre locale ne comportent pas de contours de fenêtre.
Aussi, le procédé peut comporter une étape de transformation, réalisée par ladite passerelle mandataire, de données provenant dudit serveur distant et relatives à une fenêtre locale de type bureau, en des données à destination dudit terminal local et relatives à une fenêtre locale de type application, comportant une étape d’ajout d’éléments de contour de fenêtre, et de traitement, à réception de données provenant dudit terminal local, d’au moins un évènement généré au niveau desdits éléments. Typiquement, un clic sur un bouton de fermeture du contour de la fenêtre sera traité par la passerelle pour générer des ordres de fermeture de la connexion secondaire correspondante et ne plus occuper de zone de dessin sur le terminal local.
Les données à envoyer à destination du terminal local sont des données relatives à une fenêtre locale de type application à distance. Selon le mode RemoteApp du protocole RDP, les ordres de dessin comportent des coordonnées absolues qui sont données par rapport à un coin supérieur gauche du bureau de l’ordinateur client.
Le procédé P décrit sur la figure 3 comporte en outre une étape E4, mise en œuvre parallèlement à l’étape E3 lorsque le type détecté est une connexion de type bureau.
On comprend que si les coordonnées de dessins doivent subir une transformation, les coordonnées relatives à des données de commandes provenant dudit terminal local et relatives à la fenêtre locale de type application à distance doivent également subir une transformation, inverse, avant de générer des données de commande à destination du serveur distant et relatives à la fenêtre locale de type bureau.
Le procédé selon l’invention permet ainsi, pour un terminal client local, d’afficher des données provenant de connexion de type bureau dans une fenêtre locale de type application.
-12Comme il a été expliqué, lorsqu’un utilisateur affiche, sur respectivement plusieurs fenêtres locales de type application, respectivement plusieurs applications dont l’affichage est généré par un même équipement distant, ici la passerelle mandataire, dans le cas optimal, il n’existe qu’une seule connexion de type application établie entre le terminal local et la passerelle mandataire pour lesdites plusieurs applications.
Aussi, le procédé P permet à un utilisateur du terminal local d’afficher, dans des fenêtres locales de type application, à la fois un affichage d’un bureau généré par un serveur distant et un affichage généré par une application s’exécutant sur ledit serveur distant, ce qui résout le but de l’invention préalablement exposé.
Le procédé P peut aussi comprendre, préalablement à l’étape de détection, une étape de présentation au terminal local, après une étape optionnelle de connexion du terminal local à la passerelle mandataire, d’une liste de choix de serveurs distants à destination du terminal local.
La liste des serveurs distants à destination du terminal local peut dépendre de l’utilisateur du terminal local, de ses niveaux d’habilitations, etc.
La liste de serveurs distants peut comporter au moins deux choix de serveurs distants pour lesquels les types de connexion à distance sont distincts.
Il peut être intéressant, lorsqu’un utilisateur affiche, sur respectivement plusieurs fenêtres locales de type application, respectivement plusieurs applications dont l’affichage est généré par un même équipement distant, ici la passerelle mandataire, de créer autant de connexion entre le terminal local et la passerelle mandataire que d’applications, par exemple pour des raisons de sécurité.
Par défaut, une seule connexion existe entre le terminal local et la passerelle mandataire.
Dans le but de créer plusieurs connexions entre le terminal local et la passerelle mandataire, il est possible d’utiliser un champ de trame spécifique au protocole de bureau à distance pour indexer la connexion au niveau de la passerelle mandataire. De la sorte, la passerelle mandataire peut être configurée pour mutualiser plusieurs connexions au sein d’une même
-13connexion primaire ou au contraire les séparer. Le champ Load Balance Info du protocole RDP peut être utilisé par la passerelle mandataire à cet effet, deux connexions RDP présentant deux champs de valeurs différentes étant deux connexions distinctes.
L’utilisation du procédé selon l’invention permet de redimensionner une fenêtre locale de type bureau. À cet effet, le procédé selon l’invention peut comporter, alors qu’une session primaire de type application à distance affiche une fenêtre application présentant un bureau d’un serveur distant :
- une étape de détection de commandes provenant dudit terminal local et relatives à la fenêtre locale de type application, lesdites commandes correspondant à un redimensionnement de la fenêtre de type application,
- une étape de fermeture de la session secondaire de type bureau préalablement établie entre la passerelle mandataire et le serveur distant,
- une étape d’ouverture d’une deuxième session secondaire de type bureau entre la passerelle mandataire et le serveur distant, comportant des paramètres de taille correspondant au redimensionnement de ladite fenêtre application.
Les fenêtres de type bureau converties en fenêtre de type application utilisent virtuellement un bureau qui fait la taille de toutes les surfaces réunies d’écrans physiques du client local. Cela peut être disproportionnellement grand par rapport à la taille de la zone effectivement occupée par la fenêtre de type application.
Par exemple, le client local dispose de deux écrans Full HD de 1920 pixels sur 1080 et si le serveur dispose d’un écran de 800 pixels sur 600, le bureau du serveur est très petit par rapport au bureau du client local.
Ce problème n’a pas d’effet sur la taille qu’occupe l’enregistrement sur l’unité de stockage. Par contre, la vaste zone non-signification rend la visualisation de sessions enregistrées beaucoup moins aisée.
La passerelle voit passer les ordres d’affichage d’une session applicative RemoteApp comme des ordres de dessin des fenêtres de l’application sur l’ensemble des écrans du poste utilisateur.
-14Lors de l’enregistrement, si rien n’est fait, la géométrie des ordres produit un enregistrement rectangulaire englobant tous les écrans du poste utilisateur. Les fenêtres peuvent y apparaître, si elles ne sont pas en mode plein écran, perdues au milieu d’un grand rectangle noir.
Afin d’éviter cela, le procédé selon l’invention peut comporter une étape de détermination d’un rectangle de largeur et de hauteur minimum qui est calculé de façon à englober les fenêtres durant toute la durée de la session.
Seul le contenu du rectangle déterminé rectangle peut être enregistré dans une vidéo de sorte de minimiser l’espace inutile autour des fenêtres. Dans le cas où l’application n’a qu’une seule fenêtre, le rectangle déterminé correspond exactement à la surface de la fenêtre de l’application.
Pour la visualisation temps réel, le procédé peut comprendre une détermination en temps réel d’un rectangle pour englober l’ensemble des fenêtres visibles au moment du calcul. La visualisation temps réel peut donc voir sa taille varier au cours de la session.
Bien sûr, l’invention n’est pas limitée aux exemples qui viennent d’être décrits et de nombreux aménagements peuvent être apportés à ces exemples sans sortir du cadre de l’invention. De plus, les différentes caractéristiques, formes, variantes et modes de réalisation de l’invention peuvent être associés les uns avec les autres selon diverses combinaisons dans la mesure où ils ne sont pas incompatibles ou exclusifs les uns des autres.

Claims (12)

1. Procédé (P) d’affichage d’un objet graphique généré par un serveur distant (2041, 2042), sur un terminal local (2021), dans une fenêtre, dite locale, affichée sur un dispositif d’affichage du terminal local, ledit terminal local communiquant avec ledit serveur distant par l’intermédiaire d’une passerelle mandataire (206) pour le protocole de bureau à distance, ladite passerelle établissant une connexion (2061, 2062) entre ledit terminal local et ledit serveur distant, ladite connexion comportant une connexion primaire (2061 p) établie entre ledit terminal local et ladite passerelle mandataire de type application à distance, et une connexion secondaire (2061s, 2062s) établie entre ladite passerelle mandataire et ledit serveur distant, caractérisé en ce que le procédé comporte une étape (E1) de détection du type de ladite connexion secondaire et, lorsque ledit type détecté est une connexion (2062s) de type bureau, le procédé comporte en outre une étape (E3) de transformation, réalisée par ladite passerelle mandataire, de données provenant dudit serveur distant et relatives à une fenêtre locale de type bureau, en des données à destination dudit terminal local et relatives à une fenêtre locale de type application.
2. Procédé selon la revendication précédente, comportant en outre, lorsque le type détecté est une connexion de type bureau, une étape (E4) de transformation de données de commandes provenant dudit terminal local et relatives à la fenêtre locale de type application en des données de commande à destination du serveur distant et relatives à la fenêtre locale de type bureau.
3. Procédé d’affichage d’une pluralité d’objets graphiques générés par au moins un serveur distant, ledit terminal local communiquant avec l’au moins un serveur distant par l’intermédiaire d’une passerelle mandataire pour le protocole de bureau à distance, une connexion primaire établie entre ledit terminal local et ladite passerelle mandataire étant une connexion de type application à distance, et une pluralité de connexions secondaires étant établies entre ladite passerelle mandataire et l’au moins un serveur distant, comportant un procédé d’affichage selon l’une quelconque des revendications précédentes, dans lequel l’une au moins de la pluralité de connexions secondaires est de type bureau et une autre de l’une au moins de la pluralité de connexions secondaires est de type application à distance.
4. Procédé selon l’une quelconque des revendications précédentes, dans lequel le protocole de bureau à distance prévoit :
o dans le cas d’une connexion de type bureau, une génération par un serveur distant de données à destination du terminal client comportant des coordonnées relatives à un point d’origine d’une fenêtre local, o dans le cas d’une connexion de type application à distance, une génération par un serveur distant de données à destination du terminal client comportant des coordonnées absolues relatives à un point fixe d’un afficheur du terminal local.
5. Procédé selon l’une quelconque des revendications précédentes, comportant en outre une étape d’enregistrement sous forme de flux vidéo des données à destination du terminal local.
6. Procédé selon la revendication précédente, dans lequel les données à destination du terminal local sont relatives à au moins deux fenêtres locales de type application, comportant une étape de sélection d’un rectangle minimal comportant lesdites au moins deux fenêtres et, l’étape d’enregistrement étant limitée à l’enregistrement des données relatives audit rectangle minimal.
7. Procédé selon la revendication précédente, dans lequel le protocole de bureau à distance est le protocole RDP, une connexion de type bureau étant une connexion de type Remote Desktop selon ledit protocole RDP, et une connexion de type application à distance étant une connexion de type RemoteApp selon ledit protocole RDP.
8. Produit programme d’ordinateur, chargeable directement dans la mémoire interne d’un ordinateur, comprenant des portions de code de logiciel pour l’exécution des étapes du procédé selon l’une des revendications précédentes, lorsque ledit programme est exécuté sur un ordinateur.
9. Passerelle mandataire (206) pour le protocole de bureau à distance comportant une unité de calcul agencée pour mettre en œuvre un procédé selon l’une quelconque des revendications précédentes.
10. Système (200), comportant :
- au moins un terminal local (2021),
- une pluralité (204) de serveurs distants (2041,2042),
- une passerelle mandataire (206) selon la revendication précédente.
11. Système selon la revendication précédente, dans lequel l’unité de calcul est configurée pour générer une liste de choix de serveurs distants à destination d’un de l’au moins un terminal local.
12. Système selon la revendication précédente, dans lequel chacun des choix de la liste de choix correspond à un type de connexion à distance pour le protocole de bureau à distance, et dans lequel ladite liste de choix comporte au moins deux choix de serveurs distants pour lesquels les types de connexion à distance sont distincts.
FR1761185A 2017-11-24 2017-11-24 Procede et dispositif d'affichage sur un terminal local d'une application executee sur un serveur distant au moyen d'un protocole de bureau a distance Active FR3074329B1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
FR1761185A FR3074329B1 (fr) 2017-11-24 2017-11-24 Procede et dispositif d'affichage sur un terminal local d'une application executee sur un serveur distant au moyen d'un protocole de bureau a distance
EP18808440.4A EP3714364A1 (fr) 2017-11-24 2018-10-31 Procédé et dispositif d'affichage sur un terminal local d'une application exécutée sur un serveur distant au moyen d'un protocole de bureau à distance
PCT/FR2018/052702 WO2019102088A1 (fr) 2017-11-24 2018-10-31 Procédé et dispositif d'affichage sur un terminal local d'une application exécutée sur un serveur distant au moyen d'un protocole de bureau à distance
US16/766,232 US11055117B2 (en) 2017-11-24 2018-10-31 Method and device for displaying, on a local terminal, an application executed on a remote server by means of a remote office protocol
CA3082705A CA3082705A1 (fr) 2017-11-24 2018-10-31 Procede et dispositif d'affichage sur un terminal local d'une application executee sur un serveur distant au moyen d'un protocole de bureau a distance

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1761185A FR3074329B1 (fr) 2017-11-24 2017-11-24 Procede et dispositif d'affichage sur un terminal local d'une application executee sur un serveur distant au moyen d'un protocole de bureau a distance
FR1761185 2017-11-24

Publications (2)

Publication Number Publication Date
FR3074329A1 true FR3074329A1 (fr) 2019-05-31
FR3074329B1 FR3074329B1 (fr) 2021-03-05

Family

ID=61132639

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1761185A Active FR3074329B1 (fr) 2017-11-24 2017-11-24 Procede et dispositif d'affichage sur un terminal local d'une application executee sur un serveur distant au moyen d'un protocole de bureau a distance

Country Status (5)

Country Link
US (1) US11055117B2 (fr)
EP (1) EP3714364A1 (fr)
CA (1) CA3082705A1 (fr)
FR (1) FR3074329B1 (fr)
WO (1) WO2019102088A1 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11552943B2 (en) * 2020-11-13 2023-01-10 Cyberark Software Ltd. Native remote access to target resources using secretless connections
CN112783597A (zh) * 2021-02-03 2021-05-11 金蝶蝶金云计算有限公司 一种远程桌面实现方法及相关设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130283171A1 (en) * 2012-03-28 2013-10-24 Skytap Methods and systems for an intermediate graphical desktop sharing protocol

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148405A (en) * 1997-11-10 2000-11-14 Phone.Com, Inc. Method and system for secure lightweight transactions in wireless data networks
US7657837B2 (en) * 2005-04-06 2010-02-02 Ericom Software Ltd. Seamless windows functionality to remote desktop sessions regarding z-order
US20080181197A1 (en) * 2007-01-29 2008-07-31 International Business Machines Corporation Delivering Unified User Experience By Automatically Teaming Up Information Appliances With General Purpose PC Through Internet
US20160342784A1 (en) * 2011-07-15 2016-11-24 Vmware, Inc. Mobile device authentication
WO2013110857A1 (fr) * 2012-01-24 2013-08-01 Ssh Communications Security Oyj Audit d'accès privilégié
US10432681B1 (en) * 2013-04-24 2019-10-01 Parallels International Gmbh Method and system for controlling local display and remote virtual desktop from a mobile device
US9699261B2 (en) * 2014-01-14 2017-07-04 Cyber-Ark Software Ltd. Monitoring sessions with a session-specific transient agent
US20150271162A1 (en) * 2014-03-18 2015-09-24 Cyber-Ark Software Ltd. Systems and methods for controlling sensitive applications
US20180054471A1 (en) * 2015-05-15 2018-02-22 Hewlett-Packard Development Company, L.P. Hardware Bus Redirection
FR3041492B1 (fr) * 2015-09-21 2017-10-06 Wallix Procede de connexion securise, depuis un equipement informatique client, a une ressource informatique.
US11287967B2 (en) * 2016-11-03 2022-03-29 Microsoft Technology Licensing, Llc Graphical user interface list content density adjustment
US10270888B2 (en) * 2016-12-05 2019-04-23 Parallels International Gmbh System and method for selecting connection mode between a client and a server
US10587713B2 (en) * 2017-02-14 2020-03-10 Wyse Technology L.L.C. Proxy for sharing remote desktop sessions

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130283171A1 (en) * 2012-03-28 2013-10-24 Skytap Methods and systems for an intermediate graphical desktop sharing protocol

Also Published As

Publication number Publication date
US11055117B2 (en) 2021-07-06
CA3082705A1 (fr) 2019-05-31
FR3074329B1 (fr) 2021-03-05
US20200371822A1 (en) 2020-11-26
EP3714364A1 (fr) 2020-09-30
WO2019102088A1 (fr) 2019-05-31

Similar Documents

Publication Publication Date Title
US10827011B2 (en) Presence enhanced co-browsing customer support
US9686497B1 (en) Video annotation and dynamic video call display for multi-camera devices
US7386807B2 (en) System and method for monitoring application response and providing visual treatment
AU2016200352B2 (en) Method and system to provide video-based search results
CN101484886A (zh) 动态共享基于应用的屏幕采样的一部分显示的方法和装置
US10986229B2 (en) Interactive user interface for profile management
CN101860549B (zh) 一种Web Service下访问会话数据处理方法及装置
US10320750B1 (en) Source specific network scanning in a distributed environment
FR3074329A1 (fr) Procede et dispositif d'affichage sur un terminal local d'une application executee sur un serveur distant au moyen d'un protocole de bureau a distance
US20170104740A1 (en) Mobile-optimized captcha system based on multi-modal gesture challenge and mobile orientation
EP3769196A1 (fr) Procede d'interaction entre d'une part au moins un utilisateur et/ou un premier dispositif electronique et d'autre part un second dispositif electronique
CN106817618B (zh) 弹窗显示方法及装置、包括该弹窗显示装置的电子设备
US20220108025A1 (en) Testing instrumentation for intrusion remediation actions
FR3087911A1 (fr) Authentification par pointage et cliquage
CN110889057A (zh) 业务数据可视化方法和业务对象可视化装置
FR3039906A1 (fr) Procede de partage interactif d'applications et de donnees entre ordinateurs a ecran tactile et programme d'ordinateur pour la mise en œuvre dudit procede
WO2017194777A1 (fr) Système permettant la création et le déploiement d'applications multiplateformes
US20140149488A1 (en) System and method for engaging a mobile device
CA2630766A1 (fr) Procede de test de reseau de communication par l'intermediaire d'un terminal
EP3644146A1 (fr) Dispositif d'enregistrement d'intrusion informatique
CN111786934A (zh) 检测客户端正常用户的方法以及装置
TWI639098B (zh) 個人金融資訊整合系統與方法
WO2021122410A1 (fr) Procédé et système de visualisation d'un contenu numérique affiché par un appareil électronique
EP3021552B1 (fr) Procédés, dispositifs et programme d'ordinateur pour communiquer via un espace d'interaction partagé
CN117041655A (zh) 一种视频实时回放方法、装置、机器可读介质及设备

Legal Events

Date Code Title Description
PLSC Publication of the preliminary search report

Effective date: 20190531

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7