IP Library Granted Patent US 12,293,199
Granted Patent B2
US 12,293,199 · App. 18/080,619 · Granted May 6, 2025

Automated user interface generation for an application programming interface (API)

Inventors: Janos Bonic (Vienna, AT); Sanja Bonic (Vienna, AT); Sandro Bonazzola (Milan, IT); Dustin Louis Black (Grasbrunn, DE)
Assignee: Red Hat, Inc.
G06F9/451G06F3/04842
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 12,293,199
App. No.
18/080,619
Granted
May 6, 2025
Kind
B2
Abstract

Techniques for generating a user interface are disclosed. An example method includes receiving, from an application programming interface (API), a file containing API data. The method also includes applying, by a processing device, a set of pattern matching rules to a segment of the API data to identify a graphical user interface component to be used to display the segment. The method also includes populating the graphical user interface component with data from the segment. The method also includes generating a user interface comprising the graphical user interface component.

Claims (33)

1. A method comprising:

receiving, from an application programming interface (API), a file containing API data;

applying, by a processing device, a set of pattern matching rules to the API data to identify graphical user interface components to be used to display the API data;

responsive to determining that a same segment of the API data fits a pattern associated with two different types of graphical user interface component, generating a user interface comprising first and second graphical user interface components that display the same segment of the API data using different visual formats;

responsive to determining that a second segment of the API data does not match with any of the pattern matching rules, displaying the second segment of the API data within the user interface as plain text that represents the API data in raw form; and

responsive to determining that a third segment of the API data is nested within a hierarchical data structure of the file, nesting a third graphical user interface component within a graphical container of the user interface that visually reflects the hierarchical data structure of the file, wherein the graphical container comprises a visual label comprising text extracted from the API data at a higher level of the hierarchical data structure of the file compared to the third segment of the API data used to generate the third graphical user interface component.

2. The method of claim 1 , wherein generating the user interface comprises adding the third graphical user interface component at a position within the user interface that correlates with a location of the third segment in the API data.

3. The method of claim 1 , comprising receiving an API schema and augmenting the first, second, or third graphical user interface component with information from the API schema.

4. The method of claim 1 , wherein the API data is processed to generate the user interface without using information from an API schema.

5. The method of claim 1 , comprising, responsive to receiving a user selection of a data element in the first graphical user interface component, highlighting a corresponding data element in the second graphical user interface component.

6. A system comprising:

a memory; and

a processing device, operatively coupled to the memory, the processing device to:

receive, from an application programming interface (API), a file containing API data;

apply, by a processing device, a set of pattern matching rules to the API data to identify graphical user interface components to be used to display the API data;

responsive to a determination that a same segment of the API data fits a pattern associated with two different types of graphical user interface component, generate a user interface comprising first and second graphical user interface components that display the same segment of the API data using different visual formats;

responsive to a determination that a second segment of the API data does not match with any of the pattern matching rules, display the second segment of the API data within the user interface as plain text that represents the API data in raw form; and

responsive to a determination that a third segment of the API data is nested within a hierarchical data structure of the file, nest a third graphical user interface component within a graphical container of the user interface that visually reflects the hierarchical data structure of the file, wherein the graphical container comprises a visual label comprising text extracted from the API data at a higher level of the hierarchical data structure of the file compared to the third segment of the API data used to generate the third graphical user interface component.

7. The system of claim 6 , wherein to generate the user interface, the processing device is further to add the third graphical user interface component at a position within the user interface that correlates with a location of the third segment in the API data.

8. The system of claim 6 , wherein the processing device is further to receive an API schema and augment the first, second, or third graphical user interface component with information from the API schema.

9. The system of claim 6 , wherein the processing device is to generate the user interface without using information from an API schema.

10. The system of claim 6 , wherein the processing device is further to:

receive a user selection of a data element in the first graphical user interface component; and

responsive to the user selection, highlight a corresponding data element in the second graphical user interface component.

11. A non-transitory computer-readable storage medium including instructions that, when executed by a processing device, cause the processing device to:

receive, from an application programming interface (API), a file containing API data;

apply, by a processing device, a set of pattern matching rules to the API data to identify graphical user interface components to be used to display the API data;

responsive to a determination that a same segment of the API data fits a pattern associated with two different types of graphical user interface component, generate a user interface comprising first and second graphical user interface components that display the same segment of the API data side-by-side using different visual formats;

responsive to a determination that a second segment of the API data does not match with any of the pattern matching rules, display the second segment of the API data within the user interface as plain text that represents the API data in raw form; and

responsive to a determination that a third segment of the API data is nested within a hierarchical data structure of the file, nest a third graphical user interface component within a graphical container of the user interface that visually reflects the hierarchical data structure of the file, wherein the graphical container comprises a visual label comprising text extracted from the API data at a higher level of the hierarchical data structure of the file compared to the third segment of the API data used to generate the third graphical user interface component.

12. The non-transitory computer-readable storage medium of claim 11 , wherein to generate the user interface, the instructions cause the processing device to add the third graphical user interface component at a position within the user interface that correlates with a location of the third segment in the API data.

13. The non-transitory computer-readable storage medium of claim 11 , wherein the instructions further cause the processing device to receive an API schema and augment the first, second, or third graphical user interface component with information from the API schema.

14. The non-transitory computer-readable storage medium of claim 11 , wherein the instructions further cause the processing device to generate the user interface without using information from an API schema.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2022
From: BONIC, JANOS; BONIC, SANJA; BONAZZOLA, SANDRO; BLACK, DUSTIN LOUIS
To: RED HAT, INC.
Reel/Frame 062088/0679 →
Continuity (1)
Related Publication 20240192970A1 · Jun 13, 2024
References Cited (15)
US 7318066B2 · Kaufman et al. · 2008 [cited by applicant]
US 7779369B1 · Dassow · 2010 [cited by examiner]
US 10152308B2 · Prodan et al. · 2018 [cited by applicant]
US 10885021B1 · Llorca et al. · 2021 [cited by applicant]
US 10928982B2 · Hou · 2021 [cited by examiner]
US 20090157630A1 · Yuan · 2009 [cited by examiner]
US 20160105328A1 · Cooper · 2016 [cited by examiner]
US 20170364369A1 · Wells · 2017 [cited by examiner]
US 20230063160A1 · Spector · 2023 [cited by examiner]
US 20230231762A1 · Wang · 2023 [cited by examiner]
EP 3764592B1 · 2022 [cited by applicant]
Bonic et al., “Arcalog: Enhancing Continuous Integration Systems with Assisted Root Cause Analysis”, TechRxiv, Aug. 30, 2022. [cited by applicant]
Chen et al., “Automated root cause analysis with Watchdog RCA”, Apr. 13, 2022, Datadog. [cited by applicant]
Worthington, “APM, Analytics and Root-Cause Analysis”, Dec. 7, 2017, eG Innovations. [cited by applicant]
Wang et al., GRANO: Interactive Graph-based Root Cause Analysis for Cloud-Native Distributed Data Platform, eBay Inc. [cited by applicant]