IP Library › Granted Patent US 10,725,867
Granted Patent B2
US 10,725,867 · App. 15/927,649 · Granted Jul 28, 2020

Tracking microservices using a state machine and generating digital display of rollback paths

Inventor: Fabio Giannetti (Los Gatos, CA)
Assignee: Cisco Technology, Inc.
G06F11/1441G06F3/0482G06F9/451G06F11/1464G06F11/1469G06F2201/82
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 10,725,867
App. No.
15/927,649
Granted
Jul 28, 2020
Kind
B2
Abstract

Techniques for tracking microservices and facilitating rollbacks in response to exceptions are described herein. In an embodiment, a server computer system receives, from one or more sets of microservices program instructions, digital data identifying a plurality of tasks and a sequence of the tasks, the digital data specifying a particular computational workflow for execution by a computer. During execution of the workflow by the server computer system, the system identifies a particular failure in a first task of the plurality of tasks. The system causes displaying on a client computing device, a graphical user interface comprising a plurality of nodes, the nodes corresponding to the tasks. Within the graphical user interface, the system further causes displaying, with a particular node of the plurality of nodes corresponding to the first task, a graphical indication that the first task failed. Within the graphical user interface, the system further causes displaying, with the plurality of nodes, a first rollback path comprising nodes and edges, the first rollback path comprising one or more graphical edges that graphically bypass each task of the workflow that would not be executed if a rollback is executed by the computer according to the first rollback path.

Claims (67)

1. A method comprising:

receiving, from one or more sets of microservices program instructions, digital data identifying a plurality of tasks and a sequence of the tasks, the digital data specifying a particular computational workflow for execution by a computer;

during execution of the workflow by the computer, identifying a particular failure in a first task of the plurality of tasks;

displaying, on a client computing device, a graphical user interface comprising a plurality of nodes, the nodes corresponding to the tasks;

displaying, with a particular node of the plurality of nodes corresponding to the first task, a graphical indication that the first task failed;

displaying, with the plurality of nodes, a first rollback path comprising nodes and edges, the first rollback path comprising one or more graphical edges that graphically bypass each task of the workflow that would not be executed if a rollback is executed by the computer according to the first rollback path;

displaying, through the graphical user interface, a plurality of selectable options corresponding to different rollback paths wherein the different rollback paths include a full rollback path and a partial rollback path; and

receiving a first input selecting a first selectable option corresponding to the first rollback path and, in response, displaying the first rollback path.

2. The method of claim 1 , further comprising:

displaying, through the graphical user interface, a workflow path comprising a plurality of nodes and edges, the workflow path comprising one or more graphical edges that graphically bypass each task of the workflow, wherein the first rollback path is depicted over a portion of the workflow path; and

in response to receiving the selection of the first selectable option, altering the graphical user interface to cause de-emphasizing the workflow path and emphasizing the rollback path.

3. The method of claim 1 , further comprising:

receiving a second input selecting a second selectable option corresponding to a second rollback path; and

causing displaying the second rollback path concurrently with the first rollback path, the second rollback path comprising one or more graphical edges that graphically bypass each task of the workflow that would not be executed if a rollback is executed by the computer according to the second rollback path, wherein a second task is included in both the second rollback path and the first rollback path.

4. The method of claim 1 , further comprising:

displaying, through the graphical user interface, a workflow path comprising a plurality of nodes and edges, the workflow path comprising one or more graphical edges that graphically bypass each task of the workflow; and

displaying the first rollback path separate from the workflow path, wherein displaying the first rollback path comprises only displaying nodes corresponding to each task of the workflow that would not be executed if a rollback is executed by the computer according to the first rollback path.

5. The method of claim 4 , wherein displaying the first rollback path further comprises indicating, on the first rollback path, one or more exception paths, the one or more exception paths comprising one or more graphical edges that graphically bypass each task of the workflow that are executed by the computer when the computer executes an exception.

6. The method of claim 1 , further comprising:

displaying, through the graphical user interface, a plurality of selectable options corresponding to different exceptions; and

receiving first input selecting a first selectable option corresponding to a first exception path and, in response, displaying the first exception path, the first exception path comprising one or more graphical edges that graphically bypass each task of the workflow that are executed by the computer when the computer executes an exception of a first type.

7. The method of claim 6 , further comprising:

receiving second input selecting a second selectable option corresponding to a second exception path; and

causing displaying the second exception path concurrently with the first exception path, the second exception comprising one or more graphical edges that graphically bypass each task of the workflow that are executed by the computer when the computer executes an exception of a second type, wherein a second task is included in both the second exception path and the first exception path.

8. The method of claim 6 , further comprising displaying the second exception path concurrently with the first exception path.

9. A system comprising:

one or more processors; and

a memory communicatively coupled to the one or more processors storing instructions which, when executed by the one or more processors, cause performance of:

receiving, from one or more sets of microservices program instructions, digital data identifying a plurality of tasks and a sequence of the tasks, the digital data specifying a particular computational workflow for execution by a computer;

during execution of the workflow by the computer, identifying a particular failure in a first task of the plurality of tasks;

