IP Library Granted Patent US 7,788,593
Granted Patent B1
US 7,788,593 · App. 12/028,816 · Granted Aug 31, 2010

Seamless integration and installation of non-native application into native operating system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,788,593
App. No.
12/028,816
Granted
Aug 31, 2010
Kind
B1
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.

Claims (55)

1. A method for seamless integration of a non-native application into a host OS, comprising:

launching a Virtual Machine (VM) and a VM desktop on a computing system that has the host OS and a host desktop;

displaying the host desktop and the VM desktop, wherein any otherwise visible portions of the VM desktop background are masked out;

upon the user invoking a non-native user application by selecting an object associated with the non-native user application in the host OS or in a different VM, launching the non-native user application inside the VM,

wherein the user invoking the non-native user application includes installation of the non-native user application in the VM with automatic driver installation; and

displaying a visible non-native user application window on the VM desktop in a window corresponding to the VM,

wherein a look and feel of the non-native user application windows is the same as a look and feel of native application windows.

2. The method of claim 1 , wherein multiple non-native user applications are launched in the VM and the window corresponding to the VM displays the multiple user application windows.

3. The method of claim 1 , wherein the VM is a Lightweight Hypervisor-based Virtual Machine

4. The method of claim 1 , wherein the VM window is partially transparent with elements of the VM window user interface visible and capable of being activated by a user by clicking on the elements.

5. The method of claim 1 , wherein the VM window is made invisible automatically upon startup of the non-native user application, except for a window showing the user application.

6. The method of claim 1 , wherein the user can drag-and-drop objects from within the VM window to the host desktop such that the host OS recognizes these objects as being associated with the non-native user application in the VM, and from within the host desktop to the VM window.

7. The method of claim 1 , wherein the host OS and the VM support transparent copy/paste operations between the host desktop and the VM desktop and between native applications and the user application running inside the VM by utilizing host OS clipboard.

8. The method of claim 1 , wherein an icon of the non-native user application inside the VM is placed on the host desktop such that the user can invoke the non-native user application inside the VM by selecting the icon on the host desktop.

9. The method of claim 8 , wherein the host desktop is a Mac OS desktop and the icon of the non-native user application inside the VM is placed on the Mac OS Dock Bar.

10. The method of claim 1 , further comprising full screen toggling images of the host desktop and of the VM desktop in response to a user request.

11. The method of claim 1 , wherein the user invoking a non-native user application in the VM includes automatic configuration of the user application.

12. The method of claim 1 , wherein the VM and the host OS share at least some folders such that user applications in both the VM and the host OS can access the shared folders.

13. The method of claim 12 , wherein the file system shared folder is at least one of:

file system folder of the host OS;

file system folder of the first VM desktop;

My Documents for Microsoft Windows™;

My Pictures for Microsoft Windows™;

My Videos for Microsoft Windows™;

User Home Directory for both Microsoft Windows™ and Mac OS;

Program Files for Microsoft Windows™;

Applications for Mac OS;

Documents for Mac OS;

Music for Mac OS;

Public sites for Mac OS;

Movies for Mac OS; and

Pictures for Mac OS.

14. The method of claim 1 , wherein the VM's desktop is hidden so that the user application occupies the entire window corresponding to the VM.

15. The method of claim 1 , wherein VM desktop is hidden partially and is partly transparent, and wherein at least some VM graphical user interface (GUI) elements are visible and can be invoked by the user.

16. The method of claim 15 , wherein the GUI elements include any of a “Start” Menu for Microsoft Windows™ or Mac OS Dock Bar.

17. The method of claim 1 , wherein the window corresponding to the VM has a non-rectangular shape.

18. A method for seamless integration of a non-native application into a host OS, comprising:

launching a Virtual Machine (VM) and a VM desktop on a computing system that has the host OS and a host desktop;

displaying the host desktop and the VM desktop, wherein portions of the displayed VM desktop background are at least partially transparent and partially visible;

upon the user invoking a non-native user application on the host OS, installing and launching the non-native user application inside the VM, including automatic driver installation for the non-native user application;

