Patents Assigned to Parallel International GmbH
  • Patent number: 11055896
    Abstract: 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.
    Type: Grant
    Filed: February 25, 2020
    Date of Patent: July 6, 2021
    Assignee: Parallels International GmbH
    Inventors: Evgeny Nikitenko, Alexey Ivanov, Nikolay Dobrovolskiy
  • Patent number: 11055115
    Abstract: Disclosed are systems and methods for executing a remote session in a virtualized environment. The described technique may be used when handling a request to launch a remote session using a specified virtual template. A virtual machine (VM) type associated with the virtual template and that indicates hypervisor compatibility of the virtual template may be determined. A destination hypervisor is selected for executing the remote session. If VM type is not compatible for execution on the destination hypervisor, a converted, native VM image file is generated which is compatible with the destination hypervisor. The remote session is then launched on the destination hypervisor using another VM executed using the converted VM image file.
    Type: Grant
    Filed: August 9, 2018
    Date of Patent: July 6, 2021
    Assignee: Parallels International GmbH
    Inventors: Maxim Kudrin, Ilya Bakaev, Bair Dymbrylov, Serguei Beloussov, Nikolay Dobrovolskiy
  • Patent number: 11042257
    Abstract: A processing device identifies an application that is in a first language and has a first binary resource file that includes first resource data for a first set of resources of the application in the first language, determines that the application is translated into a second language and has a second binary resource file that includes second resource data for a second set of resources of the application in the second language, determines differences between functionality of the second set of resources of the application in the second language and functionality of the first plurality of resources of the application in the first language based on the first binary resource file and the second binary resource file, and modifies one or more of the second plurality of resources of the application in the second language based on at least one of the differences between the functionality of the second plurality of resources and the functionality of the first plurality of resources of the application.
    Type: Grant
    Filed: December 5, 2016
    Date of Patent: June 22, 2021
    Assignee: Parallels International GmbH
    Inventors: Shawn Roderick Sciberras, Paul Gafa, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 11044315
    Abstract: 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.
    Type: Grant
    Filed: February 24, 2020
    Date of Patent: June 22, 2021
    Assignee: Parallels International GmbH
    Inventors: Anton Zelenov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 11036344
    Abstract: 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.
    Type: Grant
    Filed: September 13, 2016
    Date of Patent: June 15, 2021
    Assignee: Parallels International GmbH
    Inventors: Joseph Portelli, Paul Gafa, Nikolay N. Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 11036764
    Abstract: A document classifier, executed by a processing device, groups a plurality of stored documents using machine learning to create a plurality clusters that each include documents having similar characteristics. The document classifier further determines a document classification for each of the plurality of clusters based on a subset of the documents in each respective cluster. In addition, the document classifier associates a determined document classification with each of the plurality of documents, wherein resulting classifications of documents are used to filter search results in response to queries of end users.
    Type: Grant
    Filed: January 12, 2017
    Date of Patent: June 15, 2021
    Assignee: Parallels International GmbH
    Inventors: Anton Zelenov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 11030792
    Abstract: Disclosed herein are systems and methods for packing stream outputs of a geometry shader into an output buffer. In one aspect, an exemplary method comprises generating, using vertices of primitives received from one or more geometry shaders, a stream output data together with an index buffer, where each absent vertex is replaced with a primitive restart, rebuilding the index buffer to a list format; and unwrapping the index data of the rebuilt index buffer to a packed buffer.
    Type: Grant
    Filed: May 22, 2019
    Date of Patent: June 8, 2021
    Assignee: Parallel International GmbH
    Inventors: Alexey Ivanov, Evgeny Nikitenko, Nikolay Dobrovolskiy
  • Patent number: 11010324
    Abstract: Systems and methods for performing asynchronous input/output (I/O) operations. An example method comprises: initializing a list of sockets that are ready for performing I/O operations; traversing the list of sockets, wherein a traversal operation of the list includes, for each socket referenced by the list: performing I/O operations using the socket, updating a state flag associated with the socket to reflect a state of the socket; and responsive to detecting less than a threshold number of I/O operation errors during the traversal operation, updating the list of sockets based on updated state flags.
    Type: Grant
    Filed: November 11, 2019
    Date of Patent: May 18, 2021
    Assignee: Parallels International GmbH
    Inventors: Sergey Pachkov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 11010280
    Abstract: Disclosed are systems and methods for debugging program code using a computing system. The disclosed method includes designating a control point in a software application subject to a debugging procedure, and then executing the program code for the software application as a guest application executing within a virtual machine. Upon detection of a virtualization event, the hardware processor transfers program control to a hypervisor which then determines whether the virtualization event corresponds to the designated control point based on an execution state of the guest application. If so, the virtualization event handler may generate a debugging event that is used by a debugger.
    Type: Grant
    Filed: March 13, 2019
    Date of Patent: May 18, 2021
    Assignee: Parallels International GmbH
    Inventors: Andrey Stupachenko, Nikolay Dobrovolskiy
  • Patent number: 11003470
    Abstract: Systems and methods for implementing sticky notes associated with remotely executed applications. An example method comprises: receiving, by a client gateway, a request initiated by a client to launch a published application executable by a virtual execution environment; retrieving, from a publishing server associated with the virtual execution environment, a plurality of sticky note definition records, wherein each sticky note definition record of the plurality of sticky note definition records defines a sticky note associated with the published application; and causing the client to render, in a visual association with a window of the published application, a popup window representing a sticky note defined by a sticky note definition record of the plurality of sticky note definition records.
    Type: Grant
    Filed: March 5, 2018
    Date of Patent: May 11, 2021
    Assignee: Parallels International GmbH
    Inventors: Stefania Galea, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 11004263
    Abstract: 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.
    Type: Grant
    Filed: May 22, 2019
    Date of Patent: May 11, 2021
    Assignee: Parallels International GmbH
    Inventors: Alexey Ivanov, Evgeny Nikitenko
  • Patent number: 10999362
    Abstract: The subject matter of this specification can be implemented in, among other things, a method that includes receiving, by a host server providing a remote desktop environment to a client device, a request from the client device to execute an application, selecting a first terminal server to execute the application, initiating execution of the application on the first terminal server, determining that the application is to be transferred to a second terminal server, determining identifiers of storage locations of one or more application files that are opened by a user of the client device in relation to the application, causing execution of the application on the first terminal server to be terminated; and initiating execution of the application on the second terminal server using the identifiers of the storage locations of the one or more application files.
    Type: Grant
    Filed: January 14, 2019
    Date of Patent: May 4, 2021
    Assignee: Parallels International GmbH
    Inventors: Maxim Kudrin, Nikolay Dobrovolskiy
  • Patent number: 10999409
    Abstract: The subject matter of this specification can be implemented in, among other things, a method that includes establishing connections between a host server and client devices associated with one or more local devices, receiving from the client devices configuration requests to configure, on the host server, drivers for the local devices to convert data between a data format accessible to the local devices and a data format accessible to applications provided to the client devices by the host server, identifying execution priority of the client devices, identifying a first group of configuration requests and a second group of configuration requests, executing, in order of decreased priority of client devices, the first group of configuration requests until an occurrence of a restart condition, and responsive to the occurrence of the restart condition, executing the second group of configuration requests.
    Type: Grant
    Filed: May 30, 2019
    Date of Patent: May 4, 2021
    Assignee: Parallels International GmbH
    Inventors: Sergey Pachkov, Igor Marnat, Liubov Kulakova, Nikolay Dobrovolskiy
  • Patent number: 10992744
    Abstract: 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.
    Type: Grant
    Filed: August 29, 2019
    Date of Patent: April 27, 2021
    Assignee: Parallels International GmbH
    Inventors: Alexey Kutuzov, Nikolay Dobrovolskiy
  • Patent number: 10990280
    Abstract: 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.
    Type: Grant
    Filed: December 3, 2018
    Date of Patent: April 27, 2021
    Assignee: Parallels International GmbH
    Inventors: Alexander Grechishkin, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10979493
    Abstract: Disclosed are systems and methods for forwarding service requests to an idle server from among a plurality of servers. For example, the method comprises, by a load balancer, tracking service requests on each backend server, estimating an additional load associated with currently pending requests based on resource usage statistics reported in a previous time interval, predicting which of the plurality of servers is most likely to be the most idle server for a next time interval using a statistical model based on the estimated additional load associated with currently pending requests, and forwarding service requests to the most idle server based on the prediction.
    Type: Grant
    Filed: December 13, 2019
    Date of Patent: April 13, 2021
    Assignee: Parallel International GmbH
    Inventors: Daniel Farrugia, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10956186
    Abstract: Systems and methods for runtime text translation for virtual execution environments. An example method comprises: identifying, by a virtualization server application, a window associated with an application running in a virtual execution environment controlled by the virtualization server application; identifying, in metadata associated with the window, a first alphanumeric string to be displayed in the window, the first alphanumeric string comprising one or more words in a first natural language; translating the first alphanumeric string to a second natural language to produce a second alphanumeric string; modifying the metadata associated with the window to produce modified metadata including the second alphanumeric string; transmitting the modified metadata to a virtualization client application associated with the virtual execution environment; and causing the virtualization client application to render the window.
    Type: Grant
    Filed: September 5, 2017
    Date of Patent: March 23, 2021
    Assignee: Parallels International GmbH
    Inventors: André Zammit, Shawn Roderick Sciberras, Liubov Kulakova, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10929112
    Abstract: A processing device of a remote server computing system receives an input metadata representation of an input action from a mobile device communicatively coupled to the remote server computing system. The input action comprises a selection of one of a plurality of control options associated with at least one control from a mobile user interface presented by the mobile device, wherein the mobile user interface is generated from a display metadata representation of the plurality of control options and the at least one control from a stationary user interface generated by an application running on the remote server computing system. The processing device converts the input metadata representation to a stationary format used by the application running on the remote server computing system and executes a command corresponding to the input action in the application running on the remote server computing system.
    Type: Grant
    Filed: August 12, 2019
    Date of Patent: February 23, 2021
    Assignee: Parallells International GmbH
    Inventors: Ruslan Sadovnikov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10924528
    Abstract: 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.
    Type: Grant
    Filed: June 29, 2018
    Date of Patent: February 16, 2021
    Assignee: Parallels International GmbH
    Inventors: Ivan Korobov, Silvan Chetcuti, Ruslan Sadovnikov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10908943
    Abstract: Systems and methods for browser credential management for terminal server sessions. An example method comprises: receiving, by a terminal server, a credential manager API request intercepted by a hook module installed into a browser running within a terminal session managed by the terminal server; forwarding the intercepted API request to a terminal service client application running on a client computer system; receiving, from the terminal service client application, a client response to the intercepted API request; producing, using the client response, a terminal server response to the intercepted API request; and forwarding the terminal server response to the hook module.
    Type: Grant
    Filed: April 25, 2019
    Date of Patent: February 2, 2021
    Assignee: Parallels International GmbH
    Inventors: Sergey Viktorov, Nikolay Dobrovolskiy, Serguei M. Beloussov