Patents Assigned to PARALLELS
  • Patent number: 11489922
    Abstract: Systems and methods for facilitating access to files that are stored by network-accessible file storage services. An example system comprises a plurality of file access nodes including a control node, wherein the control node is configured to: receive a file access request initiated by a client, wherein the file access request comprises an identifier of a file, an identifier of a file storage service, and an access token associated with the file stored by the file storage service; request, using the access token, metadata associated with the file from the file storage service; define, using the metadata, a plurality of portions forming the file; and forward, to the plurality of file access nodes, identifiers of the plurality of portions.
    Type: Grant
    Filed: May 17, 2021
    Date of Patent: November 1, 2022
    Assignee: PARALLELS INTERNATIONAL GMBH
    Inventor: Anton Zelenov
  • Patent number: 11379252
    Abstract: Disclosed are systems and methods for providing layouts for a remote desktop session. According to one aspect, a method comprises receiving, at a remote application server, a request from a client device to initiate a remote desktop session, extracting configuration information regarding the client device from the request, retrieving, from a database, a layout that defines one or more remote applications and configurations for the one or more remote applications executing on the remote desktop session, initiating the remote desktop session with the client device, launching the one or more remote applications defined in the layout and configuring the one or more remote applications according to the configurations.
    Type: Grant
    Filed: January 31, 2018
    Date of Patent: July 5, 2022
    Assignee: PARALLELS INTERNATIONAL GMBH
    Inventors: Marco Borg, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 11381563
    Abstract: A permissions management system (PMS) defines the permissions associated with a user and thereby the activities the user can perform with any specific object and/or application or class of objects and/or applications. However, such a PMS requires an administrator to either authorise each permission individually or default permissions to a configuration previously established. The former is time consuming and the latter does not eliminate the former in establishing the roles initially or new roles or custom configurations. According, methods and systems for automating the establishment of permissions and their ongoing maintenance are presented based upon an initial discovery phase of actions performed by either the user or an administrator followed by an automated harmonization phase and a verification phase. This verification phase may employ human interactions or be automated exploiting an artificial intelligence engine.
    Type: Grant
    Filed: September 29, 2020
    Date of Patent: July 5, 2022
    Assignee: PARALLELS INTERNATIONAL GMBH
    Inventors: Paul Gafa, Nikolay Dobrovolskiy
  • 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: 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: 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: 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: 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: 10649709
    Abstract: Disclosed are systems and methods for managing a print job in a virtual environment. The described technique includes associating a physical printer with a chosen virtual printer which may be used by the user in the remote application to execute. A remote application server can receive from a remote application a request to choose a virtual printer in a remote session established between the client device and a remote application server. A tag associated with the print job that indicates one or more parameters of the virtual printer is determined, as well as a location of the client device. The technique includes selecting a physical printer from a plurality of available printers in the remote session based on the determined location and the determined tag of the virtual printer. An association with the virtual printer is generated and saved, and may be used for a subsequent print job.
    Type: Grant
    Filed: November 8, 2018
    Date of Patent: May 12, 2020
    Assignee: PARALLELS INTERNATIONAL GMBH
    Inventors: Alexander Khalyapin, Serguei M. Beloussov, Nikolay Dobrovolskiy
  • Patent number: 10628317
    Abstract: Systems and methods are disclosed herein for caching data in a virtual storage environment. An exemplary method comprises monitoring, by a hardware processor, operations on a virtual storage device, identifying, by a hardware processor, transitions between blocks of the virtual storage device that have the operations performed thereon, determining, by a hardware processor, a relationship between each of the blocks based on the identified transitions, clustering the blocks into groups of related blocks based on the relationship and applying, by a hardware processor, one of a plurality of different caching policies to blocks in each of the groups based on clustering.
    Type: Grant
    Filed: September 13, 2018
    Date of Patent: April 21, 2020
    Assignee: PARALLELS INTERNATIONAL GMBH
    Inventors: Anton Zelenov, Nikolay Dobrovolskiy, Serguei Beloussov
  • Patent number: 10579322
    Abstract: The subject matter of this specification can be implemented in, among other things, a method that includes storing first client information identifying a location of a first client device and identifying a first remote access session. The method further includes receiving first mobile information identifying a first location of a mobile device. The method further includes comparing the received first mobile information to the stored first client information to determine that the first location of the mobile device is within a first threshold distance from the location of the first client device. The method further includes, in response to the determination that the first location of the mobile device is within the first threshold distance from the location of the first client device, causing the first client device to connect to the first remote access session at a server device.
    Type: Grant
    Filed: May 22, 2017
    Date of Patent: March 3, 2020
    Assignee: PARALLELS INTERNATIONAL GMBH
    Inventors: Cláudio Rodrigues, Nikolay Dobrovolskiy, Serguei M. Beloussov, Liubov Kulakova
  • Patent number: 10581995
    Abstract: Systems and methods for providing high availability Virtual Desktop Infrastructure (VDI) are disclosed. In some exemplary aspects, two or more datacenters are used to provide redundancy. Data may be replicated on all datacenters and data from one datacenter may be known to another datacenter and vice-versa. In some exemplary aspects, user desktops and desktop pools are replicated and, if a primary datacenter is down and a user is not able to connect to his broker, the user is redirected to a second broker of the second datacenter.
    Type: Grant
    Filed: July 13, 2017
    Date of Patent: March 3, 2020
    Assignee: PARALLELS INTERNATIONAL GMBH
    Inventors: Maxim Kudrin, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 10542072
    Abstract: Disclosed are systems and methods for executing utility applications in a remote session. A remote session client establishes a remote session between a client device and a remote application server, and determines one or more characteristics of the client device. Responsive to receiving a user request to execute a utility component on the client device, the remote session client may determine an execution location of the utility component based on the characteristics of the client device. Responsive to determining the execution location of the utility component is on the client device, the utility component is executed on the client device; otherwise, the user request is transmitted for execution within the remote session.
    Type: Grant
    Filed: October 4, 2017
    Date of Patent: January 21, 2020
    Assignee: PARALLELS INTERNATIONAL GMBH
    Inventors: Aleksandr Suslov, Ivan Korobov, Serguei M. Beloussov, Nikolay Dobrovolskiy
  • Patent number: 10496849
    Abstract: A system and method is provided for secure file access by local client devices. An exemplary method includes receiving an identifier of a data block and a first portion of the data block from a client device, encrypting, with a master encryption key, the first portion of the data block, transmitting, by the server, a generated encryption key and the encrypted first portion of the data block to the client device to be stored locally in memory of the client device, wherein the generated encryption key is based on the master encryption key and the identifier and causing the client device to encrypt a second portion of the data block using the generated encryption key, and causing the client device to store the encrypted second portion of the data block in the memory of the client device.
    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: 10498864
    Abstract: Disclosed are system and method for selecting a connection mode between a client device and a server device. An example method includes receiving a request from a client device to access one or more desired server devices, detecting a location of the client device and a location of the one or more desired server devices in a communication network, selecting a connection mode for the client device to access the one or more desired server devices based on the location of the client device and the one or more desired server devices, in response to a direct connection mode being selected, informing the client device to access the one or more desired server devices directly and in response to an indirect connection mode being selected, establishing a proxy connection between the client device and the one or more desired server devices.
    Type: Grant
    Filed: February 25, 2019
    Date of Patent: December 3, 2019
    Assignee: PARALLELS INTERNATIONAL GMBH
    Inventors: Daniel Farrugia, Nikolay Dobrovolskiy, Serguei M Beloussov
  • Patent number: 10496547
    Abstract: A system and method is provided for managing computing resources of a physical server executing a plurality of virtual machines (VMs) including a first virtual machine (VM). The first VM executes a guest block device driver configured to provide a guest operating system of the first VM an interface to a memory-mapped virtual storage device. A virtual machine monitor maintains a disk cache associated with the virtual storage device. The disk cache resides in a host physical memory of the physical server outside of portions of the host physical memory associated with guest physical memory of the first VM. The virtual machine monitor is configured to, responsive to determining that available host physical memory satisfies a threshold condition, reclaim a target portion of the host physical memory allocated to the disk cache.
    Type: Grant
    Filed: May 10, 2017
    Date of Patent: December 3, 2019
    Assignee: PARALLELS INTERNATIONAL GMBH
    Inventors: Andrey Naenko, Nikolay Dobrovolskiy, 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: 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