Patents by Inventor Nikolay Dobrovolskiy

Nikolay Dobrovolskiy has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11165709
    Abstract: 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.
    Type: Grant
    Filed: July 27, 2020
    Date of Patent: November 2, 2021
    Assignee: Parallels International GmbH
    Inventors: Ivan Korobov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 11165752
    Abstract: 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.
    Type: Grant
    Filed: March 16, 2020
    Date of Patent: November 2, 2021
    Assignee: Parallels International GmbH
    Inventors: Sergey Pachkov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 11159627
    Abstract: 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.
    Type: Grant
    Filed: January 16, 2020
    Date of Patent: October 26, 2021
    Assignee: Parallels International GmbH
    Inventors: Sergey Pachkov, Alexey Koryakin, Dmitry Skorodumov, Nikolay Dobrovolskiy
  • Patent number: 11153364
    Abstract: 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.
    Type: Grant
    Filed: November 29, 2017
    Date of Patent: October 19, 2021
    Assignee: Parallels International GmbH
    Inventors: Joseph Portelli, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Publication number: 20210312107
    Abstract: 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.
    Type: Application
    Filed: April 1, 2020
    Publication date: October 7, 2021
    Inventors: Vasileios Koutsomanis, Igor Marnat, Nikolay Dobrovolskiy
  • Patent number: 11113094
    Abstract: 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.
    Type: Grant
    Filed: August 28, 2019
    Date of Patent: September 7, 2021
    Assignee: Parallels International GmbH
    Inventors: Alexey Koryakin, Nikolay Dobrovolskiy
  • Patent number: 11115460
    Abstract: 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.
    Type: Grant
    Filed: December 11, 2019
    Date of Patent: September 7, 2021
    Assignee: Parallels International GmbH
    Inventors: Aleksandr Suslov, Ivan Korobov, Serguei M. Beloussov, Nikolay Dobrovolskiy
  • Patent number: 11093264
    Abstract: 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.
    Type: Grant
    Filed: June 14, 2019
    Date of Patent: August 17, 2021
    Assignee: Parallels International GmbH
    Inventors: Ivan Korobov, Dmitry Varentsov, Nikolay Dobrovolskiy
  • Patent number: 11086527
    Abstract: 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.
    Type: Grant
    Filed: January 28, 2019
    Date of Patent: August 10, 2021
    Assignee: Parallels International GmbH
    Inventors: Anton Zelenov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 11080089
    Abstract: 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.
    Type: Grant
    Filed: December 5, 2019
    Date of Patent: August 3, 2021
    Assignee: Parallels International GmbH
    Inventors: Sergey Kontsov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 11070647
    Abstract: 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.
    Type: Grant
    Filed: March 14, 2017
    Date of Patent: July 20, 2021
    Assignee: Parallels International GmbH
    Inventors: Ivan Korobov, Yuri Makarov, Andrey A. Omelyanchuk, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 11068269
    Abstract: 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.
    Type: Grant
    Filed: May 20, 2019
    Date of Patent: July 20, 2021
    Assignee: Parallels International GmbH
    Inventors: Alexey Koryakin, Nikolay Dobrovolskiy
  • 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: 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