IP Library Granted Patent US 8,561,089
Granted Patent B2
US 8,561,089 · App. 11/936,934 · Granted Oct 15, 2013

System and method for flexible and deferred service configuration

Inventors: Avraham Leff (New Hempstead, NY); James T. Rayfield (Ridgefield, CT)
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,561,089
App. No.
11/936,934
Granted
Oct 15, 2013
Kind
B2
Abstract

A method, system and computer program product for flexible service configuration. In one embodiment, the method includes receiving a procedure request to perform a procedure at a target server, detecting by the target server at least one deficient parameter in the procedure request, suspending processing of the procedure request, sending a request by the target server for additional information from a middleware system to correct the at least one deficient parameter in the procedure request, and resuming the procedure request upon receiving the additional information.

Claims (63)

1. A method for flexible service configuration for handling incorrect or incomplete user inputs, the method comprising:

receiving a procedure request to perform a procedure at a target workflow server over a first communication path using an application programming interface (API), the procedure request requiring at least one parameter, the procedure request configured to initiate an executable workflow procedure, wherein the procedure request is an asynchronous Extensible Markup Language Hypertext Transfer Protocol Request (XHR);

detecting by the target workflow server at least one valid but deficient parameter in the procedure request, the at least one valid but deficient parameter being unrelated to user authentication, wherein the at least one valid but deficient parameter is at least one of a parameter that causes loss of data or a parameter outside a specified range of parameter values;

suspending processing of the procedure request before execution of the executable workflow procedure when the at least one valid but deficient parameter is detected;

sending an information request by the target workflow server for additional information from a middleware system to correct the at least one valid but deficient parameter in the procedure request over a second communication path, the second communication path being different than the first communication path, the information request comprising an exception and including an identity of the at least one valid but deficient parameter, an explanation of how the at least one valid but deficient parameter is deficient, and a description of at least one of an input field name, a data type, or a list of database tables;

resuming the procedure request upon receiving the additional information, the additional information including configuration information to configure at least one of a database system, a database schema, or a table, wherein machine-learning techniques are applied to determine a manner in which to reuse the additional information; and

reusing the additional information in subsequent procedure requests with the at least one valid but deficient parameter to correct the at least one valid but deficient parameter in the subsequent procedure requests without sending the information request by the target workflow server for the additional information from the middleware system.

2. The method of claim 1 , further comprising:

prompting a user to obtain the additional information by the middleware system;

receiving the additional information from the user at the middleware system; and

transmitting the additional information from the middleware system to the target workflow server.

3. The method of claim 2 , wherein prompting the user comprises displaying at least one form to the user.

4. The method of claim 1 , further comprising:

determining whether, in the additional information received at the target workflow server, at least one parameter is deficient; and

upon a determination that at least one parameter is deficient, repeating the steps of requesting the additional information from the middleware system and determining whether at least one parameter is deficient until a condition wherein at least one parameter is deficient is determined not to exist.

5. The method of claim 1 , further comprising:

determining whether, in the additional information received at the target workflow server, a specific parameter is valid but deficient; and

upon determining that the specific parameter is valid but deficient:

selecting, from a plurality of valid and not deficient values, at least one valid and not deficient value being similar to the specific parameter determined to be valid but deficient; and

transmitting the selected at least one valid and not deficient value to the middleware system.

6. The method of claim 1 , further comprising configuring a service based on the additional information.

7. The method of claim 6 , wherein configuring the service is additionally based on the additional information received at the target workflow server during a previous invocation of the service.

8. The method of claim 6 , further comprising compensating for user error based on a history of at least one previous invocation of the service and further based on the additional information received at the target workflow server during the at least one previous invocation of the service.

9. A system for flexible service configuration for handling incorrect or incomplete user inputs, the system comprising:

a middleware system comprising:

a configuration specification unit configured to receive a request for additional information to correct at least one valid but deficient parameter in a procedure request and to transmit the additional information in response to the request, the procedure request configured to initiate an executable workflow procedure, wherein the procedure request is an asynchronous Extensible Markup Language Hypertext Transfer Protocol Request (XHR); and

a target workflow server comprising:

an interface unit configured to receive a procedure request to perform a procedure over a first communication path, the procedure request requiring at least one parameter; and

a configuration processing unit configured to:

detect at least one valid but deficient parameter in the procedure request, the at least one valid but deficient parameter being unrelated to user authentication, wherein the at least one valid but deficient parameter is at least one of a parameter that causes loss of data or a parameter outside a specified range of parameter values;

suspend processing of the procedure request before execution of the executable workflow procedure when the at least one valid but deficient parameter is detected;

