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: 9443334Abstract: 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: GrantFiled: May 5, 2011Date of Patent: September 13, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Lev B. Nachmanson, Sergey Pupyrev, Sergey Bereg, Alexander E. Holroyd
-
Patent number: 8933937Abstract: 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: GrantFiled: January 22, 2010Date of Patent: January 13, 2015Assignee: Microsoft CorporationInventors: Lev B. Nachmanson, Sergey Pupyrev
-
Patent number: 8930879Abstract: 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: GrantFiled: June 3, 2009Date of Patent: January 6, 2015Assignee: Microsoft CorporationInventors: Roland L. Fernandez, George G. Robertson, Danyel A. Fisher, Daniel C. Robbins, Lev B. Nachmanson
-
Patent number: 8599204Abstract: 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: GrantFiled: November 19, 2010Date of Patent: December 3, 2013Assignee: Microsoft CorporationInventors: Stuart Kent, Fabian Winternitz, Kael Rowan, Timothy Dwyer, Lev B. Nachmanson, Edward Hart
-
Patent number: 8499284Abstract: 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: GrantFiled: September 11, 2008Date of Patent: July 30, 2013Assignee: Microsoft CorporationInventors: Christian Pich, Lev B. Nachmanson, George G. Robertson
-
Publication number: 20120280999Abstract: 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: ApplicationFiled: May 5, 2011Publication date: November 8, 2012Applicant: Microsoft CorporationInventors: Lev B. Nachmanson, Sergey Pupyrev, Sergey Bereg, Alexander E. Holroyd
-
Publication number: 20120127177Abstract: 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: ApplicationFiled: November 19, 2010Publication date: May 24, 2012Applicant: Microsoft CorporationInventors: Stuart Kent, Fabian Winternitz, Kael Rowan, Timothy Dwyer, Lev B. Nachmanson, Edward Hart
-
Publication number: 20110181595Abstract: 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: ApplicationFiled: January 22, 2010Publication date: July 28, 2011Applicant: Microsoft CorporationInventors: Lev B. Nachmanson, Sergey Pupyrev
-
Publication number: 20100313181Abstract: 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: ApplicationFiled: June 3, 2009Publication date: December 9, 2010Applicant: Microsoft CorporationInventors: Roland L. Fernandez, George G. Robertson, Danyel A. Fisher, Daniel C. Robbins, Lev B. Nachmanson
-
Publication number: 20100063785Abstract: 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: ApplicationFiled: September 11, 2008Publication date: March 11, 2010Applicant: Microsoft CorporationInventors: Christian Pich, Lev B. Nachmanson, George G. Robertson