IP Library Granted Patent US 12,413,488
Granted Patent B2
US 12,413,488 · App. 18/200,205 · Granted Sep 9, 2025

Routing visualization user interface

Inventors: Hannah Oppenheimer (Austin, TX); John Cowen (San Francisco, CA)
Assignee: HashiCorp
H04L41/5058H04L41/122H04L41/22H04L43/045H04L45/0377
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,413,488
App. No.
18/200,205
Granted
Sep 9, 2025
Kind
B2
Abstract

A configuration of a service of a cloud computing system is rendered in a user interface of an electronic display, according to a discovery chain generated by a networking tool using a service discovery function to establish the configuration. The configuration includes one or more of a router, a splitter, and/or a resolver, each having one or more configuration files that are represented as a graphical element within a graphical representation of the one or more of the router, the splitter, and/or the resolver. The configuration further includes data traffic routes between pairs of the configuration files, each being represented in the UI as a line between each pair of configuration files, where each line is rendered in the UI so as to avoid crossing over any graphical element that represents a configuration file.

Claims (30)

1. A computer-implemented method comprising:

rendering, in an electronic user interface (UI), a configuration of one or more versions of a service of a cloud computing system, each version of the service being rendered according to a discovery chain generated by a networking tool to establish a set of configuration types, the configuration types comprising one or more of a router, a splitter, and/or a resolver;

representing, in the UI, each of the one or more of the router, the splitter, and/or the resolver as a graphical element within a graphical representation, the one or more of the router, the splitter, and/or the resolver being represented as one or more configuration files of a configuration, the configuration further comprising data traffic routes between pairs of the configuration files, each of the data traffic routes being represented in the UI as a line between the graphical elements representing each pair of configuration files; and

rendering, in the UI, each line so as to avoid crossing over any graphical element that represents a configuration file.

2. The computer-implemented method in accordance with claim 1 , further comprising modifying the display of data related to a line or graphical element in response to the selection of the line or graphic element by a user action.

3. The computer-implemented method in accordance with claim 1 , wherein the graphical representation of the one or more of the router, the splitter, and/or the resolver is a squared region in the UI.

4. The computer-implemented method in accordance with claim 3 , wherein the graphical element representing each configuration file is one of a box, an ellipse, a circle, a rectangle, a square, and a polyhedron within the squared region in the UI.

5. The computer-implemented method in accordance with claim 2 , wherein modifying the display includes displaying a percentage of traffic between respective pairs of the configuration files.

6. The computer-implemented method in accordance with claim 2 , wherein modifying the display includes displaying in bold a routing associated with a selected configuration file, while fading all other graphics in the UI.

7. The computer-implemented method in accordance with claim 2 , wherein modifying the display includes zooming in or out on a selected portion of the UI.

8. A non-transitory computer-readable storage medium storing instructions executable by one or more processors of a first device having an electronic display, to cause the one or more processors to:

render, in a two-dimensional user interface (UI) of the electronic display, a configuration of one or more versions of a service of a cloud computing system, each version of the service being rendered according to a discovery chain generated by a networking tool to establish a set of configuration types, the configuration types comprising one or more of a router, a splitter, and/or a resolver;

represent, in the UI, each of the one or more of the router, the splitter, and/or the resolver as a graphical element within a graphical representation, the one or more of the router, the splitter, and/or the resolver being represented as one or more configuration files of a configuration, the configuration further comprising data traffic routes between pairs of the configuration files, each of the data traffic routes being represented in the UI as a line between the graphical elements representing each pair of configuration files; and

render, in the UI, each line so as to avoid crossing over any graphical element that represents a configuration file.

9. The non-transitory computer-readable storage medium in accordance with claim 8 , wherein the instructions further cause the one or more processors to modify the display of data related to a line or graphical element in response to the selection of the line or graphic element by a user action.

10. The non-transitory computer-readable storage medium in accordance with claim 8 , wherein the graphical representation of the one or more of the router, the splitter, and/or the resolver is a squared region in the UI.

11. The non-transitory computer-readable storage medium in accordance with claim 10 , wherein the graphical element representing each configuration file is one of a box, an ellipse, a circle, a rectangle, a square, and a polyhedron within the squared region in the UI.

12. The non-transitory computer-readable storage medium in accordance with claim 9 , wherein the instructions to modify the display include instructions to display a percentage of traffic between respective pairs of the configuration files.

13. The non-transitory computer-readable storage medium in accordance with claim 9 , wherein the instructions to modify the display include instructions to display in bold a routing associated with a selected configuration file, while fading all other graphics in the UI.

14. The non-transitory computer-readable storage medium in accordance with claim 9 , wherein the instructions to modify the display include instructions to zoom in or out on a selected portion of the UI.

