IP Library Granted Patent US 7,681,134
Granted Patent B1
US 7,681,134 · App. 12/501,420 · Granted Mar 16, 2010

Seamless integration and installation of non-host 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,681,134
App. No.
12/501,420
Granted
Mar 16, 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-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.

Claims (39)

1. A system for seamless integration of native applications and non-native applications, the system comprising:

a processor;

memory coupled to the processor;

computer code loaded into the memory for implementing the functionality of:

a host operating system (HOS);

at least one non-native OS installed and running in a Virtual Machine (VM) on the same hardware system;

at least one non-native application running inside the VM;

a plurality of procedures within the HOS communicating with procedures in the VM using a multi-channel protocol to make the VM appear as a remote networked computer to the HOS;

at least one communications channel used for translating graphic primitives of an active window of the non-native application to a host video adapter using a video API; and

a host file system object associated and integrated with the non-native application, wherein the host file system object is accessible to the non-native application using the at least one communications channel; and

wherein the non-native application is launched by selecting an associated object in the HOS;

wherein activation of the active window is performed in the HOS,

wherein the at least one communication channel uses a shared memory area for communication.

2. The system of claim 1 , further comprising a plurality of non-native applications, each having its own communications channel.

3. The system of claim 2 , wherein each non-native application runs in a different VM.

4. The system of claim 2 , wherein the communications channel permits communication between two non-native applications running in different VMs through sockets.

5. The system of claim 1 , wherein the active window is partially transparent with elements of the non-native window user interface visible and capable of being activated by a user by clicking on the elements.

6. The system of claim 1 , wherein a window of the VM is made invisible automatically upon startup of the non-native application, except for the active window.

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

8. The system of claim 1 , wherein the HOS and the VM support transparent copy/paste operations between a host desktop and a VM desktop and between native applications and the non-native applications by utilizing an HOS clipboard.

9. The system of claim 1 , wherein the VM is a nested VM that runs inside another VM.

10. The system of claim 1 , wherein the VM is started from a checkpointed image.

11. The system of claim 1 , wherein the VM is started from a snapshot.

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

13. The system of claim 12 , wherein the host desktop is a Mac OS desktop and the icon of the non-native application is placed on the Mac OS Dock Bar.

14. The system of claim 1 , wherein the VM and the HOS share at least some folders such that both native and non-native applications can access the shared folders as if the shared folders were part of their own file systems.

15. The system of claim 1 , wherein a 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 a user.

16. The system of claim 1 , wherein the active window has a non-rectangular shape.

17. The system of claim 1 , wherein the multi-channel protocol is a Citrix Presentation Server network protocol.

18. On a computer comprising a processor, a memory coupled to the processor, and computer code loaded into the memory, a method for seamless integration of a non-native application into a host OS comprising the steps of:

launching a host operating system (HOS);

installing and running at least one non-native OS in a Virtual Machine (VM);

running at least one non-native application inside the VM;

initiating a plurality of procedures within the HOS that communicate with procedures in the VM using a multi-channel protocol to make the VM appear as a remote networked computer to the HOS;

wherein the procedures communicate through at least one communications channel for translating graphic primitives of an active window of the non-native application to a host video adapter using a video API, wherein sockets are used on both sides of the channel for communication; and

associating and integrating a host file system object with the non-native application, wherein the host file system object is accessible to the non-native application using the at least one communications channel,

wherein the non-native application is launched by selecting an associated object in the HOS, and

wherein activation of the active window is performed in the HOS.

19. A computer useable storage medium having computer executable program logic stored thereon for executing on a processor, the computer executable program logic including code for implementing the method of claim 18 .

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 Jan 30, 2018
From: PARALLELS IP HOLDINGS GMBH
To: PARALLELS INTERNATIONAL GMBH
Reel/Frame 045193/0679 →
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 024182/0685 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2009
From: KORYAKIN, ALEXEY B.; TORMASOV, ALEXANDER G.; DOBROVOLSKIY, NIKOLAY N.; OMELYANCHUK, ANDREY A.; GRECHISHKIN, ALEXANDER A.; BELOUSSOV, SERGUEI M.
To: PARALLELS SOFTWARE INTERNATIONAL, INC.
Reel/Frame 022943/0054 →