IP Library Granted Patent US 11,372,736
Granted Patent B2
US 11,372,736 · App. 16/878,880 · Granted Jun 28, 2022

Rollback for dependency services in cloud native environment

Inventors: Yue Wang (Beijing, CN); Sun Chun Hua (Beijing, CN); Liang Lu (Beijing, CN); Yi Yang Ren (Beijing, CN)
Assignee: International Business Machines Corporation
G06F11/1474G06F2201/835
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 11,372,736
App. No.
16/878,880
Granted
Jun 28, 2022
Kind
B2
Abstract

Managing multiple chain transaction rollback on a native cloud environment in a Kubernetes distributed system which extends API capabilities to build compensate API mappings which are used to reverse the invocation chain and stores the mappings in a key value store. An embodiment of the present invention extracts the reverse invocation chain from a framework of libraries and mapping API to check whether rollback is necessary when a service fails. An embodiment of the present invention executes an entire whole rollback.

Claims (47)

1. A method of managing multiple chain transaction rollback in a distributed system of at least one federation of a plurality of interconnected pods in communication with a master application programming interface gateway, the method comprising the steps of:

receiving, by a validator component of the master application programming interface gateway, an indication of a request of a service container of a pod of the plurality of interconnected pods as failed from an application programming interface gateway of the pod;

validating, by the validator component, failure of the service container of the pod by:

obtaining at least one failed transaction from a request chain of the request of the service container; and

reading application programming interface trace mappings from service containers within the request chain;

determining, by the validator component, whether all application programming interfaces of the service containers in the request chain have compensate transactions;

sending, by the validator component, the trace mappings of the service containers in the request chain that have compensate transactions, to a runner component of the master application programming interface gateway;

receiving, by the runner component of the master application programming interface gateway, trace mappings from the validator component;

retrieving, by the runner component, a service container needed to rollback by a timestamp sequence;

executing, by the runner component, the compensate transactions associated with the service containers in a rollback chain in the timestamp sequence to build the rollback chain; and

executing, by the runner component, the rollback chain.

2. The method of claim 1 , further comprising a distributed tracing server in communication with the runner component of the master application programming interface gateway and with at least a repository of rollback statuses of service containers and request chains.

3. The method of claim 1 , further comprising a repository of resources required for rollback of the rollback chain.

4. A computer program product for managing multiple chain transaction rollback comprising:

one or more computer-readable storage media having computer-readable program instructions stored on the one or more computer-readable storage media, said program instructions executable by a master application programming interface gateway computer in a distributed system of at least one federation of a plurality of interconnected pods in communication with the master application programming interface gateway computer, the master application programming interface gateway computer comprising at least one processor, one or more memories, a validator component, and a runner component, the program instructions executing a computer-implemented method comprising:

receiving, by the validator component of the master application programming interface gateway computer, an indication of a request of a service container of a pod of the plurality of interconnected pods as failed from an application programming interface gateway of the pod;

validating, by the validator component, failure of the service container of the pod by:

obtaining at least one failed transaction from a request chain of the request of the service container; and

reading application programming interface trace mappings from service containers within the request chain;

determining, by the validator component, whether all application programming interfaces of the service containers in the request chain have compensate transactions;

sending, by the validator component, the trace mappings of the service containers in the request chain that have compensate transactions, to a runner component of the master application programming interface gateway computer;

receiving, by the runner component of the master application programming interface gateway computer, trace mappings from the validator component;

retrieving, by the runner component, a service container needed to rollback by a timestamp sequence;

executing, by the runner component, the compensate transactions associated with the service containers in a rollback chain in the timestamp sequence to build the rollback chain; and

executing, by the runner component, the rollback chain.

5. The computer program product of claim 4 , further comprising a distributed tracing server in communication with the runner component of the master application programming interface gateway computer and with at least a repository of rollback statuses of service containers and request chains.

6. The computer program product of claim 4 , further comprising a repository of resources required for rollback of the rollback chain.

7. A computer system comprising:

at least one processor;

one or more memories;

a runner component;

a validator component;

one or more computer readable storage media having program instructions executing a computer-implemented method for managing multiple chain transaction rollback in a distributed system of at least one federation of a plurality of interconnected pods, each pod having at least a service container in communication with the computer system, the program instructions comprising:

receiving, by the validator component, an indication of a request of a service container of a pod of the plurality of interconnected pods as failed from an application programming interface gateway of the pod;

validating, by the validator component, failure of the service container of the pod by:

obtaining at least one failed transaction from a request chain of the request of the service container; and

reading application programming interface trace mappings from service containers within the request chain;

determining, by the validator component, whether all application programming interfaces of the service containers in the request chain have compensate transactions;

sending, by the validator component, the trace mappings of the service containers in the request chain that have compensate transactions, to the runner component;

receiving, by the runner component, trace mappings from the validator component;

retrieving, by the runner component, a service container needed to rollback by a timestamp sequence;

executing, by the runner component, the compensate transactions associated with the service containers in a rollback chain in the timestamp sequence to build the rollback chain; and

executing, by the runner component, the rollback chain.

8. The computer system of claim 7 , further comprising a distributed tracing server in communication with the runner component, the distributing tracing server in communication with at least a repository of rollback statuses of service containers and request chains.

9. The computer system of claim 8 , wherein the distributed system is a Kubernetes distributed system.

10. The computer system of claim 8 , wherein the distributed system is in a cloud environment.

11. The computer system of claim 7 , further comprising a repository of resources required for rollback of the rollback chain.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2020
From: WANG, YUE; HUA, SUN CHUN; LU, LIANG; REN, YI YANG
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 052711/0925 →
Continuity (1)
Related Publication 20210365332A1 · Nov 25, 2021