15. A non-transitory computer-readable storage medium including a set of instructions, wherein the instructions, when executed, cause a processor to:

render, in a two-dimensional user interface (UI) of an electronic display, a configuration of one or more versions of a service of a cloud computing system, each version of the service being rendered according to a discovery chain generated by a networking tool to establish a set of configuration types, the configuration types comprising one or more of a router, a splitter, and/or a resolver, the one or more of the router, the splitter, and/or the resolver each having one or more configuration files;

represent, in the UI, the one or more configuration files as a graphical element within a graphical representation of the one or more of the router, the splitter, and/or the resolver, the configuration further comprising data traffic routes between pairs of the configuration files;

represent, each of the data traffic routes in the UI as a line between the graphical elements representing each pair of configuration files; and

render, in the UI, each line so as to avoid crossing over any graphical element that represents a configuration file.

16. The non-transitory computer-readable storage medium in accordance with claim 15 , wherein the instructions further cause the processor to modify the display of data related to a line or graphical element in response to the selection of the line or graphic element by a user action.

17. The non-transitory computer-readable storage medium in accordance with claim 16 , wherein the instructions further cause the processor to display a percentage of traffic between respective pairs of the configuration files.

18. The non-transitory computer-readable storage medium in accordance with claim 16 , wherein the instructions further cause the processor to display in bold a routing associated with a selected configuration file, while fading all other graphics in the UI.

19. The non-transitory computer-readable storage medium in accordance with claim 16 , wherein the instructions further cause the processor to zoom in or out on a selected portion of the UI.

20. The non-transitory computer-readable storage medium in accordance with claim 15 , wherein the instructions further cause the processor to provide interactivity to each line and graphical element in the UI, the interactivity being responsive to a user action associated with a selected line or graphical element in the UI to display additional data related to the selected curved line or graphical element.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2025
From: HASHICORP, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 072476/0436 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2024
From: OPPENHEIMER, HANNAH; COWEN, JOHN
To: HASHICORP
Reel/Frame 067619/0018 →
Continuity (3)
Continuation 17538879 · Nov 30, 2021
Continuation 16941390 · Jul 28, 2020
Related Publication 20240275679A1 · Aug 15, 2024
References Cited (29)
US 10466866B2 · Naous et al. · 2019 [cited by applicant]
US 10637750B1 · Bollineni et al. · 2020 [cited by applicant]
US 10917285B2 · Rao · 2021 [cited by applicant]
US 10931793B2 · Kumar et al. · 2021 [cited by applicant]
US 11153406B2 · Sawant et al. · 2021 [cited by applicant]
US 11201787B1 · Oppenheimer et al. · 2021 [cited by applicant]
US 20080240119A1 · Wylie et al. · 2008 [cited by applicant]
US 20090327903A1 · Smith et al. · 2009 [cited by applicant]
US 20150081883A1 · Katz et al. · 2015 [cited by applicant]
US 20170279668A1 · Shevenell et al. · 2017 [cited by applicant]
US 20180145885A1 · Rao · 2018 [cited by applicant]
US 20180145899A1 · Rao · 2018 [cited by applicant]
US 20180227209A1 · Lin · 2018 [cited by applicant]
US 20180309637A1 · Gill et al. · 2018 [cited by applicant]
US 20180316543A1 · Hwang · 2018 [cited by applicant]
US 20180337891A1 · Subbarayan · 2018 [cited by examiner]
US 20200280495A1 · Sarbin et al. · 2020 [cited by applicant]
US 20200365185A1 · Vittal · 2020 [cited by examiner]
US 20200366569A1 · White · 2020 [cited by applicant]
US 20200366571A1 · Vittal et al. · 2020 [cited by applicant]
US 20200366580A1 · Sinha · 2020 [cited by applicant]
US 20200366587A1 · White et al. · 2020 [cited by applicant]
US 20200366756A1 · Vittal · 2020 [cited by applicant]
US 20200366758A1 · Chauhan · 2020 [cited by applicant]
US 20210075700A1 · Palladino · 2021 [cited by examiner]
US 20220311681A1 · Palladino · 2022 [cited by examiner]
“Consul Service Mesh: Deep Dive”, https://www.hashicorp.com/resources/consul-service-mesh-deep-dive. Sep. 20, 2019. [cited by examiner]
Consul. The Life of a Packet Through Consul Service Mesh. May 2020. URL: https://www.hashicorp.com/en/blog/the-life-of-a-packet-through-consul-service-mesh. [cited by examiner]
S.-P. Ma, C.-Y. Fan, Y. Chuang, W.-T. Lee, S.-J. Lee and N.-L. Hsueh, “Using Service Dependency Graph to Analyze and Test Microservices,” 2018 IEEE 42nd Annual Computer Software and Applications Conference (COMPSAC), To… [cited by applicant]