IP Library Granted Patent US 7,669,199
Granted Patent B2
US 7,669,199 · App. 11/118,099 · Granted Feb 23, 2010

Installation of software stacks including uncoordinated projects

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,669,199
App. No.
11/118,099
Granted
Feb 23, 2010
Kind
B2
Abstract

A tool is provided for addressing a number of issues related to installing software stacks including multiple uncoordinated components such as open source projects. The tool selects a plurality of software projects, addresses dependency and resource issues and installs the projects on a computer as a functional stack. A test procedure is also created to verify proper installation. A project filter is also provided for controlling access to or installation of projects in accordance with filter criteria. In this manner, compliance with internal policies regarding the use of open source or other software is facilitated.

Claims (41)

1. A method for use in installing software packages of uncoordinated software applications, comprising the steps of:

first operating a computer based tool to receive information from a graphical installation tool identifying a first software application and a second software application to be installed as an integrated software package, wherein said first software application is available from a first source and said second software application is available from a second source, wherein said first and second software applications are uncoordinated, wherein at least one of said first and second software applications is an open source software application, and wherein at least one of said first and second software applications is an application development project that operates at a tools or applications layer of said integrated software package above an operating system level of said integrated software package;

second operating said computer based tool to retrieve from storage information concerning installation requirements for said first and second software applications;

processing said information using said computer based tool to determine an installation procedure for said integrated software package including said application development project; and

executing said installation procedure using said computer based tool.

2. A method as set forth in claim 1 , wherein said retrieved information relates to resources required by said first and second software applications.

3. A method as set forth in claim 2 , wherein said resources comprise one of ports and files used by said first and second software applications.

4. A method as set forth in claim 2 , wherein said step of executing comprises performing a series of checks to identify potential conflicts concerning said resources.

5. A method as set forth in claim 1 , wherein said step of processing comprises determining a sequence for installing said first and second software applications.

6. A method as set forth in claim 1 , wherein said step of executing comprises configuring at least one of said first and second software applications for an identified database.

7. A method as set forth in claim 1 , wherein said step of executing comprises running a test dependent on said first and second software applications to confirm proper installation and operation of said first and second software application.

8. A method as set forth in claim 1 , further comprising the steps of receiving, from said graphical installation tool after said step of executing, update information identifying an update for one of said first and second software applications, processing said update information using said computer based tool to obtain a further installation procedure for said update, and executing said further installation procedure using said computer based tool.

9. A method as set forth in claim 1 , further comprising the steps of receiving, from said graphical installation tool after said step of executing, update information identifying an update for one of said first and second software applications and prompting a user for instructions concerning said update.

10. A method as set forth in claim 1 , further comprising the step of operating said computer based tool to execute an application filter whereby said first and second software applications are selected based on filter criteria defining a client policy and license information regarding one of access to and use of software applications.

11. A method as set forth in claim 1 , further comprising the step of substituting, after said step of executing, for one of said first and second software applications, a substitute software application having substantially equivalent functionality.

12. A system operable to install software, comprising:

a configuration module for configuring a plurality of uncoordinated software applications into an integrated software package and determining an installation procedure for said integrated software package, wherein said uncoordinated software applications are available from independent sources and are free of specific preconfiguration for cooperative and dependent operation in said integrated software package, wherein at least one of said uncoordinated software applications is an open source software application; and wherein at least one of said uncoordinated software applications is an application development project that operates at a tools or applications layer of said integrated software package above an operating system level of said integrated software package; and

a memory for storing said plurality of uncoordinated software applications;

an installer for installing said integrated software package on a computer according to said installation procedure for said integrated software package including said application development project.

13. A system as set forth in claim 12 , wherein the integrated software package is a compilation of the plurality of uncoordinated software applications into a plurality of dependent software applications.

14. A system as set forth in claim 13 , further comprising a shared resource, wherein the shared resource comprises a function; a constant; a class; an object; a structure; and/or license information, and wherein the plurality of dependent software applications are operable to use at least a portion of the shared resource.

15. A system as set forth in claim 12 , wherein said configuration module is further operative for configuring said integrated software package, after installation of said integrated software package on said computer, with respect to an update for one of said software applications.

16. A system as set forth in claim 12 , wherein said configuration module is further operative for prompting a user for instructions regarding an update available for one of said software applications.

17. A system as set forth in claim 12 , wherein said configuration module is further operative for executing an application filter whereby said plurality of uncoordinated software applications are selected based on filter criteria defining a policy regarding one of access to and use of software applications.

18. A system as set forth in claim 12 , wherein said installer is further operative for substituting for a first software application of said integrated software package a substitute software application having substantially equivalent functionality.

19. An apparatus for use in installing packages of uncoordinated software applications comprising:

interface logic for receiving package information identifying an integrated software package including a plurality of uncoordinated software applications to be installed on a processing platform, wherein said software applications are separately available from individual sources, wherein said software applications include a least one open source software application, and wherein at least one of said software applications is an application development project that operates at a tools or applications layer of said integrated software package above an operating system level of said integrated software package;

storage for storing installation information related to said plurality of uncoordinated software applications, wherein said installation information includes installation requirements for said plurality of uncoordinated software applications; and

processing logic for selectively accessing said installation information based on said package information, determining an installation procedure for said integrated software package including said application development project, and executing said installation procedure.

20. An apparatus as set forth in claim 19 , wherein said processing logic is operative for performing a series of checks to identify potential conflicts concerning resources required by said plurality of uncoordinated software applications.

21. An apparatus as set forth in claim 19 , wherein said processing logic is operative for determining a sequence for installing said plurality of uncoordinated software applications.

22. An apparatus as set forth in claim 19 , wherein said processing logic is operative for running a test dependent on said plurality of uncoordinated software applications to confirm proper installation and operation of said software applications.

