When a user exploits virtualization software and navigates through or to a redirected client drive in a remote session then the file management application may refresh the directory/folder content very slowly, spending significantly more time than expected according to the amount of data, network speed and latency. Whilst this refreshing is being performed no actions with the file management application can be performed by the user. Accordingly to address this a system or method are provided that cache metainformation for files, folders, and subfolders, e.g. upon a network resource, in a driver which responds to a query directory and other related requests by filling a provided buffer with the cached data. Further, this driver may filter out some particular files from the results if a filtering option is selected to further reduce latency.
H04L 67/1097 - Protocoles dans lesquels une application est distribuée parmi les nœuds du réseau pour le stockage distribué de données dans des réseaux, p.ex. dispositions de transport pour le système de fichiers réseau [NFS], réseaux de stockage [SAN] ou stockage en réseau [NAS]
H04L 67/561 - Ajout de données fonctionnelles à l’application ou de données de commande de l’application, p.ex. métadonnées
H04L 67/568 - Stockage temporaire des données à un stade intermédiaire, p.ex. par mise en antémémoire
2.
Allocation of server resources in remote-access computing environments
The subject matter of this specification can be implemented in, among other things, a method and a system to perform the method that includes receiving a request from a client device to execute an application, selecting servers that provide remote desktop environment and host the requested application, determining, based on a priority level for a client session to be established, a capacity of system resources and a current utilization level of each server, that the client device is to be directed to a first server, the first server having an expected utilization level that satisfies a threshold condition, and directing the request to the first server to establish the client session and to execute the requested application as part of the client session.
H04L 67/1012 - Sélection du serveur pour la répartition de charge basée sur la conformité des exigences ou des conditions avec les ressources de serveur disponibles
3.
Connecting to remote access session based on proximity of mobile device
The subject matter of this specification can be implemented in, among other things, a method that includes storing first client information identifying a first client device, identifying a location of the first client device, and identifying a first remote access session that provides the first client device access to resources of the remote access system. The method further includes receiving access information identifying an access device and a user account associated with the first client information. The access information indicates that the user account has been successfully authenticated by the access device. The method further includes, in response to the receipt of the access information, causing the first client device to connect to the first remote access session with the remote access system as a background process of the client device while a user interface of the client device remains locked.
G09G 5/00 - Dispositions ou circuits de commande de l'affichage communs à l'affichage utilisant des tubes à rayons cathodiques et à l'affichage utilisant d'autres moyens de visualisation
Disclosed are systems and methods for providing improved rendering of graphical user interfaces for remote applications executing within remote sessions. A remote session client that renders the graphical user interface (GUI) for a remote application is configured to detect certain mouse events that would trigger window move events. In doing so, the remote session client may handle rendering the window GUI locally rather than wait for window move events from the remote application. The remote session client may be further configured to predict using calculated resize patterns how the window content image changes while the remote application's window is being resized.
G06F 3/048 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI]
G06F 3/04845 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] pour la commande de fonctions ou d’opérations spécifiques, p.ex. sélection ou transformation d’un objet, d’une image ou d’un élément de texte affiché, détermination d’une valeur de paramètre ou sélection d’une plage de valeurs pour la transformation d’images, p.ex. glissement, rotation, agrandissement ou changement de couleur
G06F 9/451 - Dispositions d’exécution pour interfaces utilisateur
5.
Systems and methods for managing chain of software applications
Disclosed are systems and methods for managing software applications. The system receives, via a graphical user interface, a request to generate a chain application with a sequence of execution comprising a first application and a second application. In response to determining that an output type of the first application is not compatible with an input type of the second application, the system updates, without further user input, the sequence of execution such that the second application precedes the first application. The system generates the chain application configured to execute the first application and the second application in the updated sequence of execution.
G06F 9/48 - Lancement de programmes; Commutation de programmes, p.ex. par interruption
G06F 3/04817 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] fondées sur des propriétés spécifiques de l’objet d’interaction affiché ou sur un environnement basé sur les métaphores, p.ex. interaction avec des éléments du bureau telles les fenêtres ou les icônes, ou avec l’aide d’un curseur changeant de comport utilisant des icônes
Virtual computer systems (virtual machines) have become increasingly common with the evolution of virtualization technology, cloud computing, etc. However, as a virtual machine and its associated guest operating system seek to execute and/or access a page of memory through synchronous processes execution of the virtual processor associated with the virtual processing is blocked until the page of memory is locked and available. Accordingly, time is wasted on calls waiting for physical page availability thereby reducing utilization of the host machine and virtual machine respectively. To address this an asynchronous virtual machine environment is established allowing the virtual machine or physical machine to handle additional operations whilst waiting for physical page availability.
G06F 9/455 - Dispositions pour exécuter des programmes spécifiques Émulation; Interprétation; Simulation de logiciel, p.ex. virtualisation ou émulation des moteurs d’exécution d’applications ou de systèmes d’exploitation
Disclosed are systems and methods for managing notifications from published applications. A method for managing notifications from one or more published applications includes detecting, by a server, a notification from the one or more published applications launched by a user at a client device, forming a notification packet containing information from the notification, and causing the notification packet to be provided to the client device.
H04L 51/224 - Surveillance ou traitement des messages en fournissant une notification sur les messages entrants, p.ex. des poussées de notifications des messages reçus
The subject matter of this specification can be implemented in, among other things, a method that includes establishing, by a host server running an application, a connection to a client device; obtaining, based on an identifier of the client device, a profile of the client device comprising an identifier of a local device that was associated with the client device during a prior connection of the client device to the host server; and causing, based on the identifier of the local device, a driver for the local device to be available for execution on the host server, wherein the driver for the local device is to convert data between a data format accessible to the application and a data format accessible to the local device.
With multiple software applications, multiple electronic devices for a user to access and work upon, and multiple potential storage locations for the files it is difficult for a user to remember the identity of a file worked upon, its storage location, or which application they employed. Whilst some applications provide a user with a listing of recently opened files these are only those accessed by that specific application upon a specific device. Embodiments of the invention provide users with a synthesized centralized view of all files accessed irrespective of where the user has stored the electronic content, with which electronic device the electronic content was accessed with, or with which software application the electronic content was accessed with.
With multiple software applications, multiple electronic devices for a user to access and work upon, and multiple potential storage locations for the files it is difficult for a user to remember the identity of a file worked upon, its storage location, or which application they employed. Whilst some applications provide a user with a listing of recently opened files these are only those accessed by that specific application upon a specific device. Embodiments of the invention provide users with a synthesized centralized view of all files accessed irrespective of where the user has stored the electronic content, with which electronic device the electronic content was accessed with, or with which software application the electronic content was accessed with.
Systems and methods for pre-fetching data based on memory usage patterns. An example method comprises: receiving a first memory access request identifying a first memory block; receiving a second memory access request identifying a second memory block; update a memory access tracking data structure by incrementing a sequence counter corresponding to a memory access sequence that references the first memory block and the second memory block; receive a third memory access request identifying a third memory block; identifying, based on the memory access tracking data structure, a sequence counter having a maximal value among sequence counters associated with memory access sequences that reference the third memory block; and pre-fetching a fourth memory block corresponding to the identified sequence counter.
Disclosed are systems and methods for managing computing resources for a remote session that has been established between a client and a remote server via a communication channel. Such a remote session is configured to automatically adapt image quality of the remote session based on a network status of the communication channel. The described technique includes detecting an inactive state of the remote session, and in turn, modifying at least one network setting of the client using a network shaping rule specified to artificially reduce a network quality of the communication channel used by the client for traffic of the remote session, so as to cause the client to reduce image quality of the remote session and reduce an amount of data exchanged between the remote server and the client.
H04L 47/36 - Commande de flux; Commande de la congestion en déterminant la taille des paquets, p.ex. l’unité de transfert maximale [MTU]
H04L 67/025 - Protocoles basés sur la technologie du Web, p.ex. protocole de transfert hypertexte [HTTP] pour la commande à distance ou la surveillance à distance des applications
H04L 47/10 - Commande de flux; Commande de la congestion
H04L 47/25 - Commande de flux; Commande de la congestion le débit étant modifié par la source lors de la détection d'un changement des conditions du réseau
Virtualization exploits virtual rather than actual elements such as computer hardware platforms, storage devices, and computer network resources for example. However, prior art techniques have limitations including, for example, memory requirements and resource requirements which typically either limit their deployment to remote server based systems or limit the number of concurrent virtual machines a system can support. Embodiments of the invention address these limitations by supporting application virtualization on foreign operating systems with reduced resource usage by removing the requirement for virtualization of the entire foreign operating system. The inventive virtualization provides creation of an isolated memory space with isolated code execution using hardware assistance.
G06F 9/455 - Dispositions pour exécuter des programmes spécifiques Émulation; Interprétation; Simulation de logiciel, p.ex. virtualisation ou émulation des moteurs d’exécution d’applications ou de systèmes d’exploitation
Systems arid methods for implementing client-side load balancing for remote application servers. An example method comprises receiving, by a publishing server, an application server status information reflecting computing resource utilization by each application server of a plurality of application servers; receiving a request initiated by a client computing device to access a published application executable by at least a subset of the plurality of application servers; and responsive to determining that a load metric reflecting performance of the publishing server exceeds a threshold value, transmitting an instruction to the client computing device to perform client-side load balancing using a snapshot of the application server status information to select an application server of the subset of the plurality of application servers.
H04L 67/1008 - Sélection du serveur pour la répartition de charge basée sur les paramètres des serveurs, p.ex. la mémoire disponible ou la charge de travail
H04L 67/08 - Protocoles spécialement adaptés à l'émulation du terminal, p.ex. Telnet
G06F 11/34 - Enregistrement ou évaluation statistique de l'activité du calculateur, p.ex. des interruptions ou des opérations d'entrée–sortie
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
A method for providing high availability Virtual Desktop Infrastructure (VDI) includes determining, by a VDI client and based on connection information for a first VDI broker associated with a first datacenter, whether a connection to the first VDI broker is available, and responsive to determining that the connection to the first VDI broker associated with the first datacenter is available, connecting the VDI client to a first VDI broker associated with a first datacenter. The method also includes sending authentication information pertaining to the user to the first VDI broker to authenticate the user through a domain controller, receiving, from the first VDI broker, a list of desktop pools available for one or more groups containing the user that has been authenticated with the first VDT broker, sending, to the first VDI broker, a desktop pool identifier associated with a desktop pool from the list of available desktop pools, receiving, from the first VDI broker, an address of a desktop selected from the desktop pool associated with the desktop pool identifier sent to the VDI broker, and providing the selected desktop to the user.
H04L 67/562 - Courtage des services de mandataires
H04L 67/1095 - Réplication ou mise en miroir des données, p.ex. l’ordonnancement ou le transport pour la synchronisation des données entre les nœuds du réseau
H04L 67/1097 - Protocoles dans lesquels une application est distribuée parmi les nœuds du réseau pour le stockage distribué de données dans des réseaux, p.ex. dispositions de transport pour le système de fichiers réseau [NFS], réseaux de stockage [SAN] ou stockage en réseau [NAS]
A toolbox application presents a user interface on a client device, and receives a natural language search query provided by a user of the client device that identifies a desired functionality to be performed for the user. The toolbox application determines whether any of a plurality of accessible utility components accessible is capable of performing the desired functionality specified in the search query. Responsive to determining that none of the accessible utility components is capable of performing the desired functionality, the toolbox application sends a request comprising the natural language search query to a server that maintains library of a plurality of utility components.
A processing device in a host computer system receives an instruction to write data to a storage device coupled to the host computer system and store a copy of the data in a cache of the host computer system. The processing device initiates a write operation to write the data from the cache to the storage device and detects that the storage device is disconnected from the host computer system during execution of the write operation. In response to detecting that the storage device is disconnected, the processing device may suspend execution of at least one of a virtual machine or a process that issued the first instruction. After determining that the storage device is reconnected to the host computer system, the processing device can resume the write operation to continue writing the data from the cache to the storage device. The processing device may further cache read data requested from the storage device so that the virtual machine can continue to access the read data from the cache in the event that the storage device is disconnected.
G06F 9/455 - Dispositions pour exécuter des programmes spécifiques Émulation; Interprétation; Simulation de logiciel, p.ex. virtualisation ou émulation des moteurs d’exécution d’applications ou de systèmes d’exploitation
G06F 3/06 - Entrée numérique à partir de, ou sortie numérique vers des supports d'enregistrement
18.
Method to determine use of local and remote applications in a distributed multiuser environment for shared file resources
The subject matter of this specification can be implemented in, among other things, a method that includes determining, by a first computing device, a set of remote applications hosted by a second computing device including file type associations for each remote application. The first computing device determines a set of local applications and their file type associations. The each file type associated with a remote application, the first computing device determines whether the file type is also associated with a local application. Responsive to determining that the file type is associated with both a remote and local application, the first computing device configures a proxy component with parameters specifying the remote application and the local application. The proxy component is configured to determine whether to open a requested file of the file type with the remote application or the local application based upon the current client/server environment.
H04L 67/025 - Protocoles basés sur la technologie du Web, p.ex. protocole de transfert hypertexte [HTTP] pour la commande à distance ou la surveillance à distance des applications
H04L 67/12 - Protocoles spécialement adaptés aux environnements propriétaires ou de mise en réseau pour un usage spécial, p.ex. les réseaux médicaux, les réseaux de capteurs, les réseaux dans les véhicules ou les réseaux de mesure à distance
G06F 16/178 - Techniques de synchronisation des fichiers dans les systèmes de fichiers
19.
Creating virtual machine snapshots without interfering with active user sessions
Systems and methods for creating virtual machine snapshots. An example method comprises: receiving a request to create a snapshot of a virtual machine running on a host computer system; protecting from modification a plurality of virtual memory pages of the virtual machine; responsive to detecting an attempt to modify a virtual memory page of the plurality of memory pages, copying the virtual memory page to a queue residing in a random access memory (RAM) of the host computer system; making the virtual memory page writable; retrieving the virtual memory page from the queue; writing the virtual memory page to a disk of the host computer system; and responsive to exhausting the queue, completing creation of the snapshot of the virtual machine.
G06F 3/06 - Entrée numérique à partir de, ou sortie numérique vers des supports d'enregistrement
G06F 9/455 - Dispositions pour exécuter des programmes spécifiques Émulation; Interprétation; Simulation de logiciel, p.ex. virtualisation ou émulation des moteurs d’exécution d’applications ou de systèmes d’exploitation
Systems and methods for facilitating access to files that are stored by network-accessible file storage services. An example system comprises a plurality of file access nodes including a control node, wherein the control node is configured to: receive a file access request initiated by a client, wherein the file access request comprises an identifier of a file, an identifier of a file storage service, and an access token associated with the file stored by the file storage service; request, using the access token, metadata associated with the file from the file storage service; define, using the metadata, a plurality of portions forming the file; and forward, to the plurality of file access nodes, identifiers of the plurality of portions.
G06F 15/173 - Communication entre processeurs utilisant un réseau d'interconnexion, p.ex. matriciel, de réarrangement, pyramidal, en étoile ou ramifié
H04L 67/1097 - Protocoles dans lesquels une application est distribuée parmi les nœuds du réseau pour le stockage distribué de données dans des réseaux, p.ex. dispositions de transport pour le système de fichiers réseau [NFS], réseaux de stockage [SAN] ou stockage en réseau [NAS]
H04L 67/06 - Protocoles spécialement adaptés au transfert de fichiers, p.ex. protocole de transfert de fichier [FTP]
21.
System and method for rapid cloning of virtual machines under load balancing
A system and method is provided for managing virtualized computing resources. An exemplary method includes executing a computing service comprised of virtualized computing resources including a first virtual machine and a network address mapping module. The method further includes, responsive to receiving an indication that additional virtualized computing resources are needed to handle one or more requests from a client and directed to the computing service, generating a second virtual machine that can handle requests for the computing service by performing a linked cloning operation of the first virtual machine. The method includes, configuring the network address mapping module to modify requests for the second virtual machine, such that the second virtual machine has the same network address as the first virtual machine.
G06F 9/455 - Dispositions pour exécuter des programmes spécifiques Émulation; Interprétation; Simulation de logiciel, p.ex. virtualisation ou émulation des moteurs d’exécution d’applications ou de systèmes d’exploitation
G06F 9/50 - Allocation de ressources, p.ex. de l'unité centrale de traitement [UCT]
An example method of hardware-assisted graphics pipeline emulation comprises: computing, based on an input set of graphic primitives, a set of tessellation factors; computing, based on the input set of graphic primitives, a set of points specifying a plurality of patches; computing, based on the set of points, a tessellation count buffer; generating, based on the set of points and the tessellation count buffer, a tessellation offset buffer; performing, using the tessellation offset buffer, a tessellation setup stage; performing, by a graphics processing unit (GPU), a tessellation stage based on the set of tessellation factors, wherein the tessellation stage generates a plurality of output points corresponding to one or more patches of the plurality of patches; and computing, by a domain shader stage, a plurality of vertex positions defined by the plurality of output points.
Text entry is a significant part of human-computer interactions. Software application vendors have sought to minimize time spent on repeated input of defined information. However, such approaches have limitations which the inventors have addressed such that field population is contextually aware either so that specific sets of user entered data are not accessible in all situations, only specific sets of user entered data are accessible in all situations, sensitive data is automatically removed from data being stored and a specific set of data to be employed based upon a context of the user and/or software application. Further, enhancements to address the additional complexities of remote clients are presented allowing a filling or auto-fill process to follow the program rules, follow text attributes etc. whilst supporting input from different sources such as a keyboard (physical or virtual), human interface devices (HIDs), clipboard(s), another remote client or virtual device.
G06F 9/451 - Dispositions d’exécution pour interfaces utilisateur
G06F 3/0484 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] pour la commande de fonctions ou d’opérations spécifiques, p.ex. sélection ou transformation d’un objet, d’une image ou d’un élément de texte affiché, détermination d’une valeur de paramètre ou sélection d’une plage de valeurs
G06F 3/0482 - Interaction avec des listes d’éléments sélectionnables, p.ex. des menus
24.
Generating tie code fragments for binary translation
Systems and methods for binary translation of executable code. An example binary translation method comprises: decoding a current source code fragment compatible with a source instruction set architecture (ISA); identifying a first source register referenced by the current source code fragment; determining that the first source register is not referenced by a register mapping table, wherein the register mapping table comprises a plurality of entries, each entry specifying a source register, a target register, and a weight value; identifying, among the plurality of mapping table entries, a mapping table entry comprising a highest weight value, wherein the identified mapping table entry specifies a second source register and a second target register; replacing, in the identified mapping table entry, an identifier of the second source register with an identifier of the first source register; and translating, using the mapping table entry, the current source code fragment into a target code fragment, wherein the target code fragment is compatible with a target ISA.
Disclosed are systems and methods for providing layouts for a remote desktop session. According to one aspect, a method comprises receiving, at a remote application server, a request from a client device to initiate a remote desktop session, extracting configuration information regarding the client device from the request, retrieving, from a database, a layout that defines one or more remote applications and configurations for the one or more remote applications executing on the remote desktop session, initiating the remote desktop session with the client device, launching the one or more remote applications defined in the layout and configuring the one or more remote applications according to the configurations.
A system and method that provides customized graphical user interfaces on mobile devices based on user inputs. An exemplary method includes detecting a computing device remotely connected to a remote server over a network and having an active session of a software application running on the remote server. Moreover, the method further includes identifying and selecting one or more hotkey buttons based on the detected software application, transmitting the one or more hotkey buttons to the computing device to be displayed in a customized interface while the software application is active, detecting an activation of the one or more hotkey buttons displayed on the computing device, and executing, by the remote server, an operation for the active software application in response to the activation of the one or more hotkey button by the user.
G06F 3/01 - Dispositions d'entrée ou dispositions d'entrée et de sortie combinées pour l'interaction entre l'utilisateur et le calculateur
G06F 9/451 - Dispositions d’exécution pour interfaces utilisateur
H04L 67/141 - Configuration des sessions d'application
G06F 3/04886 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] utilisant des caractéristiques spécifiques fournies par le périphérique d’entrée, p.ex. des fonctions commandées par la rotation d’une souris à deux capteurs, ou par la nature du périphérique d’entrée, p.ex. des gestes en fonction de la pression exer utilisant un écran tactile ou une tablette numérique, p.ex. entrée de commandes par des tracés gestuels par partition en zones à commande indépendante de la surface d’affichage de l’écran tactile ou de la tablette numérique, p.ex. claviers virtuels ou menus
G06F 3/0482 - Interaction avec des listes d’éléments sélectionnables, p.ex. des menus
H04L 67/75 - Services réseau en affichant sur l'écran de l'utilisateur les conditions du réseau ou d'utilisation
The subject matter of this specification describes a method that includes determining when to send a user selection of a first key on a keyboard to an operating system, where the operating system supports shortcut key combinations. The device identifies the user selection of the first key, as input for an application. The device determines that the first key is part of a shortcut key combination. The processing device determines whether a cursor is visible in a user interface provided by the application. Upon determining that the cursor is visible in the user interface, the device waits for another user selection of one or more remaining keys of the shortcut key combinations before sending the first key to the operating system. Upon determining that the cursor is not visible in the user interface, the device sends the first key to the operating system without waiting for another user selection.
G06F 3/0489 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] utilisant des caractéristiques spécifiques fournies par le périphérique d’entrée, p.ex. des fonctions commandées par la rotation d’une souris à deux capteurs, ou par la nature du périphérique d’entrée, p.ex. des gestes en fonction de la pression exer utilisant des touches de clavier dédiées ou leurs combinaisons
H03K 17/967 - Commutateurs actionnés par le déplacement d'un élément incorporé dans ce commutateur ayant une pluralité d'éléments de commande, p.ex. clavier
G06F 3/023 - Dispositions pour convertir sous une forme codée des éléments d'information discrets, p.ex. dispositions pour interpréter des codes générés par le clavier comme codes alphanumériques, comme codes d'opérande ou comme codes d'instruction
G06F 3/0481 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] fondées sur des propriétés spécifiques de l’objet d’interaction affiché ou sur un environnement basé sur les métaphores, p.ex. interaction avec des éléments du bureau telles les fenêtres ou les icônes, ou avec l’aide d’un curseur changeant de comport
28.
System and method for detecting when geometry shaders output a constant amount of data
Disclosed herein are systems and methods for detecting when geometry shaders output a constant amount of data and writing the data into an output stream buffer. In one aspect, an exemplary method comprises gathering information about a number of block executions associated with the received data, analyzing the gathered information to determine whether constant or variable amount of data is generated for at least one of: a stream output or a rasterization, and when the constant amount of data is generated for the stream output, writing the generated data directly into a stream output buffer, and when the constant amount of data is generated for the rasterization, writing the generated data into a rasterization buffer either directly or through a use of an intermediate index buffer.
A permissions management system (PMS) defines the permissions associated with a user and thereby the activities the user can perform with any specific object and/or application or class of objects and/or applications. However, such a PMS requires an administrator to either authorise each permission individually or default permissions to a configuration previously established. The former is time consuming and the latter does not eliminate the former in establishing the roles initially or new roles or custom configurations. According, methods and systems for automating the establishment of permissions and their ongoing maintenance are presented based upon an initial discovery phase of actions performed by either the user or an administrator followed by an automated harmonization phase and a verification phase. This verification phase may employ human interactions or be automated exploiting an artificial intelligence engine.
A method is provided that includes establishing, by an application server, a remote access session with a client device, and creating, by a file system agent running on the application server, a metadata-only virtual file system associated with the remote access session, wherein the virtual file system only comprises file metadata associated with a plurality of files residing in a local file system of the client device. The method further includes responsive to receiving, by the virtual file system, a request to access content of a file referenced by the virtual file system, redirecting the request to a file system driver implementing at least a sub-tree of the local file system of the client device.
G06F 16/13 - Structures d’accès aux fichiers, p.ex. indices distribués
G06F 16/16 - Opérations sur les fichiers ou les dossiers, p.ex. détails des interfaces utilisateur spécialement adaptées aux systèmes de fichiers
H04L 67/08 - Protocoles spécialement adaptés à l'émulation du terminal, p.ex. Telnet
H04L 67/025 - Protocoles basés sur la technologie du Web, p.ex. protocole de transfert hypertexte [HTTP] pour la commande à distance ou la surveillance à distance des applications
31.
Optimization of configurable distributed computing systems
The subject matter of this specification can be implemented in, among other things, a method that includes accessing a plurality of target tasks for a computing system, the computing system comprising a plurality of resources, wherein the plurality of resources comprises a first server and a second server, accessing a plurality of configurations of the computing system, wherein each of the plurality of configurations identifies one or more resources of the plurality of resources to perform the respective target task of the plurality of target tasks, and performing, for each of the plurality of configurations, a simulation to determine a plurality of performance metrics, wherein each of the plurality of performance metrics predicts performance of at least one of the plurality of resources executing the plurality of target tasks on the computing system.
G06F 17/00 - TRAITEMENT ÉLECTRIQUE DE DONNÉES NUMÉRIQUES Équipement ou méthodes de traitement de données ou de calcul numérique, spécialement adaptés à des fonctions spécifiques
G06F 30/20 - Optimisation, vérification ou simulation de l’objet conçu
G06F 9/50 - Allocation de ressources, p.ex. de l'unité centrale de traitement [UCT]
G06F 9/451 - Dispositions d’exécution pour interfaces utilisateur
32.
Methods and systems for seamless virtual machine changing for software applications
A method and a system to perform the method are disclosed, the method includes receiving, by a virtualization server communicatively coupled with a client device, a request to provide a virtual machine (VM) to a client device, accessing a profile associated with the client device, instantiating a VM on the virtualization server, wherein the VM is a linked clone VM of a base VM, wherein the linked clone VM has (1) a read-only access to a shared range of a persistent memory associated with the base VM, wherein the shared range of the persistent memory is determined in view of the profile associated with the client device and stores at least one application installed on the virtualization server, (2) a write access to a private range of the persistent memory, wherein the private range is associated with the VM, and providing the VM to the client device.
G06F 9/455 - Dispositions pour exécuter des programmes spécifiques Émulation; Interprétation; Simulation de logiciel, p.ex. virtualisation ou émulation des moteurs d’exécution d’applications ou de systèmes d’exploitation
G06F 11/34 - Enregistrement ou évaluation statistique de l'activité du calculateur, p.ex. des interruptions ou des opérations d'entrée–sortie
G06F 9/50 - Allocation de ressources, p.ex. de l'unité centrale de traitement [UCT]
33.
System and method for sharing electronic data using a mobile device
A system and method are provided for sharing electronic data on a personal computing device using a connected mobile electronic device. An exemplary system includes a client module installed on a mobile device that identifies a list Of data sharing services installed on the mobile device, at least one data sharing service configured to share data to a remote device and transmit the list indicating to a computing device. Moreover, an agent module installed on the computing device selects one or more electronic files to be shared by the mobile device and selects the one of the data sharing services for sharing the selected electronic files. The agent module can then transmit the selected electronic files to the mobile device for data sharing using the selected data sharing service.
Disclosed are systems and methods for seamlessly redirecting network data between a client and a remote server. In one exemplary aspect, the method comprises receiving, at a remote server, the network data via a first remote desktop protocol (RDP) channel, wherein the network data is encapsulated and transmitted by a client device configured to communicate with the remote server. The method further comprises replacing a MAC address listed in the network data with a MAC address of a logical network adapter on the remote server, and placing received network packets into a network driver of the logical network adapter, wherein the logical network adapter transfers received data in an operating system of the remote server such that a server-side application on the remote server receives network packets from the client device.
When a user exploits virtualization software and navigates through or to a redirected client drive in a remote session then the file management application may refresh the directory/folder content very slowly, spending significantly more time than expected according to the amount of data, network speed and latency. Whilst this refreshing is being performed no actions with the file management application can be performed by the user. Accordingly to address this a system or method are provided that cache metainformation for files, folders, and subfolders, e.g. upon a network resource, in a driver which responds to a query directory and other related requests by filling a provided buffer with the cached data. Further, this driver may filter out some particular files from the results if a filtering option is selected to further reduce latency.
H04L 67/06 - Protocoles spécialement adaptés au transfert de fichiers, p.ex. protocole de transfert de fichier [FTP]
H04L 67/1097 - Protocoles dans lesquels une application est distribuée parmi les nœuds du réseau pour le stockage distribué de données dans des réseaux, p.ex. dispositions de transport pour le système de fichiers réseau [NFS], réseaux de stockage [SAN] ou stockage en réseau [NAS]
Systems and methods for file sharing over secure connections. An example method comprises: receiving a client request identifying a file sharing host and a file residing on the file sharing host; establishing a secure client connection; responsive to identifying a management connection with the file sharing host, transmitting an identifier and a parameter of the secure client connection via the management connection; receiving a host request to establish a secure host connection, the host request comprising the identifier of the secure client connection; establishing the secure host connection using the parameter of the secure client connection identified by the received identifier; forwarding, over the secure host connection, a first data packet received over the secure client connection, the first data packet comprising at least part of the client request; and forwarding, over the secure client connection, a second data packet received over the secure host connection, the second data packet comprising at least part of the file identified by the client request.
G06F 21/00 - Dispositions de sécurité pour protéger les calculateurs, leurs composants, les programmes ou les données contre une activité non autorisée
H04L 67/06 - Protocoles spécialement adaptés au transfert de fichiers, p.ex. protocole de transfert de fichier [FTP]
H04L 67/1097 - Protocoles dans lesquels une application est distribuée parmi les nœuds du réseau pour le stockage distribué de données dans des réseaux, p.ex. dispositions de transport pour le système de fichiers réseau [NFS], réseaux de stockage [SAN] ou stockage en réseau [NAS]
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
The subject matter of this specification can be implemented in, among other things, a method and a system to perform the method that includes receiving a request from a client device to execute an application, selecting servers that provide remote desktop environment and host the requested application, determining, based on a priority level for a client session to be established, a capacity of system resources and a current utilization level of each server, that the client device is to be directed to a first server, the first server having an expected utilization level that satisfies a threshold condition, and directing the request to the first server to establish the client session and to execute the requested application as part of the client session.
H04L 67/1012 - Sélection du serveur pour la répartition de charge basée sur la conformité des exigences ou des conditions avec les ressources de serveur disponibles
38.
System and method for controlling remote sessions executing on other devices
Disclosed are systems and methods for managing an application executing in a remote session. A user device (e.g., mobile device) creates a control communication session for an application executing within a remote session established between a remote application server and a client device. This application is being displayed by the client device. The user device receives metadata indicating a subset of user actions available from the application, and uses it to generate, for display on the user device, a graphical user interface. The graphical user interface is configured to, when activated by user input, inject input commands into the remote session for the application.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p.ex. pour le traitement simultané de plusieurs programmes
H04L 67/125 - Protocoles spécialement adaptés aux environnements propriétaires ou de mise en réseau pour un usage spécial, p.ex. les réseaux médicaux, les réseaux de capteurs, les réseaux dans les véhicules ou les réseaux de mesure à distance en impliquant la commande des applications des terminaux par un réseau
H04L 67/141 - Configuration des sessions d'application
Systems and methods for managing user input for a remote application session between a client device and a remote server are provided. Input command data is received from a client device for an application executing within a remote session established between the client device and the remote server. The input command data specifies a plurality of points within a graphical user interface where the input command data was captured on the client device. Spline curves are calculated based on a first subset of sequential points from the plurality of points. Simulated input events are generated that specify intermediate points calculated along the spline curves. The simulated input events are injected into the remote server for the application.
G06T 11/20 - Traçage à partir d'éléments de base, p.ex. de lignes ou de cercles
G06F 9/451 - Dispositions d’exécution pour interfaces utilisateur
G06F 3/0354 - Dispositifs de pointage déplacés ou positionnés par l'utilisateur; Leurs accessoires avec détection des mouvements relatifs en deux dimensions [2D] entre le dispositif de pointage ou une partie agissante dudit dispositif, et un plan ou une surface, p.ex. souris 2D, boules traçantes, crayons ou palets
40.
Managing application windows of applications from different servers within a same browser window on a user device
A processing device sends a request from a remote access client to a first remote application server to access a first application being hosted by the first remote application server, receives instructions from the first remote application server to display a first application window within a browser window of a browser on a display of the client device, creates the first application window within the browser window based on the instructions. The processing device sends a request to a second remote application server to access a second application being hosted by the second remote application server, receives instructions from the second remote application server to display a second application window within the browser window, and creates the second application window for the second application within the browser window based on the instructions. The second application window is displayed within the browser window together with the first application window.
G06F 3/0481 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] fondées sur des propriétés spécifiques de l’objet d’interaction affiché ou sur un environnement basé sur les métaphores, p.ex. interaction avec des éléments du bureau telles les fenêtres ou les icônes, ou avec l’aide d’un curseur changeant de comport
H04L 67/02 - Protocoles basés sur la technologie du Web, p.ex. protocole de transfert hypertexte [HTTP]
G06F 40/14 - Documents en configuration arborescente
G06F 3/0489 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] utilisant des caractéristiques spécifiques fournies par le périphérique d’entrée, p.ex. des fonctions commandées par la rotation d’une souris à deux capteurs, ou par la nature du périphérique d’entrée, p.ex. des gestes en fonction de la pression exer utilisant des touches de clavier dédiées ou leurs combinaisons
Incompatible graphics frameworks present a barrier to emulating applications of one operating system (guest OS) upon a computer system employing a different operating system (host OS) such as occurs with virtual machines. Accordingly, in order to address limitations of emulating guest OS graphic pipelines upon the host OS the inventors have established methodologies for cross-platform graphics pipeline emulation, thus enabling efficient implementations of cross-platform virtualization solutions, through the establishment of emulation keys to support generic and specific graphics pipelines together with caching sets of graphical pipelines for subsequent retrieval and execution.
G06F 9/455 - Dispositions pour exécuter des programmes spécifiques Émulation; Interprétation; Simulation de logiciel, p.ex. virtualisation ou émulation des moteurs d’exécution d’applications ou de systèmes d’exploitation
Virtual computer systems (virtual machines) have become increasingly common with the evolution of virtualization technology, cloud computing, etc. However, as a virtual machine and its associated guest operating system seek to execute and/or access a page of memory through synchronous processes execution of the virtual processor associated with the virtual processing is blocked until the page of memory is locked and available. Accordingly, time is wasted on calls waiting for physical page availability thereby reducing utilization of the host machine and virtual machine respectively. To address this an asynchronous virtual machine environment is established allowing the virtual machine or physical machine to handle additional operations whilst waiting for physical page availability.
G06F 9/455 - Dispositions pour exécuter des programmes spécifiques Émulation; Interprétation; Simulation de logiciel, p.ex. virtualisation ou émulation des moteurs d’exécution d’applications ou de systèmes d’exploitation
Systems and methods for implementing single-click ejection of a mountable device associated with a virtual machine. An example method comprises: receiving, by a guest agent running on a virtual machine managed by a virtual machine manager (VMM) of a host computer system, a device removal request from the VMM, the device removal request identifying a peripheral device to be unmounted by the virtual machine; causing, by the guest agent, a guest operating system (OS) of the virtual machine to unmount the peripheral device; receiving, by the guest agent, a notification of completion of a device unmounting operation performed by the virtual machine with respect to the peripheral device; and transmitting, by the guest agent to the VMM, an operation completion status identified by the notification.
G06F 9/50 - Allocation de ressources, p.ex. de l'unité centrale de traitement [UCT]
G06F 9/455 - Dispositions pour exécuter des programmes spécifiques Émulation; Interprétation; Simulation de logiciel, p.ex. virtualisation ou émulation des moteurs d’exécution d’applications ou de systèmes d’exploitation
G06F 13/24 - Gestion de demandes d'interconnexion ou de transfert pour l'accès au bus d'entrée/sortie utilisant l'interruption
44.
System and method for recovery of data packets transmitted over an unreliable network
A system and method is provided that enables the recovery of data packets transmitted over an unreliable network. The system and method utilize an algorithm for transmitting the data packets with restoration of lost data during data transfer over UDP Protocol encrypted with DTLS Protocol. Advantageously, the algorithm does not require changes to data for either UDP or DTLS packets, but rather a separate, specifically designed packet is transmitted to the recipient to facilitate and ensure the recovery of any lost data packets over the unreliable network.
H04L 69/16 - Implémentation ou adaptation du protocole Internet [IP], du protocole de contrôle de transmission [TCP] ou du protocole datagramme utilisateur [UDP]
H04L 1/00 - Dispositions pour détecter ou empêcher les erreurs dans l'information reçue
09 - Appareils et instruments scientifiques et électriques
41 - Éducation, divertissements, activités sportives et culturelles
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Software for enabling remote use of computer operating
systems, programs and applications; software for managing
hardware resources and computer programs in cloud and site
deployments; software for automating the operating
procedures of guest operating systems in multi-server and
multi-cloud environments; software for executing computer
environments on mobile devices and computers, namely,
computer programs for providing offices, applications and
virtual files via remote access to computers and computer
networks; software for remote access to computer files;
software for remote administration, monitoring and
management of computers; software for providing
subscription-based access to a library of computer
applications; software for organizing, displaying and
running a library of computer applications; software for
integrating a user's desktop environment from one or more
other operating systems in a main operation system on mobile
devices and computers; software for accessing applications,
programs and operating systems via mobile devices and
computers; software for transparent integration of guest
operating system applications and others on mobile devices
and computers; software used to virtualize server and
workstation hardware; software platforms for automating and
integrating provider services host services; software for
emulating operating systems and hardware; software for
creating isolated partitions and virtual environments on a
single physical server and single-instance of operating
system; software for dynamic allocation of computer system
resources; software management tools for the automated
administration of multi-virtual and multi-server
environments; software for use by hosting service providers
for operating virtual private servers; software for
integrating office environments of users of one or more
guest operating systems into a main operating system;
software to be used in balancing and managing server load;
software to be used in designing, creating, managing and
maintaining websites; software for managing membership
schemes, namely, a computer program for collecting
membership registration information, information on
membership schemes and reference statistics, mass and
mailing lists to resellers and customers, setting up of web
sites, customization of the brand, appearance, access
management and registration, application of SSL (SSL)
certificates and key generation, conflict resolution of data
and problems of data synchronization, import and export of
XML data for accounts, documents, subscriptions and
migration, export and import of remote accounts; software
for converting virtual machines and/or virtual hard drives
from one virtual machine type to another virtual machine;
software for management of records, management of files and
optimization and use of records; software for the use of
real physical records and real-time external peripherals in
a virtual machine; software for importing operating systems,
applications and physical disk files into a virtual machine;
computer software for managing and optimizing virtual discs;
computer software for the virtualization of resource
management; computer software for virtual machine management
tools, especially computer software for setting up,
configuring and supervising virtual machines; computer
software for the virtualization of hardware resources;
computer software for viewing and navigating archived
contexts of processors and virtual machines; downloadable
electronic manual for the computer software identified
above. Providing educational and entertainment information in the
fields of virtualization, emulation, systems integration and
remote access via an online website; providing a digital
library of entertainment and educational information and
content thereof for users in the fields of virtualization,
emulation, systems integration and remote access via an
online website; training and entertainment services, namely
the provision of information, user-generated content and
educational and training materials in the fields of
virtualization, emulation, systems integration and remote
access via an online website; entertainment provided online
in the form of forums (chat rooms) and journals and blogs
accessible on the Internet. Hosting of software applications for others; computer
services, namely, monitoring of computer systems via remote
access; technical support services with respect to software;
monitoring of computer systems for detecting unauthorized
access and data protection breaches; software as a service
[SaaS] for setting up a virtual computing environment
accessible via the Internet and other networks; computer
programming and software design, development of computer
software; design and development of software for storage and
consultation of multimedia data; design, development and
consulting services in the field of content management
software; computer software development; software authoring;
technical support services, namely, troubleshooting of
computer software problems; software as a service (SaaS)
services; computer services, namely, cloud hosting provider
services providing use of cloud computing software; software
as a service [SaaS], via a website, for tracking and
managing the licenses of recorded software; software as a
service [SaaS], via a website, for remote troubleshooting of
computer software problems and technical advice relating to
operation of computers; providing web-based service
information for monitoring and managing the licenses of
registered software and for downloading software via a
website; hosting of plans.
46.
Utilities toolbox for remote session and client architecture
Disclosed are systems and methods for determining an execution location for a utility component. In an exemplary aspect, the systems and methods comprise receiving, at a client device, a request to execute the utility component that performs an action on a target component; determining the execution location of the utility component; determining whether the execution location is on the client device or on a remote application server; and responsive to determining the execution location is on the remote application server, transmitting the request to be executed within a remote session between the client device and the remote application server.
H04L 67/025 - Protocoles basés sur la technologie du Web, p.ex. protocole de transfert hypertexte [HTTP] pour la commande à distance ou la surveillance à distance des applications
Systems and methods for implementing client-side load balancing for remote application servers. An example method comprises receiving, by a publishing server, an application server status information reflecting computing resource utilization by each application server of a plurality of application servers; receiving a request initiated by a client computing device to access a published application executable by at least a subset of the plurality of application servers; and responsive to determining that a load metric reflecting performance of the publishing server exceeds a threshold value, transmitting an instruction to the client computing device to perform client-side load balancing using a snapshot of the application server status information to select an application server of the subset of the plurality of application servers.
H04L 67/1008 - Sélection du serveur pour la répartition de charge basée sur les paramètres des serveurs, p.ex. la mémoire disponible ou la charge de travail
H04L 67/08 - Protocoles spécialement adaptés à l'émulation du terminal, p.ex. Telnet
G06F 11/34 - Enregistrement ou évaluation statistique de l'activité du calculateur, p.ex. des interruptions ou des opérations d'entrée–sortie
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
A system and method that provides customized graphical user interfaces on mobile devices based on user inputs. An exemplary method includes detecting a computing device remotely connected to a remote server over a network and having an active session of a software application running on the remote server. Moreover, the method further includes identifying and selecting one or more hotkey buttons based on the detected software application, transmitting the one or more hotkey buttons to the computing device to be displayed in a customized interface while the software application is active, detecting an activation of the one or more hotkey buttons displayed on the computing device, and executing, by the remote server, an operation for the active software application in response to the activation of the one or more hotkey button by the user.
G06F 3/01 - Dispositions d'entrée ou dispositions d'entrée et de sortie combinées pour l'interaction entre l'utilisateur et le calculateur
G06F 9/451 - Dispositions d’exécution pour interfaces utilisateur
G06F 3/04886 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] utilisant des caractéristiques spécifiques fournies par le périphérique d’entrée, p.ex. des fonctions commandées par la rotation d’une souris à deux capteurs, ou par la nature du périphérique d’entrée, p.ex. des gestes en fonction de la pression exer utilisant un écran tactile ou une tablette numérique, p.ex. entrée de commandes par des tracés gestuels par partition en zones à commande indépendante de la surface d’affichage de l’écran tactile ou de la tablette numérique, p.ex. claviers virtuels ou menus
G06F 3/0482 - Interaction avec des listes d’éléments sélectionnables, p.ex. des menus
H04L 67/141 - Configuration des sessions d'application
H04L 67/75 - Services réseau en affichant sur l'écran de l'utilisateur les conditions du réseau ou d'utilisation
The subject matter of this specification can be implemented in, among other things, a method that includes storing first client information identifying a first client device, identifying a location of the first client device, and identifying a first remote access session that provides the first client device access to resources of the remote access system. The method further includes receiving access information identifying an access device and a user account associated with the first client information. The access information indicates that the user account has been successfully authenticated by the access device. The method further includes, in response to the receipt of the access information, causing the first client device to connect to the first remote access session with the remote access system as a background process of the client device while a user interface of the client device remains locked.
G06F 3/14 - Sortie numérique vers un dispositif de visualisation
G09G 5/00 - Dispositions ou circuits de commande de l'affichage communs à l'affichage utilisant des tubes à rayons cathodiques et à l'affichage utilisant d'autres moyens de visualisation
Remote applications within remote sessions and local applications do not behave similarly to provide users with a seamless experience. For example, a user may exploit multiple monitors with a local application but cannot with a remote application. Accordingly, embodiments of the invention provide users with the ability to exploit multiple monitors within a single remote session in a manner similar to the one in which they utilize multiple monitors on their desktop computer, laptop etc. Other embodiments extend this so that a user can exploit multiple client devices within a single remote session such that whilst the remote session is established upon a user's portable electronic device, for example, they can also exploit the keyboard, mouse, and monitor of their fixed electronic device for all or part of the session or exploit peripherals and other electronic devices associated with these client devices.
09 - Appareils et instruments scientifiques et électriques
41 - Éducation, divertissements, activités sportives et culturelles
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Software for enabling remote use of computer operating
systems, programs and applications; software for managing
hardware resources and computer programs in cloud and site
deployments; software for automating the operating
procedures of guest operating systems in multi-server and
multi-cloud environments; software for executing computer
environments on mobile devices and computers, namely,
computer programs for providing offices, applications and
virtual files via remote access to computers and computer
networks; software for remote access to computer files;
software for remote administration, monitoring and
management of computers; software for providing
subscription-based access to a library of computer
applications; software for organizing, displaying and
running a library of computer applications; software for
integrating a user's desktop environment from one or more
other operating systems in a main operation system on mobile
devices and computers; software for accessing applications,
programs and operating systems via mobile devices and
computers; software for transparent integration of guest
operating system applications and others on mobile devices
and computers; software used to virtualize server and
workstation hardware; software platforms for automating and
integrating provider services host services; software for
emulating operating systems and hardware; software for
creating isolated partitions and virtual environments on a
single physical server and single-instance of operating
system; software for dynamic allocation of computer system
resources; software management tools for the automated
administration of multi-virtual and multi-server
environments; software for use by hosting service providers
for operating virtual private servers; software for
integrating office environments of users of one or more
guest operating systems into a main operating system;
software to be used in balancing and managing server load;
software to be used in designing, creating, managing and
maintaining websites; software for managing membership
schemes, namely, a computer program for collecting
membership registration information, information on
membership schemes and reference statistics, mass and
mailing lists to resellers and customers, setting up of web
sites, customization of the brand, appearance, access
management and registration, application of SSL (SSL)
certificates and key generation, conflict resolution of data
and problems of data synchronization, import and export of
XML data for accounts, documents, subscriptions and
migration, export and import of remote accounts; software
for converting virtual machines and/or virtual hard drives
from one virtual machine type to another virtual machine;
software for management of records, management of files and
optimization and use of records; software for the use of
real physical records and real-time external peripherals in
a virtual machine; software for importing operating systems,
applications and physical disk files into a virtual machine;
computer software for managing and optimizing virtual discs;
computer software for the virtualization of resource
management; computer software for virtual machine management
tools, especially computer software for setting up,
configuring and supervising virtual machines; computer
software for the virtualization of hardware resources;
computer software for viewing and navigating archived
contexts of processors and virtual machines; downloadable
electronic manual for the computer software identified
above. Providing educational and entertainment information in the
fields of virtualization, emulation, systems integration and
remote access via an online website; providing a digital
library of entertainment and educational information and
content thereof for users in the fields of virtualization,
emulation, systems integration and remote access via an
online website; training and entertainment services, namely
the provision of information, user-generated content and
educational and training materials in the fields of
virtualization, emulation, systems integration and remote
access via an online website; entertainment provided online
in the form of forums (chat rooms) and journals and blogs
accessible on the Internet. Hosting of software applications for others; computer
services, namely, monitoring of computer systems via remote
access; technical support services with respect to software;
monitoring of computer systems for detecting unauthorized
access and data protection breaches; software as a service
[SaaS] for setting up a virtual computing environment
accessible via the Internet and other networks; computer
programming and software design, development of computer
software; design and development of software for storage and
consultation of multimedia data; design, development and
consulting services in the field of content management
software; computer software development; software authoring;
technical support services, namely, troubleshooting of
computer software problems; software as a service (SaaS)
services; computer services, namely, cloud hosting provider
services providing use of cloud computing software; software
as a service [SaaS], via a website, for tracking and
managing the licenses of recorded software; software as a
service [SaaS], via a website, for remote troubleshooting of
computer software problems and technical advice relating to
operation of computers; providing web-based service
information for monitoring and managing the licenses of
registered software and for downloading software via a
website; hosting of plans.
Systems and methods for instruction decoding using hash tables. An example method of constructing a decoding tree comprises: generating an aggregated vector of differentiating bit scores representing at least a subset of a set of processor instructions; identifying, based on the aggregated vector of differentiating bit scores, one or more opcode bit positions; and constructing a hash table implementing a current level of a decoding tree representing the subset of the set of processor instructions, wherein the hash table is indexed by one or more opcode bits identified by the one or more opcode bit positions.
Described herein is a system and method for controlling a remote computer over a remote session. In an exemplary aspect, the method comprises receiving, by an intelligent personal assistant (IPA), a speech-based instruction from a user of a mobile device, the speech-based instruction comprising a request to execute a task; in response to determining, based on analysis of the speech-based instruction, an intent of the user to initiate the remote session with the remote computer: identifying, by the IPA, a remote client on the mobile device for creating the remote session with the remote computer via the cloud infrastructure; generating, by the IPA, a command object that causes a software agent on the remote computer to execute the task; and transmitting, by the IPA, the command object through the remote session to the remote computer; and presenting results for execution of the task in an interface of the remote client.
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Research and development in the field of information and communications technologies, including technologies relating to the encoding and the storage of data; design, updating, implementation, installation, maintenance and upgrading of software; application service provider, namely, hosting the software, websites and computer applications of others on a virtual private servers for wireless delivery of content to mobile electronic devices and computers; software services for providing secure remote browser isolation; Providing, designing, developing and maintaining software and information technology solutions for establishing and maintaining virtual private networks; computer services, namely, remote management, support and controlling access privileges of users of virtual computer networks, virtual computing environments, and the software applications of others; providing a virtual computing environment accessible via the Internet and other networks; consulting services in the field of software; software authoring; technical support services, namely, troubleshooting of computer software problems; software as a service (SAAS); infrastructure as a service (IAAS); platform as a service (PAAS); computer services, namely cloud hosting provider services providing use of cloud-computing software; providing, designing, developing and maintaining web-based software solutions, portal interfaces and platforms which allow online remote access to applications and/or services.
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Research and development in the field of information and communications technologies, including technologies relating to the encoding and the storage of data; design, updating, implementation, installation, maintenance and upgrading of software; application service provider, namely, hosting the software, websites and computer applications of others on a virtual private servers for wireless delivery of content to mobile electronic devices and computers; software services for providing secure remote browser isolation; Providing, designing, developing and maintaining software and information technology solutions for establishing and maintaining virtual private networks; computer services, namely, remote management, support and controlling access privileges of users of virtual computer networks, virtual computing environments, and the software applications of others; providing a virtual computing environment accessible via the Internet and other networks; consulting services in the field of software; software authoring; technical support services, namely, troubleshooting of computer software problems; software as a service (SAAS); infrastructure as a service (IAAS); platform as a service (PAAS); computer services, namely cloud hosting provider services providing use of cloud-computing software; providing, designing, developing and maintaining web-based software solutions, portal interfaces and platforms which allow online remote access to applications and/or services.
56.
System and method for rapid cloning of virtual machines under load balancing
A system and method is provided for managing virtualized computing resources. An exemplary method includes executing a computing service comprised of virtualized computing resources including a first virtual machine and a network address mapping module. The method further includes, responsive to receiving an indication that additional virtualized computing resources are needed to handle one or more requests from a client and directed to the computing service, generating a second virtual machine that can handle requests for the computing service by performing a linked cloning operation of the first virtual machine. The method includes, configuring the network address mapping module to modify requests for the second virtual machine, such that the second virtual machine has the same network address as the first virtual machine.
G06F 9/455 - Dispositions pour exécuter des programmes spécifiques Émulation; Interprétation; Simulation de logiciel, p.ex. virtualisation ou émulation des moteurs d’exécution d’applications ou de systèmes d’exploitation
G06F 9/50 - Allocation de ressources, p.ex. de l'unité centrale de traitement [UCT]
57.
Enhancing user experience on moving and resizing windows of remote applications
Disclosed are systems and methods for providing improved rendering of graphical user interfaces for remote applications executing within remote sessions. A remote session client that renders the graphical user interface (GUI) for a remote application is configured to detect certain mouse events that would trigger window move events. In doing so, the remote session client may handle rendering the window GUI locally rather than wait for window move events from the remote application. The remote session client may be further configured to predict using calculated resize patterns how the window content image changes while the remote application's window is being resized.
G06F 3/0484 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] pour la commande de fonctions ou d’opérations spécifiques, p.ex. sélection ou transformation d’un objet, d’une image ou d’un élément de texte affiché, détermination d’une valeur de paramètre ou sélection d’une plage de valeurs
G06F 9/451 - Dispositions d’exécution pour interfaces utilisateur
G06F 3/04845 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] pour la commande de fonctions ou d’opérations spécifiques, p.ex. sélection ou transformation d’un objet, d’une image ou d’un élément de texte affiché, détermination d’une valeur de paramètre ou sélection d’une plage de valeurs pour la transformation d’images, p.ex. glissement, rotation, agrandissement ou changement de couleur
Systems and methods for embedding remote applications into HyperText Markup Language (HTML) pages. An example method comprises: identifying, within a HTML page rendered by a browser, a frame referencing a remote application; determining at least one of: a size of a window for rendering output of the remote application on a virtual desktop produced by a virtual execution environment running the remote application or a position of the window on the virtual desktop; causing a remote access session to be established with the virtual execution environment; transmitting a first message specifying at least one of: the size of the window on the virtual desktop or the position of the window on the virtual desktop; and causing the frame to be displayed within the HTML page by the browser for rendering output of the remote application.
H04L 67/025 - Protocoles basés sur la technologie du Web, p.ex. protocole de transfert hypertexte [HTTP] pour la commande à distance ou la surveillance à distance des applications
G06F 9/455 - Dispositions pour exécuter des programmes spécifiques Émulation; Interprétation; Simulation de logiciel, p.ex. virtualisation ou émulation des moteurs d’exécution d’applications ou de systèmes d’exploitation
Systems and methods for facilitating access to files that are stored by network-accessible file storage services. An example system comprises a plurality of file access nodes including a control node, wherein the control node is configured to: receive a file access request initiated by a client, wherein the file access request comprises an identifier of a file, an identifier of a file storage service, and an access token associated with the file stored by the file storage service; request, using the access token, metadata associated with the file from the file storage service; define, using the metadata, a plurality of portions forming the file; and forward, to the plurality of file access nodes, identifiers of the plurality of portions.
G06F 15/173 - Communication entre processeurs utilisant un réseau d'interconnexion, p.ex. matriciel, de réarrangement, pyramidal, en étoile ou ramifié
H04L 67/1097 - Protocoles dans lesquels une application est distribuée parmi les nœuds du réseau pour le stockage distribué de données dans des réseaux, p.ex. dispositions de transport pour le système de fichiers réseau [NFS], réseaux de stockage [SAN] ou stockage en réseau [NAS]
H04L 67/06 - Protocoles spécialement adaptés au transfert de fichiers, p.ex. protocole de transfert de fichier [FTP]
Virtual machines provide users with an ability to work with applications or whole desktops on remote system through a remote session or sessions. However, when a remote system hibernates/shuts down the remote session disconnects and subsequently the remote system may log off (close) the session in order to free system resources for other active sessions for other users. Accordingly, the session state is lost and when the user reconnects to the remote system a new session is created, and new instances of applications started in it. It would be beneficial to provide users with the features of the client device upon the remote system such that the remote system captures a current session state of a user's virtual session allowing it to be stored and then allows for subsequent restoration of the session upon the same remote system or another remote system which can access the stored virtual session state.
G06F 9/455 - Dispositions pour exécuter des programmes spécifiques Émulation; Interprétation; Simulation de logiciel, p.ex. virtualisation ou émulation des moteurs d’exécution d’applications ou de systèmes d’exploitation
G06F 9/451 - Dispositions d’exécution pour interfaces utilisateur
61.
Generating tie code fragments for binary translation
Systems and methods for binary translation of executable code. An example binary translation method comprises: decoding a current source code fragment compatible with a source instruction set architecture (ISA); identifying a first source register referenced by the current source code fragment; determining that the first source register is not referenced by a register mapping table, wherein the register mapping table comprises a plurality of entries, each entry specifying a source register, a target register, and a weight value; identifying, among the plurality of mapping table entries, a mapping table entry comprising a highest weight value, wherein the identified mapping table entry specifies a second source register and a second target register; replacing, in the identified mapping table entry, an identifier of the second source register with an identifier of the first source register; and translating, using the mapping table entry, the current source code fragment into a target code fragment, wherein the target code fragment is compatible with a target ISA.
An example method of hardware-assisted graphics pipeline emulation comprises: computing, based on an input set graphic primitives, a set of tessellation factors; computing, based on the input set graphic primitives, a set of points specifying a plurality of patches; computing, based on the set of points, a tessellation count buffer; generating, based on the set of points and the tessellation count buffer, a tessellation offset buffer; performing, using the tessellation offset buffer, a tessellation setup stage; performing, by a graphics processing unit (GPU), a tessellation stage based on the set of tessellation factors, wherein the tessellation stage generates a plurality of output points corresponding to one or more patches of the plurality of patches; and computing, by a domain shader stage, a plurality of vertex positions defined by the plurality of output points.
Disclosed are systems and methods for managing notifications from published applications. A method for managing notifications from one or more published applications includes detecting, by a server, a notification from the one or more published applications launched by a user at a client device, forming a notification packet containing information from the notification, and causing the notification packet to be provided to the client device.
H04L 51/02 - Messagerie d'utilisateur à utilisateur dans des réseaux à commutation de paquets, transmise selon des protocoles de stockage et de retransmission ou en temps réel, p.ex. courriel en utilisant des réactions automatiques ou la délégation par l’utilisateur, p.ex. des réponses automatiques ou des messages générés par un agent conversationnel
H04L 51/224 - Surveillance ou traitement des messages en fournissant une notification sur les messages entrants, p.ex. des poussées de notifications des messages reçus
Disclosed herein are systems and methods for reading input data into a geometry shader by rebuilding an index buffer. In one aspect, an exemplary method comprises constructing T-vectors for one-element ranges of the index buffer by defining each T-vector as a 4-component vector, calculating T-vectors for ranges [0; i] for all vertices of the index buffer by prefix scanning, for each vertex and for each primitive featuring the vertex, determining if the primitive is complete, and for each complete primitive, calculating an offset in an output index buffer using a component of the T-vector used to indicate, for the vertex, a number of complete primitives inside the range and a component that indicates a number of vertices since a last primitive restart, and writing an index value in an output index buffer, and reading input data into the geometry shader in accordance with the written index values.
Systems and methods for creating virtual machine snapshots. An example method comprises: receiving a request to create a snapshot of a virtual machine running on a host computer system; protecting from modification a plurality of virtual memory pages of the virtual machine; responsive to detecting an attempt to modify a virtual memory page of the plurality of memory pages, copying the virtual memory page to a queue residing in a random access memory (RAM) of the host computer system; making the virtual memory page writable; retrieving the virtual memory page from the queue; writing the virtual memory page to a disk of the host computer system; and responsive to exhausting the queue, completing creation of the snapshot of the virtual machine.
G06F 3/06 - Entrée numérique à partir de, ou sortie numérique vers des supports d'enregistrement
G06F 9/455 - Dispositions pour exécuter des programmes spécifiques Émulation; Interprétation; Simulation de logiciel, p.ex. virtualisation ou émulation des moteurs d’exécution d’applications ou de systèmes d’exploitation
66.
System and method for providing layouts for a remote desktop session
Disclosed are systems and methods for providing layouts for a remote desktop session. According to one aspect, a method comprises receiving, at a remote application server, a request from a client device to initiate a remote desktop session, extracting configuration information regarding the client device from the request, retrieving, from a database, a layout that defines one or more remote applications and configurations for the one or more remote applications executing on the remote desktop session, initiating the remote desktop session with the client device, launching the one or more remote applications defined in the layout and configuring the one or more remote applications according to the configurations.
The subject matter of this specification can be implemented in, among other things, a method that includes determining, by a first computing device, a set of remote applications hosted by a second computing device including file type associations for each remote application. The first computing device determines a set of local applications and their file type associations. The each file type associated with a remote application, the first computing device determines whether the file type is also associated with a local application. Responsive to determining that the file type is associated with both a remote and local application, the first computing device configures a proxy component with parameters specifying the remote application and the local application. The proxy component is configured to determine whether to open a requested file of the file type with the remote application or the local application based upon the current client/server environment.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p.ex. pour le traitement simultané de plusieurs programmes
H04L 67/025 - Protocoles basés sur la technologie du Web, p.ex. protocole de transfert hypertexte [HTTP] pour la commande à distance ou la surveillance à distance des applications
H04L 67/12 - Protocoles spécialement adaptés aux environnements propriétaires ou de mise en réseau pour un usage spécial, p.ex. les réseaux médicaux, les réseaux de capteurs, les réseaux dans les véhicules ou les réseaux de mesure à distance
G06F 16/178 - Techniques de synchronisation des fichiers dans les systèmes de fichiers
68.
Automated methods and systems for granting complex permissions
A permissions management system (PMS) defines the permissions associated with a user and thereby the activities the user can perform with any specific object and/or application or class of objects and/or applications. However, such a PMS requires an administrator to either authorise each permission individually or default permissions to a configuration previously established. The former is time consuming and the latter does not eliminate the former in establishing the roles initially or new roles or custom configurations. According, methods and systems for automating the establishment of permissions and their ongoing maintenance are presented based upon an initial discovery phase of actions performed by either the user or an administrator followed by an automated harmonization phase and a verification phase. This verification phase may employ human interactions or be automated exploiting an artificial intelligence engine.
A new timer object that is associated with a timer event may be identified. A virtual processor that is to be provided the timer event that is associated with the new timer object may be determined. One or more current timer objects that are associated with one or more timer events provided to the virtual processor may also be identified. A new element for the new timer object may be created in a list identifying the one or more current timer objects that are associated with the one or more timer events that are provided to the virtual processor.
G06F 9/455 - Dispositions pour exécuter des programmes spécifiques Émulation; Interprétation; Simulation de logiciel, p.ex. virtualisation ou émulation des moteurs d’exécution d’applications ou de systèmes d’exploitation
G06F 9/48 - Lancement de programmes; Commutation de programmes, p.ex. par interruption
A method for providing high availability Virtual Desktop Infrastructure (VDI) includes determining, by a VDI client and based on connection information for a first VDI broker associated with a first datacenter, whether a connection to the first VDI broker is available, and responsive to determining that the connection to the first VDI broker associated with the first datacenter is available, connecting the VDI client to a first VDI broker associated with a first datacenter. The method also includes sending authentication information pertaining to the user to the first VDI broker to authenticate the user through a domain controller, receiving, from the first VDI broker, a list of desktop pools available for one or more groups containing the user that has been authenticated with the first VDI broker, sending, to the first VDI broker, a desktop pool identifier associated with a desktop pool from the list of available desktop pools, receiving, from the first VDI broker, an address of a desktop selected from the desktop pool associated with the desktop pool identifier sent to the VDI broker, and providing the selected desktop to the user.
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
H04L 67/562 - Courtage des services de mandataires
H04L 67/1095 - Réplication ou mise en miroir des données, p.ex. l’ordonnancement ou le transport pour la synchronisation des données entre les nœuds du réseau
H04L 67/563 - Redirection de flux de réseau de données
H04L 67/1097 - Protocoles dans lesquels une application est distribuée parmi les nœuds du réseau pour le stockage distribué de données dans des réseaux, p.ex. dispositions de transport pour le système de fichiers réseau [NFS], réseaux de stockage [SAN] ou stockage en réseau [NAS]
09 - Appareils et instruments scientifiques et électriques
41 - Éducation, divertissements, activités sportives et culturelles
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Software for enabling remote use of computer operating systems, programs and applications; software for managing hardware resources and computer programs in cloud and site deployments; software for automating the operating procedures of guest operating systems in multi-server and multi-cloud environments; software for executing computer environments on mobile devices and computers, namely, computer programs for providing offices, applications and virtual files via remote access to computers and computer networks; software for remote access to computer files; software for remote administration, monitoring and management of computers; software for providing subscription-based access to a library of computer applications; software for organizing, displaying and running a library of computer applications; software for integrating a user's desktop environment from one or more other operating systems in a main operation system on mobile devices and computers; software for accessing applications, programs and operating systems via mobile devices and computers; software for transparent integration of guest operating system applications and others on mobile devices and computers; software used to virtualize server and workstation hardware; software platforms for automating and integrating provider services host services; software for emulating operating systems and hardware; software for creating isolated partitions and virtual environments on a single physical server and single-instance of operating system; software for dynamic allocation of computer system resources; software management tools for the automated administration of multi-virtual and multi-server environments; software for use by hosting service providers for operating virtual private servers; software for integrating office environments of users of one or more guest operating systems into a main operating system; software to be used in balancing and managing server load; software to be used in designing, creating, managing and maintaining websites; software for managing membership schemes, namely, a computer program for collecting membership registration information, information on membership schemes and reference statistics, mass and mailing lists to resellers and customers, setting up of web sites, customization of the brand, appearance, access management and registration, application of SSL (SSL) certificates and key generation, conflict resolution of data and problems of data synchronization, import and export of XML data for accounts, documents, subscriptions and migration, export and import of remote accounts; software for converting virtual machines and/or virtual hard drives from one virtual machine type to another virtual machine; software for management of records, management of files and optimization and use of records; software for the use of real physical records and real-time external peripherals in a virtual machine; software for importing operating systems, applications and physical disk files into a virtual machine; computer software for managing and optimizing virtual discs; computer software for the virtualization of resource management; computer software for virtual machine management tools, especially computer software for setting up, configuring and supervising virtual machines; computer software for the virtualization of hardware resources; computer software for viewing and navigating archived contexts of processors and virtual machines; downloadable electronic manual for the computer software identified above Providing educational and entertainment information in the fields of virtualization, emulation, systems integration and remote access via an online website; providing a digital library of entertainment and educational information and content thereof for users in the fields of virtualization, emulation, systems integration and remote access via an online website; training and entertainment services, namely, the provision of information, user-generated content and educational and training materials in the fields of virtualization, emulation, systems integration and remote access via an online website; entertainment provided online in the form of forums (chat rooms) and journals and blogs accessible on the Internet Hosting of software applications for others; computer services, namely, monitoring of computer systems via remote access; technical support services with respect to software; monitoring of computer systems for detecting unauthorized access and data protection breaches; software as a service [SaaS] for setting up a virtual computing environment accessible via the Internet and other networks; computer programming and software design, development of computer software; design and development of software for storage and consultation of multimedia data; design, development and consulting services in the field of content management software; computer software development; software authoring; technical support services, namely, troubleshooting of computer software problems; software as a service (SaaS) services; computer services, namely, cloud hosting provider services providing use of cloud computing software; software as a service [SaaS], via a website, for tracking and managing the licenses of recorded software; software as a service [SaaS], via a website, for remote troubleshooting of computer software problems and technical advice relating to operation of computers; providing web-based service information for monitoring and managing the licenses of registered software and for downloading software via a website; hosting of plans
Systems and methods are disclosed herein for remote application sharing. An exemplary method comprises detecting a user establishing a connection with a remote application server, authenticating the user based on login information associated with the user, determining that the user has requested execution of a shared application hosted on the remote application server, responsive to determining that the user has requested execution of the shared application, gathering information for accessing the shared application hosted on the remote application server, establishing a user session for executing the shared application, generating an application link comprising the information for accessing the shared application over the user session and publishing the application link for distribution to one or more third party users, wherein activation of the application link by the one or more third party users shares the user session with the one or more third party users.
Disclosed are systems and methods for determining an execution location for a utility component. In an exemplary aspect, the systems and methods comprise receiving, at a client device, a request to execute the utility component that performs an action on a target component; determining the execution location of the utility component; determining whether the execution location is on the client device or on a remote application server; and responsive to determining the execution location is on the remote application server, transmitting the request to be executed within a remote session between the client device and the remote application server.
H04L 67/025 - Protocoles basés sur la technologie du Web, p.ex. protocole de transfert hypertexte [HTTP] pour la commande à distance ou la surveillance à distance des applications
H04L 65/1059 - Fonctionnalités du terminal de l'utilisateur final spécialement adaptées à la communication en temps réel
H04L 65/1063 - Serveurs d'applications fournissant des services réseau
Systems and methods for processing virtual machine I/O requests by virtualization extension modules. An example method comprises: receiving, by a virtual machine monitor (VMM) running on a host computer system, a request initiated by a virtual machine managed by the VMM; processing the request by a VMM extension module identified by one or more parameters of the request; invoking, by the VMM extension module, an application programming interface (API) exported by the VMM to perform an action identified by the request; and resuming execution of the virtual machine.
G06F 9/455 - Dispositions pour exécuter des programmes spécifiques Émulation; Interprétation; Simulation de logiciel, p.ex. virtualisation ou émulation des moteurs d’exécution d’applications ou de systèmes d’exploitation
75.
Methods and systems for seamless virtual machine changing for software applications
A method and a system to perform the method are disclosed, the method includes receiving, by a virtualization server communicatively coupled with a client device, a request to provide a virtual machine (VM) to a client device, accessing a profile associated with the client device, instantiating a VM on the virtualization server, wherein the VM is a linked clone VM of a base VM, wherein the linked clone VM has (1) a read-only access to a shared range of a persistent memory associated with the base VM, wherein the shared range of the persistent memory is determined in view of the profile associated with the client device and stores at least one application installed on the virtualization server, (2) a write access to a private range of the persistent memory, wherein the private range is associated with the VM, and providing the VM to the client device.
G06F 9/455 - Dispositions pour exécuter des programmes spécifiques Émulation; Interprétation; Simulation de logiciel, p.ex. virtualisation ou émulation des moteurs d’exécution d’applications ou de systèmes d’exploitation
G06F 11/34 - Enregistrement ou évaluation statistique de l'activité du calculateur, p.ex. des interruptions ou des opérations d'entrée–sortie
G06F 9/50 - Allocation de ressources, p.ex. de l'unité centrale de traitement [UCT]
76.
Client-side load balancing for remote application servers
Systems and methods for implementing client-side load balancing for remote application servers. An example method comprises: receiving, by a publishing server, an application server status information reflecting computing resource utilization by each application server of a plurality of application servers; receiving a request initiated by a client computing device to access a published application executable by at least a subset of the plurality of application servers; and responsive to determining that a load metric reflecting performance of the publishing server exceeds a threshold value, transmitting an instruction to the client computing device to perform client-side load balancing using a snapshot of the application server status information to select an application server of the subset of the plurality of application servers.
G06F 11/34 - Enregistrement ou évaluation statistique de l'activité du calculateur, p.ex. des interruptions ou des opérations d'entrée–sortie
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
H04L 67/1008 - Sélection du serveur pour la répartition de charge basée sur les paramètres des serveurs, p.ex. la mémoire disponible ou la charge de travail
A processing device sends a request from a remote access client to a first remote application server to access a first application being hosted by the first remote application server, receives instructions from the first remote application server to display a first application window within a browser window of a browser on a display of the client device, creates the first application window within the browser window based on the instructions. The processing device sends a request to a second remote application server to access a second application being hosted by the second remote application server, receives instructions from the second remote application server to display a second application window within the browser window, and creates the second application window for the second application within the browser window based on the instructions. The second application window is displayed within the browser window together with the first application window.
G06F 3/0481 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] fondées sur des propriétés spécifiques de l’objet d’interaction affiché ou sur un environnement basé sur les métaphores, p.ex. interaction avec des éléments du bureau telles les fenêtres ou les icônes, ou avec l’aide d’un curseur changeant de comport
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
G06F 40/14 - Documents en configuration arborescente
G06F 3/0489 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] utilisant des caractéristiques spécifiques fournies par le périphérique d’entrée, p.ex. des fonctions commandées par la rotation d’une souris à deux capteurs, ou par la nature du périphérique d’entrée, p.ex. des gestes en fonction de la pression exer utilisant des touches de clavier dédiées ou leurs combinaisons
A processing device in a host computer system receives an instruction to write data to a storage device coupled to the host computer system and store a copy of the data in a cache of the host computer system. The processing device initiates a write operation to write the data from the cache to the storage device and detects that the storage device is disconnected from the host computer system during execution of the write operation. In response to detecting that the storage device is disconnected, the processing device may suspend execution of at least one of a virtual machine or a process that issued the first instruction. After determining that the storage device is reconnected to the host computer system, the processing device can resumes the write operation to continue writing the data from the cache to the storage device. The processing device may further cache read data requested from the storage device so that the virtual machine can continue to access the read data from the cache in the event that the storage device is disconnected.
G06F 9/455 - Dispositions pour exécuter des programmes spécifiques Émulation; Interprétation; Simulation de logiciel, p.ex. virtualisation ou émulation des moteurs d’exécution d’applications ou de systèmes d’exploitation
G06F 3/06 - Entrée numérique à partir de, ou sortie numérique vers des supports d'enregistrement
79.
Peripheral device mounting based on file system compatibility
Systems and methods for managing peripheral devices associated with host computer systems running virtual machines. An example method comprises: detecting, by a host computer system, a plug-in event associated with a peripheral device; identifying a type of a file system of the peripheral device; selecting, among a group of execution environments comprising the host computer system and one or more virtual machines, an execution environment having a highest compatibility metric value associated with the type of the file system; and responsive to determining that the execution environment is provided by a virtual machine, causing a guest agent running on the virtual machine to mount the peripheral device to the virtual machine.
G06F 9/455 - Dispositions pour exécuter des programmes spécifiques Émulation; Interprétation; Simulation de logiciel, p.ex. virtualisation ou émulation des moteurs d’exécution d’applications ou de systèmes d’exploitation
G06F 13/10 - Commande par programme pour dispositifs périphériques
Disclosed are systems and methods for managing an application executing in a remote session. A user device (e.g., mobile device) creates a control communication session for an application executing within a remote session established between a remote application server and a client device. This application is being displayed by the client device. The user device receives metadata indicating a subset of user actions available from the application, and uses it to generate, for display on the user device, a graphical user interface. The graphical user interface is configured to, when activated by user input, inject input commands into the remote session for the application.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p.ex. pour le traitement simultané de plusieurs programmes
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
81.
Connecting to remote access session based on proximity of mobile device
The subject matter of this specification can be implemented in, among other things, a method that includes storing first client information identifying a first client device, identifying a location of the first client device, and identifying a first remote access session that provides the first client device access to resources of the remote access system. The method further includes receiving access information identifying an access device and a user account associated with the first client information. The access information indicates that the user account has been successfully authenticated by the access device. The method further includes, in response to the receipt of the access information, causing the first client device to connect to the first remote access session with the remote access system as a background process of the client device while a user interface of the client device remains locked.
H04W 88/06 - Dispositifs terminaux adapté au fonctionnement dans des réseaux multiples, p.ex. terminaux multi-mode
G09G 5/00 - Dispositions ou circuits de commande de l'affichage communs à l'affichage utilisant des tubes à rayons cathodiques et à l'affichage utilisant d'autres moyens de visualisation
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
09 - Appareils et instruments scientifiques et électriques
41 - Éducation, divertissements, activités sportives et culturelles
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
(1) Computer software to enable remote use of computer applications, programs and operating systems; computer software for the management of hardware and software resources in on-premises and cloud based deployments; computer software for automation of guest operating system provisioning procedures in multi-server and multi-cloud environments; computer software for executing computer environments on mobile devices and computers, namely, computer programs for providing virtual desktops, applications and files via remote access to computers and computer networks; computer software for use in remotely accessing computer files; computer software for remote administration, monitoring and management of computers; computer software for providing subscription based access to a library of computer software applications; computer software for organizing, displaying and browsing a library of computer software applications; computer software for integrating user desktop environments from one or more other operating systems into a primary operating system on mobile devices and computers; computer software for use in accessing applications, programs and operating systems via mobile devices and computers; computer software for use in seamless integration of guest and other operating system applications on mobile devices and computers; computer software used to virtualize the hardware of servers and workstations; computer software platforms for use in automation and integration of hosting service provider services; computer software for hardware emulation and operating system emulation; computer software for use in creating isolated partitions and virtual environments on a single physical server and operating system instance; computer software for use in dynamic resource allocation of computer system resources; computer software management tools for use in automated, multi-virtual environment and multi-server administration; computer software platforms for use by hosting service providers in the operation of virtual private servers; computer software for integrating user desktop environments from one or more guest operating systems into a primary operating system; computer software for use in server load balancing and server load management; computer software for use in website design, creation, management and maintenance; computer software for use in managing affiliate programs, namely, software for collection of affiliate registration information, affiliate program information and referral statistics, mass mailings and selective mailings to resellers and customers, website configuration, branding, skin (appearance) customization, access management and registration, secure socket layer (SSL) certificate request and key generation, resolving data conflicts and data synchronization problems, XML data import and export for accounts, documents, subscriptions, and hosting plans, and remote account migration, export and import; computer software for use in virtual machine and/or virtual hard drive conversion from one type of virtual machine to a different type of virtual machine; computer software for use in disk management, file management and disk usage optimization; computer software for using real physical disk(s) and real external devices in a virtual machine; computer software for importing operating systems, applications and files from physical disks to a virtual machine; computer software for use in virtual disk management and virtual disk optimization; computer software for use in storage virtualization; computer software for use in virtual machine management tools, namely, computer software for setup, configuration and supervision of virtual machines; computer software for use in hardware resource virtualization; computer software for viewing and navigating archived processor and virtual machine contexts; downloadable electronic manuals for computer software identified above. (1) Providing a website featuring educational and entertainment information in the fields of virtualization, emulation, system integration and remote access, providing a website featuring a web service for monitoring and managing registered software licenses and download software ; providing a website featuring a digital library of educational and entertainment information and other resources for users in the fields of virtualization, emulation, system integration and remote access; providing a website featuring information, educational and training materials, and user-generated content in the fields of virtualization, emulation, system integration and remote access; providing a website portal where users may customize their education and training, track their progress, receive feedback from peers and professionals, post comments, and share and display their user-generated content in the fields of virtualization, emulation, system integration and remote access; providing a website featuring online journals, namely, blogs of others in the fields of virtualization, emulation, system integration and remote access; providing online newsletters in the fields of virtualization, emulation, system integration and remote access.
(2) Application service provider, namely, hosting the software, websites and computer applications of others on a virtual private server for wireless delivery of content to mobile electronic devices and computers; computer services, namely, remote management, support and controlling access privileges of users of virtual computer networks, virtual computing environments, and the software applications of others; providing a virtual computing environment accessible via the Internet and other networks; computer programming and software design, computer software development; design and development of software for multimedia data storing and recalling; design, development and consulting services in the field of software for content management; developing computer software; software authoring; technical support services, namely, troubleshooting of computer software problems; software as a service (SAAS) services; computer services, namely cloud hosting provider services providing use of cloud-computing software; web service for monitoring and managing registered software licenses and download software; web service for remote troubleshooting of computer software problems and technical advice relating to operation of computers.
09 - Appareils et instruments scientifiques et électriques
41 - Éducation, divertissements, activités sportives et culturelles
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
(1) Computer software to enable remote use of computer applications, programs and operating systems; computer software for the management of hardware and software resources in on-premises and cloud based deployments; computer software for automation of guest operating system provisioning procedures in multi-server and multi-cloud environments; computer software for executing computer environments on mobile devices and computers, namely, computer programs for providing virtual desktops, applications and files via remote access to computers and computer networks; computer software for use in remotely accessing computer files; computer software for remote administration, monitoring and management of computers; computer software for providing subscription based access to a library of computer software applications; computer software for organizing, displaying and browsing a library of computer software applications; computer software for integrating user desktop environments from one or more other operating systems into a primary operating system on mobile devices and computers; computer software for use in accessing applications, programs and operating systems via mobile devices and computers; computer software for use in seamless integration of guest and other operating system applications on mobile devices and computers; computer software used to virtualize the hardware of servers and workstations; computer software platforms for use in automation and integration of hosting service provider services; computer software for hardware emulation and operating system emulation; computer software for use in creating isolated partitions and virtual environments on a single physical server and operating system instance; computer software for use in dynamic resource allocation of computer system resources; computer software management tools for use in automated, multi-virtual environment and multi-server administration; computer software platforms for use by hosting service providers in the operation of virtual private servers; computer software for integrating user desktop environments from one or more guest operating systems into a primary operating system; computer software for use in server load balancing and server load management; computer software for use in website design, creation, management and maintenance; computer software for use in managing affiliate programs, namely, software for collection of affiliate registration information, affiliate program information and referral statistics, mass mailings and selective mailings to resellers and customers, website configuration, branding, skin (appearance) customization, access management and registration, secure socket layer (SSL) certificate request and key generation, resolving data conflicts and data synchronization problems, XML data import and export for accounts, documents, subscriptions, and hosting plans, and remote account migration, export and import; computer software for use in virtual machine and/or virtual hard drive conversion from one type of virtual machine to a different type of virtual machine; computer software for use in disk management, file management and disk usage optimization; computer software for using real physical disk(s) and real external devices in a virtual machine; computer software for importing operating systems, applications and files from physical disks to a virtual machine; computer software for use in virtual disk management and virtual disk optimization; computer software for use in storage virtualization; computer software for use in virtual machine management tools, namely, computer software for setup, configuration and supervision of virtual machines; computer software for use in hardware resource virtualization; computer software for viewing and navigating archived processor and virtual machine contexts; downloadable electronic manuals for computer software identified above. (1) Providing a website featuring educational and entertainment information in the fields of virtualization, emulation, system integration and remote access, providing a website featuring a web service for monitoring and managing registered software licenses and download software ; providing a website featuring a digital library of educational and entertainment information and other resources for users in the fields of virtualization, emulation, system integration and remote access; providing a website featuring information, educational and training materials, and user-generated content in the fields of virtualization, emulation, system integration and remote access; providing a website portal where users may customize their education and training, track their progress, receive feedback from peers and professionals, post comments, and share and display their user-generated content in the fields of virtualization, emulation, system integration and remote access; providing a website featuring online journals, namely, blogs of others in the fields of virtualization, emulation, system integration and remote access; providing online newsletters in the fields of virtualization, emulation, system integration and remote access,
(2) Application service provider, namely, hosting the software, websites and computer applications of others on a virtual private server for wireless delivery of content to mobile electronic devices and computers; computer services, namely, remote management, support and controlling access privileges of users of virtual computer networks, virtual computing environments, and the software applications of others; providing a virtual computing environment accessible via the Internet and other networks; computer programming and software design, computer software development; design and development of software for multimedia data storing and recalling; design, development and consulting services in the field of software for content management; developing computer software; software authoring; technical support services, namely, troubleshooting of computer software problems; software as a service (SAAS) services; computer services, namely cloud hosting provider services providing use of cloud-computing software; web service for monitoring and managing registered software licenses and download software; web service for remote troubleshooting of computer software problems and technical advice relating to operation of computers.
84.
System and method for detecting when geometry shaders output a constant amount of data
Disclosed herein are systems and methods for detecting when geometry shaders output a constant amount of data and writing the data into an output stream buffer. In one aspect, an exemplary method comprises gathering information about a number of block executions associated with the received data, analyzing the gathered information to determine whether constant or variable amount of data is generated for at least one of: a stream output or a rasterization, and when the constant amount of data is generated for the stream output, writing the generated data directly into a stream output buffer, and when the constant amount of data is generated for the rasterization, writing the generated data into a rasterization buffer either directly or through a use of an intermediate index buffer.
The subject matter of this specification can be implemented in, among other things, a method that includes storing first client information identifying a first client device, identifying a location of the first client device, and identifying a first remote access session that provides the first client device access to resources of the remote access system. The method further includes receiving access information identifying an access device and a user account associated with the first client information. The access information indicates that the user account has been successfully authenticated by the access device. The method further includes, in response to the receipt of the access information, causing the first client device to connect to the first remote access session with the remote access system as a background process of the client device while a user interface of the client device remains locked.
G06F 3/14 - Sortie numérique vers un dispositif de visualisation
H04W 88/06 - Dispositifs terminaux adapté au fonctionnement dans des réseaux multiples, p.ex. terminaux multi-mode
H04W 88/04 - Dispositifs terminaux adapté à la retransmission à destination ou en provenance d'un autre terminal ou utilisateur
G09G 5/00 - Dispositions ou circuits de commande de l'affichage communs à l'affichage utilisant des tubes à rayons cathodiques et à l'affichage utilisant d'autres moyens de visualisation
Systems and methods for file sharing over secure connections. An example method comprises: receiving a client request identifying a file sharing host and a file residing on the file sharing host; establishing a secure client connection; responsive to identifying a management connection with the file sharing host, transmitting an identifier and a parameter of the secure client connection via the management connection; receiving a host request to establish a secure host connection, the host request comprising the identifier of the secure client connection; establishing the secure host connection using the parameter of the secure client connection identified by the received identifier; forwarding, over the secure host connection, a first data packet received over the secure client connection, the first data packet comprising at least part of the client request; and forwarding, over the secure client connection, a second data packet received over the secure host connection, the second data packet comprising at least part of the file identified by the client request.
G06F 21/00 - Dispositions de sécurité pour protéger les calculateurs, leurs composants, les programmes ou les données contre une activité non autorisée
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
G06F 11/14 - Détection ou correction d'erreur dans les données par redondance dans les opérations, p.ex. en utilisant différentes séquences d'opérations aboutissant au même résultat
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
87.
System and method for providing a customized graphical user interface based on user inputs
A system and method that provides customized graphical user interfaces on mobile devices based on user inputs. An exemplary method includes detecting a computing device remotely connected to a remote server over a network and having an active session of a software application running on the remote server. Moreover, the method further includes identifying and selecting one or more hotkey buttons based on the detected software application, transmitting the one or more hotkey buttons to the computing device to be displayed in a customized interface while the software application is active, detecting an activation of the one or more hotkey buttons displayed on the computing device, and executing, by the remote server, an operation for the active software application in response to the activation of the one or more hotkey button by the user.
G06F 3/01 - Dispositions d'entrée ou dispositions d'entrée et de sortie combinées pour l'interaction entre l'utilisateur et le calculateur
G06F 9/451 - Dispositions d’exécution pour interfaces utilisateur
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
G06F 3/0488 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] utilisant des caractéristiques spécifiques fournies par le périphérique d’entrée, p.ex. des fonctions commandées par la rotation d’une souris à deux capteurs, ou par la nature du périphérique d’entrée, p.ex. des gestes en fonction de la pression exer utilisant un écran tactile ou une tablette numérique, p.ex. entrée de commandes par des tracés gestuels
G06F 3/0482 - Interaction avec des listes d’éléments sélectionnables, p.ex. des menus
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
88.
Resource usage for a remote session using artificial network bandwidth shaping
Disclosed are systems and methods for managing computing resources for a remote session that has been established between a client and a remote server via a communication channel. Such a remote session is configured to automatically adapt image quality of the remote session based on a network status of the communication channel. The described technique includes detecting an inactive state of the remote session, and in turn, modifying at least one network setting of the client using a network shaping rule specified to artificially reduce a network quality of the communication channel used by the client for traffic of the remote session, so as to cause the client to reduce image quality of the remote session and reduce an amount of data exchanged between the remote server and the client.
H04L 12/853 - Actions liées au type de trafic, p.ex. qualité de service ou priorité pour le trafic temps réel
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
H04N 19/172 - Procédés ou dispositions pour le codage, le décodage, la compression ou la décompression de signaux vidéo numériques utilisant le codage adaptatif caractérisés par l’unité de codage, c. à d. la partie structurelle ou sémantique du signal vidéo étant l’objet ou le sujet du codage adaptatif l’unité étant une zone de l'image, p.ex. un objet la zone étant une image, une trame ou un champ
H04L 12/805 - Détermination de la taille optimum des paquets, p.ex. unité de transmission maximum [MTU]
A system and method is provided that enables the recovery of data packets transmitted over an unreliable network. The system and method utilize an algorithm for transmitting the data packets with restoration of lost data during data transfer over UDP Protocol encrypted with DTLS Protocol. Advantageously, the algorithm does not require changes to data for either UDP or DTLS packets, but rather a separate, specifically designed packet is transmitted to the recipient to facilitate and ensure the recovery of any lost data packets over the unreliable network.
Disclosed are systems and methods for seamlessly redirecting network data between a client and a remote server. In one exemplary aspect, the method comprises receiving, at a remote server, the network data via a first remote desktop protocol (RDP) channel, wherein the network data is encapsulated and transmitted by a client device configured to communicate with the remote server. The method further comprises replacing a MAC address listed in the network data with a MAC address of a logical network adapter on the remote server, and placing received network packets into a network driver of the logical network adapter, wherein the logical network adapter transfers received data in an operating system of the remote server such that a server-side application on the remote server receives network packets from the client device.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p.ex. pour le traitement simultané de plusieurs programmes
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
H04L 29/12 - Dispositions, appareils, circuits ou systèmes non couverts par un seul des groupes caractérisés par le terminal de données
Systems and methods for embedding remote applications into HyperText Markup Language (HTML) pages. An example method comprises: identifying, within a HTML page rendered by a browser, a frame referencing a remote application; determining at least one of: a size of a window for rendering output of the remote application on a virtual desktop produced by a virtual execution environment running the remote application or a position of the window on the virtual desktop; causing a remote access session to be established with the virtual execution environment; transmitting a first message specifying at least one of: the size of the window on the virtual desktop or the position of the window on the virtual desktop; and causing the frame to be displayed within the HTML page by the browser for rendering output of the remote application.
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
G06F 9/455 - Dispositions pour exécuter des programmes spécifiques Émulation; Interprétation; Simulation de logiciel, p.ex. virtualisation ou émulation des moteurs d’exécution d’applications ou de systèmes d’exploitation
92.
Optimization of configurable distributed computing systems
The subject matter of this specification can be implemented in, among other things, a method that includes accessing a plurality of target tasks for a computing system, the computing system comprising a plurality of resources, wherein the plurality of resources comprises a first server and a second server, accessing a plurality of configurations of the computing system, wherein each of the plurality of configurations identifies one or more resources of the plurality of resources to perform the respective target task of the plurality of target tasks, and performing, for each of the plurality of configurations, a simulation to determine a plurality of performance metrics, wherein each of the plurality of performance metrics predicts performance of at least one of the plurality of resources executing the plurality of target tasks on the computing system.
Virtual computer systems (virtual machines) have become increasingly common with the evolution of virtualization technology, cloud computing, etc. However, as a virtual machine and its associated guest operating system seek to execute and/or access a page of memory through synchronous processes execution of the virtual processor associated with the virtual processing is blocked until the page of memory is locked and available. Accordingly, time is wasted on calls waiting for physical page availability thereby reducing utilization of the host machine and virtual machine respectively. To address this an asynchronous virtual machine environment is established allowing the virtual machine or physical machine to handle additional operations whilst waiting for physical page availability.
G06F 9/455 - Dispositions pour exécuter des programmes spécifiques Émulation; Interprétation; Simulation de logiciel, p.ex. virtualisation ou émulation des moteurs d’exécution d’applications ou de systèmes d’exploitation
Disclosed are systems and methods for determining an execution location for a utility component. In an exemplary aspect, the systems and methods comprise receiving, at a client device, a request to execute the utility component that performs an action on a target component; determining the execution location of the utility component; determining whether the execution location is on the client device or on a remote application server; and responsive to determining the execution location is on the remote application server, transmitting the request to be executed within a remote session between the client device and the remote application server.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p.ex. pour le traitement simultané de plusieurs programmes
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
Systems and methods for managing user input for a remote application session between a client device and a remote server are provided. Input command data is received from a client device for an application executing within a remote session established between the client device and the remote server. The input command data specifies a plurality of points within a graphical user interface where the input command data was captured on the client device. Spline curves are calculated based on a first subset of sequential points from the plurality of points. Simulated input events are generated that specify intermediate points calculated along the spline curves. The simulated input events are injected into the remote server for the application.
G06F 9/00 - Dispositions pour la commande par programme, p.ex. unités de commande
G06T 11/20 - Traçage à partir d'éléments de base, p.ex. de lignes ou de cercles
G06F 3/03 - Dispositions pour convertir sous forme codée la position ou le déplacement d'un élément
G06F 9/451 - Dispositions d’exécution pour interfaces utilisateur
G06F 3/0354 - Dispositifs de pointage déplacés ou positionnés par l'utilisateur; Leurs accessoires avec détection des mouvements relatifs en deux dimensions [2D] entre le dispositif de pointage ou une partie agissante dudit dispositif, et un plan ou une surface, p.ex. souris 2D, boules traçantes, crayons ou palets
Systems and methods for pre-fetching data based on memory usage patterns. An example method comprises: receiving a first memory access request identifying a first memory block; receiving a second memory access request identifying a second memory block; update a memory access tracking data structure by incrementing a sequence counter corresponding to a memory access sequence that references the first memory block and the second memory block; receive a third memory access request identifying a third memory block; identifying, based on the memory access tracking data structure, a sequence counter having a maximal value among sequence counters associated with memory access sequences that reference the third memory block; and pre-fetching a fourth memory block corresponding to the identified sequence counter.
Disclosed are systems and methods for managing software applications. The system receives, via a graphical user interface, a request to generate a chain application with a sequence of execution comprising a first application and a second application. In response to determining that an output type of the first application is not compatible with an input type of the second application, the system updates, without further user input, the sequence of execution such that the second application precedes the first application. The system generates the chain application configured to execute the first application and the second application in the updated sequence of execution.
G06F 3/0481 - Techniques d’interaction fondées sur les interfaces utilisateur graphiques [GUI] fondées sur des propriétés spécifiques de l’objet d’interaction affiché ou sur un environnement basé sur les métaphores, p.ex. interaction avec des éléments du bureau telles les fenêtres ou les icônes, ou avec l’aide d’un curseur changeant de comport
Systems and methods for instruction decoding using hash tables. An example method of constructing a decoding tree comprises: generating an aggregated vector of differentiating bit scores representing at least a subset of a set of processor instructions; identifying, based on the aggregated vector of differentiating bit scores, one or more opcode bit positions; and constructing a hash table implementing a current level of a decoding tree representing the subset of the set of processor instructions, wherein the hash table is indexed by one or more opcode bits identified by the one or more opcode bit positions.
System for synchronization of content between open applications. Remote access server (RAS) provides remote desktop to a mobile device. The mobile device has a remote access client component and communicates with the RAS and with an authorization component. First computer with a host application is connected to the RAS. Second computer is connected to the RAS and has a native application or a VM with a guest application. Authentication component authenticates the mobile device and the computers. The RAS synchronizes data between the mobile device and the computers, and provides a remote desktop for the mobile device via a remote access client component. The remote desktop includes the host application. Data entered in the host application for the first computer on the mobile device appears in the remote desktop via the RAS, and is synchronized with the guest application on the second computer.
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
H04W 36/32 - La resélection étant déclenchée par des paramètres spécifiques par des données de localisation ou de mobilité, p.ex. des données de vitesse
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
H04W 36/00 - Dispositions pour le transfert ou la resélection
G06F 9/455 - Dispositions pour exécuter des programmes spécifiques Émulation; Interprétation; Simulation de logiciel, p.ex. virtualisation ou émulation des moteurs d’exécution d’applications ou de systèmes d’exploitation
H04W 76/14 - Gestion de la connexion Établissement de la connexion Établissement de la connexion en mode direct
H04W 4/80 - Services utilisant la communication de courte portée, p.ex. la communication en champ proche, l'identification par radiofréquence ou la communication à faible consommation d’énergie
An example method of hardware-assisted graphics pipeline emulation comprises: computing, based on an input set graphic primitives, a set of tessellation factors; computing, based on the input set graphic primitives, a set of points specifying a plurality of patches; computing, based on the set of points, a tessellation count buffer; generating, based on the set of points and the tessellation count buffer, a tessellation offset buffer; performing, using the tessellation offset buffer, a tessellation setup stage; performing, by a graphics processing unit (GPU), a tessellation stage based on the set of tessellation factors, wherein the tessellation stage generates a plurality of output points corresponding to one or more patches of the plurality of patches; and computing, by a domain shader stage, a plurality of vertex positions defined by the plurality of output points.