Validation framework for runtime connected API systems

US11194640B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11194640-B2
Application numberUS-202016813831-A
CountryUS
Kind codeB2
Filing dateMar 10, 2020
Priority dateNov 27, 2018
Publication dateDec 7, 2021
Grant dateDec 7, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Provided is a validation framework for modelling possible failures that might occur when an orchestrated transaction calls external services to ensure that error handling and reporting is robust and well designed. The disclosed techniques ensure that no changes are necessary to either the code making a call or the services that might be called. The techniques are not limited to web servers and REST APIs as they may be used to test and validate any kind of system that employs well defined APIs. The claimed subject matter, or “validation framework” may be added to an existing API or created as a new module that acts as a proxy server in a non-micro service type of system. Although described with respect to a gateway-API service, the claimed subject matter is equally applicable to other systems that process orchestrated transactions.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for managing communication in a distributed computing system, the method comprising: retrieving, by one or more computer processors, return codes for a plurality of application programming interfaces (APIs), each API of the plurality of APIs corresponding to a corresponding service provider of a plurality service providers to generate a return code list; generating, by one or more computer processors, an erroneous call for an API of the plurality of APIs; transmitting, by one or more computer processors, the erroneous call to the API; receiving, by one or more computer processors, a response to the erroneous call; and comparing, by one or more computer processors, the response to an expected response in the return code list. 2. The method of claim 1 , further comprising: intercepting, by one or more computer processors, a call from a client to the particular API; and modifying, by one or more computer processors, the call to generate the erroneous call. 3. The method of claim 2 , further comprising: generating, by one or more computer processors, an erroneous response to the API; and determining, by one or more computer processors, whether or not the client handles the erroneous call appropriately. 4. The method of claim 2 , further comprising: determining, by one or more computer processors, that the call would fail if transmitted to the API; determining, by one or more computer processors, a failure code based on the return codes for the call and the API; generating, by one or more computer processors, a response based upon the failure code; and transmitting, by one or more computer processors, the response to the client rather than generating and transmitting the erroneous call to the API. 5. The method of claim 1 , the retrieving of error handling codes comprising: querying, by one or more computer processors, each API of the plurality of APIs to generate the return code list; and storing, by one or more computer processors, the return code list. 6. The method of claim 1 , the retrieving of return codes comprising: querying, by one or more computer processors, a registration server to retrieve the return code list; and storing, by one or more computer processors, the return code list. 7. The method of claim 1 , wherein the erroneous call is based upon any of a list of possible errors, the list selected from the group consisting of: erroneous payload data; erroneous code data; a maximum value greater than a permissible maximum value; and a minimum value greater than a permissible minimum value. 8. A computer program product for managing communication in a distributed computing system, the computer program product comprising: one or more computer readable storage media; and program instructions stored on the one or more computer readable storage media, the program instructions comprising: retrieve a return codes for a plurality of application programming interfaces (APIs), each API of the plurality of APIs corresponding to a corresponding service provider of a plurality service providers to generate a return code list; generate an erroneous call for an API of the plurality of APIs; transmit the erroneous call to the API; receive a response to the erroneous call; and compare the response to an expected response in the return code list. 9. The computer program product of claim 8 , further comprising program instructions stored on the one or more computer readable storage media, the program instructions to: intercept a call from a client to the particular API; and modify the call to generate the erroneous call. 10. The computer program product of claim 9 , further comprising program instructions stored on the one or more computer readable storage media, the program instructions to: generate an erroneous response to the API; and determine whether or not the client handles the erroneous call appropriately. 11. The computer program product of claim 9 , further comprising program instructions stored on the one or more computer readable storage media, the program instructions to: determine that the call would fail if transmitted to the API; determine a failure code based on the return codes for the call and the API; generate a response based upon the failure code; and transmit the response to the client rather than generating and transmitting the erroneous call to the API. 12. The computer program product of claim 8 , the retrieving of error handling codes comprising: program instructions to query each API of the plurality of APIs to generate the return code list; and program instructions to store the return code list. 13. The computer program product of claim 8 , the retrieving of return codes comprising: program instructions to query a registration server to retrieve the return code list; and program instructions to store the return code list. 14. The computer program product of claim 8 , wherein the erroneous call is based upon any of a list of possible errors, the list selected from the group consisting of: erroneous payload data; erroneous code data; a maximum value greater than a permissible maximum value; and a minimum value greater than a permissible minimum value. 15. A computer system for managing communication in a distributed computing system, the computer program product comprising: one or more computer processors; one or more computer readable storage media; and program instructions stored on the one or more computer readable storage media for execution by at least one of the one or more computer processors, the program instructions comprising: retrieve a return codes for a plurality of application programming interfaces (APIs), each API of the plurality of APIs corresponding to a corresponding service provider of a plurality service providers to generate a return code list; generate an erroneous call for an API of the plurality of APIs; transmit the erroneous call to the API; receive a response to the erroneous call; and compare the response to an expected response in the return code list. 16. The computer system of claim 15 , further comprising program instructions stored on the one or more computer readable storage media for execution by at least one of the one or more computer processors, the program instructions comprising: intercept a call from a client to the particular API; and modify the call to generate the erroneous call. 17. The computer system of claim 16 , further comprising program instructions stored on the one or more computer readable storage media for execution by at least one of the one or more computer processors, the program instructions comprising: generate an erroneous response to the API; and determine whether or not the client handles the erroneous call appropriately. 18. The computer system of claim 16 , further comprising program instructions stored on the one or more computer readable storage media for execution by at least one of the one or more computer processors, the program instructions comprising: determine that the call would fail if transmitted to the API; determine a failure code based on the return codes for the call and the API; generate a response based upon the failure code; and transmit the response to the client rather than generating and transmitting the erroneous call to the API. 19. The computer system of claim 15 , the retrieving of error handling codes comprising: program instructions to query each API of the plurality of APIs to generate the return code lis

Assignees

Inventors

Classifications

  • Querying, e.g. by the use of web search engines · CPC title

  • G06F9/547Primary

    Remote procedure calls [RPC]; Web services · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11194640B2 cover?
Provided is a validation framework for modelling possible failures that might occur when an orchestrated transaction calls external services to ensure that error handling and reporting is robust and well designed. The disclosed techniques ensure that no changes are necessary to either the code making a call or the services that might be called. The techniques are not limited to web servers and …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/547. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 07 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).