IP Library Granted Patent US 10,089,092
Granted Patent B2
US 10,089,092 · App. 13/289,972 · Granted Oct 2, 2018

Creating a software product from a software application

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,089,092
App. No.
13/289,972
Granted
Oct 2, 2018
Kind
B2
Abstract

A method for creating a product which is a single file executable by a product browser is provided. The method includes: initiating installation operations for application software on a computer system; recording the installation operations of the application software via a product browser, wherein the product browser is configured to create the product and execute the product; and creating the product based on the recording, wherein the creating structures the product with critical dynamic-link library (dll) files that will be pre-fetched by the second instance of the product browser, and wherein the product is structured with a virtualized private registry to be integrated with an operating system registry upon execution such that certain registry keys are virtualized in the virtualized private registry and other registry keys will be deferred to the operating system registry.

Claims (44)

1. A non-transitory computer-usable storage medium having instructions embodied therein that when executed cause a computer system to perform a method for creating a product, said method comprising:

initiating installation operations for application software on a computer system;

recording said installation operations of said application software via a product browser, wherein said product browser is configured to create said product and execute said product;

creating said product based on said recording said installation operations wherein said product is a self-contained single file of said software application resolvable by a second instance of said product browser executing said software application at a second computer system such that said product is for execution via said second instance of said product browser, wherein said creating structures said product with critical dynamic-link library (dll) files that will be pre-fetched by said second instance of said product browser before other components of said product such that said product will be executed at said second instance of said product browser before rest of said product is downloaded, and wherein said product is structured with a virtualized private registry to be integrated with an operating system registry upon execution at said second instance of said product browser such that certain registry keys are virtualized in said virtualized private registry and other registry keys will be deferred to said operating system registry such that application binaries of said product execute natively on an operating system associated with said second computer system without virtualization where said virtual registry is employed only if a particular registry key is virtualized while other calls are passed through to said operating system; and

storing said product to a database accessible by said second instance of said product browser, such that said product is discoverable via a user input at a user interface of said second instance of said product browser.

2. The method of claim 1 , further comprising:

executing said product via said product browser.

3. The method of claim 1 , further comprising:

saving metadata associated with said product to identify said product in a key word search.

4. The method of claim 1 , further comprising:

saving metadata associated with said product wherein said metadata comprises socialization information regarding said product.

5. The method of claim 1 , further comprising:

associating said product with a uniform resource locator.

6. The method of claim 1 , wherein said database comprises a plurality of products.

7. The method of claim 1 , wherein said creating said product operates such that a license is stored in a medium for automatic use by said product browser upon executing said product without requiring input from a user.

8. The method of claim 1 , further comprising:

receiving a command to execute said product at said second instance of said product browser at said second computer system, wherein said product requires a license for execution;

automatically accessing a second database comprising licenses associated with an enterprise, wherein said license is one of a limited number of licenses owned by said enterprise for said product; and

storing said license via said second instance of said product browser at said second computer system for automatic license activation upon execution of said product.

9. The method of claim 8 , further comprising:

tracking a real-time usage of said product during execution at said second instance of said product browser; and

generating a notification of an option to reclaim said license in response to information, wherein said information is based at least in part on said tracking said real-time usage.

10. A non-transitory computer-usable storage medium having instructions embodied therein that when executed cause a computer system to perform a method for creating a product, said method comprising:

identifying, at a product browser of a first computer system, files associated with installation operations for a software application;

compiling, at said product browser, said files into a self-contained file of said software application to create said product for execution via a second instance of said product browser executing said software application at a second computer system, wherein said product browser is configured to create said product and execute said product, wherein said product is structured with critical dynamic-link library (dll) files that will be pre-fetched by said second instance of said product browser before other components of said product such that said product will be executed at said second instance of said product browser before rest of said product is downloaded, and wherein said product is structured with a virtualized private registry to be integrated with an operating system registry upon execution at said second instance of said product browser such that certain registry keys are virtualized in said virtualized private registry and other registry keys will be deferred to said operating system registry such that application binaries of said product execute natively on an operating system associated with said second computer system without virtualization where said virtual registry is employed only if a particular registry key is virtualized while other calls are passed through to said operating system; and

