IP Library Granted Patent US 9,141,934
Granted Patent B2
US 9,141,934 · App. 12/419,165 · Granted Sep 22, 2015

Techniques for deploying virtual software applications on desktop computers

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 9,141,934
App. No.
12/419,165
Granted
Sep 22, 2015
Kind
B2
Abstract

A method for bridging between virtual applications and an operating system of a host computer. The method comprises retrieving virtual applications and settings of the virtual applications assigned to a user logged onto the host computer; downloading shadow files of the virtual applications assigned to the user; integrating each of the virtual applications with an operating system shell of the host computer; and causing a virtual application to be executed over the host computer when the virtual application is launched by the user.

Claims (57)

1. A method for bridging between virtual applications and an operating system of a host computer, comprising:

downloading a bridge agent from a central server to the host computer as an uninstalled executable file operable exclusively on the host computer, not integrated within the host computer's operating system shell, the bridge agent being configured to bridge between the virtual applications and the operating system of the host computer;

wherein each of the virtual applications includes the following files: a virtual engine, a user data file, and an application-on-demand (AOD) file;

retrieving, by the bridge agent operable on the host computer, virtual applications and settings, of the virtual applications assigned to a user logged onto the host computer;

downloading, to the bridge agent operable on the host computer, shadow files of the virtual applications assigned to the user, wherein the shadow files comprise connectivity layers of virtual applications assigned to the user, wherein a connectivity layer defines integration functions with an operating system shell of the host computer enabling display of interface elements of a respective virtual application;

binding interface elements of each of the virtual applications to the operating system shell of the host computer by injecting, via a dynamic link library (DLL) process with the bridge agent, the connectivity layer to a host process of the operating system shell, wherein the integration of the virtual applications does not modify registry keys and files of the operating system;

and causing a virtual application to be executed over the host computer when the virtual application is launched by the user.

2. The method of claim 1 , wherein retrieving the virtual applications and the settings, of the virtual applications further comprising:

enquiring a file server as to virtual applications assigned to the logged user;

retrieving file names of files of each of the virtual applications;

and retrieving settings of each of the virtual applications.

3. The method of claim 2 , wherein the settings of a virtual application includes at least: a virtual application mode and security permissions.

4. The method of claim 3 , wherein the mode of a virtual application includes an online mode wherein files of a virtual application are loaded into a memory of the host computer post launch of the virtual application and an offline mode wherein files of a virtual application are downloaded to the host computer prior to the launch of the virtual application.

5. The method of claim 2 , wherein causing the virtual application to be executed further comprising:

capturing a system call to execute a launched application;

checking if the launched application is a virtual application;

when the launched application is not a virtual application transferring the system call to the operating system;

otherwise, determining if a mode of the launched virtual application is an offline mode;

and executing the virtual engine of the launched virtual application if the launched virtual application is set to an offline mode.

6. The method of claim 5 , further comprising:

downloading files of the launched virtual application when the launched virtual application is set to an online mode;

and executing the virtual engine of the launched virtual application.

7. The method of claim 5 , wherein the files of virtual applications set to an offline mode are loaded to the memory when the operating system shell integration is completed.

8. The method of claim 7 , wherein files of virtual applications are not installed in the host computer.

9. The method of claim 7 , wherein retrieving application files further comprising: streaming application files from a file server to the host computer.

10. The method of claim 7 , further comprising streaming user data from the host computer to the file server.

11. The method of claim 1 , wherein the interface elements include at least one of: start menu items, desktop items, file type associations, right-click menu options, and integration with native folders of the operating system.

12. The method of claim 11 , wherein integrating each of the virtual applications with the operating system shell of the virtual computer further comprising: binding interface elements of virtual applications with a non-virtual environment of the operating system shell.

13. The method of claim 1 , wherein the virtual applications and settings are assigned to the user by a system administrator and wherein such assignment may be performed to a service entity including at least a host computer, a user, security groups, a group of users, or combination thereof.

14. A non-transitory computer readable medium having stored thereon computer executable code, when executed, causing a processor to perform the process of bridging between virtual applications and an operating system of a host computer, comprising:

retrieving, by a bridge agent operable on the host computer, virtual applications and settings, of the virtual applications assigned to a user logged onto the host computer, wherein the bridge agent is an uninstalled executable file operable exclusively on the host computer, not integrated within the host computer's operating system;

