IP Library Granted Patent US 9,087,007
Granted Patent B2
US 9,087,007 · App. 13/804,243 · Granted Jul 21, 2015

Generating fault tolerant connectivity API

Inventors: Fayaz Adam (Miami, FL); Jeff J. Li (Parkland, FL); Paul Stanley (Delray Beach, FL)
Assignee: International Business Machines Corporation
G06F11/1443
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 9,087,007
App. No.
13/804,243
Granted
Jul 21, 2015
Kind
B2
Abstract

To make a connection between a user application and a data source fault tolerant, a user may use a wrapper generator to create an API wrapper that retries request that may have failed due to a service disruption. Generally, the wrapper manages a cache and contains the necessary information for retrying a connection after a service disruption. To create the wrapper, the wrapper generator may identify the different commands used by the user application to access the data source. The wrapper generator presents these commands to the user who organizes the commands to generate usage patterns for the different requests the user application may send to the data source. The user may also define a caching preference associated the commands in the usage patterns. To restart the connection, the wrapper may use the cache data to generate a new request to complete the original failed request.

Claims (32)

1. A system, comprising:

a computer processor; and

a memory device containing a program that, when executed on the computer processor, performs an operation for generating a wrapper for an application program interface (API), comprising:

receiving a usage pattern comprising a sequence of commands issued by a user application to access a data source;

receiving a cache option associated with at least one command in the usage pattern, the cache option defining how the wrapper, to be generated, caches data when the user application issues the at least one command;

receiving an error code associated with the at least one command, wherein the error code represents an error message issued by one of the API and the data source in response to a service disruption, wherein the wrapper is configured to retry a user application request upon identifying the error code; and

generating the wrapper based on the received usage pattern, the received cache option, and the received error code.

2. The system of claim 1 , the operation further comprising:

receiving a cache option for at least two commands in the usage pattern, wherein a respective cache option for one of the commands is different from a respective cache option for another one of the commands; and

receiving an error code associated with at least two commands in the usage pattern, wherein a respective error code for one of the commands is different from a respective error code for another one of the commands.

3. The system of claim 1 , wherein the wrapper is configured to, upon determining that a received error code matches the error code, retry the user application request based on the usage pattern and data cached using the cache option.

4. The system of claim 1 , the operation further comprising:

accessing the user application or the API to retrieve a plurality of commands that the user application may issue when accessing the data source; and

providing the plurality of commands to a user thereby permitting the user to determine the sequence of commands of the usage pattern from the provided plurality of commands.

5. The system of claim 1 , wherein the usage pattern, the cache option, and the error code are received by a graphical user interface (GUI), the GUI displaying a plurality of commands, a plurality of cache options, and a plurality of error codes from which a user may select from to configure the wrapper.

6. The system of claim 1 , wherein generating the wrapper further comprises generating a state machine based on a plurality of usage patterns, each usage pattern comprising a different sequence of commands.

7. The system of claim 1 , wherein the wrapper, when executed, comprises a communication layer between the user application and the API such that the wrapper receives commands from the user application and forwards the received commands to the API and receives data request by the user application from the API and forwards the requested data to the user application.

8. A computer program product for generating a wrapper for an application program interface (API), the computer program product comprising:

a non-transitory computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code comprising computer-readable program code configured to:

receive a usage pattern comprising a sequence of commands issued by a user application to access a data source;

receive a cache option associated with at least one command in the usage pattern, the cache option defining how the wrapper, to be generated, caches data when the user application issues the at least one command;

receive an error code associated with the at least one command, wherein the error code represents an error message issued by one of the API and the data source in response to a service disruption, wherein the wrapper is configured to retry a user application request upon identifying the error code; and

generate the wrapper based on the received usage pattern, the received cache option, and the received error code.

9. The computer program product of claim 8 , further comprising computer-readable program code configured to:

receive a cache option for at least two commands in the usage pattern, wherein a respective cache option for one of the commands is different from a respective cache option for another one of the commands; and

receive an error code associated with at least two commands in the usage pattern, wherein a respective error code for one of the commands is different from a respective error code for another one of the commands.

10. The computer program product of claim 8 , wherein the wrapper is configured to, upon determining that a received error code matches the error code, retry the user application request based on the usage pattern and data cached using the cache option.

11. The computer program product of claim 8 , further comprising computer-readable program code configured to:

access the user application or the API to retrieve a plurality of commands that the user application may issue when accessing the data source; and

provide the plurality of commands to a user thereby permitting the user to determine the sequence of commands of the usage pattern from the provided plurality of commands.

12. The computer program product of claim 8 , wherein the usage pattern, the cache option, and the error code are received by a graphical user interface (GUI), the GUI displaying a plurality of commands, a plurality of cache options, and a plurality of error codes from which a user may select from to configure the wrapper.

13. The computer program product of claim 8 , wherein generating the wrapper further comprises generating a state machine based on a plurality of usage patterns, each usage pattern comprising a different sequence of commands.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2013
From: ADAM, FAYAZ; LI, JEFF J.; STANLEY, PAUL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 029996/0948 →
Continuity (1)
Related Publication 20140281706A1 · Sep 18, 2014