IP Library Granted Patent US 8,112,434
Granted Patent B2
US 8,112,434 · App. 11/774,659 · Granted Feb 7, 2012

Performance of an enterprise service bus by decomposing a query result from the service registry

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 8,112,434
App. No.
11/774,659
Granted
Feb 7, 2012
Kind
B2
Abstract

A method, system and computer program product for improving performance of an enterprise service bus. A cache is used to store collections of service objects where each service object includes service meta-data associated with a web service application. The cache may be accessed by the enterprise service bus to service “generic queries” from the client instead of accessing the service registry. Further, the collections of service objects are decomposed into instances of the collections of service objects. These instances of the collections of service objects are stored in the cache which is used by the enterprise service bus to service “direct queries” from the client instead of accessing the service registry. By reducing the number of accesses to the service registry, the network traffic is lessened and the performance of the enterprise service bus is improved.

Claims (65)

1. A method for improving performance of an enterprise service bus comprising the steps of:

receiving a query from a client;

accessing a service registry to obtain a collection of service objects in response to said query;

decomposing said collection of service objects into instances of said collection of service objects; and

storing, by a processor, said collection of service objects as well as said instances of said collection of service objects in a cache.

2. The method as recited in claim 1 further comprising the step of:

storing appropriate keys in said cache to index said collection of service objects as well as to index said instances of said collection of service objects in said cache.

3. The method as recited in claim 2 , wherein said stored keys comprise one or more of the following: a unique name, an internal identification, a query string and a port type.

4. The method as recited in claim 1 further comprising the step of:

receiving a direct query from said client to access a particular instance of a web service application.

5. The method as recited in claim 4 further comprising the steps of:

generating a key from said direct query; and

performing a table look-up in said cache using said generated key to determine if service meta-data is stored in a service object associated with said web service application.

6. The method as recited in claim 5 further comprising the steps of:

accessing said service object associated with said web service application if said service object associated with said web service application is located in said cache; and

invoking said web service application using service meta-data in said service object associated with said web service application.

7. The method as recited in claim 1 further comprising the steps of:

receiving a notification that a service object in said service registry has been updated;

discarding said service object in said cache;

accessing said service registry for said updated service object; and

storing said updated service object in said cache.

8. The method as recited in claim 7 further comprising the step of:

discarding a collection of service objects in said cache, wherein said collection of service objects contains said service object that has been updated.

9. A system, comprising:

a memory unit for storing a computer program for improving performance of an enterprise service bus; and

a processor coupled to said memory unit, wherein said processor, responsive to said computer program, comprises:

circuitry for receiving a query from a client;

circuitry for accessing a service registry to obtain a collection of service objects in response to said query;

circuitry for decomposing said collection of service objects into instances of said collection of service objects; and

circuitry for storing said collection of service objects as well as said instances of said collection of service objects in a cache.

10. The system as recited in claim 9 , wherein said processor further comprises:

circuitry for storing appropriate keys in said cache to index said collection of service objects as well as to index said instances of said collection of service objects in said cache.

11. The system as recited in claim 10 , wherein said stored keys comprise one or more of the following: a unique name, an internal identification, a query string and a port type.

12. The system as recited in claim 9 , wherein said processor further comprises:

circuitry for receiving a direct query from said client to access a particular instance of a web service application;

circuitry for generating a key from said direct query; and

circuitry for performing a table look-up in said cache using said generated key to determine if service meta-data is stored in a service object associated with said web service application.

13. The system as recited in claim 12 , wherein said processor further comprises:

circuitry for accessing said service object associated with said web service application if said service object associated with said web service application is located in said cache; and

circuitry for invoking said web service application using service meta-data in said service object associated with said web service application.

14. The system as recited in claim 9 , wherein said processor further comprises:

circuitry for receiving a notification that a service object in said service registry has been updated;

circuitry for discarding said service object in said cache;

circuitry for accessing said service registry for said updated service object; and

circuitry for storing said updated service object in said cache.

15. A computer program product embodied in a computer readable storage medium for improving performance of an enterprise service bus comprising the programming steps of:

receiving a query from a client;

accessing a service registry to obtain a collection of service objects in response to said query;

decomposing said collection of service objects into instances of said collection of service objects; and

storing said collection of service objects as well as said instances of said collection of service objects in a cache.

16. The computer program product as recited in claim 15 further comprising the programming step of:

storing appropriate keys in said cache to index said collection of service objects as well as to index said instances of said collection of service objects in said cache.

17. The computer program product as recited in claim 16 , wherein said stored keys comprise one or more of the following: a unique name, an internal identification, a query string and a port type.

18. The computer program product as recited in claim 15 further comprising the programming steps of:

receiving a direct query from said client to access a particular instance of a web service application;

generating a key from said direct query; and

performing a table look-up in said cache using said generated key to determine if service meta-data is stored in a service object associated with said web service application.

19. The computer program product as recited in claim 18 further comprising the programming steps of:

accessing said service object associated with said web service application if said service object associated with said web service application is located in said cache; and

invoking said web service application using service meta-data in said service object associated with said web service application.

20. The computer program product as recited in claim 15 further comprising the steps of:

receiving a notification that a service object in said service registry has been updated;

discarding said service object in said cache;

accessing said service registry for said updated service object; and

storing said updated service object in said cache.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2018
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: WORKDAY, INC.
Reel/Frame 044721/0844 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2007
From: PATTEN, WILLIE ROBERT, JR.; LANE, EOIN; KUMAR, SUBHASH
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 019528/0598 →
Continuity (1)
Related Publication 20090018998A1 · Jan 15, 2009