Automated realization of hand-drawn topologies

US10262228B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10262228-B2
Application numberUS-201615238733-A
CountryUS
Kind codeB2
Filing dateAug 17, 2016
Priority dateApr 1, 2016
Publication dateApr 16, 2019
Grant dateApr 16, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques disclosed herein provide an approach for automated realization of hand-drawn topologies. In one embodiment, a topologizer application is configured to parse an image depicting a hand-drawn topology and identify shapes and relationships between the shapes in the image. The topologizer may convert the hand-drawn topology to polygons and then identify the polygons as being, e.g., particular shapes and arrows representing relationships between the shapes. The identified shapes and relationships are then output in a machine-readable format for consumption, in which the shapes are mapped to corresponding components of a computing system and deployed based on the mapping and the relationships indicated in the topologizer output.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of deploying a virtualized infrastructure in a computing system comprising a plurality of computing devices, the method comprising: receiving an image depicting a topology of the virtualized infrastructure; parsing the received image to identify shapes and relationships between the shapes in the received image, wherein the parsing includes converting the topology depicted in the image into polygons, and wherein the relationships between the shapes are determined based on at least angles of one or more of the polygons representing arrows between the shapes; mapping each of the shapes to a corresponding system component; and creating instances of the corresponding system components on the plurality of computing devices based on the mapping of shapes to corresponding system components and the identified relationships, wherein at least one of the corresponding system components comprises a virtual machine (VM). 2. The method of claim 1 , further comprising: outputting the identified shapes and relationships between the shapes in a machine-readable format, wherein mapping each of the shapes to the corresponding system component includes parsing the output in the machine-readable format. 3. The method of claim 2 , further comprising, displaying the output to a user for verification, wherein the mapping and creating steps are performed in response to verification by the user that the output accurately specifies the topology depicted in the received image. 4. The method of claim 1 , wherein the relationships between the shapes are determined by identifying the arrows represented by the one or more polygons and the shapes closest to the heads and tails of the arrows. 5. The method of claim 4 , wherein the head and tail of each of the arrows are determined by: determining whether each of the angles formed at vertices of a polygon representing the arrow is a reflex angle or a non-reflex angle; matching reflex and non-reflex angles at the vertices of the polygon representing the arrow to a sequence of reflex and non-reflex angles of an arrow; selecting the head of the arrow as a central vertex in three consecutive vertices in the sequence of angles that are all reflex angles or non-reflex angles; and selecting the tail of the arrow as a vertex that is three vertices away from the selected head vertex. 6. The method of claim 1 , wherein the instances of the corresponding system components are created responsive to determining that the shapes and the relationships between the shapes represent a valid topology. 7. The method of claim 1 , wherein mappings between shapes and system components are predefined by a user. 8. The method of claim 1 , further comprising: identifying text in the received image; mapping the identified text to one or more corresponding system components, wherein the instances of the corresponding system components are created based on the mapping of the shapes to system components and the mapping of the text to system components. 9. The method of claim 1 , wherein the system components further include at least one of a datacenter, a host computer cluster, and a host computer. 10. The method of claim 1 , wherein the image depicting the topology is a hand-drawn image captured via a camera or a scanner. 11. A non-transitory computer-readable storage medium containing a program which, when executed by one or more processors, performs operations for automatically deploying a virtualized infrastructure in a computing system comprising a plurality of computing devices, the operations comprising: receiving an image depicting a topology of the virtualized infrastructure; parsing the received image to identify shapes and relationships between the shapes in the received image, wherein the parsing includes converting the topology depicted in the image into polygons, and wherein the relationships between the shapes are determined based on at least angles of one or more of the polygons representing arrows between the shapes; mapping each of the shapes to a corresponding system component; and creating instances of the corresponding system components on the plurality of computing devices based on the mapping of shapes to corresponding system components and the identified relationships, wherein at least one of the corresponding system components comprises a virtual machine (VM). 12. The non-transitory computer-readable storage medium of claim 11 , the operations further comprising: outputting the identified shapes and relationships between the shapes in a machine-readable format, wherein mapping each of the shapes to the corresponding system component includes parsing the output in the machine-readable format. 13. The non-transitory computer-readable storage medium of claim 11 , wherein the relationships between the shapes are determined by identifying the arrows represented by the one or more polygons and the shapes closest to the heads and tails of the arrows. 14. The non-transitory computer-readable storage medium of claim 13 , wherein the head and tail of each of the arrows are determined by: determining whether each of the angles formed at vertices of a polygon representing the arrow is a reflex angle or a non-reflex angle; matching reflex and non-reflex angles at the vertices of the polygon representing the arrow to a sequence of reflex and non-reflex angles of an arrow; selecting the head of the arrow as a central vertex in three consecutive vertices in the sequence of angles that are all reflex angles or non-reflex angles; and selecting the tail of the arrow as a vertex that is three vertices away from the selected head vertex. 15. The non-transitory computer-readable storage medium of claim 11 , wherein the instances of the corresponding system components are created responsive to determining that the shapes and the relationships between the shapes represent a valid topology. 16. The non-transitory computer-readable storage medium of claim 11 , wherein mappings between shapes and system components are predefined by a user. 17. The non-transitory computer-readable storage medium of claim 11 , the operations further comprising: identifying text in the received image; mapping the identified text to one or more corresponding system components, wherein the instances of the corresponding system components are created based on the mappings of the shapes to system components and the mappings of the text to system components. 18. The non-transitory computer-readable storage medium of claim 11 , wherein the system components further include at least one of a datacenter, a host computer cluster, and a host computer. 19. The non-transitory computer-readable storage medium of claim 11 , wherein the image depicting the topology is a hand-drawn image captured via a camera or a scanner. 20. A system, comprising: a processor; and a memory, wherein the memory includes a program executable in the processor to perform operations for automatically deploying a virtualized infrastructure in a computing system comprising a plurality of computing devices, the operations comprising: receiving an image depicting a topology of the virtualized infrastructure; parsing the received image to identify shapes and relationships between the shapes in the received image, wherein the parsing includes converting the topology depicted in the image into polygons, and wherein the relationships between the shapes are determined based on at least angles of one or more of the polygons re

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10262228B2 cover?
Techniques disclosed herein provide an approach for automated realization of hand-drawn topologies. In one embodiment, a topologizer application is configured to parse an image depicting a hand-drawn topology and identify shapes and relationships between the shapes in the image. The topologizer may convert the hand-drawn topology to polygons and then identify the polygons as being, e.g., partic…
Who is the assignee on this patent?
Nicira Inc
What technology area does this patent fall under?
Primary CPC classification G06V30/347. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 16 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).