storing said product to a database accessible by a second instance of said product browser at said second computer system, such that said product is discoverable via a user input at a user interface of said second instance of said product browser.

11. The computer-usable storage medium of claim 10 , said method further comprising:

executing said product via said product browser.

12. The computer-usable storage medium of claim 10 , said method further comprising:

saving metadata associated with said product to identify said product in a key word search.

13. The computer-usable storage medium of claim 10 , said method further comprising:

saving metadata associated metadata with said product wherein said metadata comprises socialization information regarding said product.

14. The computer-usable storage medium of claim 10 , said method further comprising:

associating said product with a uniform resource locator.

15. The computer-usable storage medium of claim 10 , wherein said database comprises a plurality of products.

16. The computer-usable storage medium of claim 10 , wherein said product is created such that a license is stored in a medium for automatic use by said product browser upon executing said product without requiring input from a user.

17. A non-transitory computer-usable storage medium having computer readable program code embedded therein for a product creator, the program code comprising:

initiating code for initiating installation operations for application software on a computer system;

recording code for recording said installation operations of said application software via a product browser, wherein said product browser is configured to create said product and execute said product;

creation code for creating said product based on said recording said installation operations wherein said product is a self-contained single of said software application file resolvable by a second instance of said product browser executing said software application at a second computer system such that said product is for execution via said second instance of said product browser, wherein said creation code structures said product with critical dynamic-link library (dll) files that will be pre-fetched by said second instance of said product browser before other components of said product such that said product will be executed at said second instance of said product browser before rest of said product is downloaded, and wherein said product is structured with a virtualized private registry to be integrated with an operating system registry upon execution at said second instance of said product browser such that certain registry keys are virtualized in said virtualized private registry and other registry keys will be deferred to said operating system registry such that application binaries of said product execute natively on an operating system associated with said second computer system without virtualization where said virtual registry is employed only if a particular registry key is virtualized while other calls are passed through to said operating system; and

storing code for storing said product to a database accessible by said second instance of said product browser, such that said product is discoverable via a user input at a user interface of said second instance of said product browser.

18. The computer-usable storage medium of claim 17 , wherein said creation code is further for executing via said product browser.

19. The computer-usable storage medium of claim 17 , wherein said creation code is further for saving metadata associated with said product to identify said product in a key word search.

20. The computer-usable storage medium of claim 17 , wherein said database comprises a plurality of products.

Assignments (4)
SECOND LIEN SECURITY AGREEMENT Recorded Oct 14, 2015
From: IDERA, INC.; CODEGEAR LLC; EMBARCADERO TECHNOLOGIES, INC.; COPPEREGG CORPORATION; PRECISE SOFTWARE SOLUTIONS, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 036863/0137 →
FIRST LIEN SECURITY AGREEMENT Recorded Oct 13, 2015
From: IDERA, INC.; CODEGEAR LLC; EMBARCADERO TECHNOLOGIES, INC.; COPPEREGG CORPORATION; PRECISE SOFTWARE SOLUTIONS, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 036842/0410 →
RELEASE OF SECURITY INTEREST Recorded Oct 12, 2015
From: WELLS FARGO CAPITAL FINANCE, LLC (FORMERLY KNOWN AS WELLS FARGO CAPITAL FINANCE, INC. AND WELLS FARGO FOOTHILL, INC.)
To: EMBARCADERO TECHNOLOGIES, INC.; EMB HOLDING CORP., A DELAWARE CORPORATION; SHC AMBEO ACQUISITION CORP., A DELAWARE CORPORATION
Reel/Frame 036773/0786 →
AMENDMENT NUMBER ONE TO FIRST LIEN PATENT SECURITY AGREEMENT Recorded Dec 28, 2012
From: EMB HOLDING CORP.; EMBARCADERO TECHNOLOGIES, INC.; SHC AMBEO ACQUISITION CORP.
To: WELLS FARGO CAPITAL FINANCE, INC., FORMERLY KNOWN AS WELLS FARGO FOOTHILL, INC., AS AGENT
Reel/Frame 029549/0310 →