request additional information from the middleware system to correct the at least one valid but deficient parameter in the procedure request over a second communication path, the second communication path being different than the first communication path, the request for the additional information comprises an exception and includes an identity of the at least one valid but deficient parameter, an explanation of how the at least one valid but deficient parameter is deficient, and a description of at least one of an input field name, a data type, or a list of database tables;

resume the procedure request upon receiving the additional information, the additional information including configuration information to configure at least one of a database system, a database schema, or a table, wherein machine-learning techniques are applied to determine a manner in which to reuse the additional information; and

reuse the additional information in subsequent procedure requests with the at least one valid but deficient parameter to correct the at least one valid but deficient parameter in the subsequent procedure requests without requesting the additional information from the middleware system.

10. The system of claim 9 , wherein the target workflow server and the middleware system are contained within a client-server system architecture.

11. The system of claim 9 , wherein the middleware system further comprises an interface unit configured to:

prompt a user to obtain the additional information; and

receive the additional information from the user.

12. The system of claim 9 , wherein the target workflow server further comprises a configuration implementation unit for configuring a service based on the additional information.

13. A computer program product embodied in computer readable memory comprising:

computer readable program codes coupled to the computer readable memory for flexible service configuration for handling incorrect or incomplete user inputs, the computer readable program codes configured to cause the program to:

receive a procedure request to perform a procedure over a first communication path, the procedure request requiring at least one parameter, the procedure request configured to initiate an executable workflow procedure, wherein the procedure request is an asynchronous Extensible Markup Language Hypertext Protocol Request (XHR);

detect at least one valid but deficient parameter in the procedure request, the at least one valid but deficient parameter being unrelated to user authentication, wherein the at least one valid but deficient parameter is at least one of a parameter that causes loss of data or a parameter outside a specified range of parameter values;

suspend processing of the procedure request before execution of the executable workflow procedure when the at least one valid but deficient parameter is detected;

request additional information from a middleware system to correct the at least one valid but deficient parameter in the procedure request, the request for the additional information comprises an exception and includes an identity of the at least one valid but deficient parameter, an explanation of how the at least one valid but deficient parameter is deficient, and a description of at least one of an input field name, a data type, or a list of database tables;

resume the procedure request upon receiving the additional information over a second communication path, the second communication path being different than the first communication path, the additional information including configuration information to configure at least one of a database system, a database schema, or a table, wherein machine-learning techniques are applied to determine a manner in which to reuse the additional information; and

reuse the additional information in subsequent procedure requests with the at least one valid but deficient parameter to correct the at least one valid but deficient parameter in the subsequent procedure requests without requesting the additional information by the middleware system.

14. The computer program product of claim 13 , wherein the computer readable program codes are further configured to cause the program to:

prompt a user to obtain the additional information;

receive the additional information from the user; and

transmit the additional information to a target workflow server.

15. The computer program product of claim 14 , wherein prompting the user comprises displaying at least one form to the user.

16. The computer program product of claim 13 , wherein the computer readable program codes are further configured to cause the program to:

determine whether, in the additional information, at least one parameter is valid but deficient; and

upon a determination that the at least one parameter is valid but deficient, repeating the steps of requesting the additional information from the middleware system and determining whether the at least one parameter is valid but deficient until a condition wherein at least one parameter is valid but deficient is determined not to exist.

17. The computer program product of claim 13 , wherein the computer readable program codes are further configured to cause the program to:

determine whether, in the additional information, a specific parameter is valid but deficient; and

upon determining that the specific parameter is valid but deficient:

select, from a plurality of valid and not deficient values, at least one valid and not deficient value being similar to the specific parameter determined to be valid but deficient; and

transmit the selected at least one valid and not deficient value to the middleware system.

18. The computer program product of claim 13 , wherein the computer readable program codes are further configured to cause the program to configure a service based on the additional information.

19. The computer program product of claim 18 , wherein configuring the service is additionally based on the additional information received during a previous invocation of the service.

20. The computer program product of claim 18 , wherein the computer readable program codes are further configured to cause the program to compensate for user error based on a history of at least one previous invocation of the service and further based on the additional information received during the at least one previous invocation of the service.

Assignments (2)
CONVEYOR IS ASSIGNING UNDIVIDED 50% INTEREST Recorded Jan 11, 2018
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: SERVICENOW, INC.; INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 045060/0554 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2007
From: LEFF, AVRAHAM; RAYFIELD, JAMES T.
To: INTERNATIONAL BUSINESS MACHINES CORP.
Reel/Frame 020085/0436 →
Continuity (1)
Related Publication 20090125920A1 · May 14, 2009