Patents Assigned to Parallels Holdings, Ltd.
  • Publication number: 20120311580
    Abstract: This invention relates to a method, system and computer program product for performing on-the-fly migration of a virtual server from one network node to another node on the network. All active processes executing on a virtual server are frozen and the state of these processes, including virtual server network connectivity information, are saved into a dump file. The dump file is transferred to the destination network node. Using the information stored in the dump file, the execution state of all active processes and the state of network connections of the virtual server are restored at the destination node to the state existing immediately prior to on-the-fly migration.
    Type: Application
    Filed: July 8, 2010
    Publication date: December 6, 2012
    Applicant: PARALLELS HOLDINGS, LTD.
    Inventors: Pavel EMELIANOV, Alexander G. TORMASOV
  • Patent number: 8145740
    Abstract: A computing system includes a physical server having a single instance of an operating system; and a plurality of virtual environments running on the physical server and directly supported by the single instance of the operating system. Each virtual environment responds to requests from users and appears to the users as a stand-alone server having its own instance of the operating system. Each virtual environment has a plurality of objects associated with it and supported by the operating system. Some of the objects are private and other objects are shared between multiple virtual environments. One virtual environment cannot access private objects of another virtual environment.
    Type: Grant
    Filed: August 8, 2008
    Date of Patent: March 27, 2012
    Assignee: Parallels Holdings, Ltd.
    Inventors: Alexander G. Tormasov, Stanislav S. Protassov, Serguei M. Beloussov, Dennis Lunev
  • Patent number: 8127292
    Abstract: A computer system includes a first portion of a Hypervisor is loaded into the memory as a part of an Extensible Firmware Interface upon start up and prior to loading of an operating system. The first portion is responsible for context switching, at least some interrupt handling, and memory protection fault handling. The first portion runs on a root level. An operating system is loaded into a highest privilege level. A second portion of the Hypervisor is loaded into operating system space together with the operating system, and runs on the highest privilege level, and is responsible for (a) servicing the VMM, (b) servicing the VMs, (c) enabling communication between code launched on non-root level with the second portion of the Hypervisor to perform security checks of trusted code portions and to enable root mode for the code portions if allowable. The VMM runs on the highest privilege level. A Virtual Machine is running under control of the VMM. Trusted code runs on non-root level.
    Type: Grant
    Filed: June 23, 2008
    Date of Patent: February 28, 2012
    Assignee: Parallels Holdings, Ltd.
    Inventors: Nikolay N. Dobrovolskiy, Alexander G. Tormasov, Alexey B. Koryakin
  • Patent number: 8117554
    Abstract: A method, system and computer program product recorded on a computer-readable medium for execution on at least one processor, for seamless integration of a non-native application into a host OS, including launching a first Virtual Execution Environment (VEE) on a computing system that has a host operating system and a host desktop displayed to a user; displaying a window corresponding to the VEE on the host desktop; upon a user invoking a user application that is non-native to both the host OS and the first VEE, (a) installing a second VEE that is compatible with the user application, (b) installing the user application into the second VEE, (c) launching the application inside the second VEE, and (d) displaying the non-native application window within a window of the second VEE. The VEE can be a Virtual Private Server or a Virtual Machine.
    Type: Grant
    Filed: March 15, 2009
    Date of Patent: February 14, 2012
    Assignee: Parallels Holdings, Ltd.
    Inventors: Alexander A. Grechishkin, Maxim A. Kuzkin, Alexey B. Koryakin, Sergei Malykhin, Andrey A. Omelyanchuk, Alexander G. Tormasov
  • Patent number: 8091084
    Abstract: A system, method and computer program for launching an application into a host OS, include storing a snapshot/image of a Virtual Execution Environment (VEE) on a portable device, wherein the VEE snapshot is packed into a self-extracting file; launching the VEE from the portable device on a computer connected to the portable device; and starting a user application within the VEE. The VEE snapshot can be restricted in one of its total usage time or absolute time. The VEE can be, e.g., a Virtual Private Server or a Virtual Machine. The user application is a non-native application for a host OS of the computer. The VEE is launched from an icon on the portable device. The portable device can be, e.g., an iPod, a flash memory card, a digital player, a mobile phone device, a portable gaming device, rewritable CD/DVD/HD DVD/Blu Ray disk and write-once CD/DVD/HD DVD/Blue Ray disk.
    Type: Grant
    Filed: April 27, 2007
    Date of Patent: January 3, 2012
    Assignee: Parallels Holdings, Ltd.
    Inventors: Nikolay N. Dobrovolskiy, Andrey A. Omelyanchuk, Alexander G. Tormasov, Serguei M. Beloussov
  • Patent number: 8091086
    Abstract: A computer system includes an Open Bus Hypervisor having the highest privilege level. An Open Bus Hypervisor is a set of modules that operate on the root level. The Open Bus Hypervisor provides support for processing, filtering and redirecting of low level events. The Open Bus Hypervisor is used primarily for maintenance and support of computer virtualization features, which are implemented within computer system CPU. Additionally, the Open Bus Hypervisor can be used for supporting new hardware and software modules installed on a computer system. A Virtual Machine Monitor (VMM) runs with fewer privileges than the Open Bus Hypervisor. A Primary Virtual Machine (PVM) runs without system level privileges and has a Primary Operating System (POS) running within it.
    Type: Grant
    Filed: July 18, 2008
    Date of Patent: January 3, 2012
    Assignee: Parallels Holdings, Ltd.
    Inventors: Mikhail A. Ershov, Alexander G. Tormasov, Alexey B. Koryakin, Serguei M. Beloussov
  • Patent number: 8082539
    Abstract: The present invention is directed to method, system and computer program product for managing dynamic content of website. The proposed method employs processing of database elements by using active descriptors. The active descriptors contain the generic descriptions of the database elements, which properties may change with time. The dynamic descriptors are used for describing database objects. The controls build are universal and can be employed for processing several classes of objects. Each class object has sets of assigned attributes containing additional descriptions of the class object. The proposed method allows using a lightly loaded thin nucleus of the DBMS, which does not contain the information about the class attributes. The class attributes are defined by active descriptors of each particular instance of the class object.
    Type: Grant
    Filed: December 10, 2007
    Date of Patent: December 20, 2011
    Assignee: Parallels Holdings, Ltd.
    Inventors: Michael Schelkogonov, Andrey Bulanov, Alexander G. Tormasov
  • Patent number: 8078717
    Abstract: A system, method and computer program product for controlling virtual servers includes a plurality of virtual servers running on a host computer. An address and a unique identifier can be associated with each virtual server. A control procedure(s) is within each corresponding virtual server, and can be used to control that virtual server in response to control commands. A control interface is outside the virtual servers and can be used for control of the virtual servers in response to control commands. The virtual server can be a Virtual server. The control command can be executable by both the control procedure(s) and the control interface, or can be executable by the control interface if the control procedure(s) is unreachable, or can be executable by the control interface if the virtual server has failed, or can be executable even if the virtual server is inaccessible. The control interface can be accessible by using multiple addresses and identifiers.
    Type: Grant
    Filed: May 4, 2011
    Date of Patent: December 13, 2011
    Assignee: Parallels Holdings, Ltd.
    Inventors: Stanislav S. Protassov, Alexander G. Tormasov, Serguei M. Beloussov
  • Patent number: 8074276
    Abstract: A system and method for managing administration of security services provided to users includes a computer system and an operating system running on the computer system. A plurality of Virtual Execution Environments (VEEs) are executed on the computer system. The VEEs can be any of a Virtual Private Server, a Virtual Machine, a Hypervisor-based Virtual Machine, and a Lightweight Hypervisor-based Virtual Machine, a session of Terminal Server and a session of Presentation Server, Lightweight Hypervisor-based Virtual Machines, VMM-based VMs or hypervisor-based VMs. Each VEE provides a set of services to remote users. One or more designated VEE(s) provide security services to each of the VEEs based on the needs of the remote users of the particular VEEs. The security services provided by the designated VEE can be firewall services, spam filtering and anti-virus protection.
    Type: Grant
    Filed: November 3, 2006
    Date of Patent: December 6, 2011
    Assignee: Parallels Holdings, Ltd.
    Inventors: Serguei M. Beloussov, Stanislav S. Protassov, Alexander G. Tormasov
  • Patent number: 8069218
    Abstract: A system, computer program product and method for a running process migration with planned minimized down-time. The method facilitates fast and efficient process migration by performing background data synchronization prior to actual process migration. The service slowdown is reduced by employing two-stage transfer method. During a first stage the service, being executed on the original machine, does not stop and all the available data required by this process is being copied. After the first stage is completed the service continues to be executed without an interruption, while the most of the data associated with the service process is already transferred to the new machine. During the second stage the execution of the service on the first machine is stopped. The files, which were not available during the first stage, are now copied. Then the execution of service is started on the second machine. The down-time is reduced to the duration of the second stage.
    Type: Grant
    Filed: December 24, 2007
    Date of Patent: November 29, 2011
    Assignee: Parallels Holdings, Ltd.
    Inventors: Alexander G. Tormasov, Stanislav S. Protassov, Serguei M. Beloussov
  • Patent number: 8046458
    Abstract: A method and system for balancing the load of computer resources among a plurality of computers having consumers consuming the resources is disclosed. After defining the lower threshold of the consumption level of the resources and obtaining the consumption level of the resources for each of the consumers and for each of said computers, the consumption level for each of the computers is compared during a period with its associated lower threshold. Whenever a computer having a consumption level of the resources higher than the lower threshold is identified, a new layout of computer resources for each of the consumers is determined. Consumers are then shifted from their current location in the computer to a corresponding location in another computer according to the layout, so that the consumption level of the resource(s) for a computer may be reduced.
    Type: Grant
    Filed: August 27, 2008
    Date of Patent: October 25, 2011
    Assignee: Parallels Holdings, Ltd.
    Inventors: Yariv Rosenbach, Nir Baram, Gregory Bondar, Igal Harel
  • Patent number: 8015558
    Abstract: A method of on-the-fly patching of executable code includes placing a block of modified instructions in memory, identifying a block of code to be changed, storing instructions to be changed from the block of code to be changed in a storage location, change the instructions to be changed to mark instructions, and adding a jump to the block of modified instructions in the block of code to be changed. Prior to the placing and the identifying steps, a write flag for a page in memory where the block of code to be changed is located is set to allow writes, and interrupts are masked. The instructions are replaced in reverse order. The mark instructions are the same length, in bytes, as the instructions to be changed. The modified instructions include a resolver to determine a number of instructions of the block of code to be changed that had already been executed. If the number is less than a number of instructions to be changed, then a “no patch installed” scenario is imitated.
    Type: Grant
    Filed: December 16, 2008
    Date of Patent: September 6, 2011
    Assignee: Parallels Holdings, Ltd.
    Inventors: Serguei M. Beloussov, Stanislav S. Protassov, Alexander G. Tormasov, Alexey V. Kostyushko
  • Patent number: 8010495
    Abstract: A method, system and computer program product for generation and management of incremental backups of VEE file system using bitmaps. The proposed method allows users to roll back to any previous version or state of the VEE file system and to instantiate this version using the data encapsulated in virtual disk storage (i.e. file system) of the VEE. A number of VEEs run on a Host Operating System of the computer system. One of the VEEs implemented on the computer system is designated to generation and management of backups of the virtual disk data of the other VEEs without freezing the file system during the entire backup process. A special tracing application runs on the designated VEE for generating the bitmap of a file system snapshot. The user can also set up a time for generating a backup or create a schedule for automatically generating the backups at critical points.
    Type: Grant
    Filed: January 31, 2009
    Date of Patent: August 30, 2011
    Assignee: Parallels Holdings, Ltd.
    Inventors: Alexey N. Kuznetzov, Alexander G. Tormasov, Kirill S. Korotaev, Dmitry I. Monakhov
  • Patent number: 7987432
    Abstract: A method, system and computer program product recorded on a computer-readable medium for execution on at least one processor, for seamless integration of a non-native application into a host OS, including launching a first Virtual Execution Environment (VEE) on a computing system that has a host operating system and a host desktop displayed to a user; displaying a window corresponding to the VEE on the host desktop; upon a user invoking a user application that is non-native to both the host OS and the first VEE, (a) installing a second VEE that is compatible with the user application, (b) installing the user application into the second VEE, (c) launching the application inside the second VEE, and (d) displaying the non-native application window within a window of the second VEE. The VEE can be a Virtual Private Server or a Virtual Machine.
    Type: Grant
    Filed: April 24, 2007
    Date of Patent: July 26, 2011
    Assignee: Parallels Holdings, Ltd.
    Inventors: Alexander V. Grechishkin, Alexey B. Koryakin, Nikolay N. Dobrovolskiy, Andrey A. Omelyanchuk, Alexander G. Tormasov, Serguei M. Beloussov
  • Patent number: 7974985
    Abstract: A method and system for managing files in a server environment includes launching a plurality of virtual servers in a computing system; copying a content of a file of a virtual server to a shared space; providing access to the file copy in the shared space when the virtual server attempts to access the file; detecting files with the same content in other virtual servers; and providing access to the file copy in the shared space from the other virtual servers when they attempt to access their files with the identical content.
    Type: Grant
    Filed: January 16, 2011
    Date of Patent: July 5, 2011
    Assignee: Parallels Holdings, Ltd.
    Inventors: Stanislav S. Protassov, Alexander G. Tormasov, Serguei M. Beloussov
  • Patent number: 7975017
    Abstract: A method, system and computer program product for accessing remote devices is provided. The proposed method allows users to remotely access devices or tools controlled by a VM implemented on a remote server. A user of a client machine can access a remote device controlled by a server or by local client of the server. The server can have a number of Virtual Machines (VMs) implemented on it. Each of the VMs can run a Guest OS that has guest device drivers installed on it. The VM receives the user request and passes on user commands to a device controlled by the guest device driver installed on the Guest OS of the VM.
    Type: Grant
    Filed: February 25, 2009
    Date of Patent: July 5, 2011
    Assignee: Parallels Holdings, Ltd.
    Inventors: Maxim A. Kuzkin, Alexander G. Tormasov
  • Patent number: 7975236
    Abstract: A method, system and computer program product recorded on a computer-readable medium for execution on at least one processor, for seamless integration of a non-host application into a host OS, including launching a first Virtual Execution Environment (VEE) on a computing system that has a host operating system and a host desktop displayed to a user; displaying a window corresponding to the VEE on the host desktop; upon a user invoking a user application that is non-native to both the host OS and the first VEE, (a) installing a second VEE that is compatible with the user application, (b) installing the user application into the second VEE, (c) launching the application inside the second VEE, and (d) displaying the non-host application window within a window of the second VEE. The VEE can be a Virtual Private Server or a Virtual Machine.
    Type: Grant
    Filed: April 13, 2010
    Date of Patent: July 5, 2011
    Assignee: Parallels Holdings, Ltd.
    Inventors: Alexander V. Grechishkin, Alexey B. Koryakin, Nikolay N. Dobrovolskiy, Andrey A. Omelyanchuk, Alexander G. Tormasov, Serguei M. Beloussov
  • Patent number: 7971028
    Abstract: A computer cluster for providing hosting services includes a plurality of nodes, and a control center coordinating activity of the nodes. Each node includes a plurality of virtual servers such that each virtual server responds to user requests and appears to the user as having its own operating system. Multiple virtual servers running on the same node share the same host operating system and root application software of the node.
    Type: Grant
    Filed: May 27, 2009
    Date of Patent: June 28, 2011
    Assignee: Parallels Holdings, Ltd.
    Inventors: Alexander Tormasov, Dennis Lunev, Serguei Beloussov, Stanislav Protassov, Yury Pudgorodsky
  • Patent number: 7958097
    Abstract: The present invention provides a methodology of organization of control over the process of space or other quantitative parameter of resource allocation in computer data storages. More specifically, the present invention organizes areas of quoted space or time. A method and system of the present invention includes an establishment of quotas for an area of a file system that takes into account the belonging of a file to a certain subtree or subtrees of the file system. The quota management of the present invention is established within a usual computer system which includes a hierarchic file system, as well as a set of unique users, that could be united into groups.
    Type: Grant
    Filed: January 28, 2008
    Date of Patent: June 7, 2011
    Assignee: Parallels Holdings, Ltd.
    Inventors: Alexander G. Tormasov, Stanislav S. Protassov, Serguei M. Beloussov
  • Patent number: 7941813
    Abstract: A method, system and computer program product for providing driver functionality in computing system includes installing an operating system on the computing system; forming a plurality of isolated sandboxes running on the computing system under control of the operating system; during an attempt to install a driver, installing driver stub in the operating system; installing the driver in one of the isolated sandboxes, wherein the driver directly uses at least part of system resources; using a gateway between the driver stub and the installed driver to provide an interface for transmitting requests from the driver stub to driver.
    Type: Grant
    Filed: February 11, 2007
    Date of Patent: May 10, 2011
    Assignee: Parallels Holdings, Ltd.
    Inventors: Stanislav S. Protassov, Alexander G. Tormasov, Serguei M. Beloussov