23. An apparatus as set forth in claim 19 , wherein said processing logic is operative for receiving information identifying an update for one of said uncoordinated software applications, processing said update information to obtain a further installation procedure for said update, and executing said further installation procedure.

24. An apparatus as set forth in claim 19 , wherein said processing logic is operative for receiving update information identifying an update for one of said uncoordinated software applications and prompting a user for instructions concerning said update.

25. An apparatus as set forth in claim 19 , wherein said processing logic is further operative for executing an application filter whereby said plurality of uncoordinated software applications are selected based on filter criteria defining a policy regarding one of access to and use of software applications.

26. A system operable to install software, comprising:

storage for storing information regarding at least one open source software component for inclusion in an integrated software package, wherein at least one of said open source software components is an application development project that operates at a tools or applications layer of said integrated software package above an operating system level of said integrated software package;

a filter that compares first filter information for a computer to second filter information of said at least one open source software component; and

an installer that determines an installation procedure for the computer to install said integrated software package including said application development project based on a comparison of the first and second filter information.

27. A system as set forth in claim 26 , wherein the storage further stores information regarding at least one proprietary software application.

28. A system as set forth in claim 26 , wherein said second filter information includes an association with respect to one of a General Public License, a Lesser General Public License, and a proprietary license.

Assignments (15)
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Aug 7, 2019
From: BRIGHTWOOD LOAN SERVICES LLC, AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
To: AKANA, INC.; ROGUE WAVE SOFTWARE, INC.; PERFORCE SOFTWARE, INC.
Reel/Frame 049996/0115 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Jul 22, 2019
From: ANTARES CAPITAL LP, AS COLLATERAL AGENT
To: ROGUE WAVE SOFTWARE, INC.
Reel/Frame 049823/0731 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jul 22, 2019
From: PERFORCE SOFTWARE, INC.; PERFORCE INTERMEDIATE HOLDINGS, LLC; AKANA, INC.; GLIFFY, INC.; KLOCWORK INC.; OPENLOGIC, INC.; ROGUE WAVE HOLDING CORP.; ROGUE WAVE HOLDINGS, INC.; ROGUE WAVE SOFTWARE, INC.; RWS, INC.; TOTALVIEW TECHNOLOGIES, INC.; TOTALVIEW TECHNOLOGIES LLC; VISUAL NUMERICS, INC.; ZEROTURNAROUND USA, INC.; ZEROTURNAROUND, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 049823/0752 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jul 8, 2019
From: ROGUE WAVE SOFTWARE, INC.
To: CORTLAND CAPITAL MARKET SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 049688/0785 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Feb 8, 2019
From: AKANA, INC.; ROGUE WAVE SOFTWARE, INC.; PERFORCE SOFTWARE, INC.
To: BRIGHTWOOD LOAN SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 048290/0241 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Feb 8, 2019
From: FIRST EAGLE PRIVATE CREDIT, LLC (F/K/A/ NEWSTAR FINANCIAL, LLC (NEWSTAR FINANCIAL, LLC F/K/A NEWSTAR FINANCIAL, INC.))
To: ROGUE WAVE SOFTWARE, INC.; ROGUE WAVE HOLDINGS, INC.; KLOCWORK INC.; TOTALVIEW TECHNOLOGIES, INC.; TOTALVIEW TECHNOLOGIES LLC; RWS, INC.; OPENLOGIC, INC.; VISUAL NUMERICS, INC.; AKANA, INC.
Reel/Frame 048289/0928 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Feb 8, 2019
From: ROGUE WAVE SOFTWARE, INC.
To: ANTARES CAPITAL LP, AS COLLATERAL AGENT
Reel/Frame 048290/0199 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Feb 8, 2019
From: AKANA, INC.; ROGUE WAVE SOFTWARE, INC.; PERFORCE SOFTWARE, INC.
To: BRIGHTWOOD LOAN SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 048290/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2016
From: OPENLOGIC, INC.
To: ROGUE WAVE SOFTWARE, INC.
Reel/Frame 037977/0660 →
SECURITY INTEREST Recorded Sep 29, 2015
From: ROGUE WAVE SOFTWARE, INC.; ROGUE WAVE HOLDINGS, INC.; KLOCWORK INC.; TOTALVIEW TECHNOLOGIES, INC.; TOTALVIEW TECHNOLOGIES LLC; RWS, INC.; OPENLOGIC, INC.; VISUAL NUMERICS, INC.
To: NEWSTAR FINANCIAL, INC.
Reel/Frame 036683/0378 →
RELEASE OF SECURITY INTEREST Recorded Sep 27, 2015
From: WELLS FARGO CAPITAL FINANCE, INC. (NOW KNOWN AS WELLS FARGO CAPITAL FINANCE, LLC (SUCCESSOR BY MERGER))
To: ROGUE WAVE SOFTWARE, INC.; RWS, INC.; OPENLOGIC, INC.
Reel/Frame 036663/0695 →
RELEASE OF SECURITY INTEREST Recorded Aug 28, 2013
From: SQUARE 1 BANK
To: OPENLOGIC, INC.
Reel/Frame 031098/0165 →
SECURITY AGREEMENT Recorded Aug 28, 2013
From: OPENLOGIC, INC.
To: WELLS FARGO CAPITAL FINANCE, LLC
Reel/Frame 031098/0836 →
SECURITY AGREEMENT Recorded Nov 24, 2009
From: OPENLOGIC, INC.
To: SQUARE 1 BANK
Reel/Frame 023568/0980 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2005
From: COPE, ROD; WEIDNER, ERIC
To: OPENLOGIC, INC.
Reel/Frame 017123/0329 →