Patents Assigned to Parallel International GmbH
  • Patent number: 10606493
    Abstract: A system and method is provided for managing memory allocated to a virtual machine running on a host platform. An exemplary method includes continuously calculating the amount of free physical memory of the host platform by subtracting the amount of physical memory currently used consumed by the host operating system from the total size of the physical memory on the host platform. Moreover, using the calculated amount of free physical memory, the method includes dynamically adjusting an overall limit of the physical memory that can be allocated to the virtual machine running on the host platform, and then allocating to the virtual machine an amount this allocated physical memory so that active pages can be stored in the allocated memory and directly accessed during operation by the virtual machine.
    Type: Grant
    Filed: April 14, 2017
    Date of Patent: March 31, 2020
    Assignee: Parallels International GmbH
    Inventors: Aleksandr Kartashov, Iurii Ovchinnikov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10594661
    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: June 13, 2017
    Date of Patent: March 17, 2020
    Assignee: Parallels International GmbH
    Inventors: Sergey Pachkov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10581636
    Abstract: Disclosed are systems and methods for exchanging network traffic between a client and a virtual machine running on a physical server. The described system provides a virtual network interface controller (NIC) that emulates access to a physical local area network of the physical server. The described system further includes server-side and client side components of a packet injection layer that exchanges guest network packets between the client and the virtual machine using a communication channel without injecting the guest network packets into the physical local network of the server.
    Type: Grant
    Filed: October 20, 2017
    Date of Patent: March 3, 2020
    Assignee: Parallels International GmbH
    Inventors: Dmitry Skorodumov, Nikolay Dobrovolskiy, Serguei M. Beloussov, Alexey Koryakin
  • Patent number: 10542078
    Abstract: Disclosed are systems and methods for balancing load of computing resources among a plurality of servers by a plurality of load balancers. Clients communicate with a front-end device which forwards requests to the load balancers in a cyclical fashion. The load balancers estimate the impact of the received requests and can forward client requests to an estimated least loaded backend server. The backend servers process client requests and periodically report load statistics to the load balancers.
    Type: Grant
    Filed: June 13, 2017
    Date of Patent: January 21, 2020
    Assignee: Parallels International GmbH
    Inventors: Daniel Farrugia, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10534637
    Abstract: Systems and methods for managing software applications are provided. The system may receive a user input request, via a graphical user interface, to chain together two or more applications. The system determines application profiles associated with each application, where the application profile specifies an input type and an output type for that application. The system determines whether the first output type of the first application is compatible with the second input type of the second application. If so, the system generates a chain application configured to execute the first application and second application in sequential order in which an intermediate output of the first application is passed to the second application as an input.
    Type: Grant
    Filed: February 21, 2018
    Date of Patent: January 14, 2020
    Assignee: Parallels International GmbH
    Inventors: Sergey Kontsov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10528380
    Abstract: A communication channel may be implemented from a host operating system (OS) to a guest OS of a virtual machine. The method may include receiving an instruction to create a communication channel between a guest OS of a virtual machine and host OS of a host computer system. The method may further include transmitting, to a virtual Universal Serial Bus (USB) hub executed by the host OS, a first request to create a virtual USB device on the virtual USB hub. The method may also include providing the virtual USB device to the guest OS and identifying an operation to be performed by the guest OS on the virtual USB device. The method may include providing, from the guest OS to the virtual USB hub of the host OS, a second request that includes the operation to be performed by the guest OS.
    Type: Grant
    Filed: November 27, 2017
    Date of Patent: January 7, 2020
    Assignee: Parallels International GmbH
    Inventors: Anton Zelenov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10529327
    Abstract: A system and method is provided that enables voice recognition for legacy operating systems of a computing device. An exemplary method includes receiving speech-based instructions from a user of mobile device that indicate a request for executing a task. The speech-based instructions are then analyzed by an intelligent personal assistant running on the mobile device to determine an intent of the user. If the intent of the user identifies a specialized client software module installed on the mobile, the software module will generate a command object that includes parameters relating to the execution of the task. The command object is then transmitted by the first computing device to a personal computer with a legacy operating system where the command object causes a software agent installed on the personal computer to execute the task based on the parameters included in the command object.
    Type: Grant
    Filed: March 29, 2017
    Date of Patent: January 7, 2020
    Assignee: Parallels International GmbH
    Inventors: Ivan Korobov, Andrey Omelyanchuk, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10528512
    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, updating one or more observed I/O performance statistics 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 endpoint state flags and observed I/O performance statistics.
    Type: Grant
    Filed: March 14, 2018
    Date of Patent: January 7, 2020
    Assignee: Parallels International GmbH
    Inventors: Sergey Pachkov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10509688
    Abstract: A system and method is provided for migrating a virtual machine between servers to access physical resources. An exemplary method includes intercepting a request from a client device to access a physical resource; identifying a virtual machine on a first server that is currently hosting a remote application for the client device; identifying a second server associated with the physical resource; and migrating the virtual machine from the first server to the second server, such that the client device can access the physical resource using the second server.
    Type: Grant
    Filed: June 29, 2017
    Date of Patent: December 17, 2019
    Assignee: Parallels International GmbH
    Inventors: Anton Zelenov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10496848
    Abstract: A system and method is provided for accessing secure files by local client devices. An exemplary method comprises receiving an access request to access an encrypted file on a client device, in response to the access request, transmitting a decryption request to decrypt a remote processing portion of a block of the encrypted file, receiving, in response to the decryption request, the decrypted remote processing portion of the block of the encrypted file, and receiving a local decryption key and applying the local decryption key to decrypt one or more local portions of the block of the encrypted file to obtain a fully decrypted block of the encrypted file.
    Type: Grant
    Filed: November 27, 2018
    Date of Patent: December 3, 2019
    Assignee: Parallels International GmbH
    Inventors: Maxim Lyadvinsky, Paul Gafa, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10481941
    Abstract: Systems and methods for implementing a virtual machine (VM) exit processing accelerator. An example method comprises: intercepting, by a VM exit processing accelerator, a VM exit associated with the virtual machine; responsive to determining that an identifier of a reason of the VM exit satisfies a first condition, processing the VM exit by the VM exit processing accelerator; and resuming execution of the virtual machine.
    Type: Grant
    Filed: April 25, 2018
    Date of Patent: November 19, 2019
    Assignee: Parallels International GmbH
    Inventors: Andrey N. Naenko, Alexey B. Koryakin, Nikolay N. Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10432681
    Abstract: A computer-implemented method for transmitting and controlling images of a remotely executed application, the method including connecting a mobile computing device to a remote server; connecting a desktop computing device to the remote server and to the mobile computing device; starting an application on the remote server, wherein the application generates graphical objects controllable by commands from the mobile computing device; encoding each graphical object into a video stream; transferring the video stream to the mobile computing device and to the desktop computing device; generating the commands on mobile computing device; sending the commands to the remote server; detecting if the video stream contains results of execution of the commands; displaying the graphical objects on the local computing device; and generating an image of a substitute graphic object image if the video stream does not contain the results.
    Type: Grant
    Filed: October 19, 2016
    Date of Patent: October 1, 2019
    Assignee: Parallels International GmbH
    Inventors: Artem Kolomeitsev, Alexander Kiselev, Nikolay N. Dobrovolskiy, Stanislav S. Protassov, Serguei M. Beloussov
  • Patent number: 10404663
    Abstract: An example method for file sharing over secure connections comprises: establishing a secure client connection; receiving a client request identifying a file residing on the file sharing host; transmitting an identifier and a parameter of the secure client connection via a management connection to the file sharing host; receiving a host request to establish a secure host connection, the host request comprising the identifier of the secure client connection; establishing the secure host connection using the parameter of the secure client connection identified by the received identifier; forwarding, over the secure host connection, a first data packet received over the secure client connection, the first data packet comprising at least part of the client request; and forwarding, over the secure client connection, a second data packet received over the secure host connection, the second data packet comprising at least part of the file identified by the client request.
    Type: Grant
    Filed: February 29, 2016
    Date of Patent: September 3, 2019
    Assignee: Parallels International GmbH
    Inventors: Alexey Petrukhin, Grigory Nikolaenko, Nikolay Dobrovolskiy, Serguei Beloussov
  • Patent number: 10404805
    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: May 22, 2017
    Date of Patent: September 3, 2019
    Assignee: Parallels International GmbH
    Inventors: Cláudio Rodrigues, Paul Gafa, Liubov M. Kulakova, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10380195
    Abstract: Implementations of the disclosure describe grouping documents by content similarity. A method of the disclosure includes determining a first set of document identifiers (IDs) for documents identified responsive to a search query, for each document ID of the first set: obtaining shingles corresponding to the document ID, identifying a second set of document IDs corresponding to the obtained shingles, grouping the identified document IDs of the second set in a grouping data structure, and determining resulting document IDs from the grouping data structure, the resulting document IDs corresponding to a threshold number of the document IDs in the grouping data structure having a highest number of occurrences. The method further includes associating the documents corresponding to the resulting documents IDs with one another in search results generated responsive to the search query.
    Type: Grant
    Filed: January 13, 2017
    Date of Patent: August 13, 2019
    Assignee: Parallels International GmbH
    Inventors: Anton Zelenov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10379823
    Abstract: A processing device of a remote server identifies at least one control in an active application window and a plurality of control options associated with the at least one control. The active application window comprises a user interface in a first format generated by an application running on the remote server. The processing device generates a first metadata representation of the at least one control and of the plurality of control options and sends the first metadata representation to a mobile device communicatively coupled to the remote server. The mobile device generates a user interface in a second format based on the first metadata representation to present the control and the plurality of control options on the mobile device.
    Type: Grant
    Filed: September 5, 2017
    Date of Patent: August 13, 2019
    Assignee: Parallels International GmbH
    Inventors: Ruslan Sadovnikov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10372497
    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: September 5, 2017
    Date of Patent: August 6, 2019
    Assignee: Parallels International GmbH
    Inventors: Anton Zelenov, Nikolay Dobrovolskiy, Serguei M. Beloussov, Alexey Koryakin
  • Patent number: 10359969
    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: March 9, 2017
    Date of Patent: July 23, 2019
    Assignee: Parallels International GmbH
    Inventors: Iurii Ovchinnikov, Alexey Koryakin, Denis Lamtsov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10313474
    Abstract: A system and method for reducing load on a load balancer by offloading redundant queries to the client. The system and method includes receiving an optimized service listing and determining if a suitable server can be identified without submitting a query to the load balancer. An exemplary method includes receiving, from a load balancing node, a listing of client services hosted by servers remotely coupled to the load balancing node, locally storing this listing and identifying one or more the client services to be transmitted to the client device. The method further includes accessing the listing of client services to determine if one or more of the servers is hosting the identified client service, establishing a connection between the client device and the server, and transmitting the identified client service from the server to the client device.
    Type: Grant
    Filed: November 14, 2016
    Date of Patent: June 4, 2019
    Assignee: Parallels International GmbH
    Inventors: Daniel Farrugia, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10230855
    Abstract: A processing device in a server computer system generates multiple instances of a universal scanner driver on a server, each instance corresponding to a different scanner connected at separate user devices. The processing device receives requests for an application running on the server to scan documents using the multiple scanners concurrently. The processing device sends, using the different instances of the universal scanner driver, the requests to each user device concurrently and receives scan data corresponding to the documents from the user device.
    Type: Grant
    Filed: September 12, 2016
    Date of Patent: March 12, 2019
    Assignee: Parallels International GmbH
    Inventors: Matthew Cini Sarreo, Paul Gafa, Nikolay N. Dobrovolskiy, Serguei M. Beloussov