Anda di halaman 1dari 53

US008527979B2

(12) Ulllted States Patent


Wookey
(54) APPARATUS AND METHOD FRO

(10) Patent N0.:


(45) Date of Patent:
6,349,137 B1 *

US 8,527,979 B2
Sep. 3, 2013

2/2002 Hunt et al. ............. .. 379/265.06

MAINTAININGA SOFTWARE REPOSITORY


.

6,381,742 B2 6,542,167 B1
6,675,382 B1

4/2002 Forbes er a1~ 4/2003 Darlet et a1.


1/2004 Foster

(75)

Inventor:

Michael J. Wookey, Los Gatos, CA

6,698,018 131*

20004 Zimniewicz et a1 """" 7l7/175

(Us)

6,832,373 B2
6,883,168 B1

12/2004 O Neill
4/2005 James et al.

(73)

Assignee: Oracle America, Inc., Redwood City,


CA (Us)

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:

Subject' to any disclaimer,~ the term of this


patent 1s extended or adjusted under 35 C

g?ilzr?glcllrphy et al'
_ d

U.S.C. 154(1)) by 91 days.


(21) Appl. No.: 13/162,429

( ommue )
OTHER PUBLICATIONS
Gucer et a1., Deployment Gulde Serles: IBM T1v0l1 Appl1cat10n
. . . . . .

(22)
(65)

Filed.
'

Jun_ 16 2011

Dependency Discovery Manager V7.1, IBM Aug. 2008, retrieved


from <http://WWW.redb00ks.ibm.c0m/redb00ks/pdfs/sg247616.

Prior Publication Data

Pd? total PP 472*

US 2011/0246982 A1

Oct. 6, 2011

(Continued)
Primary Examiner i Don Wong
Assistant Examiner * Manna Lee

Related US. Application Data


_ _ _ _

(63) Cont1nuat1on of appl1cat1on No. 13/083,382, ?led on


Apr. 8, 2011, and a cont1nuat1on of app11cat10n No. 11/862,987, ?led on Sep. 27, 2007, noW abandoned.
(60) PFOViSiOIlal application N0~ 60/890,171, ?led 011 Feb15, 2007-

(74) Attorney) Agent] or Firm i Polsinelh PC


(57) ABSTRACT

(51)
(52)

Int- ClG06F 9/44 G06F 9/445 U-S- Cl-

(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

USPC ......................................... .. 717/169; 717/175

(58)

Field of Classi?cation Search


USPC ........................................................ .. 717/169

representative of related softWare ?le along With related


dependencies. The ?rst and second softWare installation maps

See application ?le for complete search history.


(56) References Cited
US. PATENT DOCUMENTS
6,117,187 A 6,202,207 B1 9/2000 Staelin 3/2001 Donohue

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.

20 Claims, 25 Drawing Sheets

Analyzing the recent timestamps of each


software element

Assigning each software element a use factor

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*

8/2011 Wookey ...................... .. 717/175

2011/0209142 A1* 2011/0214119 A1*


2011/0225461 A1 *

8/2011 Wookey 9/2011 Wookey


9/2011

717/175 717/175

Wookey ..................... .. 714/38.1

7,313,792 B2 7,458,073 B1
7,478,093 B2* 7,503,042 B2*

12/2007 Buban et a1. 11/2008 Darling et a1.


1/2009 Moulckers et a1. ................. .. 1/1 3/2009 Henrickson et al. ........ .. 717/175

2011/0225577 A1* 2011/0231836 A1*


2011/0231838 A1* 2011/0239212 A1*

9/2011 Wookey 9/2011 Wookey


9/2011 Wookey 9/2011 Wookey

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

4/2009 Vincent et a1. 4/2010 Chen et a1.


7/2010 Wookey ........................ .. 706/61 7/2010 Wookey ........................ .. 706/45
11/2010 Hall _

2011/0246982 A1* 10/2011 Wookey 2011/0258619 A1* 10/2011 Wookey


2012/0144386 A1* 2012/0151468 A1*
2012/0151469 A1*

717/175 717/175
717/174 717/175

6/2012 Wookey 6/2012 Wookey

6/2012 Wookey ...................... .. 717/175

7,861,231 B2
7,865,874 B2*

12/2010 Rangarajan et al.


1/2011
6/2011

2013/0055202 A1*

2/2013 Dudek et a1. ................ .. 717/120

Wookey ...................... .. 717/120

7,870,539 B2*
7,971,202 B2

1/2011 Wookey ...................... ,, 717/124


Bell et a1. .

OTHER PUBLICATIONS
. .

7,987,459 8,185,872 8,387,038 2001/0037289 2002/0087949 2002/0188941

B2 B2 B2 A1 A1 A1

W20 5/2012 2/2013 11/2001 7/2002 12/2002

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*

7/2003 Darlet et 31' 9/2003 Alumbaugh et a1.


9/2003 Leathers et a1. ............ .. 717/177

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.

Non-Final Of?ce Action regarding U.S. Appl. 13/152,088, Jan. 18,


2013 _ _ _

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

Non-Final Of?ce Action regarding U.S. Appl. No. 13/103,820, Sep.


18,2012 Amendment and Response to Non-Final Of?ce Action regarding

2004/0054991 A1 2004/0117783 A1
2004/0181790 A1*

3/2004 Harres 6/2004 Kaminsky et al.


9/2004 Herrick ....................... .. 717/168

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 .

Amendment and Response to Non-Final Of?ce Action regarding,

ggggggggg 2} 15/5882 153mg ettaali


Zoos/0125525 A1
2005/0132337 A1

U.S. Appl. No. 13/083,382, Nov. 23, 2012.


-

600% Zhou et a1
6/2005 Wedelet a1.

ll\l5on2-(l;ir;al Of?ce Action regarding U.S. Appl. No. 13/149,353, Mar.


' . . .

Zoos/0132350 A1

600% Markley et a1

Amendment and Response to Non-Final Of?ce Action regarding

2005/0144616 A1
2005/0155031 A1* 2005/0188258 A1

6/2005 Hammond etal.


7/2005 Wang et a1 ,,,,,,,,,,,,,, H 717/170 8/2005 Zweifelet 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

2005/0210285 2005/0223374 2005/0268282 2005/0289535 2006/0070063 2006/0080656

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

9/2006 Vincent et al.

2007/0006222 A1*

1/2007 Majer et a1, ,,,,,,,,,,,,,,,,, ,, 717/174

Non-Ful?l Of?ce ACUOII regardlng U~S~APP1~ N0~ 13/159,231, May

2007/0074197 A1
2007/0101197 A1 *

3/2007 Buckley et a1.


5/2007 Moore et al. ,,,,,,,,,,,,,,,,,, ,, 714/38

29, 2013
Amendment and Response to Non-Final Of?ce Action regarding

2007/0169079 A1 2007/0220510 A1

7/2007 Keller et al. 9/2007 Bell et al.

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

10/2007 Buragohain et al. 10/2007 BePnabeu'Auban et 31'


11/2007 Smith et a1.
12/2007

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

Of?ce Action regarding U.S. Appl. No. 13/111,340, Jun. 21,

'

513E322?a? 31'
2008/0098387 A1 4/2008 Lo etal.

Amendment and Response to Final Of?ce Action regarding US.


APP1~N~ 13083382, 11111142911 _ _

200g/0127164 A1 2008/0140732 A1 2008/0148248 A1


2008/0201705 A1*

5/2008 Duf?eld et 31 6/2008 Wilson etal. 6/2008 VQlkmer et 31,


8/2008 Wookey ...................... .. 717/175

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

140 Core Software

1 10
Ta

Pre-installation

inventory
Arranged in

Post Installation

/ 150

Scripts

Scripts

Packages

Package
Manifest

130

FIG. 1 (PRIOR ART)

US. Patent

Sep. 3, 2013

Sheet 2 0f 25

US 8,527,979 B2

Software Application A (200)

Package 1
220
f

\
f 205
-

Package 2
230

Package 3

f 240
Package 4 a 7% Package 5

FIG. 2 (PRIOR ART)

US. Patent

Sep. 3, 2013

Sheet 3 0f 25

US 8,527,979 B2

Unpack software applications into individual /" 300


files and represent each file in an installation
map as a software element

Identify dependencies between software


elements

310

Generate software installation route within the

installation map, the installation route


representing a set of software files to achieve a software functionality
V

320

Transmit installation route to a client system

330

to install software files associated with the

software functionality
V

Submit success and failure statistics to

340

installation map to generate dependency and


route confidence levels

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

Transmit installation request to service

// 51o

provider
7

Transmit client software manifest to service /

provider
7

Analyze dependency map to generate installation paths

/ 530

Transmit installation path(s) to software agent

Provide input medium for administratorto select installation path

/T 550

Transmit path selection to service provider

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

Obtain software application for incorporation / 800


in the dependency map

Retrieve OS plugin to determine which OS the software application is written for

// 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

Generate software elements to represent each file in the installation map

K 340

if

Add software elements to installation map and provide pointers to location of software

850

?les associated with software elements

FIG. 8

US. Patent

Sep. 3, 2013

Sheet 9 0f 25

US 8,527,979 B2

Begin analysis of dependencies from software application packages

/ 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

to identify dependencies and represent them /


in the dependency map Run executable file to identify executable dependencies and place them in the

/ 960

dependency map

Have all executable files been

analyzed?

980

Dependency analysis is complete

FIG. 9

US. Patent

Sep. 3, 2013

Sheet 11 0125

US 8,527,979 B2

DEPENDENCY MAP 1100 SOFTWARE BOUNDARY RLAY

DEPENDENCY 1130

US. Patent

Sep. 3, 2013

Sheet 12 0f 25

US 8,527,979 B2

Describe software application with individual / 1200


software elements in installation map

Describe dependencies between each


software element

/ 1210

Identify boundary around all software


elements that de?ne a software functionality / 1

220

Analyze software elements to identify dangling references

f 1230

Increase the boundary to encompass any

// 1240

dangling references

FIG. 12

US. Patent

Sep. 3, 2013

Sheet 14 0f 25

US 8,527,979 B2

Receive client install request and software


manifest

/ 1400

Route manager analyzes manifest and creates dependency route overlay

/ 1410

Start point calculator calculates a start point / 1420 of the dependency route overlay

Record start point in a persistent store

//- 1430

End point calculator calculates end point of the dependency route overlay

1440

ll

Route calculator determines a route from

/' 1450

start point of the dependency route overlay

Submit installation routes to client

/ 1460

FIG. 14

US. Patent

Sep. 3, 2013

Sheet 15 0f 25

US 8,527,979 B2

SOFTWARE ELEM ENTS


30

DEPENDENCY MAP 1500

INSTALLATION

ROUTE15O1\(/)ERLAY

US. Patent

Sep. 3, 2013

Sheet 16 0f 25

US 8,527,979 B2

Route manager receives installation /" 1600 request and manifest

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

A new route is sent to the

_ New route is installed

software agent 1660

by software agent 1670

FIG. 16

US. Patent

Sep. 3, 2013

Sheet 17 0f 25

US 8,527,979 B2

Software agent receives installation route

Software agent determines whether the ?les / 1710


for the installation are present on the client

system

lf files are missing, request for missing file


made to the map

// 1720

Dependency map locates and transmits the K 1730 missing ?les to the software agent

FIG. 17

Anda mungkin juga menyukai