Prioritizing resiliency tests of microservices

US2018039570A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2018039570-A1
Application numberUS-201615229958-A
CountryUS
Kind codeA1
Filing dateAug 5, 2016
Priority dateAug 5, 2016
Publication dateFeb 8, 2018
Grant date

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.

Techniques for automated resiliency testing systems are provided. In one example, a computer-implemented method comprises traversing, by a system operatively coupled to a processor, an application program interface call subgraph of a microservices-based application in a depth first traversal. The computer-implemented method also comprises, during the traversing, performing, by the system, resiliency testing of parent application program interfaces of the application program interface call subgraph according to a systematic resilience testing algorithm that reduces and/or eliminates redundant resiliency testing of parent application program interfaces.

First claim

Opening claim text (preview).

What is claimed is: 1 . A system, comprising: a memory that stores computer executable components; and a processor that executes the computer executable components stored in the memory, wherein the computer executable components comprise: a test execution component that: traverses an application program interface call subgraph of a microservices-based application in a depth first traversal pattern; and during the traversal, performs resiliency testing of parent application program interfaces of the application program interface call subgraph according to a systematic resilience testing algorithm that reduces redundant resiliency testing of parent application program interfaces. 2 . The system of claim 1 , wherein the test execution component performs the resiliency testing of the parent application program interfaces of the application program interface call subgraph according to the systematic resilience testing algorithm comprising: during the traversal at a stop at a parent application program interface of the application program interface call subgraph for a current dependent application program interface parent application program interface in the depth first traversal pattern: performance of a bounded retry pattern test on the parent application program interface for a call to the current dependent application program interface of the parent application program interface in the depth first traversal pattern; and in response to the bounded retry pattern test on the parent application program interface passing, annotation of the parent application program interface as bounded retry pattern tested for the dependent application program interface to which the bounded retry pattern test was performed. 3 . The system of claim 1 , wherein the test execution component performs the resiliency testing of the parent application program interfaces of the application program interface call subgraph according to the systematic resilience testing algorithm comprising: during the traversal at a stop at a parent application program interface of the application program interface call subgraph for a current dependent application program interface parent application program interface in the depth first traversal pattern: performance of a circuit breaker pattern test on the parent application program interface for a call to the current dependent application program interface of the parent application program interface in the depth first traversal pattern; and in response to the circuit breaker pattern test on the parent application program interface passing, annotation of the parent application program interface as circuit breaker pattern tested for the dependent application program interface to which the circuit breaker pattern test was performed. 4 . The system of claim 1 , wherein the test execution component performs the resiliency testing of the parent application program interfaces of the application program interface call subgraph according to the systematic resilience testing algorithm comprising: during the traversal at a stop at a parent application program interface of the application program interface call subgraph: in response to the parent application program interface having multiple dependent application program interfaces, calls to all direct and indirect dependent application program interfaces of the parent application program interface having been annotated tested for a bounded retry pattern and a circuit breaker retry pattern, and the parent application program interface not being annotated as bulkhead pattern tested, performance of a bulkhead pattern test on the parent application program interface and annotation of the parent application program interface as bulkhead pattern tested. 5 . The system of claim 1 , wherein the test execution component performs the resiliency testing of the parent application program interfaces of the application program interface call subgraph according to the systematic resilience testing algorithm comprising: based on at least one resiliency test pattern, generation of at least one failure scenario for the application program interface call subgraph of subset; and using the at least one failure scenario, test of the application program interface call subgraph for the at least one resiliency test pattern. 6 . The system of claim 5 , wherein the at least one resiliency test pattern is selected from the group consisting of a timeout pattern, a bounded retry pattern, a circuit breaker pattern, and a bulkhead pattern. 7 . The system of claim 1 , wherein the test execution component transmits a recommendation to at least on recipient entity indicating whether to deploy the microservices-based application in a live environment, and wherein the recommendation is determined based on an analysis of results of the resiliency testing. 8 . A computer-implemented method, comprising: traversing, by a system operatively coupled to a processor, an application program interface call subgraph of a microservices-based application in a depth first traversal pattern; and during the traversing, performing, by the system, resiliency testing of parent application program interfaces of the application program interface call subgraph according to a systematic resilience testing algorithm that reduces redundant resiliency testing of parent application program interfaces. 9 . The computer-implemented method of claim 8 , wherein the performing the resiliency testing of the parent application program interfaces of the application program interface call subgraph according to the systematic resilience testing algorithm comprises: during the traversal at a stop at a parent application program interface of the application program interface call subgraph for a current dependent application program interface parent application program interface in the depth first traversal pattern: performing a bounded retry pattern test on the parent application program interface for a call to the current dependent application program interface of the parent application program interface in the depth first traversal pattern; and in response to the bounded retry pattern test on the parent application program interface passing, marking the parent application program interface as bounded retry pattern tested for the dependent application program interface to which the bounded retry pattern test was performed. 10 . The computer-implemented method of claim 8 , wherein the performing the resiliency testing of the parent application program interfaces of the application program interface call subgraph according to the systematic resilience testing algorithm comprises: during the traversal at a stop at a parent application program interface of the application program interface call subgraph for a current dependent application program interface parent application program interface in the depth first traversal pattern: performing a circuit breaker pattern test on the parent application program interface for a call to the current dependent application program interface of the parent application program interface in the depth first traversal pattern; and in response to the circuit breaker pattern test on the parent application program interface passing, marking the parent application program interface as circuit breaker pattern tested for the dependent application program interface to which the circuit breaker pattern test was performed. 11 . The computer-implemented method of claim 8 , wherein the performing the resiliency testing of the parent application program interfaces of the application program interface call subgraph according to the systematic resilience testing alg

Assignees

Inventors

Classifications

  • for test execution, e.g. scheduling of test suites · CPC title

  • for coverage analysis · CPC title

  • by tracing the execution of the program · CPC title

  • where the computing system component is a software system · CPC title

  • Data logging (G06F11/14, G06F11/2205 take precedence) · 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 US2018039570A1 cover?
Techniques for automated resiliency testing systems are provided. In one example, a computer-implemented method comprises traversing, by a system operatively coupled to a processor, an application program interface call subgraph of a microservices-based application in a depth first traversal. The computer-implemented method also comprises, during the traversing, performing, by the system, resil…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F11/3688. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Feb 08 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).