Patents by Inventor Alexey Koryakin

Alexey Koryakin 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: 11934862
    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: March 27, 2023
    Date of Patent: March 19, 2024
    Assignee: Parallels International GmbH
    Inventors: Alexey Koryakin, Nikolay Dobrovolskiy
  • Patent number: 11861390
    Abstract: 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.
    Type: Grant
    Filed: January 20, 2022
    Date of Patent: January 2, 2024
    Assignee: Parallels International GmbH
    Inventors: Alexander Grechishkin, Konstantin Ozerkov, Alexey Koryakin, Nikolay Dobrovolskiy, Serguei Beloussov
  • Patent number: 11816347
    Abstract: 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.
    Type: Grant
    Filed: July 11, 2022
    Date of Patent: November 14, 2023
    Assignee: Parallels International GmbH
    Inventors: Iurii Ovchinnikov, Alexey Koryakin, Denis Lamtsov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 11748078
    Abstract: Systems and methods for binary translation of executable code.
    Type: Grant
    Filed: August 16, 2022
    Date of Patent: September 5, 2023
    Assignee: Parallels International GmbH
    Inventors: Alexey Koryakin, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 11700313
    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: September 22, 2021
    Date of Patent: July 11, 2023
    Assignee: Parallels International GmbH
    Inventors: Sergey Pachkov, Alexey Koryakin, Dmitry Skorodumov, Nikolay Dobrovolskiy
  • Patent number: 11625262
    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: June 9, 2021
    Date of Patent: April 11, 2023
    Assignee: Parallels International GmbH
    Inventors: Alexey Koryakin, Nikolay Dobrovolskiy
  • Patent number: 11520587
    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 17, 2021
    Date of Patent: December 6, 2022
    Assignee: Parallels International GmbH
    Inventors: Alexey Koryakin, Nikolay Dobrovolskiy
  • Patent number: 11455156
    Abstract: Systems and methods for binary translation of executable code.
    Type: Grant
    Filed: May 11, 2020
    Date of Patent: September 27, 2022
    Assignee: Parallels International GMBH
    Inventors: Alexey Koryakin, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 11385827
    Abstract: 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.
    Type: Grant
    Filed: November 25, 2020
    Date of Patent: July 12, 2022
    Assignee: Parallels International GmbH
    Inventors: Iurii Ovchinnikov, Alexey Koryakin, Denis Lamtsov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 11301283
    Abstract: 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.
    Type: Grant
    Filed: August 26, 2019
    Date of Patent: April 12, 2022
    Assignee: Parallels International GmbH
    Inventors: Alexey Koryakin, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 11256533
    Abstract: 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.
    Type: Grant
    Filed: September 1, 2020
    Date of Patent: February 22, 2022
    Assignee: Parallels International GmbH
    Inventors: Alexander Grechishkin, Konstantin Ozerkov, Alexey Koryakin, Nikolay Dobrovolskiy, Serguei Beloussov
  • Patent number: 11256534
    Abstract: Disclosed are systems and methods for executing system calls in a virtualized environment. A method includes executing, on a host, a host process corresponding to a guest process executing within a virtual machine and having an associated guest-process virtual address space, the host process having an associated host-process virtual address space. The method also includes mapping the host-process virtual address space and the guest-process virtual address space to a host physical memory, trapping a system call invoked by the guest process, and performing the trapped system call using the host process, wherein state changes in the host-process virtual address space caused by the trapped system call are reflected in the guest-process virtual address space. The method further includes causing execution of the guest process to be resumed after performing the trapped system call.
    Type: Grant
    Filed: September 4, 2020
    Date of Patent: February 22, 2022
    Assignee: Parallels International GmbH
    Inventors: Andrey Naenko, Alexey Koryakin, 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: 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: 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
  • Publication number: 20200401439
    Abstract: Disclosed are systems and methods for executing system calls in a virtualized environment. A method includes executing, on a host, a host process corresponding to a guest process executing within a virtual machine and having an associated guest-process virtual address space, the host process having an associated host-process virtual address space. The method also includes mapping the host-process virtual address space and the guest-process virtual address space to a host physical memory, trapping a system call invoked by the guest process, and performing the trapped system call using the host process, wherein state changes in the host-process virtual address space caused by the trapped system call are reflected in the guest-process virtual address space. The method further includes causing execution of the guest process to be resumed after performing the trapped system call.
    Type: Application
    Filed: September 4, 2020
    Publication date: December 24, 2020
    Inventors: Andrey Naenko, Alexey Koryakin, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10852986
    Abstract: 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.
    Type: Grant
    Filed: May 30, 2019
    Date of Patent: December 1, 2020
    Assignee: Parallels International GmbH
    Inventors: Iurii Ovchinnikov, Alexey Koryakin, Denis Lamtsov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10795708
    Abstract: 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.
    Type: Grant
    Filed: November 10, 2016
    Date of Patent: October 6, 2020
    Assignee: PARALLELS INTERNATIONAL GMBH
    Inventors: Alexander Grechishkin, Konstantin Ozerkov, Alexey Koryakin, Nikolay Dobrovolskiy, Serguei Beloussov
  • Patent number: 10768966
    Abstract: Disclosed are systems and methods for executing system calls in a virtualized environment. The described techniques involve trapping a system call invoked a guest process within a virtual machine. The guest process has an associated guest-process virtual address space, and the technique runs a corresponding host process on the host having an associated host-process virtual address space. State changes in the host-process virtual address space caused by the trapped system call are reflected in the guest-process virtual address space, and vice versa. The described technique may be extended to distributed systems having remote and client devices.
    Type: Grant
    Filed: May 23, 2018
    Date of Patent: September 8, 2020
    Assignee: PARALLELS INTERNATIONAL GMBH
    Inventors: Andrey Naenko, Alexey Koryakin, Nikolay Dobrolovsky, Serguei M. Beloussov
  • Patent number: 10698731
    Abstract: A system and method is provided for performing computations on a virtual machine without a special hardware computation unit, such as a discrete graphics processing unit (GPU). The described method uses a computation module to intercept requests from a user application executing in a virtual machine on a first physical computer. The intercepted requests may include requests to configure GPU computation grids, start and finish accelerated code execution, and transfer data to and from the special computation unit. The computation module offloads accelerated code to a second physical computer having a physical special hardware unit (e.g., discrete GPU).
    Type: Grant
    Filed: June 26, 2019
    Date of Patent: June 30, 2020
    Assignee: PARALLELS INTERNATIONAL GMBH
    Inventors: Anton Zelenov, Nikolay Dobrovolskiy, Serguei M. Beloussov, Alexey Koryakin