US 9,811,326 B2
Techniques for deploying virtual software applications on computers
Netzer Shlomai, Ra'anana (IL); Amos Lahav, Zoran (IL); and Uzi Entin, Ra'anana (IL)
Assigned to BlackBerry Limited, Waterloo, Ontario (CA)
Filed by Watchdox LTD., Petah Tikva (IL)
Filed on Sep. 21, 2015, as Appl. No. 14/859,439.
Application 14/859,439 is a continuation of application No. 12/419,165, filed on Apr. 6, 2009, granted, now 9,141,934.
Claims priority of provisional application 61/123,370, filed on Apr. 7, 2008.
Prior Publication US 2016/0011858 A1, Jan. 14, 2016
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 9/455 (2006.01); G06F 9/44 (2006.01); G06F 9/445 (2006.01); G06Q 10/10 (2012.01); H04L 29/06 (2006.01); G06F 15/16 (2006.01); G06F 15/173 (2006.01)
CPC G06F 8/61 (2013.01) [G06F 9/44 (2013.01); G06F 9/455 (2013.01); G06Q 10/10 (2013.01); H04L 67/40 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A method for bridging between virtual applications and an operating system of a host computer, comprising:
downloading a bridge agent to the host computer as an uninstalled executable file, 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;
retrieving, by the bridge agent, virtual applications and settings of the virtual applications assigned to a user logged onto 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;
downloading, to the bridge agent, 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 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 integration of the virtual applications does not modify the registry keys and files in the operating system; and
causing a virtual application to be executed over the host computer when the virtual application is launched by the user.