Patents Assigned to Parallel International GmbH
  • Patent number: 11438296
    Abstract: Disclosed are systems and methods for managing notifications from published applications. A method for managing notifications from one or more published applications includes detecting, by a server, a notification from the one or more published applications launched by a user at a client device, forming a notification packet containing information from the notification, and causing the notification packet to be provided to the client device.
    Type: Grant
    Filed: November 2, 2020
    Date of Patent: September 6, 2022
    Assignee: Parallels International GMBH
    Inventors: Marco Borg, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 11417059
    Abstract: Disclosed herein are systems and methods for reading input data into a geometry shader by rebuilding an index buffer. In one aspect, an exemplary method comprises constructing T-vectors for one-element ranges of the index buffer by defining each T-vector as a 4-component vector, calculating T-vectors for ranges [0; i] for all vertices of the index buffer by prefix scanning, for each vertex and for each primitive featuring the vertex, determining if the primitive is complete, and for each complete primitive, calculating an offset in an output index buffer using a component of the T-vector used to indicate, for the vertex, a number of complete primitives inside the range and a component that indicates a number of vertices since a last primitive restart, and writing an index value in an output index buffer, and reading input data into the geometry shader in accordance with the written index values.
    Type: Grant
    Filed: January 14, 2021
    Date of Patent: August 16, 2022
    Assignee: Parallels International GmbH
    Inventors: Alexey Ivanov, Evgeny Nikitenko, Nikolay Dobrovolskiy
  • Patent number: 11385827
    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: November 25, 2020
    Date of Patent: July 12, 2022
    Assignee: Parallels International GmbH
    Inventors: Iurii Ovchinnikov, Alexey Koryakin, Denis Lamtsov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • 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: 11381631
    Abstract: The subject matter of this specification can be implemented in, among other things, a method that includes determining, by a first computing device, a set of remote applications hosted by a second computing device including file type associations for each remote application. The first computing device determines a set of local applications and their file type associations. The each file type associated with a remote application, the first computing device determines whether the file type is also associated with a local application. Responsive to determining that the file type is associated with both a remote and local application, the first computing device configures a proxy component with parameters specifying the remote application and the local application. The proxy component is configured to determine whether to open a requested file of the file type with the remote application or the local application based upon the current client/server environment.
    Type: Grant
    Filed: January 14, 2021
    Date of Patent: July 5, 2022
    Assignee: Parallels International GmbH
    Inventors: Ivan Korobov, Silvan Chetcuti, Ruslan Sadovnikov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 11360813
    Abstract: A new timer object that is associated with a timer event may be identified. A virtual processor that is to be provided the timer event that is associated with the new timer object may be determined. One or more current timer objects that are associated with one or more timer events provided to the virtual processor may also be identified. A new element for the new timer object may be created in a list identifying the one or more current timer objects that are associated with the one or more timer events that are provided to the virtual processor.
    Type: Grant
    Filed: April 13, 2020
    Date of Patent: June 14, 2022
    Assignee: Parallels International GmbH
    Inventors: Maxim Davgalev, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 11356527
    Abstract: A method for providing high availability Virtual Desktop Infrastructure (VDI) includes determining, by a VDI client and based on connection information for a first VDI broker associated with a first datacenter, whether a connection to the first VDI broker is available, and responsive to determining that the connection to the first VDI broker associated with the first datacenter is available, connecting the VDI client to a first VDI broker associated with a first datacenter.
    Type: Grant
    Filed: December 28, 2020
    Date of Patent: June 7, 2022
    Assignee: Parallels International GmbH
    Inventors: Maxim Kudrin, Nikolay Dobrovolskiy, Serguei Beloussov
  • Patent number: 11343304
    Abstract: A system and method is provided for sharing electronic data on a personal computing device using a connected mobile electronic device. An exemplary system includes a client module installed on a mobile device that identifies a list of data sharing services installed on the mobile device, at least one data sharing service configured to share data to a remote device, and transmit the list indicating to a computing device. Moreover, an agent module installed on the computing device selects one or more electronic files to be shared by the mobile device and selects the one of the data sharing services for sharing the selected electronic files. The agent module can then transmit the selected electronic files to the mobile device for data sharing using the selected data sharing service.
    Type: Grant
    Filed: November 20, 2017
    Date of Patent: May 24, 2022
    Assignee: Parallels International GmbH
    Inventors: Ivan Korobov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 11328104
    Abstract: The subject matter of this specification can be implemented in, among other things, a method that includes accessing a plurality of target tasks for a computing system, the computing system comprising a plurality of resources, wherein the plurality of resources comprises a first server and a second server, accessing a plurality of configurations of the computing system, wherein each of the plurality of configurations identifies one or more resources of the plurality of resources to perform the respective target task of the plurality of target tasks, and performing, for each of the plurality of configurations, a simulation to determine a plurality of performance metrics, wherein each of the plurality of performance metrics predicts performance of at least one of the plurality of resources executing the plurality of target tasks on the computing system.
    Type: Grant
    Filed: April 1, 2020
    Date of Patent: May 10, 2022
    Assignee: Parallels International GmbH
    Inventors: Vasileios Koutsomanis, Igor Marnat, Nikolay Dobrovolskiy
  • Patent number: 11316915
    Abstract: Disclosed are systems and methods for determining an execution location for a utility component. In an exemplary aspect, the systems and methods comprise receiving, at a client device, a request to execute the utility component that performs an action on a target component; determining the execution location of the utility component; determining whether the execution location is on the client device or on a remote application server; and responsive to determining the execution location is on the remote application server, transmitting the request to be executed within a remote session between the client device and the remote application server.
    Type: Grant
    Filed: May 28, 2021
    Date of Patent: April 26, 2022
    Assignee: Parallels International GmbH
    Inventors: Aleksandr Suslov, Ivan Korobov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 11301285
    Abstract: A method and a system to perform the method are disclosed, the method includes receiving, by a virtualization server communicatively coupled with a client device, a request to provide a virtual machine (VM) to a client device, accessing a profile associated with the client device, instantiating a VM on the virtualization server, wherein the VM is a linked clone VM of a base VM, wherein the linked clone VM has (1) a read-only access to a shared range of a persistent memory associated with the base VM, wherein the shared range of the persistent memory is determined in view of the profile associated with the client device and stores at least one application installed on the virtualization server, (2) a write access to a private range of the persistent memory, wherein the private range is associated with the VM, and providing the VM to the client device.
    Type: Grant
    Filed: January 30, 2020
    Date of Patent: April 12, 2022
    Assignee: Parallels International GmbH
    Inventors: Ivan Korobov, Nikolay Dobrovolskiy
  • Patent number: 11301283
    Abstract: 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: Grant
    Filed: August 26, 2019
    Date of Patent: April 12, 2022
    Assignee: Parallels International GmbH
    Inventors: Alexey Koryakin, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 11271996
    Abstract: Systems and methods for implementing client-side load balancing for remote application servers. An example method comprises: receiving, by a publishing server, an application server status information reflecting computing resource utilization by each application server of a plurality of application servers; receiving a request initiated by a client computing device to access a published application executable by at least a subset of the plurality of application servers; and responsive to determining that a load metric reflecting performance of the publishing server exceeds a threshold value, transmitting an instruction to the client computing device to perform client-side load balancing using a snapshot of the application server status information to select an application server of the subset of the plurality of application servers.
    Type: Grant
    Filed: April 9, 2020
    Date of Patent: March 8, 2022
    Assignee: Parallels International GmbH
    Inventors: Matthew Cini Sarreo, Nikolay Dobrovolskiy
  • Patent number: 11269816
    Abstract: With multiple software applications, multiple electronic devices for a user to access and work upon, and multiple potential storage locations for the files it is difficult for a user to remember the identity of a file worked upon, its storage location, or which application they employed. Whilst some applications provide a user with a listing of recently opened files these are only those accessed by that specific application upon a specific device. Embodiments of the invention provide users with a synthesized centralized view of all files accessed irrespective of where the user has stored the electronic content, with which electronic device the electronic content was accessed with, or with which software application the electronic content was accessed with.
    Type: Grant
    Filed: March 25, 2019
    Date of Patent: March 8, 2022
    Assignee: Parallels International GmbH
    Inventors: Evgeniy Korepanov, Nikolay Dobrovolskiy
  • Patent number: 11262884
    Abstract: A processing device sends a request from a remote access client to a first remote application server to access a first application being hosted by the first remote application server, receives instructions from the first remote application server to display a first application window within a browser window of a browser on a display of the client device, creates the first application window within the browser window based on the instructions. The processing device sends a request to a second remote application server to access a second application being hosted by the second remote application server, receives instructions from the second remote application server to display a second application window within the browser window, and creates the second application window for the second application within the browser window based on the instructions. The second application window is displayed within the browser window together with the first application window.
    Type: Grant
    Filed: June 1, 2021
    Date of Patent: March 1, 2022
    Assignee: Parallels International GmbH
    Inventors: Joseph Portelli, Paul Gafa, Nikolay N. Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 11256534
    Abstract: 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: Grant
    Filed: September 4, 2020
    Date of Patent: February 22, 2022
    Assignee: Parallels International GmbH
    Inventors: Andrey Naenko, Alexey Koryakin, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 11256533
    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: September 1, 2020
    Date of Patent: February 22, 2022
    Assignee: Parallels International GmbH
    Inventors: Alexander Grechishkin, Konstantin Ozerkov, Alexey Koryakin, Nikolay Dobrovolskiy, Serguei Beloussov
  • Patent number: 11249792
    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: September 15, 2020
    Date of Patent: February 15, 2022
    Assignee: Parallels International GmbH
    Inventors: Konstantin Ozerkov, Nikolay Dobrovolskiy, Serguei M. Beloussov
  • Patent number: 11233853
    Abstract: Disclosed are systems and methods for managing an application executing in a remote session. A user device (e.g., mobile device) creates a control communication session for an application executing within a remote session established between a remote application server and a client device. This application is being displayed by the client device. The user device receives metadata indicating a subset of user actions available from the application, and uses it to generate, for display on the user device, a graphical user interface. The graphical user interface is configured to, when activated by user input, inject input commands into the remote session for the application.
    Type: Grant
    Filed: May 30, 2018
    Date of Patent: January 25, 2022
    Assignee: Parallels International GmbH
    Inventors: Paul Gafa, Maxim Shulga, Nikolay Dobrovolskiy, Serguei M. Beloussov