IP Library Granted Patent US 10,248,398
Granted Patent B2
US 10,248,398 · App. 12/419,030 · Granted Apr 2, 2019

Method for virtualizing software applications

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 10,248,398
App. No.
12/419,030
Granted
Apr 2, 2019
Kind
B2
Abstract

A method for virtualizing of software applications. The method comprises initializing a virtual environment created by a virtual engine executed over a computer; creating a new data file; launching an installation process of a software application to be virtualized, wherein the installation process runs in the virtual environment; during the installation process, capturing data writes to a file system of the computer's operating system; and saving the data writes to the new data file.

Claims (30)

1. A method for virtualizing software applications, the method comprising:

initializing a virtual environment created by a virtual engine executed over a computer;

launching an installation process of a software application to be virtualized, wherein the installation process runs in the virtual environment; and

capturing all data writes performed during the installation process and saving the captured data writes to a new data file,

wherein the new data file, upon completion of the installation process, does not store an operating system.

2. The method of claim 1 , further comprising:

upon completion of the installation process disabling write permissions to the new data file; and

saving the new data file as an application-on-demand (AOD) file.

3. The method of claim 2 , wherein the AOD file includes all the information required to execute a virtual software application that corresponds to the software application.

4. The method of claim 3 , wherein the AOD file comprises at least an internal virtual services manager, a digital rights management layer, a connectivity layer, and a protection layer.

5. The method of claim 1 , automatically launched when a user attempts to install the software application in the virtual environment.

6. The method of claim 1 , wherein the computer is not a clean machine.

7. The method of claim 1 , wherein the data writes to the file system include at least one registry key.

8. The method of claim 1 , wherein the virtual engine is an executable computing environment.

9. A non-transitory computer readable medium having stored thereon computer executable code when executed causing a processor to perform the process of virtualizing software applications, the process comprising:

initializing a virtual environment created by a virtual engine executed over a computer;

launching an installation process of a software application to be virtualized, wherein the installation process runs in the virtual environment; and

capturing all data writes performed during the installation process and saving the captured data writes to a new data file,

wherein the new data file, upon completion of the installation process, does not store an operating system.

10. The method of claim 1 , wherein the data writes to the file system include at least one dynamic link library (DLL) file.

11. The method of claim 1 , wherein the data writes to the file system include at least one named object.

12. The method of claim 1 , wherein the virtual engine includes a file system, a registry repository, a dynamic link library (DLL) repository, and named objects.

13. The non-transitory computer readable medium of claim 9 , the process further comprising:

upon completion of the installation process disabling write permissions to the new data file; and

saving the new data file as an application-on-demand (AOD) file.

14. The non-transitory computer readable medium of claim 13 , wherein the AOD file includes all the information required to execute a virtual software application that corresponds to the software application.

15. The non-transitory computer readable medium of claim 13 , wherein the AOD file comprises at least an internal virtual services manager, a digital rights management layer, a connectivity layer, and a protection layer.

16. The non-transitory computer readable medium of claim 9 , wherein the data writes to the file system include at least one dynamic link library (DLL) file.

17. The non-transitory computer readable medium of claim 9 , wherein the virtual engine is an executable computing environment.

18. The non-transitory computer readable medium of claim 9 , wherein the virtual engine includes a file system, a registry repository, a dynamic link library (DLL) repository, and named objects.

Assignments (8)
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 →
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2009
From: SHLOMAI, NETZER; GABAY, YORAM
To: INSTALLFREE, INC.
Reel/Frame 022508/0709 →