displaying, on a client computing device, a graphical user interface comprising a plurality of nodes, the nodes corresponding to the tasks;

displaying, with a particular node of the plurality of nodes corresponding to the first task, a graphical indication that the first task failed;

displaying, with the plurality of nodes, a first rollback path comprising nodes and edges, the first rollback path comprising one or more graphical edges that graphically bypass each task of the workflow that would not be executed if a rollback is executed by the computer according to the first rollback path;

displaying, through the graphical user interface, a plurality of selectable options corresponding to different rollback paths;

receiving first input selecting a first selectable option corresponding to the first rollback path and, in response, displaying the first rollback path;

displaying, through the graphical user interface, a workflow path comprising a plurality of nodes and edges, the workflow path comprising one or more graphical edges that graphically bypass each task of the workflow, wherein the first rollback path is depicted over a portion of the workflow path; and

in response to receiving the selection of the first selectable option, altering the graphical user interface to cause de-emphasizing the workflow path and emphasizing the rollback path.

10. The system of claim 9 , wherein the instructions, when executed by the one or more processors, further cause performance of:

receiving a second input selecting a second selectable option corresponding to a second rollback path; and

causing displaying the second rollback path concurrently with the first rollback path, the second rollback path comprising one or more graphical edges that graphically bypass each task of the workflow that would not be executed if a rollback is executed by the computer according to the second rollback path, wherein a second task is included in both the second rollback path and the first rollback path.

11. The system of claim 9 , wherein the different rollback paths include a full rollback path and a partial rollback path.

12. The system of claim 9 , wherein the instructions, when executed by the one or more processors, further cause performance of:

displaying, through the graphical user interface, a workflow path comprising a plurality of nodes and edges, the workflow path comprising one or more graphical edges that graphically bypass each task of the workflow; and

displaying the first rollback path separate from the workflow path, wherein displaying the first rollback path comprises only displaying nodes corresponding to each task of the workflow that would not be executed if a rollback is executed by the computer according to the first rollback path.

13. The system of claim 12 , wherein displaying the first rollback path further comprises indicating, on the first rollback path, one or more exception paths, the one or more exception paths comprising one or more graphical edges that graphically bypass each task of the workflow that are executed by the computer when the computer executes an exception.

14. The system of claim 9 , wherein the instructions, when executed by the one or more processors, further cause performance of:

displaying, through the graphical user interface, a plurality of selectable options corresponding to different exceptions; and

receiving first input selecting a first selectable option corresponding to a first exception path and, in response, displaying the first exception path, the first exception path comprising one or more graphical edges that graphically bypass each task of the workflow that are executed by the computer when the computer executes an exception of a first type.

15. The system of claim 14 , wherein the instructions, when executed by the one or more processors, further cause performance of:

receiving second input selecting a second selectable option corresponding to a second exception path; and

causing displaying the second exception path concurrently with the first exception path, the second exception comprising one or more graphical edges that graphically bypass each task of the workflow that are executed by the computer when the computer executes an exception of a second type, wherein a second task is included in both the second exception path and the first exception path.

16. The system of claim 14 , further comprising displaying the second exception path concurrently with the first exception path.

17. A method comprising:

receiving, from one or more sets of microservices program instructions, digital data identifying a plurality of tasks and a sequence of the tasks, the digital data specifying a particular computational workflow for execution by a computer;

during execution of the workflow by the computer, identifying a particular failure in a first task of the plurality of tasks;

displaying, on a client computing device, a graphical user interface comprising a plurality of nodes, the nodes corresponding to the tasks;

displaying, with a particular node of the plurality of nodes corresponding to the first task, a graphical indication that the first task failed;

displaying, with the plurality of nodes, a first rollback path comprising nodes and edges, the first rollback path comprising one or more graphical edges that graphically bypass each task of the workflow that would not be executed if a rollback is executed by the computer according to the first rollback path;

displaying, through the graphical user interface, a plurality of selectable options corresponding to different exceptions; and

receiving first input selecting a first selectable option corresponding to a first exception path and, in response, displaying the first exception path, the first exception path comprising one or more graphical edges that graphically bypass each task of the workflow that are executed by the computer when the computer executes an exception of a first type.

18. The method of claim 17 , further comprising:

displaying, through the graphical user interface, a plurality of selectable options corresponding to different rollback paths wherein the different rollback paths include a full rollback path and a partial rollback path; and

receiving first input selecting a first selectable option corresponding to the first rollback path and, in response, displaying the first rollback path.

19. The method of claim 17 , further comprising:

receiving second input selecting a second selectable option corresponding to a second exception path; and

causing displaying the second exception path concurrently with the first exception path, the second exception comprising one or more graphical edges that graphically bypass each task of the workflow that are executed by the computer when the computer executes an exception of a second type, wherein a second task is included in both the second exception path and the first exception path.

20. The method of claim 17 , further comprising displaying the second exception path concurrently with the first exception path.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2018
From: GIANNETTI, FABIO
To: CISCO TECHNOLOGY, INC.
Reel/Frame 045580/0686 →
Continuity (1)
Related Publication 20190294504A1 · Sep 26, 2019