IP Library Granted Patent US 9,740,792
Granted Patent B2
US 9,740,792 · App. 14/307,981 · Granted Aug 22, 2017

Connection paths for application topology

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 9,740,792
App. No.
14/307,981
Granted
Aug 22, 2017
Kind
B2
Abstract

A user may create a blueprint that specifies an application's architecture, including virtual machines (VM) nodes, software services and application components within the VM nodes. To do so, the user manipulates a graphical user interface (GUI) rendered by a graph layout manager and a Scalable Vector Graphics (SVG) layout engine. The SVG layout engine parses declarative layout configurations and translates the declarative layout into SVG elements that visually represent the blueprint. The graph layout manager renders topology connections representing deployment dependencies in the GUI using a street-block-and-roads design pattern.

Claims (70)

1. A method of generating a user interface for a topology of virtual computing resources and application components executing thereon, the method comprising:

generating a plurality of topology components arranged in a grid layout and including a source topology component and a destination topology component, wherein the grid layout includes a plurality of ways comprising gaps between the plurality of topology components;

determining a first path segment from the source topology component to the ways, comprising:

determining the first path segment travels to an intersection between two of the ways in a direction of the destination topology component;

determining a second path segment from the ways to the destination topology component;

generating a graphic element based on the determined first and second path segments, wherein the graphic element is a topology connection comprising a plurality of scalar vector graphics connecting the source topology component to the destination topology component; and

rendering, on a display device, a graphical user interface comprising the graphic element connecting the source topology component to the destination topology component.

2. The method of claim 1 , wherein the source topology component and the destination topology component are in different parent layout systems.

3. The method of claim 2 , further comprising:

calculating distances of a plurality of candidate paths from the source topology component to exit to a parent layout system; and

selecting one of the plurality of candidate paths having a shortest associated distance as the first path segment.

4. The method of claim 3 , further comprising:

responsive to determining one of the plurality of candidate paths contains a turn, modifying the respective calculated distance to add a distance penalty.

5. The method of claim 1 , further comprising:

dividing the ways into a plurality of lanes; and

assigning the second path segment to one of the plurality of lanes based on a direction of the second path segment.

6. The method of claim 1 , wherein determining the second path segment from the ways to the destination topology component further comprises:

determining the second path segment traverses an intermediary topology component disposed between the source topology component and the destination topology component responsive to determining the intermediary topology component does not include a child topology component.

7. The method of claim 1 , wherein generating the graphic element connecting the source topology component to the destination topology component based on the determined first and second path segments further comprises:

instantiating a document object comprising an SVG element;

modifying a starting position attribute and an ending position attribute of the document object based on first and second path segments; and

inserting the document object into a web document.

8. A non-transitory computer-readable storage medium comprising instructions that, when executed in a computing device, generate a user interface for a topology of virtual computing resources and application components executing thereon, by performing the steps of:

generating a plurality of topology components arranged in a grid layout and including a source topology component and a destination topology component, wherein the grid layout includes a plurality of ways comprising gaps between the plurality of topology components;

determining a first path segment from the source topology component to the ways, comprising:

determining the first path segment travels to an intersection between two of the ways in a direction of the destination topology component;

determining a second path segment from the ways to the destination topology component;

generating a graphic element based on the determined first and second path segments, wherein the graphic element is a topology connection comprising a plurality of scalar vector graphics connecting the source topology component to the destination topology component; and

rendering, on a display device, a graphical user interface comprising the graphic element connecting the source topology component to the destination topology component.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the source topology component and the destination topology component are in different parent layout systems.

10. The non-transitory computer-readable storage medium of claim 9 , wherein the steps further comprise:

calculating distances of a plurality of candidate paths from the source topology component to exit to a parent layout system; and

selecting one of the plurality of candidate paths having a shortest associated distance as the first path segment.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the steps further comprise:

responsive to determining one of the plurality of candidate paths contains a turn, modifying the respective calculated distance to add a distance penalty.

12. The non-transitory computer-readable storage medium of claim 8 , wherein the steps further comprise:

dividing the ways into a plurality of lanes; and

assigning the second path segment to one of the plurality of lanes based on a direction of the second path segment.

13. The non-transitory computer-readable storage medium of claim 8 , wherein the steps for determining the second path segment from the ways to the destination topology component further comprise:

determining the second path segment traverses an intermediary topology component disposed between the source topology component and the destination topology component responsive to determining the intermediary topology component does not include a child topology component.

14. The non-transitory computer-readable storage medium of claim 8 , wherein the steps for generating the graphic element connecting the source topology component to the destination topology component based on the determined first and second path segments further comprise:

instantiating a document object comprising an SVG element;

modifying a starting position attribute and an ending position attribute of the document object based on first and second path segments; and

inserting the document object into a web document.

15. A computer system for generating a user interface for a topology of virtual computing resources and application components executing thereon, the computer system comprising:

a display device; and

a processor programmed to carry out the steps of:

generating a plurality of topology components arranged in a grid layout and including a source topology component and a destination topology component, wherein the grid layout includes a plurality of ways comprising gaps between the plurality of topology components;

determining a first path segment from the source topology component to the ways, comprising:

determining the first path segment travels to an intersection between two of the ways in a direction of the destination topology component;

determining a second path segment from the ways to the destination topology component;

generating a graphic element based on the determined first and second path segments, wherein the graphic element is a topology connection comprising a plurality of scalar vector graphics connecting the source topology component to the destination topology component; and

rendering, on the display device, a graphical user interface comprising the graphic element connecting the source topology component to the destination topology component.

16. The computer system of claim 15 , wherein the source topology component and the destination topology component are in different parent layout systems, and wherein the processor is further programmed to carry out the steps of:

calculating distances of a plurality of candidate paths from the source topology component to exit to a parent layout system;

responsive to determining one of the plurality of candidate paths contains a turn, modifying the respective calculated distance to add a distance penalty; and

selecting one of the plurality of candidate paths having a shortest associated distance as the first path segment.

17. The computer system of claim 15 , wherein the processor is further programmed to carry out the steps of:

dividing the ways into a plurality of lanes; and

assigning the second path segment to one of the plurality of lanes based on a direction of the second path segment.

18. The computer system of claim 15 , wherein the processor programmed to determine the second path segment from the ways to the destination topology component is further programmed to carry out the steps of:

determining the second path segment traverses an intermediary topology component disposed between the source topology component and the destination topology component responsive to determining the intermediary topology component does not include a child topology component.

19. A method of generating a user interface for a topology of virtual computing resources and application components executing thereon, the method comprising:

generating a plurality of topology components arranged in a grid layout and including a source topology component and a destination topology component, wherein the grid layout includes a plurality of ways comprising gaps between the plurality of topology components;

determining a first path segment from the source topology component to the ways;

determining a second path segment from the ways to the destination topology component;

dividing the ways into a plurality of lanes;

assigning the second path segment to one of the plurality of lanes based on a direction of the second path segment;

generating a graphic element based on the determined first and second path segments, wherein the graphic element is a topology connection comprising a plurality of scalar vector graphics connecting the source topology component to the destination topology component; and

rendering, on a display device, a graphical user interface comprising the graphic element connecting the source topology component to the destination topology component.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2017
From: WANG, JIALIANG; MANGTANI, KOMAL NITIN; JALAGAM, SESH
To: VMWARE, INC.
Reel/Frame 042384/0097 →