Patents Assigned to Parallels International GmbH
  • 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: 10848570
    Abstract: The subject matter of this specification can be implemented in, among other things, a method that includes comparing, by a processing device in a remote access system, one or more days and times of day corresponding to initiation of a remote access session at a server device to determine that the days and times of day are within a threshold range from a day and time of day. The method further includes storing, in a data storage at the remote access system, first session information identifying the day and time of day for the remote access session at the server device. The method further includes, in response to an occurrence of the day and time of day, causing the server device to initiate the remote access session.
    Type: Grant
    Filed: August 28, 2019
    Date of Patent: November 24, 2020
    Assignee: Parallels International GmbH
    Inventors: Cláudio Rodrigues, Paul Gafa, Liubov Kulakova, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10848568
    Abstract: Disclosed are systems and methods for computer power management. In one aspect, a method comprises determining whether a frame rate at a client device is greater than a predetermined threshold value, determining whether the frame rate has remained constant, when the frame rate is greater than the predetermined threshold value and when the frame rate has remained constant, activating a poll mode at the client device, otherwise: activating a push mode at the client device to preserve power at the server, and executing reception of content for display at the client device from the server according to the activated mode.
    Type: Grant
    Filed: July 3, 2018
    Date of Patent: November 24, 2020
    Assignee: Parallels International GmbH
    Inventors: Denis Ozerov, Stanislav Zinukhov, Nikolay Dobrovolskiy, Serguei Beloussov
  • Patent number: 10831558
    Abstract: 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.
    Type: Grant
    Filed: March 7, 2019
    Date of Patent: November 10, 2020
    Assignee: Parallels International GmbH
    Inventors: Konstantin Ozerkov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10831522
    Abstract: 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.
    Type: Grant
    Filed: June 18, 2018
    Date of Patent: November 10, 2020
    Assignee: PARALLELS INTERNATIONAL GMBH
    Inventors: Konstantin Ozerkov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10826861
    Abstract: Disclosed are systems and methods for managing notifications from published applications. The described system provides a remote application server that listens for notifications from one or more published applications launched by a user at a client device, detects a notification from the one or more published applications, forms an intercepted notification packet containing information from the notification, determines whether the client device has enabled polling and adding the notification packet to a queue of notifications when polling is enabled, pushes the queue of notifications when a polling request is received from the client device; and pushes the intercepted notification packet when polling is not enabled. The described system further includes.
    Type: Grant
    Filed: January 24, 2018
    Date of Patent: November 3, 2020
    Assignee: Parallels International GmbH
    Inventors: Marco Borg, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10812220
    Abstract: Disclosed herein are systems and method for transmitting data from a sending device to a receiving device. In one aspect, an exemplary method comprises, receiving, by a first logical object created for the sending device, a request for a connection to the receiving device from an application, establishing, by a second logical object created for the sending device, a bidirectional connection between each pair of a third logical object created for the sending device and a third logical object created for the receiving device, pre-processing, by the first logical object created for the sending device, data received from the application, selecting, by the second logical object created for the sending device, one or more established bidirectional connections for transmitting the pre-processed data, and sending, by the first logical object created for the sending device, the pre-processed data, to the receiving device via the selected connections.
    Type: Grant
    Filed: September 26, 2018
    Date of Patent: October 20, 2020
    Assignee: Parallels International GmbH
    Inventors: Sergey Pachkov, Lyubov Kulakova, Serguei Beloussov, Nikolay Dobrovolskiy
  • Patent number: 10805384
    Abstract: The present disclosure generally relates to the field of distributed system server administration, and more specifically, to systems and methods for load balancing server infrastructure and improving the performance of peer-to-peer connections between computing devices.
    Type: Grant
    Filed: September 13, 2018
    Date of Patent: October 13, 2020
    Assignee: Parallels International GmbH
    Inventors: Alexey Kutuzov, Igor Marnat, Nikolay Dobrovolskiy, Serguei Beloussov, Sergey Pachkov
  • 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: 10776148
    Abstract: Disclosed are systems and methods for parallel processing an input data set. During a map stage of a computation, starting with a first virtual machine (VM) acting as a parent VM and an input data set, the system clones the parent VM to generate at least one linked clone child VM. The system further divides the input data set into a first chunk for the parent VM and a second chunk for the at least one child VM by determining a starting pointer for each chunk. Each chunk is processed by a VM to generate an intermediate data result, which is stored in a network storage device. The plurality of VMs then perform a reduce stage on the plurality of intermediate data results stored in the network storage device.
    Type: Grant
    Filed: February 6, 2018
    Date of Patent: September 15, 2020
    Assignee: Parallels International GmbH
    Inventors: Anton Zelenov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10776236
    Abstract: The subject matter of this specification can be implemented in, among other things, a method that includes establishing, by a processing device, a remote access session between a local computing device and a remote computing device connected by a network, receiving, by the remote computing device a request to execute an application, and determining, by a processing device, a remote efficiency value indicating estimated efficiency of executing the application on the remote computing device and a local efficiency value indicating estimated efficiency of executing the application on the local computing device. The method further includes comparing the remote efficiency value with the local efficiency value to determine whether to execute the application on the remote computing device or on the local computing device.
    Type: Grant
    Filed: April 16, 2018
    Date of Patent: September 15, 2020
    Assignee: Parallels International GmbH
    Inventors: Maxim Kudrin, Liubov Kulakova, Nikolay Dobrovolskiy, Serguei M. 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: 10771393
    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: September 13, 2018
    Date of Patent: September 8, 2020
    Assignee: Parallels International GmbH
    Inventors: Ivan Korobov, Nikolay Dobrovolskiy, Serguei Beloussov
  • Patent number: 10768985
    Abstract: Disclosed are systems and methods for deploying a distributed computing system. A domain controller manages a domain comprised of a plurality of computer objects each having an assigned system role. The described technique includes receiving a system configuration of a distributed directory-service-based system, wherein the system configuration specifies a path to a root organizational unit (OU) within the domain. The technique includes generating group policy objects based on system requirements for each system roles, creating an organizational unit (OU) for each system role, linking each group policy object for each system role to the corresponding created OU, and moving computer objects to an OU according to the system role. The described deployment technique is performed according to a distribution scheme generated based on a number of the system roles and computer objects of each system role.
    Type: Grant
    Filed: December 6, 2017
    Date of Patent: September 8, 2020
    Assignee: PARALLELS INTERNATIONAL GMBH
    Inventors: Yuriy Batsura, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10740217
    Abstract: A method may include establishing a connection between a debugger native to a host operating system and an agent of a virtual machine executing a guest operating system. The host operating system and the guest operating system are of different kernel types. The method may also include receiving, from the agent, information pertaining to the guest operating system. The method may also include performing, using the debugger on the host operating system, non-native system debugging of the guest operating system based on the information pertaining to the guest operating system.
    Type: Grant
    Filed: May 22, 2018
    Date of Patent: August 11, 2020
    Assignee: PARALLELS INTERNATIONAL GMBH
    Inventors: Andrey Stupachenko, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10733005
    Abstract: Systems and methods for providing access to mobile applications by heterogeneous devices. An example method comprises: initializing, by a host computer system, a virtual machine running a mobile operating system (OS); intercepting, by a host agent running on the host computer system, a video output associated with a window of an application running on the virtual machine; forwarding the video output to a client device; receiving, from the client device, a user interface input directed to the application; and forwarding the user interface input to the virtual machine.
    Type: Grant
    Filed: October 10, 2017
    Date of Patent: August 4, 2020
    Assignee: Parallels International GmbH
    Inventors: Anton Zelenov, Nikolay Dobrovolskiy, 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
  • Patent number: 10698931
    Abstract: A document search engine facilitates input prediction for searching content within stored documents associated with a user by maintaining a data structure comprising entries that are each associated with one of the stored documents, wherein each entry comprises textual content of one of the stored documents, and wherein the textual content comprises a plurality of characters. The textual content of each entry in the data structure is analyzed to identify sequential relationships between the characters in the textual content. An input text comprising a text character is received from a user as part of a search query, and a predicted text to follow the input text is determined, where the predicted text is based on the one or more sequential relationships between the characters in the textual content. The document search engine then provides the search query including the input text and the predicted text to the client device.
    Type: Grant
    Filed: December 7, 2016
    Date of Patent: June 30, 2020
    Assignee: PARALLELS INTERNATIONAL GMBH
    Inventors: Anton Zelenov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10691438
    Abstract: The subject matter of this specification can be implemented in, among other things, a method that includes receiving, from within a guest operating system hosted by a host operating system at a computer system, requests to access sparse files within a guest file system of the guest operating system. The sparse files each correspond to an external data file outside the guest file system. Each of the requests to access the sparse files within the guest file system is directed to the corresponding external data file outside the guest file system. The method includes identifying a frequency with which each of the sparse files is accessed. The method includes moving an external data file from a first type of storage device to a second type of storage device based on the frequency with which the external data file is accessed relative to others of the external data files.
    Type: Grant
    Filed: January 18, 2017
    Date of Patent: June 23, 2020
    Assignee: Parallels International GmbH
    Inventors: Maxim Lyadvinsky, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10691435
    Abstract: Systems and methods for binary translation of executable code.
    Type: Grant
    Filed: November 26, 2018
    Date of Patent: June 23, 2020
    Assignee: Parallels International GmbH
    Inventors: Alexey Koryakin, Nikolay Dobrovolskiy, Serguei M. Beloussov