IP Library Granted Patent US 7,000,228
Granted Patent B2
US 7,000,228 · App. 10/052,304 · Granted Feb 14, 2006

Online upgrade of container-based software components

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,000,228
App. No.
10/052,304
Granted
Feb 14, 2006
Kind
B2
Abstract

Techniques for online upgrading of software components are disclosed. The techniques are especially suited for online upgrading of container-based software components in object oriented computing environments. A multi-stage online upgrade system can facilitate online installation of the container-based software components (e.g., applications) in object oriented computing environments. Moreover, online software upgrades can be achieved without interrupting online services which are provided by the container-based software components. The multi-stage online upgrade system can be implemented so as to allow interaction with an upgrade management entity (e.g., an application developer or system administrator). This allows controlling and/or monitoring of the online upgrade operations.

Claims (54)

1. A method of upgrading software in a object oriented computing environment, said method comprising:

loading an online upgrade module, said online upgrade module including a first container based software component, an online upgrade listener and an online upgrade specification, wherein said first container based software component is an upgrade of a second container based software component which is capable of operating in said object oriented computing environment;

notifying an online-upgrade controller to initiate an online upgrade process;

performing by the online-upgrade controller a plurality of operations to facilitate online upgrade of said second container based software component to said first container based software component;

wherein said plurality of operations are performed in multiple stages comprising:

an upgrade prepare stage;

a pre-upgrade stage comprising: loading one or more listener classes associated with said online upgrade listener, instantiating said one or more listeners associated with said on-line upgrade listener, and performing one or more callbacks via said on-line upgrade listener;

one or more upgrade operations;

a post-upgrade stage, and

a commit stage which comprises: assuring successful draining of said second container based software component, performing one or more callbacks, unloading said second container based software component; and conveying information about said assuring, performing, or unloading to a management entity.

2. A method as recited in claim 1 , wherein said first container based software component said online upgrade listener, and said online upgrade specification are packaged together as a software package.

3. A method as recited in claim 2 , wherein said online upgrade specification is implemented in a manifest portion of said software package.

4. A method as recited in claim 2 , wherein said first container based software component is an Enterprise Java Bean II software component.

5. A method as recited in claim 1 , wherein said online upgrade can be performed without interruption of services.

6. A method as recited in claim 1 , wherein at least one of the first or second container based software components are operable during said software upgrade.

7. A method of upgrading container based software components in multiple stages, said method comprising:

loading a first container based application program, said application program being a new version of a second container based application program;

performing a callback to determine whether the first application program is ready for service;

performing a redirect callback to the first application program; and

conveying information to a management entity about said loading, or said callbacks;

wherein said multiple stages of upgrading comprises:

an upgrade prepare stage;

a pre-upgrade stage;

one or more upgrade operations; and

a post-upgrade stage.

8. A method as recited in claim 7 ,

wherein said method further comprises a commit stage;

wherein said commit stage includes:

assuring draining an older version of an application program;

performing one or more callbacks; and

unloading said older version of application program; and

conveying information about said assuring, performing, or unloading to a management entity.

9. A method as recited in claim 8 , wherein said upgrade prepare stage comprises:

conveying information about said loading, instantiation, or performing to a management entity.

10. A method as recited in claim 9 , wherein said management entity is a cluster manager.

11. A method as recited in claim 7 , wherein said two or more stages further comprise:

a rollback stage.

12. A method as recited in claim 7 , wherein said two or more stages further comprise of at feast one of a commit stage and a rollback stage.

13. A method as recited in claim 7 ,

wherein said upgrade pre-upgrade stage comprises performing one or more callbacks;

wherein said post-upgrade operations comprises one or more callbacks.

14. A method as recited in claim 13 , wherein said method further comprises conveying information to a management entity.

15. A method as recited in claim 14 , wherein said management entity is a cluster manager.

16. A computer system for upgrading software in a object oriented computing environment, wherein said computer system is capable of:

upgrading software in a object oriented computing environment; said method comprising:

loading an online upgrade module, said online upgrade module including a first container based software component, an online upgrade listener and an online upgrade specification, wherein said first container based software component is an upgrade of a second container based software component which is capable of operating in said object oriented computing environment;

notifying an online-upgrade controller to initiate an online upgrade process;

performing by the online-upgrade controller a plurality of operations to facilitate online upgrade of said second container based software component to said first container based software component;

wherein said plurality of operations are performed in multiple stages comprising:

an upgrade prepare stage;

a pre-upgrade stage comprising: loading one or more listener classes associated with said online upgrade listener, instantiating said one or more listeners associated with said on-line upgrade listener, and performing one or more callbacks via said on-line upgrade listener;

one or more upgrade operations;

a post-upgrade stage, and

a commit stage which comprises: assuring successful draining of said second container based software component performing one or more callbacks, unloading said second container based software component; and conveying information about said assuring, performing, or unloading to a management entity.

Assignments (1)
MERGER AND CHANGE OF NAME Recorded Dec 14, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037280/0188 →