displaying a visible non-native user application window on the VM desktop in a window corresponding to the VM; and

providing the host desktop with an icon for starting the user application in the VM;

wherein objects from within the VM window can be drag-and-dropped to the host desktop, such that the host OS recognizes these objects as being associated with the non-native user application in the VM, and from the host desktop to the VM window, such that the VM recognizes the objects as being associated with a native application in the host OS;

wherein text can be copied-and-pasted from within the non-native user application to a native application, and from the native application to the non-native user application by utilizing the host OS clipboard; and

wherein full screen images of the host desktop and the VM window can be toggled.

19. A system for seamless integration of a non-native application into a host OS, comprising:

a computing system including a processor, a memory operatively coupled to the processor, and computer code loaded into the memory for implementing the following functionality:

a Virtual Machine (VM) and a VM desktop on the computing system that has the host OS and a host desktop, with the host desktop displayed, and displayed portions of the VM desktop's background being at least partially transparent;

wherein the system installs and launches a non-native user application inside the VM upon the user invoking the non-native user application in the host OS, including automatic driver installation for the non-native user application;

a visible non-native application window on the VM desktop in a window corresponding to the VM;

an icon on the host desktop for starting the non-native user application in the VM;

objects from within the VM window that can be drag-and-dropped to the host desktop, such that the host OS recognizes these objects as being associated with the non-native user application in the VM, and from the host desktop to the VM window, such that the VM recognizes the objects as being associated with a native application in the host OS;

wherein the system seamlessly copies-and-pastes text from within the non-native user application to a native application, and from the native application to the non-native user application by utilizing the host OS clipboard; and

wherein the system toggles full screen images of the host desktop and the VM window in response to user command.

20. The method of claim 1 , wherein the VM and the host OS share user profiles such that both can access each other's file systems as if they were their own.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Jul 18, 2019
From: UBS AG, STAMFORD BRANCH, AS ADMINISTRATIVE AND COLLATERAL AGENT
To: COREL CORPORATION; CLEARSLIDE, INC.; PARALLELS INTERNATIONAL GMBH
Reel/Frame 049787/0073 →
RELEASE OF SECURITY INTEREST RECORDED AT : REEL 047973 FRAME 0797 Recorded Jul 17, 2019
From: UBS AG, STAMFORD BRANCH
To: PARALLELS INTERNATIONAL GMBH
Reel/Frame 049773/0590 →
SECURITY INTEREST Recorded Dec 21, 2018
From: PARALLELS INTERNATIONAL GMBH
To: UBS AG, STAMFORD BRANCH
Reel/Frame 047973/0797 →
MERGER Recorded Mar 6, 2018
From: PARALLELS IP HOLDINGS GMBH
To: PARALLELS INTERNATIONAL GMBH
Reel/Frame 045122/0592 →
RELEASE OF SECURITY INTEREST Recorded Dec 14, 2015
From: SILICON VALLEY BANK
To: PARALLELS HOLDINGS LTD. (F/K/A SWSOFT HOLDINGS LTD.)
Reel/Frame 037289/0685 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2012
From: PARALLELS HOLDINGS, LTD.
To: PARALLELS IP HOLDINGS GMBH
Reel/Frame 027595/0187 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2011
From: PARALLELS SOFTWARE INTERNATIONAL, INC.
To: PARALLELS HOLDINGS, LTD.
Reel/Frame 027467/0328 →
SECURITY AGREEMENT Recorded Apr 3, 2010
From: PARALLELS HOLDINGS, LTD.
To: SILICON VALLEY BANK
Reel/Frame 024170/0853 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2008
From: KORYAKIN, ALEXEY B.; TORMASOV, ALEXANDER G.; GRECHISHKIN, ALEXANDER V.; OMELYANCHUK, ANDREY A.; DOBROVOLSKIY, NIKOLAY N.; BELOUSSOV, SERGUEI M.
To: PARALLELS SOFTWARE INTERNATIONAL, INC.
Reel/Frame 020485/0930 →