Method, computer program product, and system for non-blocking ...

4 downloads 35 Views 3MB Size Report
Nov 16, 2010 - (12) United States Patent ... patent is extended or adjusted under 35 .... Patent. X. Apr. 22, 2014 é. Lip-:12 ten A. US 8,707,287 B2. Sheet 7 0f 39.
US008707287B2

(12) United States Patent

(10) Patent N0.: (45) Date of Patent:

Raundahl Gregersen et a]. (54) METHOD, COMPUTER PROGRAM

(75)

(58)

Apr. 22, 2014

Field of Classi?cation Search

PRODUCT, AND SYSTEM FOR

CPC .............. .. G06F 8/65; G06F 8/67; G06F 8/30

NON-BLOCKING DYNAMIC UPDATE OF STATICALLY TYPED CLASS-BASED OBJECT-ORIENTED SOFTWARE

USPC

........................................ .. 717/108,168,170

See application ?le for complete search history. (56)

References Cited

Inventors: Allan Raundahl Gregersen, Odense SO (DK); Michael Rasmussen, Odense M

U.S. PATENT DOCUMENTS

(DK); Bo Norregaard Jorgensen,

6,629,315 B1

Odense M (DK)

7,530,077 B2 2012/0254848 A1 *

(73) Assignee: Syddansk Universitet, Odense M (DK) (*)

US 8,707,287 B2

Notice:

U.S.C. 154(b) by 428 days. 13/130,524

(22)

Nov. 16, 2010

PCT Filed:

5/2009 Bhogal et a1. 10/2012

Robertson et al. .......... .. 7l7/l66

OTHER PUBLICATIONS

Subject to any disclaimer, the term of this patent is extended or adjusted under 35

(21) Appl. N0.:

9/2003 Naylor

Bialek, R., et a1., “Partitioning of Java Applications to Support Dynamic Updates,” Proceedings of the 11th Asia-Paci?c Software Engineering Conference, 2004, pp. 616-623.

(Continued) Primary Examiner * Anna Deng

(74) Attorney, Agent, 0rFirm * Houston & Associates, LLP

(86) PCT No.:

§ 371 (0X1)’ (2), (4) Date:

(87)

PCT/EP2010/067612

(57)

ABSTRACT

A method, computer program product, and system for non

Aug. 3, 2011

blocking dynamic update of statically-typed class-based obj ect-oriented software executing as byte-code on a virtual

PCT Pub. No.: WO2011/072970

machine within an actively running computer system is pro vided. A set of objects instantiated from an existing module or

PCT Pub. Date: Jun. 23, 2011

multiple modules (identi?able collections of application (65)

resources and class de?nitions in the form of byte-code rep resentations) is ready for execution on a virtual machine in an

Prior Publication Data US 2011/0283256A1

Nov. 17,2011

actively running computer system. New versions of one or more modules corresponding to those already loaded into the

actively running virtual machine are dynamically loaded into the virtual machine for the purpose of updating the running

Related US. Application Data

(60)

Provisional application No. 61/287,750, ?led on Dec.

software. The class de?nitions within the loaded modules are

18, 2009.

prepared for dynamic update by inserting byte-code that

(51)

Int. Cl.

between objects of a former version and the new version of a

(52)

G06F 9/44 vs. C].

enables; transparent state transfer and shared object identity

(2006.01)

class.

USPC .......................... .. 717/168; 717/108; 717/170

Load modi?ed c 255 1010 AN

37 Claims, 39 Drawing Sheets

US 8,707,287 B2 Page 2 (56)

References Cited

Sato, Y., et al., “Loosely-separated ‘Sister’ Namespaces in Java,”

OTHER PUBLICATIONS

Proceedings of the 19th European Conference on Object-Oriented Programming, Lecture Notes in Computer Science, vol. 3586, Springer-Verlag, 2005, pp. 49-70.

Buchi, M., et al., “Generic Wrappers,” Proceedings of the 14th Euro

Stanek, J ., et al., “Online Software Maintenance for Mission-Critical

pean Conference on Obj ect-Oriented programing, Lecture Notes in

Systems,” Proceedings of the 22nd International Conference on Soft ware Maintenance, IEEE Computer Society, 2006, pp. 93-103.

Computer Science, vol. 1850, Springer-Verlag, 2000, pp. 201-225. Chen, H., et al., “POLUS: A POwerful Live Updating System,”

Approach,” Proceedings of the 2009 ACM SIGPLAN conference on

Subramanian, S., et al., “Dynamic Software Updates: AVM-centric