wherein each of the virtual applications consists of the following files: a virtual engine, a user data file, and an application-on-demand (AOD) file;

downloading, to the bridge agent operable on the host computer, shadow files of the virtual applications assigned to the user, wherein the shadow files comprise connectivity layers of virtual applications assigned to the user, wherein a connectivity layers defines integration functions with an operating system shell enabling display of interface elements of a respective virtual application;

binding interface elements of each of the virtual applications to the operating system shell of the host computer by injecting, via a dynamic link library (DLL) process with the bridge agent, the connectivity layer to a host process of the operating system shell, wherein the integration of the virtual applications does not modify registry keys, and files, of the operating system;

and causing a virtual application to be executed over the host computer when the virtual application is launched by the user.

15. The non-transitory computer readable medium of claim 14 , wherein retrieving the virtual applications and the settings of the virtual applications further comprising:

enquiring a file server as to virtual applications assigned to the logged user;

retrieving file names of files of each of the virtual applications;

and retrieving settings of each of the virtual applications.

16. The non-transitory computer readable medium of claim 14 , wherein integrating each of the virtual applications with the operating system shell of the virtual computer further comprising: binding interface elements of virtual applications with a non-virtual environment of the operating system shell.

17. The non-transitory computer readable medium of claim 14 , wherein causing the virtual application to be executed further comprising:

capturing a system call to execute a launched application;

checking if the launched application is a virtual application;

when the launched application is not a virtual application transferring the system call to the operating system;

otherwise, determining if a mode of the launched virtual application is an offline mode;

executing the virtual engine of the launched virtual application if the launched virtual application is set to an offline mode;

retrieving files of the launched virtual application when the launched virtual application is set to an online mode;

and executing a virtual engine of the launched virtual application.

18. The non-transitory computer readable medium of claim 17 , wherein downloaded files of virtual applications and the bridge agent are not installed in the host computer.

19. A host computer for bridging between virtual applications and an operating system, comprising:

a memory configured to store a program including instructions;

and a processor configured to execute the program to cause the host computer to:

retrieve, by a bridge agent operable on the host computer, virtual applications and settings, of the virtual applications assigned to a user logged onto the host computer, wherein the bridge agent is an uninstalled executable file operable exclusively on the host computer, not integrated within the host computer's operating system;

wherein each of the virtual applications consists of the following files: a virtual engine, a user data file, and an application-on-demand (AOD) file;

download, to the bridge agent operable on the host computer, shadow files of the virtual applications assigned to the user, wherein the shadow files comprise connectivity layers of virtual applications assigned to the user, wherein a connectivity layers defines integration functions with an operating system shell enabling display of interface elements of a respective virtual application;

binding interface elements of each of the virtual applications to the operating system shell of the host computer by injecting, via a dynamic link library (DLL) process with the bridge agent, the connectivity layer to a host process of the operating system shell, wherein the integration of the virtual applications does not modify registry keys, and files, of the operating system;

and cause a virtual application to be executed over the host computer when the virtual application is launched by the user.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE COVER SHEET AT PAGE 50 TO REMOVE 12817157 PREVIOUSLY RECORDED ON REEL 063471 FRAME 0474. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 064806/0669 →
CORRECTIVE ASSIGNMENT TO CORRECT 12817157 APPLICATION NUMBER PREVIOUSLY RECORDED AT REEL: 064015 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064807/0001 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064271/0199 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 16, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064015/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 063471/0474 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2015
From: WATCHDOX LTD
To: BLACKBERRY LIMITED
Reel/Frame 037342/0257 →
NUNC PRO TUNC ASSIGNMENT Recorded Apr 27, 2015
From: INSTALL FREE, INC.
To: WATCHDOX LTD.
Reel/Frame 035503/0797 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NUMBER OF ASSIGNORS LISTED AND PREVIOUSLY RECORDED ON REEL 022511 FRAME 0319. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNORS FOR THIS APPLICATION ARE THE FOLLOWING: NETZER SHLOMAI, AMOS LAHAV, AND UZI ENTIN. Recorded Apr 21, 2009
From: SHLOMAI, NETZER; LAHAV, AMOS; ENTIN, UZI
To: INSTALLFREE, INC.
Reel/Frame 022571/0728 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2009
From: SHLOMAI, NETZER
To: INSTALLFREE, INC.
Reel/Frame 022511/0319 →