IP Library Granted Patent US 11,327,749
Granted Patent B2
US 11,327,749 · App. 16/683,450 · Granted May 10, 2022

System and method for generating documentation for microservice based applications

Inventors: Shubham Gupta (Jaipur, IN); Rohan Sharma (Delhi, IN); Rangan Basu (Gurgaon, IN)
Assignee: Dell Products L.P.
G06F8/73G06F9/547
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,327,749
App. No.
16/683,450
Granted
May 10, 2022
Kind
B2
Abstract

A system of one or more computers that are configured to generate documentation for microservice-based applications is disclosed. In at least one embodiment, usage information relating to actual usage by one or more users of a plurality of microservices, features extracted from user story information in a backlog tracker, and a call-context graph including information identifying calling functions and called functions in the plurality of microservices are used to generate data that is provided to a natural language generator, which uses the information to automatically generate documentation for the microservice based application.

Claims (82)

1. A computer-implemented method for generating documentation for microservice based application, wherein the microservice based application includes a plurality of microservices, comprising:

accessing usage information relating to actual usage by one or more users of the plurality of microservices;

accessing a backlog tracker including information relating to stories implemented by the plurality of microservices;

extracting story feature information from the backlog tracker;

accessing code for the plurality of microservices from a code repository;

traversing the code from the code repository to generate a call-context graph, wherein the call-context graph includes information identifying calling functions and called functions in the code for the plurality of microservices;

cross-matching the actual usage information and the information in the call-context graph to generate an aggregated output, wherein the aggregated output includes information relating to the calling functions, the called functions, and actual usage of the calling and called functions of the plurality of microservices;

providing the story feature information and aggregated output to a natural language generator; and

generating documentation for the microservice based application at the natural language generator using the story feature information and aggregated output.

2. The computer-implemented method of claim 1 , wherein

the story feature information is extracted from stories that have been implemented in the plurality of microservices to the exclusion of stories that have not been implemented in the plurality of microservices.

3. The computer-implemented method of claim 1 , wherein

the aggregated output excludes actual usage information relating to functions that are not traversed in during generation of the call-context graph.

4. The computer-implemented method of claim 1 , wherein

the usage information includes one or more electronic logs, wherein the one or more electronic logs include logged events occurring during user execution of the plurality of microservices, wherein the logged events are one or more of:

warnings about low disk space;

an operation that has been carried out;

error events; and

security events.

5. The computer-implemented method of claim 1 , wherein

the usage information includes analytics data relating to actual usage of the plurality of microservices.

6. The computer-implemented method of claim 1 , wherein

the call-context graph includes one or more of:

a first array of all vertices and corresponding functions called while traversing the code; and

a second array of parent functions, child functions, and number of times the child functions are called.

7. The computer-implemented method of claim 6 , wherein

each vertice in the first array corresponds to a depth of the corresponding functions from a root node.

8. A system comprising:

a processor;

a data bus coupled to the processor; and

non-transitory, computer-readable storage medium embodying computer program code, the non-transitory, computer-readable storage medium being coupled to the data bus, the computer program code interacting with a plurality of computer operations and comprising instructions executable by the processor and configured for:

accessing usage information relating to actual usage by one or more users of a plurality of microservices;

accessing a backlog tracker including information relating to stories implemented by the plurality of microservices;

extracting story feature information from the backlog tracker;

accessing code for the plurality of microservices from a code repository;

traversing the code from the code repository to generate a call-context graph, wherein the call-context graph includes information identifying calling functions and called functions in the code for the plurality of microservices;

cross-matching the actual usage information and the information in the call-context graph to generate an aggregated output, wherein the aggregated output includes information relating to the calling functions, the called functions, and actual usage of the calling and called functions of the plurality of microservices;

providing the story feature information and aggregated output to a natural language generator; and

generating documentation for the microservice based application at the natural language generator using the story feature information and aggregated output.

9. The system of claim 8 , wherein

the story feature information is extracted from stories that have been implemented in the plurality of microservices to the exclusion of stories that have not been implemented in the plurality of microservices.

10. The system of claim 8 , wherein

the aggregated output excludes actual usage information relating to functions that are not traversed in during generation of the call-context graph.

11. The system of claim 8 , wherein

the usage information includes one or more electronic logs, wherein the one or more electronic logs include logged events occurring during user execution of the plurality of microservices, wherein the logged events are one or more of:

warnings about low disk space;

an operation that has been carried out;

error events; and

security events.

12. The system of claim 8 , wherein

the usage information includes analytics data relating to actual usage of the plurality of microservices.

13. The system of claim 8 , wherein

the call-context graph includes one or more of:

a first array of all vertices and corresponding functions called while traversing the code; and

a second array of parent functions, child functions, and number of times the child functions are called.

14. The system of claim 13 , wherein

each vertice in the first array corresponds to a depth of the corresponding functions from a root node.

15. A non-transitory, computer-readable storage medium embodying computer program code, the computer program code comprising computer executable instructions configured for:

accessing usage information relating to actual usage by one or more users of a plurality of microservices;

accessing a backlog tracker including information relating to stories implemented by the plurality of microservices;

extracting story feature information from the backlog tracker;

accessing code for the plurality of microservices from a code repository;

traversing the code from the code repository to generate a call-context graph, wherein the call-context graph includes information identifying calling functions and called functions in the code for the plurality of microservices;

cross-matching the actual usage information and the information in the call-context graph to generate an aggregated output, wherein the aggregated output includes information relating to the calling functions, the called functions, and actual usage of the calling and called functions of the plurality of microservices;

providing the story feature information and aggregated output to a natural language generator; and

generating documentation for the microservice based application at the natural language generator using the story feature information and aggregated output.

16. The non-transitory, computer-readable storage medium of claim 15 , wherein

the story feature information is extracted from stories that have been implemented in the plurality of microservices to the exclusion of stories that have not been implemented in the plurality of microservices.

17. The non-transitory, computer-readable storage medium of claim 15 , wherein

the aggregated output excludes actual usage information relating to functions that are not traversed in during generation of the call-context graph.

18. The non-transitory, computer-readable storage medium of claim 15 , wherein

the usage information includes one or more electronic logs, wherein the one or more electronic logs include logged events occurring during user execution of the plurality of microservices, wherein the logged events are one or more of:

warnings about low disk space;

an operation that has been carried out;

error events; and

security events.

19. The non-transitory, computer-readable storage medium of claim 15 , wherein

the usage information includes analytics data relating to actual usage of the plurality of microservices.

20. The non-transitory, computer-readable storage medium of claim 15 , wherein

the call-context graph includes one or more of:

a first array of all vertices and corresponding functions called while traversing the code; and

a second array of parent functions, child functions, and number of times the child functions are called.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052216/0758) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2019
From: GUPTA, SHUBHAM; SHARMA, ROHAN; BASU, RANGAN
To: DELL PRODUCTS L. P.
Reel/Frame 051008/0178 →
Cited By (1)
US 12,675,388