Patents by Inventor Lev B. Nachmanson

Lev B. Nachmanson has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9443334
    Abstract: A graph processing module is described for producing a processed graph in three phases. In a bundling phase, the graph processing module selects edges that are used to constitute paths to produce a bundled graph. In an ordering phase, the graph processing module orders paths within the bundled graph to produce an ordered bundled graph. In a separating phase, the graph processing module separates paths in the ordered bundled graph. Among other features, the graph processing module performs the selecting operation by minimizing a cost function; this has the effect of promoting bundling in the bundled graph while discouraging the presence of overly long edges in the bundled graph. The graph processing module can perform the ordering operation by selecting the ordering of paths passing through each edge based on a consideration of ordering constraints within a common subpath associated with the edge.
    Type: Grant
    Filed: May 5, 2011
    Date of Patent: September 13, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Lev B. Nachmanson, Sergey Pupyrev, Sergey Bereg, Alexander E. Holroyd
  • Patent number: 8933937
    Abstract: A graph processing module is described for producing a visualization of a layered graph. The graph processing module operates by: bundling edges in the layered graph to produce respective edge bundles; ordering the edges associated with the edge bundles to reduce edge crossings; straightening the edges; and separating the edges in the edges bundles with respect to each other. The graph processing module can operate on a layered graph produced by the Sugiyama algorithm or some other technique, reducing clutter in the layered graph and thus improving a user's understanding of the layered graph.
    Type: Grant
    Filed: January 22, 2010
    Date of Patent: January 13, 2015
    Assignee: Microsoft Corporation
    Inventors: Lev B. Nachmanson, Sergey Pupyrev
  • Patent number: 8930879
    Abstract: The described implementations relate to unified application building. In one implementation unified application building tools can include a unifying component model configured to communicate with a set of components that are supported by different frameworks. The unified application building tools can also include a unification engine configured to bind events between individual components in a unified manner that is independent of an individual framework upon which individual components are supported.
    Type: Grant
    Filed: June 3, 2009
    Date of Patent: January 6, 2015
    Assignee: Microsoft Corporation
    Inventors: Roland L. Fernandez, George G. Robertson, Danyel A. Fisher, Daniel C. Robbins, Lev B. Nachmanson
  • Patent number: 8599204
    Abstract: A system and method for creating or editing a graph diagram. A system provides a mechanism to specify constraints on edge way points. Constraints may specify alignment with other way points, distribution of way points, spacing from other way points or nodes, or other types of constraints. A system may automatically determine edge way point constraints based on edge direction, edge type, target nodes or regions of nodes, or other characteristics of edges. The system enables a combination of constraints specified by a user and automatically determined by the system. Way points are positioned based on associated constraints, and edges are routed based on their associated way points.
    Type: Grant
    Filed: November 19, 2010
    Date of Patent: December 3, 2013
    Assignee: Microsoft Corporation
    Inventors: Stuart Kent, Fabian Winternitz, Kael Rowan, Timothy Dwyer, Lev B. Nachmanson, Edward Hart
  • Patent number: 8499284
    Abstract: A graph processing module is described for visualizing relationships among components, such as software components within a software system. The graph processing module generates group results based on grouping information which identifies groups of individual components. The graph processing module uses the group results to bias component-level analysis that it performs on the components. In one case, the component-level analysis can involve similarity analysis (e.g., using multidimensional scaling) to assess the similarity among components and importance analysis (e.g., using a network page ranking algorithm) to assess the relative importance of the components. The results of the component-level analysis can be presented for visualization. The biasing effects of the grouping results provide insight into the relationships among the components.
    Type: Grant
    Filed: September 11, 2008
    Date of Patent: July 30, 2013
    Assignee: Microsoft Corporation
    Inventors: Christian Pich, Lev B. Nachmanson, George G. Robertson
  • Publication number: 20120280999
    Abstract: A graph processing module is described for producing a processed graph in three phases. In a bundling phase, the graph processing module selects edges that are used to constitute paths to produce a bundled graph. In an ordering phase, the graph processing module orders paths within the bundled graph to produce an ordered bundled graph. In a separating phase, the graph processing module separates paths in the ordered bundled graph. Among other features, the graph processing module performs the selecting operation by minimizing a cost function; this has the effect of promoting bundling in the bundled graph while discouraging the presence of overly long edges in the bundled graph. The graph processing module can perform the ordering operation by selecting the ordering of paths passing through each edge based on a consideration of ordering constraints within a common subpath associated with the edge.
    Type: Application
    Filed: May 5, 2011
    Publication date: November 8, 2012
    Applicant: Microsoft Corporation
    Inventors: Lev B. Nachmanson, Sergey Pupyrev, Sergey Bereg, Alexander E. Holroyd
  • Publication number: 20120127177
    Abstract: A system and method for creating or editing a graph diagram. A system provides a mechanism to specify constraints on edge way points. Constraints may specify alignment with other way points, distribution of way points, spacing from other way points or nodes, or other types of constraints. A system may automatically determine edge way point constraints based on edge direction, edge type, target nodes or regions of nodes, or other characteristics of edges. The system enables a combination of constraints specified by a user and automatically determined by the system. Way points are positioned based on associated constraints, and edges are routed based on their associated way points.
    Type: Application
    Filed: November 19, 2010
    Publication date: May 24, 2012
    Applicant: Microsoft Corporation
    Inventors: Stuart Kent, Fabian Winternitz, Kael Rowan, Timothy Dwyer, Lev B. Nachmanson, Edward Hart
  • Publication number: 20110181595
    Abstract: A graph processing module is described for producing a visualization of a layered graph. The graph processing module operates by: bundling edges in the layered graph to produce respective edge bundles; ordering the edges associated with the edge bundles to reduce edge crossings; straightening the edges; and separating the edges in the edges bundles with respect to each other. The graph processing module can operate on a layered graph produced by the Sugiyama algorithm or some other technique, reducing clutter in the layered graph and thus improving a user's understanding of the layered graph.
    Type: Application
    Filed: January 22, 2010
    Publication date: July 28, 2011
    Applicant: Microsoft Corporation
    Inventors: Lev B. Nachmanson, Sergey Pupyrev
  • Publication number: 20100313181
    Abstract: The described implementations relate to unified application building. In one implementation unified application building tools can include a unifying component model configured to communicate with a set of components that are supported by different frameworks. The unified application building tools can also include a unification engine configured to bind events between individual components in a unified manner that is independent of an individual framework upon which individual components are supported.
    Type: Application
    Filed: June 3, 2009
    Publication date: December 9, 2010
    Applicant: Microsoft Corporation
    Inventors: Roland L. Fernandez, George G. Robertson, Danyel A. Fisher, Daniel C. Robbins, Lev B. Nachmanson
  • Publication number: 20100063785
    Abstract: A graph processing module is described for visualizing relationships among components, such as software components within a software system. The graph processing module generates group results based on grouping information which identifies groups of individual components. The graph processing module uses the group results to bias component-level analysis that it performs on the components. In one case, the component-level analysis can involve similarity analysis (e.g., using multidimensional scaling) to assess the similarity among components and importance analysis (e.g., using a network page ranking algorithm) to assess the relative importance of the components. The results of the component-level analysis can be presented for visualization. The biasing effects of the grouping results provide insight into the relationships among the components.
    Type: Application
    Filed: September 11, 2008
    Publication date: March 11, 2010
    Applicant: Microsoft Corporation
    Inventors: Christian Pich, Lev B. Nachmanson, George G. Robertson