IP Library Granted Patent US 7,234,132
Granted Patent B2
US 7,234,132 · App. 10/230,509 · Granted Jun 19, 2007

Application integration model for dynamic software component assembly within an application at runtime

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,234,132
App. No.
10/230,509
Granted
Jun 19, 2007
Kind
B2
Abstract

A technique is presented for integrating software components. The technique includes providing an application integration model capable of adapting to different environments by dynamically using different software components at application runtime. The software components are categorized into different stages, with the stages being indicative of when the software components are to be loaded and executed within an application by the application integration model. The technique further includes employing the application integration model to assemble software components into the application within a runtime environment. The application integration model includes an application runtime driver (ARD), which drives work flows of the application integration model through multiple predefined application stages, and a component runtime integration box (CRIB), which includes multiple common data structures employed by the software components during integration into the application.

Claims (21)

1. A method of integrating software components comprising:

providing an application lifecycle integration model as part of an application to be run, the application lifecycle integration model being capable of adapting to different environments by dynamically integrating different predefined software components into the application during runtime of the application, wherein the different predefined software components are categorized into different application runtime lifecycle stages, the application runtime lifecycle stages providing relative reference times to the application lifecycle integration model indicative of when the different predefined software components may be loaded for execution within the application by the application lifecycle integration model, and wherein the application lifecycle integration model of the application comprises an application runtime driver (ARD) software component and a component runtime integration box (CRIB) software component, wherein the ARD software component drives workflows of the application integration model though the application runtime lifecycle stages, and wherein the CRIB software component of the application comprises a service registry, a state table and a time table; and

employing the application lifecycle integration model of the application to dynamically integrate selected software components on-the-fly into the application's runtime lifecycle without prior compilation or linking of the software components into the application as a whole, wherein dynamically integrating different software components on-the-fly into the application at runtime changes the application's functions.

2. The method of claim 1 , wherein the application runtime lifecycle stages of the application comprise an application initialization stage, an application configuration stage, an application operation stage and an application finalization stage, and wherein the service registry comprises a listing of methods provided by the different predefined software components, the state table comprises an execution map for the ARD software component, including the different lifecycle stages and the software components within each lifecycle stage, and the time table comprises a history of the application's execution, including a time stamp and identification of each software component loaded.

3. The method of claim 1 , wherein the different predefined software components are pre-designed to interface with the ARD and CRIB software components of the application lifecycle integration model of the application, and wherein the ARD and CRIB components of the application lifecycle integration model facilitate registration of component services within the application lifecycle integration model which can be employed by one or more of the different predefined software components.

4. The method of claim 3 , wherein the application lifecycle integration model enables exchange, between the different predefined software components, of software component services, software component contexts and software component dependencies through different application runtime stages within the runtime lifecycle of the application.

5. The method of claim 1 , further comprising identifying the different predefined software components within an input file for on-the-fly integration into the application at different runtime stages of the application using the application lifecycle integration model of the application.

6. A system for integrating software components comprising:

at least one processor and memory;

an application lifecycle integration model as part of an application to be run, the application lifecycle integration model being adaptive to different environments by dynamically integrating different predefined software components into the application during runtime of the application, wherein the different predefined software components are categorized into different application runtime lifecycle stages, the application runtime lifecycle stages providing relative reference times to the application lifecycle integration model indicative of when the different predefined software components may be loaded and for execution within the application by the application lifecycle integration model, and wherein the application lifecycle integration model of the application comprises an application runtime driver (ARD) software component and a component runtime integration box (CRIB) software component, wherein the ARD software component drives workflows of the application integration model through the application runtime lifecycle stages, and wherein the CRIB software component of the application comprises a service registry, a state table and a time table; and

means for employing the application lifecycle integration model of the application to dynamically integrate selected software components on-the-fly into the application's runtime lifecycle without prior compilation or linking of the software components into the application as a whole, wherein dynamically integrating different software components on-the-fly into the application at runtime changes the application's functions.

7. The system of claim 6 , wherein the application runtime lifecycle stages of the application comprise an application initialization stage, an application configuration stage, an application operation stage and an application finalization stage, and wherein the service registry comprises a listing of methods provided by the different predefined software components, the state table comprises an execution map for the ARD software component, including the different lifecycle stages and the software components within each lifecycle stage, and the time table comprises a history of the application's execution, including a time stamp and identification of each software component loaded.

8. The system of claim 6 , wherein the different predefined software components are pre-designed to interface with the ARD and CRIB software components of the application lifecycle integration model of the application, and wherein the ARD and CRIB components of the application lifecycle integration model facilitate registration of component services within the application lifecycle integration model which can be employed by one or more of the different predefined software components.

9. The system of claim 8 , wherein the application lifecycle integration model enables exchange, between the different predefined software components, of software component services, software component contexts and software component dependencies through different application runtime stages within the runtime lifecycle of the application.

10. The system of claim 6 , further comprising means for identifying the different predefined software components within an input file for on-the-fly integration into the application at different runtime stages of the application using the application lifecycle integration model of the application.

11. At least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform a method of integrating software components, the method comprising:

providing an application lifecycle integration model as part of an application to be run, the application lifecycle integration model being capable of adapting to different environments by dynamically integrating different predefined software components into the application during runtime of the application, wherein the different predefined software components are categorized into different application runtime lifecycle stages, the application runtime lifecycle stages providing relative reference times to the application lifecycle integration model indicative of when the different predefined software components may be loaded for execution within the application by the application lifecycle integration model, and wherein the application lifecycle integration model of the application comprises an application runtime driver (ARD) software component and a component runtime integration box (CRIB) software component, wherein the ARD software component drives workflows of the application integration model through the application runtime lifecycle stages, and wherein the CRIB software component of the application comprises a service registry, a state table and a time table; and

employing the application lifecycle integration model of the application to dynamically integrate selected software components on-the-fly into the application's runtime lifecycle without prior compilation or linking of the software components into the application as a whole, wherein dynamically integrating different software components on-the-fly into the application at runtime changes the application's functions.

12. The at least one program storage device of claim 11 , wherein the application runtime lifecycle stages of the application comprise an application initialization stage, an application configuration stage, an application operation stage and an application finalization stage, and wherein the service registry comprises a listing of methods provided by the different predefined software components, the state table comprises an execution map for the ARD software component, including the different lifecycle stages and the software components within each lifecycle stage, and the time table comprises a history of the application's execution, including a time stamp and identification of each software component loaded.

13. The at least one program storage device of claim 11 , wherein the different predefined software components are pre-designed to interface with the ARD and CRIB software components of the application lifecycle integration model of the application, and wherein the ARD and CRIB components of the application lifecycle integration model facilitate registration of component services within the application lifecycle integration model which can be employed by one or more of the different predefined software components.

14. The at least one program storage device of claim 13 , wherein the application lifecycle integration model enables exchange, between the different predefined software components, of software component services, software component contexts and software component dependencies through different application runtime stages within the runtime lifecycle of the application.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2016
From: CORAL BAY INNOVATIONS, LLC
To: HULU, LLC
Reel/Frame 038824/0206 →
CHANGE OF NAME Recorded Feb 13, 2015
From: SHORELINE INNOVATIONS, LLC
To: CORAL BAY INNOVATIONS, LLC
Reel/Frame 034992/0213 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: SHORELINE INNOVATIONS, LLC
Reel/Frame 034954/0956 →