Patents Assigned to Parallels International GmbH
  • 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: 10423774
    Abstract: Disclosed are systems and methods for establishing secure communication between virtual machines, and, more particularly, to a system and method for establishing secure communication channels between two or more homogenous virtual machines. An exemplary method includes generating, by a first virtual machine, an encryption key compatible with a symmetric encryption algorithm and storing the encryption key in a memory of the first virtual machine; generating a second virtual machine by performing a virtual machine forking operation on the first virtual machine, wherein a memory of the generated second virtual machine contains the encryption key; receiving, by one of the at least two virtual machines, a communication transmitted by another of the at least two virtual machines, wherein the communication comprises data encrypted using the encryption key; and decrypting the data, by the recipient virtual machine, using the encryption key.
    Type: Grant
    Filed: August 22, 2017
    Date of Patent: September 24, 2019
    Assignee: PARALLELS INTERNATIONAL GMBH
    Inventors: Anton Zelenov, Nikolay Dobrovolskiy, Serguei M. 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: 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: 10394860
    Abstract: A document manager facilitates indexing of a plurality of documents stored in a document repository by obtaining a document of the plurality of documents stored in the document repository, where the document comprises a plurality of morphemes. The document manager encodes a morpheme of the plurality of morphemes using an encryption passphrase associated with the client device to generate an encoded morpheme, encodes a location array using the encryption passphrase to generate an encoded location array, where the location array comprises each location of the morpheme within the document, and encodes a unique identifier associated with a location of the document in the document repository using the encryption passphrase to generate an encoded document identifier. The document manager then sends the encoded morpheme, the encoded location array, and the encoded document identifier to a server device to be stored in a search index.
    Type: Grant
    Filed: November 23, 2016
    Date of Patent: August 27, 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: 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: 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: 10341338
    Abstract: A processing device of a server executing an application establishes a network connection to a client device having a smart card, detects a program call associated with an authentication of a user of the client device for accessing the application, and determines, based on the program call, whether the smart card is a remote smart card for the server. Responsive to determining that the smart card is the remote smart card, the processing device redirects the program call to the client device via a communication channel of the network connection and authenticates, by the server, the user of the client device in view of data returned by the program call, as if the remote smart card were local to the server.
    Type: Grant
    Filed: August 2, 2018
    Date of Patent: July 2, 2019
    Assignee: PARALLELS INTERNATIONAL GMBH
    Inventors: Daniel Farrugia, Paul Gafa, Nikolay Dobrovolskiy, Serguei Beloussov
  • Patent number: 10331471
    Abstract: Systems and methods for browser credential management for virtual clients. An example method comprises: receiving, by a virtualization server application, a credential manager API request intercepted by a hook module installed into a browser running within a virtual execution environment managed by the virtualization server; forwarding the intercepted API request to a virtualization client application associated with the virtualization server; receiving, from the virtualization client application, a client response to the intercepted API request; producing, using the client response, a virtualization server response to the intercepted API request; and forwarding the virtualization server response to the hook module.
    Type: Grant
    Filed: March 29, 2017
    Date of Patent: June 25, 2019
    Assignee: PARALLELS INTERNATIONAL GMBH
    Inventors: Sergey Viktorov, 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: 10282235
    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: September 5, 2017
    Date of Patent: May 7, 2019
    Assignee: PARALLELS INTERNATIONAL GMBH
    Inventors: Konstantin Ozerkov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10270888
    Abstract: Disclosed are system and method for selecting a connection mode between a client device and a server device. An example method includes: receiving, by a processor of a gateway device deployed within a communication network, a request from a client device for accessing a desired server device; detecting locations of the client device and the desired server device; selecting a connection mode for the client device based on the locations of the client device and the desired server, the connection mode comprising at least one of a direct connection and an indirect connection via the gateway device between the client and the desired server devices; when the direct connection mode is selected, informing the client device to access the desired server device directly; and when the indirect connection mode is selected, establishing, by the gateway device, a proxy connection between the client and the desired server devices.
    Type: Grant
    Filed: December 5, 2016
    Date of Patent: April 23, 2019
    Assignee: PARALLELS INTERNATIONAL GMBH
    Inventors: Daniel Farrugia, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10228864
    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: December 30, 2016
    Date of Patent: March 12, 2019
    Assignee: PARALLELS INTERNATIONAL GMBH
    Inventors: Anton Zelenov, 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
  • Patent number: 10211991
    Abstract: A method and computer program product for establishing a connection and downloading server applications on a desktop. A user downloads and installs custom server software with the embedded user credentials data. The software provider customizes software for the user. The key of the digital signature is used as a part of the installation package. The user downloads custom server software and installs it on his desktop over a secure connection. A vendor (or content provider) checks the validity of the user data and registers the application to the user. The application provider has a right to digitally sign the package.
    Type: Grant
    Filed: May 31, 2016
    Date of Patent: February 19, 2019
    Assignee: Parallels International GmbH
    Inventors: Alexander Aplemakh, Stanislav S. Protassov, Serguei M. Beloussov
  • Patent number: 10185597
    Abstract: System for providing a high availability (HA) of services, includes a plurality of nodes forming a cluster. Some nodes have services running on them such that the cluster has only a single instance of that service; node locks active while accessing the active nodes; a router providing access to services hosted on the nodes. Services utilize the resources subject to the node locks. An HA master daemon running on one of the nodes. HA daemons on each node track availability of services hosted on the nodes and generate requests to HA master daemon to restore failed services and redirect the router to live services. The HA daemons activate node locks. Master daemon re-launches services on another node and updates the router. A target node executes a lock revoke to acquire the node lock from the source node when the services of the source node are live-migrated from the source node.
    Type: Grant
    Filed: May 30, 2017
    Date of Patent: January 22, 2019
    Assignee: Parallels International GmbH
    Inventors: Pavel Emelyanov, Stanislav S. Protassov, Serguei M. Beloussov
  • Patent number: 10181054
    Abstract: A system and method is provided for secure file and document management and editing by local client devices. An exemplary method includes receiving by a server, an identifier of a data block and a portion of the data block from a client device, encrypting the first portion of the data block, and generating an encryption key based on the identifier of the data block. The method further includes transmitting, by the server, the encrypted first portion of the data block to the client device to be stored locally in memory of the client device, and causing a second portion of the data block to be encrypted by the client device using the encryption key. A as result, the encrypted second portion of the data block can be stored in the memory of the client device in connection with the encrypted first portion of the data block.
    Type: Grant
    Filed: January 13, 2017
    Date of Patent: January 15, 2019
    Assignee: Parallels International GmbH
    Inventors: Maxim Lyadvinsky, Paul Gafa, Nikolay Dobrovolskiy, Serguei M. Beloussov