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: 12014199Abstract: 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) mining 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: GrantFiled: April 11, 2022Date of Patent: June 18, 2024Assignee: Parallels International GmbHInventors: Alexey Koryakin, Nikolay Dobrovolskiy, Serguei M. Beloussov
-
Patent number: 11995441Abstract: 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: GrantFiled: November 11, 2022Date of Patent: May 28, 2024Assignee: Parallels International GmbHInventors: Alexey Koryakin, Nikolay Dobrovolskiy
-
Patent number: 11934862Abstract: 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: GrantFiled: March 27, 2023Date of Patent: March 19, 2024Assignee: Parallels International GmbHInventors: Alexey Koryakin, Nikolay Dobrovolskiy
-
Patent number: 11861390Abstract: 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: GrantFiled: January 20, 2022Date of Patent: January 2, 2024Assignee: Parallels International GmbHInventors: Alexander Grechishkin, Konstantin Ozerkov, Alexey Koryakin, Nikolay Dobrovolskiy, Serguei Beloussov
-
Patent number: 11816347Abstract: 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: GrantFiled: July 11, 2022Date of Patent: November 14, 2023Assignee: Parallels International GmbHInventors: Iurii Ovchinnikov, Alexey Koryakin, Denis Lamtsov, Nikolay Dobrovolskiy, Serguei M. Beloussov
-
Patent number: 11748078Abstract: Systems and methods for binary translation of executable code.Type: GrantFiled: August 16, 2022Date of Patent: September 5, 2023Assignee: Parallels International GmbHInventors: Alexey Koryakin, Nikolay Dobrovolskiy, Serguei M. Beloussov
-
Patent number: 11700313Abstract: 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: GrantFiled: September 22, 2021Date of Patent: July 11, 2023Assignee: Parallels International GmbHInventors: Sergey Pachkov, Alexey Koryakin, Dmitry Skorodumov, Nikolay Dobrovolskiy
-
Patent number: 11625262Abstract: 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: GrantFiled: June 9, 2021Date of Patent: April 11, 2023Assignee: Parallels International GmbHInventors: Alexey Koryakin, Nikolay Dobrovolskiy
-
Patent number: 11520587Abstract: 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: GrantFiled: May 17, 2021Date of Patent: December 6, 2022Assignee: Parallels International GmbHInventors: Alexey Koryakin, Nikolay Dobrovolskiy
-
Patent number: 11455156Abstract: Systems and methods for binary translation of executable code.Type: GrantFiled: May 11, 2020Date of Patent: September 27, 2022Assignee: Parallels International GMBHInventors: Alexey Koryakin, Nikolay Dobrovolskiy, Serguei M. Beloussov
-
Patent number: 11385827Abstract: 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: GrantFiled: November 25, 2020Date of Patent: July 12, 2022Assignee: Parallels International GmbHInventors: Iurii Ovchinnikov, Alexey Koryakin, Denis Lamtsov, Nikolay Dobrovolskiy, Serguei M. Beloussov
-
Patent number: 11301283Abstract: 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: GrantFiled: August 26, 2019Date of Patent: April 12, 2022Assignee: Parallels International GmbHInventors: Alexey Koryakin, Nikolay Dobrovolskiy, Serguei M. Beloussov
-
Patent number: 11256534Abstract: 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: GrantFiled: September 4, 2020Date of Patent: February 22, 2022Assignee: Parallels International GmbHInventors: Andrey Naenko, Alexey Koryakin, Nikolay Dobrovolskiy, Serguei M. Beloussov
-
Patent number: 11256533Abstract: 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: GrantFiled: September 1, 2020Date of Patent: February 22, 2022Assignee: Parallels International GmbHInventors: Alexander Grechishkin, Konstantin Ozerkov, Alexey Koryakin, Nikolay Dobrovolskiy, Serguei Beloussov
-
Patent number: 11159627Abstract: 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: GrantFiled: January 16, 2020Date of Patent: October 26, 2021Assignee: Parallels International GmbHInventors: Sergey Pachkov, Alexey Koryakin, Dmitry Skorodumov, Nikolay Dobrovolskiy
-
Patent number: 11113094Abstract: 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: GrantFiled: August 28, 2019Date of Patent: September 7, 2021Assignee: Parallels International GmbHInventors: Alexey Koryakin, Nikolay Dobrovolskiy
-
Patent number: 11068269Abstract: 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: GrantFiled: May 20, 2019Date of Patent: July 20, 2021Assignee: Parallels International GmbHInventors: Alexey Koryakin, Nikolay Dobrovolskiy
-
Publication number: 20200401439Abstract: 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: ApplicationFiled: September 4, 2020Publication date: December 24, 2020Inventors: Andrey Naenko, Alexey Koryakin, Nikolay Dobrovolskiy, Serguei M. Beloussov
-
Patent number: 10852986Abstract: 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: GrantFiled: May 30, 2019Date of Patent: December 1, 2020Assignee: Parallels International GmbHInventors: Iurii Ovchinnikov, Alexey Koryakin, Denis Lamtsov, Nikolay Dobrovolskiy, Serguei M. Beloussov
-
Patent number: 10795708Abstract: 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: GrantFiled: November 10, 2016Date of Patent: October 6, 2020Assignee: PARALLELS INTERNATIONAL GMBHInventors: Alexander Grechishkin, Konstantin Ozerkov, Alexey Koryakin, Nikolay Dobrovolskiy, Serguei Beloussov