IP Library Granted Patent US 6,848,110
Granted Patent B2
US 6,848,110 · App. 09/747,751 · Granted Jan 25, 2005

Automatic feature augmentation for component based application programming interfaces

Assignee: International Business Machines Corporation
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 6,848,110
App. No.
09/747,751
Granted
Jan 25, 2005
Kind
B2
Abstract

Automatically augmenting functionality in an application programming interface (“API”) is provided by receiving from an application a request for functionality to be fulfilled by a first component implementing at least a portion of the functionality within the application programming interface. The first component is queried for the requested functionality. If an indication that the first component does not implement the requested functionality is received, the a search for an augmentation component that implements the requested functionality is initiated. If an augmentation component supplying the required functionality is found, the augmentation component is loaded to fulfill the request for functionality in place of the first component and used to respond to the request for functionality. Augmentation components provide a subset of the API's required functionality, thereby removing a limitation from API components (i.e., functionality completeness). Augmentation components may also be used to provide new functionality for the API to all existing components (i.e., functionality enhancement).

Claims (54)

1. In an executing application program interface, a method of automatically augmenting functionality in the application programming interface comprising the steps of:

receiving from an application a request for functionality to be fulfilled by a first component implementing at least a portion of the functionality within the application programming interface; and

in response to the received request:

querying the first component for the requested functionality;

receiving an indication from the first component that the requested functionality is not implemented by the first component;

searching for an augmentation component that implements the requested functionality;

loading the augmentation component to fulfill the request for functionality in place of the first component; and

responding to the request for functionality using the loaded augmentation component.

2. The method of claim 1 wherein the searching step comprises looking for the augmentation component on a computer system executing the application.

3. The method of claim 1 wherein the searching step comprises looking for the augmentation component on a network connected to a computer system executing the application.

4. The method of claim 3 wherein the network uses a Uniform Resource Locator to address resources and the searching step uses the Uniform Resource Locator to direct the search.

5. The method of claim 1 wherein the querying, receiving and searching steps create and maintain a catalog of available augmentation component functionality, the catalog being used to determine whether an augmentation component that implements the requested functionality exists.

6. The method of claim 5 wherein the catalog is created upon a first request for functionality.

7. The method of claim 5 wherein the catalog is recreated upon a specific request.

8. The method of claim 1 wherein the first component is a connector for accessing information stored in databases, file systems, Enterprise Resource Planning systems or transaction systems.

9. An apparatus for automatically augmenting functionality in an executing application programming interface comprising:

an application programming interface module receiving from an application a request for functionality to be fulfilled by a first component implementing at least a portion of the functionality within the application programming interface;

a query unit within the application programming interface module querying in response to the received request the first component for the requested functionality;

a receiver within the application programming interface module receiving an indication from the first component that the requested functionality is not implemented by the first component;

a search unit within the application programming interface module searching for an augmentation component that implements the requested functionality;

a loader within the application programming interface module loading the augmentation component to fulfill the request for functionality in place of the first component; and

a response unit within the application programming interface module responding to the request for functionality using the loaded augmentation component.

10. The apparatus of claim 9 wherein the search unit comprises looking for the augmentation component on a computer system executing the application.

11. The apparatus of claim 9 wherein the search unit comprises looking for the augmentation component on a network connected to a computer system executing the application.

12. The apparatus of claim 11 wherein the network uses a Uniform Resource Locator to address resources and the search unit uses the Uniform Resource Locator to direct the search.

13. The apparatus of claim 9 wherein the receiver, the query unit, and the search unit create and maintain a catalog of available augmentation component functionality, the catalog being used to determine whether an augmentation component that implements the requested functionality exists.

14. The apparatus of claim 13 wherein the catalog is created upon a first request for functionality.

15. The apparatus of claim 13 wherein the catalog is recreated upon a specific request.

16. The apparatus of claim 9 wherein the first component is a connector for accessing information stored in databases, file systems, Enterprise Resource Planning systems or transaction systems.

17. An apparatus for automatically augmenting functionality in an executing application programming interface comprising:

means for receiving from an application a request for functionality to be fulfilled by a first component implementing at least a portion of the functionality within the application programming interface;

means for querying in response to the received request the first component for the requested functionality;

means for receiving an indication from the first component that the requested functionality is not implemented by the first component;

means for searching for an augmentation component that implements the requested functionality;

means for loading the augmentation component to fulfill the request for functionality in place of the first component; and

means for responding to the request for functionality using the loaded augmentation component.

18. A computer program product comprising:

a computer usable medium for automatically augmenting functionality in an executing application programming interface;

a set of computer program instructions embodied on the computer usable medium, including instructions to:

receive from an application a request for functionality to be fulfilled by a first component implementing at least a portion of the functionality within the application programming interface; and

in response to the received request:

query the first component for the requested functionality;

receive an indication from the first component that the requested functionality is not implemented by the first component;

search for an augmentation component that implements the requested functionality;

load the augmentation component to fulfill the request for functionality in place of the first component; and

respond to the request for functionality using the loaded augmentation component.

19. A computer data signal embodied in a carrier wave comprising a code segment for automatically augmenting functionality in an executing application programming interface, including instructions to:

receive from an application a request for functionality to be fulfilled by a first component implementing at least a portion of the functionality within the application programming interface; and

in response to the received request:

query the first component for the requested functionality;

receive an indication from the first component that the requested functionality is not implemented by the first component;

search for an augmentation component that implements the requested functionality;

load the augmentation component to fulfill the request for functionality in place of the first component; and

respond to the request for functionality using the loaded augmentation component.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2001
From: SALMON, GLEN E.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 011694/0557 →
Continuity (1)
Related Publication 20020083212A1 · Jun 27, 2002