Proceedings of the 29th International Conference on Software Engi

Programming language design and implementation, ACM SIGPLAN

neering, IEEE Computer Society, 2007, pp. 271-281. Dmitriev, M., “Safe Class and Data Evolution in Large and Long Lived Java Applications,” PhD thesis, Department of Computing Science, University of Glasgow, Scotland, 2001, 194 pages. Drossopoulou, S., et al., “What is Java Binary Compatibility?” Pro

Notices, vol. 44, No. 6, 2009, pp. 1-12. International Preliminary Report on Patentability issued Jun. 19, 2012 for International Application No. PCT/EP2010/067612, ?led Nov. 16, 2010. Raundahl Gregersen et al., “Towards a dynamic-update-enabled JV M,” Proceedings of the Workshop on AOP and Meta-Data for

ceedings of the 13th ACM SIGPLAN Conference on Object-Ori

Software Evolution (Jul. 6, 2009): 1-7. XP002631459. Raundahl Gregersen et al., “Module reload through dynamic

ented Programming, Systems, Languages, and Applications, 1998, pp. 341-361.

Gustavsson, J ., “Dynamic Updating of Computer ProgramsiPro posed Improvements to the JDrums Updating System,” Rise Publi cations, 2005, 6 pages.

updateiThe case of NetBeans,” Software and Maintenance and Reengineering, 2008. CSMR 2008. 12’h European Conference on,

USENIX 1998 Annual Technical Conference, USENIX Association,

IEEE, Piscataway, NJ, USA (Apr. 1, 2008); 23-32. XP031244865. Liang et al., “Dynamic class loading in the java virtual machine,” ACM Sigplan Notices, ACM Association for Computing Machinery New York, NY, US, vol. 33, No. 10 (Oct. 1, 1998): 36-44.

pp. 65-76.

XP000831202.

Malabarba, S., et al., “Runtime Support for Type-Safe Dynamic Java Classes,” Proceedings of the 14th European Conference on Object Oriented Programming, Lecture Notes in Computer Science, vol. 1850, Springer-Verlag, 2000, pp. 337-361. Orso, A., et al., “A Technique for Dynamic Updating of Java Soft

International Search Report (Form PCT/ISN210) for corresponding

Hjalmtysson, G., et al., “Dynamic C++ Classes,” Proceedings ofthe

International Application No. PCT/EP2010/067612 mailed Apr. 19, 201 1.

Written Opinion (Form PCT/ISN237) for corresponding Interna tional Application No. PCT/EP2010/067612.

ware,” Proceedings of the International Conference on Software

Maintenance, IEEE Computer Society, 2002, pp. 649-658.

* cited by examiner

US. Patent

Apr. 22, 2014

Sheet 2 0f 39

I

US 8,707,287 B2

I

43-1

:1 i

— — — >— — 4*

I:. .:.:.$ ____ _

331:1}

Cmnpanem depend em?

Companem at time n

ifj'i Jilin-H} i {lampanent M Y'i'me n+1 L T5} _____________i

Fig. 2

US. Patent

Apr. 22, 2014

Sheet 3 0f 39

US 8,707,287 B2

5'" 3*“, til-Er! Execute inurmai

4

"

"g 3113 {I

if:

'

*

.-

I“

a _ ~ c a _ n

[.1 1.. lieihoé Invocmma

from F to Eli-53}

Fig.3

'4

US. Patent

Apr. 22, 2014

Sheet 4 0f 39

Fig. 4

US 8,707,287 B2

US. Patent

Apr. 22, 2014

Sheet 5 0f 39

US 8,707,287 B2

US. Patent

Apr. 22, 2014

Sheet 6 0f 39

Start Egretem with i115th m entatiosn age-m

the "i’iftILiE-ti maciiwimetiaris?ai‘a a.

'

‘ '"‘ the:

if?sz '

instmmentatic-In ag m

i, get. 5:13 ir-cai'sizrap Eiiazsse‘s mamm Nation I'E'fEfEiWZE {1 2 ..:iC§E.a:sees}

i, trasnafam': bale-tam? cias 595'

i, Spawn mm isriuaii iriachine insiaime '

cuti?g with the: sicias-ses an

ciaaa path

5m

US 8,707,287 B2

US. Patent

Apr. 22, 2014

US 8,707,287 B2

Sheet 7 0f 39

magg- new?miiuie’s ciass iysadar

I.

é.

-1l

event Lip-:12 ten“willie A

'

medal a“

X.

tiiggse'red

