Incremental Graph Layout Preserving Visual Context

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing automatic layout tools in graph diagrams often disrupt the user's invested layout when new nodes are added or removed, making it difficult to maintain visual context and requiring significant rearrangement of nodes.

Innovation Solution

A system that identifies anchor candidate nodes and uses them to maintain the spatial offset of new nodes, allowing for incremental layout that preserves the existing layout while positioning new nodes effectively in the graph diagram.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If automatic layout algorithm is applied to the graph diagram including new nodes, then new nodes are positioned well in the graph, but existing nodes are rearranged causing loss of user's layout work and visual context

Engineering Contradiction:
Improveautomatic node positioningVSAvoiduser layout work preservation
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent segments the graph into two parts: existing nodes that maintain their original positions and new nodes that require automatic positioning. By separating the layout problem into these two independent segments, the system can apply automatic layout only to new nodes while preserving the existing layout structure that users have invested time in creating.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different layout strategies to different parts of the graph: existing nodes retain their manually positioned locations while new nodes receive automatic positioning. This local differentiation allows the system to maintain visual context in regions where users have worked while providing automatic layout benefits in regions that need it.

Inventive Principle:
Principle #3Local quality

2Productivity

If automatic layout tool is used to add new nodes, then new nodes appear well placed, but drastic layout changes occur negating user's time investment

Engineering Contradiction:
Improvenew node addition efficiencyVSAvoidgraph layout stability
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The patent performs preliminary identification of anchor candidate nodes before applying automatic layout to new nodes. These anchor nodes serve as reference points that are established in advance, allowing the automatic layout algorithm to position new nodes relative to stable existing structures, thereby preventing drastic layout changes while maintaining productivity in adding new nodes.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If all nodes including previously laid out nodes are rearranged, then new nodes are integrated into the graph, but user's visual context is lost making maintenance difficult

Engineering Contradiction:
Improvegraph update capabilityVSAvoidvisual context
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The patent extracts only the necessary anchor candidate nodes from the existing graph structure to serve as references for new node positioning. By taking out only these specific reference points rather than rearranging all nodes, the system maintains visual context and user's invested layout work while still achieving proper integration of new nodes into the graph structure.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9940742B2Incremental automatic layout of graph diagram
Publication Date: 2018.04.10 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9940742B2 patent drawing
  • US9940742B2 patent drawing
  • US9940742B2 patent drawing

AI summary

Adding new nodes to a graph diagram. A set of one or more new nodes is identified from a graph to be added to an existing graph diagram. A set of one or more anchor candidate nodes are identified in the graph that are coupled to the nodes in the set of one or more new nodes. One of the nodes in the set of one or more anchor candidate nodes is selected as an anchor node. An automatic graph diagram layout of the anchor node and new nodes that are to be coupled to the anchor node is performed to create a disjoint graph diagram. A spatial offset from the anchor node to each of the new nodes coupled to the anchor node in the disjoint graph diagram is identified. Each of the new nodes is added to the existing graph diagram while maintaining the identified spatial offsets.