Validation framework for runtime connected API systems

US10628243B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10628243-B1
Application numberUS-201816200813-A
CountryUS
Kind codeB1
Filing dateNov 27, 2018
Priority dateNov 27, 2018
Publication dateApr 21, 2020
Grant dateApr 21, 2020

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).

We claim: 1. A method for managing communication in a distributed computing system, comprising: retrieving, at a verification framework, return codes corresponding to 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 the verification framework, an erroneous call for a particular API of the plurality of APIs; a corresponding service provider of the plurality of service providers; transmitting the erroneous call to the particular API of the corresponding service provider; receiving, by the verification framework, a response from the corresponding service provider in response to the erroneous call; and verifying, by the verification framework, whether or not the response is a response that is expected based upon the return code list. 2. The method of claim 1 , further comprising: intercepting a call from a client to the particular API; and modifying the call to generate the erroneous call. 3. The method of claim 2 , further comprising: generating an erroneous response to the call rather than modifying the call and generating and transmitting the erroneous call to the API; and determining whether or not the client handles the erroneous call appropriately. 4. The method of claim 2 , further comprising: determining that the call would fail if transmitted to the API; correlating a failure code of the return codes with the call and the API; generating a response based upon the failure code; and transmitting 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 each API of the plurality of APIs to generate the return code list; and storing the return code list in a non-transitory, computer-readable storage medium. 6. The method of claim 1 , the retrieving of return codes comprising: querying a registration server to retrieve the return code list; and storing the return code list in a non-transitory, computer-readable storage medium. 7. The method of claim 1 , wherein the erroneous call is based upon any of a list of possible errors, the list 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. An apparatus for managing communication in a distributed computing system, comprising; a processor; a non-transitory computer-readable storage medium; and instructions stored on the computer-readable storage medium and executed on the processor for performing a method, the method comprising: retrieving, at a verification framework, return codes corresponding to 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 the verification framework, an erroneous call for a particular API of the plurality of APIs; a corresponding service provider of the plurality of service providers; transmitting the erroneous call to the particular API of the corresponding service provider; receiving, by the verification framework, a response from the corresponding service provider in response to the erroneous call; and verifying, by the verification framework, whether or not the response is a response that is expected based upon the return code list. 9. The apparatus of claim 8 , the method further comprising: intercepting a call from a client to the particular API; and modifying the call to generate the erroneous call. 10. The apparatus of claim 8 , the method further comprising: generating an erroneous response to the call rather than modifying the call and generating and transmitting the erroneous call to the API; and determining whether or not the client handles the erroneous call appropriately. 11. The apparatus of claim 8 , the method further comprising: determining that the call would fail if transmitted to the API; correlating a failure code of the return codes with the call and the API; generating a response based upon the failure code; and transmitting the response to the client rather than generating and transmitting the erroneous call to the API. 12. The apparatus of claim 8 , the retrieving of error handling codes comprising: querying each API of the plurality of APIs to generate the return code list; and storing the return code list in a non-transitory, computer-readable storage medium. 13. The apparatus of claim 8 , the retrieving of return codes comprising: querying a registration server to retrieve the return code list; and storing the return code list in a non-transitory, computer-readable storage medium. 14. A computer programming product for managing communication in a distributed computing system, comprising a non-transitory computer-readable storage medium having program code embodied therewith, the program code executable by a plurality of processors to perform a method comprising: retrieving, at a verification framework, return codes corresponding to 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 the verification framework, an erroneous call for a particular API of the plurality of APIs; a corresponding service provider of the plurality of service providers; transmitting the erroneous call to the particular API of the corresponding service provider; receiving, by the verification framework, a response from the corresponding service provider in response to the erroneous call; and verifying, by the verification framework, whether or not the response is a response that is expected based upon the return code list. 15. The computer programming product of claim 14 , the method further comprising: intercepting a call from a client to the particular API; and modifying the call to generate the erroneous call. 16. The computer programming product of claim 14 , the method further comprising: generating an erroneous response to the call rather than modifying the call and generating and transmitting the erroneous call to the API; and determining whether or not the client handles the erroneous call appropriately. 17. The computer program ng product of claim 14 , the method further comprising: determining that the call would fail if transmitted to the API; correlating a failure code of the return codes with the call and the API; generating a response based upon the failure code; and transmitting the response to the client rather than generating and transmitting the erroneous call to the API. 18. The computer programming product of claim 14 , the retrieving of error handling codes comprising: querying each API of the plurality of APIs to generate the return code list; and storing the return code list in a non-transitory, computer-readable storage medium. 19. The computer programming product of claim 14 , the retrieving of return codes comprising: querying a registration server to retrieve the return code list; and storing the return code list in a non-transitory, computer-readable storage medium. 20. A validation framework for managing communication in a distributed computing syst

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 US10628243B1 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 Apr 21 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). 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).