US 8,527,979 B2
Sep. 3, 2013
6,381,742 B2 6,542,167 B1
6,675,382 B1
(75)
Inventor:
6,698,018 131*
(Us)
6,832,373 B2
6,883,168 B1
12/2004 O Neill
4/2005 James et al.
(73)
6,938,250 B2
6,954,928 B2
6,976,221 B2
8/2005 Cohen et 31
10/2005 Allsop et al.
12/2005 Darlet et a1.
( * ) Notice:
g?ilzr?glcllrphy et al'
_ d
( ommue )
OTHER PUBLICATIONS
Gucer et a1., Deployment Gulde Serles: IBM T1v0l1 Appl1cat10n
. . . . . .
(22)
(65)
Filed.
'
Jun_ 16 2011
US 2011/0246982 A1
Oct. 6, 2011
(Continued)
Primary Examiner i Don Wong
Assistant Examiner * Manna Lee
(51)
(52)
(2006-01) (2006-01)
A virtual installation map, and method involving installing a softWare functionality using the same, the virtual installation map including a ?rst software installation map including a plurality of softWare elements representative of a related soft Ware ?le, the softWare elements also including at least one dependency to another softWare element. The virtual instal lation map further including a second software installation
map also including a second plurality of software elements
(58)
may be hosted in separate databases and may relate to soft Ware products provided by different vendors. One or both
softWare installation maps may include a pointer or other reference to the other installation map thereby providing a virtual installation map, in one example.
f 1910
1
/ 1920 Determining a con?dence factor of each dependency connected to a software element
i
Determining whether the use factor or confidence factor fall below a certain threshold
/- 1930
I
Aging software element if it falls below the
threshold use factor or the confidence factor
K 1940
US 8,527,979 B2
Page 2
(56) References Cited
US' PATENT DOCUMENTS
2011/0191766 A1*
717/175 717/175
7,313,792 B2 7,458,073 B1
7,478,093 B2* 7,503,042 B2*
717/175 717/174
717/178 717/178
7,526,468 B2 7,694,291 B2
7,752,158 B2* 7,761,395 B2*
7,839,816 B2
717/175 717/175
717/174 717/175
7,861,231 B2
7,865,874 B2*
2013/0055202 A1*
7,870,539 B2*
7,971,202 B2
OTHER PUBLICATIONS
. .
B2 B2 B2 A1 A1 A1
Chow et a1 Harmsen et al. Wheeler et 31, Mayr et al. Golender et a1. Cicciarelli et a1.
Non-Final Of?ce Action regarding U.S. Appl. No. 13/111,340, Dec. 7, 2012 Amendment and Response to Non-Final Of?ce Action regarding US. Appl. No. 13/111,340, Mar. 6, 2012. Non-Final Of?ce Action regarding U.S. Appl. No. 13/116,902, Dec. 21, 2012.
Non-Final Of?ce Action regarding U.S. Appl. No. 13/114,715, Dec. 21, 2012
2002/0188942 A1* 12/2002 Bryan et a1~ ~~~~~~~~~~~~~~~~ ~~ 717/176 2003/0028870 A1 2/2003 Weisman et a1.
2003/0122871 A1 2003/0172368 A1
2003/0182656 A1*
Non-Final Of?ce Action regarding U.S. Appl. No. 13/171,189, Dec. 24 2012
' -
2003/0220944 A1
2003/0233385 A1
110003 Schottland et a1
12/2003 Srinivasa etal.
2003/0233645 A1
2004/0003266 A1* 2004/0019888 A1 *
12/2003 Cohen et a1
1/2004 Moshiretal. . 713/191 1/2004 Jain et al. .................... ,, 717/176
2004/0054991 A1 2004/0117783 A1
2004/0181790 A1*
U.S.Appl.No. 13/103,820, Dec. 18, 2012. Non-Final Of?ce Action regarding U.S. Appl. No. 13/083,382, Jul.
23, 2012,
2004/0250247 A1
12/2004 Deeths et al
u ane .
600% Zhou et a1
6/2005 Wedelet a1.
Zoos/0132350 A1
600% Markley et a1
2005/0144616 A1
2005/0155031 A1* 2005/0188258 A1
U_~S~APP1~N~1_3/171,189;M*1T~25,2013~
Final Of?ce Action regarding U.S. Appl. No. 13/083,382, Mar. 22, 2013
A1 9/2005 Williams A1 10/2005 Wishart et a1. A1 12/2005 Lalrd A1 12/2005 Murray et al. A1 * 3/2006 Takashige et a1. A1 4/2006 Cain et a1
6/2006 Bruner et a1
5/2006 Zweifelet a1.
.......... .. 717/174
Non-Final Of?ce Action regarding U.S. Appl. No. 13/100,982, Mar. 25, 2013. Amendment and Response to Non-Final Of?ce Action regarding Us Appl NO 13/114,715,Apr 22, 2013 Of?ce Action regarding U.S. Appl. No. 13/103,820, May 13,
Non-Final Of?ce Action regarding U.S. Appl. No. 13/154,123, May
23 2013 _ _
' . . .
2006/0101457 A1
2006/0l40l44 Al
2006/0212865 A1
2007/0006222 A1*
2007/0074197 A1
2007/0101197 A1 *
29, 2013
Amendment and Response to Non-Final Of?ce Action regarding
2007/0169079 A1 2007/0220510 A1
US. Appl. No. 13/149,353, Jun. 17, 2013. Amendment and Response to Non-Final Of?ce Action regarding
2007/0240134 A1 2007/0240147 A1
2007/0277167 A1
U,$,App1, No, 13/152,088, Apr, 18, 2013, Non-Final Of?ce Action regarding U.S. Appl. No. 13/157,091, Jun.
20 2013
-
Zoos/0040714 Al
2007/0300215
A1
2/2008 Wheeler et a1
Bardsley
'
513E322?a? 31'
2008/0098387 A1 4/2008 Lo etal.
Amendment and Response to Final Of?ce Action regarding US. APPLNQ13/100,982,JllI1~25,2013~ Final Of?ce Action regarding U.S. Appl. No. 13/116,902, Jul. 8,
2013
2008/0301646 A1
2009/0328023 A1 *
12/2008 Gupta
12/2009 Bestland et a1. ............ .. 717/168 * cited by examiner
US. Patent
Sep. 3, 2013
Sheet 1 0f 25
US 8,527,979 B2
Relationships With /
Functional
120
100
Other
'/
Packages
1 10
Ta
Pre-installation
inventory
Arranged in
Post Installation
/ 150
Scripts
Scripts
Packages
Package
Manifest
130
US. Patent
Sep. 3, 2013
Sheet 2 0f 25
US 8,527,979 B2
Package 1
220
f
\
f 205
-
Package 2
230
Package 3
f 240
Package 4 a 7% Package 5
US. Patent
Sep. 3, 2013
Sheet 3 0f 25
US 8,527,979 B2
310
320
330
software functionality
V
340
FIG. 3
US. Patent
Sep. 3, 2013
Sheet 5 0f 25
US 8,527,979 B2
Communicate installation request to software / 500 agent resident on target computer (e.g., client
computer)
V
// 51o
provider
7
provider
7
/ 530
/T 550
i
Transmit software elements or otherwise facilitate access to installation path / 57o
FIG. 5
US. Patent
Sep. 3, 2013
Sheet 6 0f 25
US 8,527,979 B2
Shared Library
<-\
Class
Con?guration File \
615
Shared Library
//' 630
Executable 650
Executable
635
/ /"_ 640
Class Class
FIG. 6
US. Patent
Sep. 3, 2013
Sheet 7 0f 25
US 8,527,979 B2
// 701 K 702
Software Software 7 718 / 712 KM 727
Source
A
Seeker
A
OS
1 Lookup _
Table
> D 9st
9 80 0t
1
OS Shell
.l
'
10_5
'
r 125
115
"
OS speolflcl
Module (0) OS specific Module (n)
..
Software Collector
Dependency Resolver
Software packages
' Software "
HQ
Elements
Element Unpacker
Graph Manager
745
Software
/
Softw
Element
Elemgnt
v
re
Software
Element
'
/* 747
Software Software
Element
Software
Element Software Element
Element
/' 4" '*
W
Element
7;
Software Element
Software Element
Software Element
FIG. 7
US. Patent
Sep. 3, 2013
Sheet 8 0f 25
US 8,527,979 B2
// 310
Extract the individual files from each package / 820 in the software application
if
Analyze manifest and installation scripts to /.h 830 characterize each file by file type
K 340
if
Add software elements to installation map and provide pointers to location of software
850
FIG. 8
US. Patent
Sep. 3, 2013
Sheet 9 0f 25
US 8,527,979 B2
/ 900
l
Extract declared dependencies from the / 910 software packages and represent them in the dependency map
Analyze shared libraries to determine if dependencies have been declared in the
libraries and represent them in the
/ 920
dependency map
l
Analyze configuration files to determine if
dependencies have been declared in the ?les and represent them in the dependency map
/ 930
l
Identify executable files for dependency / 940
analysis
l
Analyze symbol table for each executable ?le 950
/ 960
dependency map
analyzed?
980
FIG. 9
US. Patent
Sep. 3, 2013
Sheet 11 0125
US 8,527,979 B2
DEPENDENCY 1130
US. Patent
Sep. 3, 2013
Sheet 12 0f 25
US 8,527,979 B2
/ 1210
220
f 1230
// 1240
dangling references
FIG. 12
US. Patent
Sep. 3, 2013
Sheet 14 0f 25
US 8,527,979 B2
/ 1400
/ 1410
Start point calculator calculates a start point / 1420 of the dependency route overlay
//- 1430
End point calculator calculates end point of the dependency route overlay
1440
ll
/' 1450
/ 1460
FIG. 14
US. Patent
Sep. 3, 2013
Sheet 15 0f 25
US 8,527,979 B2
INSTALLATION
ROUTE15O1\(/)ERLAY
US. Patent
Sep. 3, 2013
Sheet 16 0f 25
US 8,527,979 B2
l
Route manager calculates rapid
installation route in real-time
/ 1610
l
Installation route is transmitted to client / 1620
as XML file
l
Software agent begins installation
based on the chosen route
/'A 1630
Service provider
Yes
No
requests a reroute
Installation is
through dependency
map
v
successful
1650
1640
FIG. 16
US. Patent
Sep. 3, 2013
Sheet 17 0f 25
US 8,527,979 B2
system
// 1720
Dependency map locates and transmits the K 1730 missing ?les to the software agent
FIG. 17