ion-ate sggxe-c ai mad L..

and aim

the:

isC'nrremVeriimx 583d It! $31138

5.

-"" w

sum

gaffe-rm mmaisrs

mu 5 versil

:5 7-32-2152. aim-5:155

Era-t 5‘5:

FEE-S GBYCES

Fig. 7

m

Cl

US. Patent

Apr. 22, 2014

Sheet 8 0f 39

US 8,707,287 B2

{Class ,1 £51351 event x"? "l

grad



Na: await he w he

:1 mas-

Tran afom': bytecaiie is make

:iiaE-E ugwj-aie 'e'nai?e-ci

‘Cemmm bytezacie transfcrmaiém {a em

,

finF‘iiane meii?saiwn ami

C Barres pQ-ndesnce Hasndiing

US. Patent

Apr. 22, 2014

US 8,707,287 B2

Sheet 9 0f 39

m Tana-farm the

\~,

"x

‘f‘ii'a-i‘ds "fast if and

Han-die bale-f class spa-Zia

‘r’es

tranefmma?ma

-

lass specie??? :4,““Zr/x“ “‘ -

-";

each ?aid m 133252 QC? save {raid in :B‘sotFieiE-zi'ajama

FOR each meihad m in Mass

‘r’

2 113-8

tram 253%

by? made Bf ?naihei}

13k

ere 33491328 PR1. enca“EH-Bi“.

N r,

in" class 155

US. Patent

Apr. 22, 2014

Sheet 10 0f 39

US 8,707,287 B2

----------------------“'T“\ WEE

\3 Moist-rap Hand 3 spa-maii ziass

l, 1%

Na, musi be sun .x‘e? sat.

" Wk

YES i

1 m3

YES

wise-it ?g’te-z to ?lter mat: :symi‘?eijc {raids and metth inssi?ed by the gx'esesr-ii inwmén-n fmm reg-aha retrieved by get?-ez?ared * maths-ti s

“ext. byiec-?de at a beginning a? math s-ci ta retum a 95519-5328 ?air} acszessm‘ swam that swim-mes

Yer

1m m etth i5

getEI-Eeciai-‘E 'Zieids cw gameaiazred -

Math-m 5 than?

ma

Add bytacade at the and of m at $106 to :ra Am the r-e-su? ci a

Aidd by“; anode

?it'ez?utlnae?ed?‘iamhera

to {hum 9x15 epficm at

m'ethad

m ?t im e

Fig. 9.2

?efd access made-i izas-e-J' cm

gene-fated ?eii-d guess; metimds

US. Patent

Apr. 22, 2014

Sheet 11 0139

~\

1111-1

1 1-52

33% 2E smE-téh 0-11

US 8,707,287 B2

-"“

US. Patent

Apr. 22, 2014

Sheet 12 0f 39

insert bytes n-de in the: itssgénnésng 9f the

I

I I I I I I I

I (“WI-“i I I I I I I

I

I E

IBIESTj—x?‘m re-t =. i r“- immiiii Elia-1y 1 238

witiim' ma?! 5 12-212: .‘~i m-iwatmamr

US 8,707,287 B2

US. Patent

Apr. 22, 2014

US 8,707,287 B2

Sheet 13 0f 39

The

sated

de maika-s suns

mse? fbyiemde in the ib?umwii '

afar} t0 the ates? “sis/mm a? the. executing 0 L.

the

THY: Gm ud

I.

\_‘...._......._..r................._....\......._.....................,...\...“..._,\\

Emsmate m'igsi n31 metina tam

.1

".

E xecati 1 *n

Fig. 9.5

.\~i|l!I:

US. Patent

Apr. 22, 2014

US 8,707,287 B2

Sheet 14 0f 39

awn“ HIKE-=31 1" F.

? i-Eii

Parse the

byte-c Ede ’35? the

FOR 93:51": ram-static ?aiid in 21359 GO aieaia?ysitezmiF'

'

1 L

'

are aieS-ystew'?e

1m

Ge

rate maths-:1 2

Lage? by update— e:18

HER each method m in 1:53:53

it

mm 35E E a" NOT

0

trim sin-rm WWe

? naii izei}

N r,

US. Patent

Apr. 22, 2014

US 8,707,287 B2

Sheet 15 0f 39

fin and nan-sit

.,

?aid in sy-stam 63-95

.x",

""‘Erfaié {laid get meivtihu? with signaiurp ' '

fir-W311. x

' .ct ane'r}

gesne-ra-te- hyteaode in math

15- read {raid

'

Suggest Documents