Layout of node-link structures in space with negative curvature
First Claim
1. A method comprising:
- obtaining layout data;
the layout data indicating positions in a layout space for parts of a node-link structure;
the layout space being a space with negative curvature;
the node-link structure including nodes and links, each link relating at least two of the nodes;
the layout data indicating positions in the layout space for a set of the nodes;
the set of nodes forming a branch that includes two or more levels of nodes including a top level and at least one lower level, the top level including a top level node and the lower levels including lower level nodes, each node at each lower level having a parent node at a next higher level to which the node is related through one link;
for each of a set of two or more parent nodes, the layout data indicating;
a parent position in the layout space for the parent node; and
child positions that lie approximately along a circle in the layout space for a number of lower level nodes that share the parent node, the parent position being approximately at the center of the circle;
the number of lower level nodes being two or more;
adjacent child positions along the circle being separated by approximately a base spacing;
the circles having radii that, together, approximate a function that increases slowly with number of lower level nodes such that the radii and spacings between adjacent child positions along circles are all approximately uniform within the branch;
using the layout data to present a first representation of the node-link structure on a display;
receiving a signal from a user;
the signal indicating a change from a first display position to a second display position;
the first representation including a first feature near the first display position, the first feature representing a first part of the node-link structure; and
in response to the signal, presenting a second representation of the node-link structure on the display;
the second representation including a second feature representing the first part of the node-link structure, the second feature being presented near the second display position;
the second representation being perceptible as a changed continuation of the first representation.
5 Assignments
0 Petitions
Accused Products
Abstract
Layout data indicate positions in a negatively curved layout space for nodes in a hierarchical branch of a node-link structure. The layout data indicate a parent position for parent nodes and, for children that share a parent node, child positions approximately along a circle in the layout space with the parent position approximately at the circle'"'"'s center. Adjacent child positions are separated by approximately a base spacing. The radii of circles within the branch together approximate a function that increases slowly with number of child nodes such that the radii and spacings along circles are all approximately uniform within the branch. The layout data can be obtained from data defining the node-link structure. The layout data can be used to perform mappings, each obtaining positions for a subset of the nodes. The layout data can be used to present a first representation of the node-link structure on a display. In response to a user signal indicating a change from a first display position near a first feature to a second display position, a second representation can be presented that is perceptible as a changed continuation of the first. The second representation includes, near the second display position, a second feature representing the same part of the node-link structure as the first feature. The second representation can be obtained by a transformation of the layout space, which can be a discrete approximation of a hyperbolic plane.
-
Citations
40 Claims
-
1. A method comprising:
-
obtaining layout data;
the layout data indicating positions in a layout space for parts of a node-link structure;
the layout space being a space with negative curvature;
the node-link structure including nodes and links, each link relating at least two of the nodes;
the layout data indicating positions in the layout space for a set of the nodes;
the set of nodes forming a branch that includes two or more levels of nodes including a top level and at least one lower level, the top level including a top level node and the lower levels including lower level nodes, each node at each lower level having a parent node at a next higher level to which the node is related through one link;
for each of a set of two or more parent nodes, the layout data indicating;a parent position in the layout space for the parent node; and child positions that lie approximately along a circle in the layout space for a number of lower level nodes that share the parent node, the parent position being approximately at the center of the circle;
the number of lower level nodes being two or more;
adjacent child positions along the circle being separated by approximately a base spacing;the circles having radii that, together, approximate a function that increases slowly with number of lower level nodes such that the radii and spacings between adjacent child positions along circles are all approximately uniform within the branch; using the layout data to present a first representation of the node-link structure on a display; receiving a signal from a user;
the signal indicating a change from a first display position to a second display position;
the first representation including a first feature near the first display position, the first feature representing a first part of the node-link structure; andin response to the signal, presenting a second representation of the node-link structure on the display;
the second representation including a second feature representing the first part of the node-link structure, the second feature being presented near the second display position;
the second representation being perceptible as a changed continuation of the first representation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method of operating a machine;
- the machine including;
memory; user input circuitry for providing data indicating signals from a user; a display; a processor connected for accessing data stored in the memory, for receiving data from the user input circuitry, and for providing data to cause presentation of images by the display; and layout data stored in the memory;
the layout data indicating positions in a layout space for parts of a node-link structure;
the layout space being a space with negative curvature;
the node-link structure including nodes and links, each link relating at least two of the nodes;
the layout data indicating positions in the layout space for a set of the nodes;
the set of nodes forming a branch that includes two or more levels of nodes including a top level and at least one lower level, the top level including a top level node and the lower levels including lower level nodes, each node at each lower level having a parent node at a next higher level to which the node is related through one link;
for each of a set of two or more parent nodes, the layout data indicating;a parent position in the layout space for the parent node; and child positions that lie approximately along a circle in the layout space for a number of lower level nodes that share the parent node, the parent position being approximately at the center of the circle;
the number of lower level nodes being two or more;
adjacent child positions along the circle being separated by approximately a base spacing;the circles having radii that, together, approximate a function that increases slowly with number of lower level nodes such that the radii and spacings between adjacent child positions along circles are all approximately uniform within the branch; the method comprising; operating the processor to use the layout data to provide first representation data to the display, the first representation data causing the display to present a first representation of the node-link structure; receiving a signal from a user;
the signal indicating a change from a first display position to a second display position;
the first representation including a first feature near the first display position, the first feature representing a first part of the node-link structure; andin response to the signal, operating the processor to automatically provide second representation data to the display, the second representation data causing the display to present a second representation of the node-link structure on the display;
the second representation including a second feature representing the first part of the node-link structure, the second feature being presented near the second display position;
the second representation being perceptible as a changed continuation of the first representation. - View Dependent Claims (22, 23)
- the machine including;
-
24. A machine comprising:
-
memory; user input circuitry for providing data indicating signals from a user; a display; a processor connected for accessing data stored in the memory, for receiving data from the user input circuitry, and for providing data to cause presentation of images by the display; layout data stored in the memory;
the layout data indicating positions in a layout space for parts of a node-link structure;
the layout space being a space with negative curvature;
the node-link structure including nodes and links, each link relating at least two of the nodes;
the layout data indicating positions in the layout space for a set of the nodes;
the set of nodes forming a branch that includes two or more levels of nodes including a top level and at least one lower level, the top level including a top level node and the lower levels including lower level nodes, each node at each lower level having a parent node at a next higher level to which the node is related through one link;
for each of a set of two or more parent nodes, the layout data indicating;a parent position in the layout space for the parent node; and child positions that lie approximately along a circle in the layout space for a number of lower level nodes that share the parent node, the parent position being approximately at the center of the circle;
the number of lower level nodes being two or more;
adjacent child positions along the circle being separated by approximately a base spacing;the circles having radii that, together, approximate a function that increases slowly with number of lower level nodes such that the radii and spacings between adjacent child positions along circles are all approximately uniform within the branch; and program data stored in the memory;
the program data indicating instructions the processor executes;
the processor, in executing the instructions;using the layout data to provide first representation data to the display, the first representation data causing the display to present a first representation of the node-link structure; receiving a signal from a user;
the signal indicating a change from a first display position to a second display position;
the first representation including a first feature near the first display position, the first feature representing a first part of the node-link structure; andin response to the signal, automatically providing second representation data to the display, the second representation data causing the display to present a second representation of the node-link structure on the display;
the second representation including a second feature representing the first part of the node-link structure, the second feature being presented near the second display position;
the second representation being perceptible as a changed continuation of the first representation.
-
-
25. An article of manufacture for use in a system that includes:
-
memory; a storage medium access device; user input circuitry for providing data indicating signals from a user; a display; a processor connected for accessing data stored in the memory, for receiving data accessed on a storage medium by the storage medium access device, and for providing data to cause presentation of images by the display; and layout data stored in the memory;
the layout data indicating positions in a layout space for parts of a node-link structure;
the layout space being a space with negative curvature;
the node-link structure including nodes and links, each link relating at least two of the nodes;
the layout data indicating positions in the layout space for a set of the nodes;
the set of nodes forming a branch that includes two or more levels of nodes including a top level and at least one lower level, the top level including a top level node and the lower levels including lower level nodes, each node at each lower level having a parent node at a next higher level to which the node is related through one link;
for each of a set of two or more parent nodes, the layout data indicating;a parent position in the layout space for the parent node; and child positions that lie approximately along a circle in the layout space for a number of lower level nodes that share the parent node, the parent position being approximately at the center of the circle;
the number of lower level nodes being two or more;
adjacent child positions along the circle being separated by approximately a base spacing;the circles having radii that, together, approximate a function that increases slowly with number of lower level nodes such that the radii and spacings between adjacent child positions along circles are all approximately uniform within the branch; the article of manufacture comprising; a storage medium; and instruction data stored by the storage medium;
the instruction data including data units positioned on the storage medium so that the storage medium access device can access the data units and provide the data units to the processor in a sequence;
the data units, when in the sequence, indicating instructions the processor can execute;
the processor, in executing the instructions;using the layout data to provide first representation data to the display, the first representation data causing the display to present a first representation of the node-link structure; receiving a signal from a user;
the signal indicating a change from a first display position to a second display position;
the first representation including a first feature near the first display position, the first feature representing a first part of the node-link structure; andin response to the signal, automatically providing second representation data to the display, the second representation data causing the display to present a second representation of the node-link structure on the display;
the second representation including a second feature representing the first part of the node-link structure, the second feature being presented near the second display position;
the second representation being perceptible as a changed continuation of the first representation.
-
-
26. A method of operating a first machine that includes:
-
first memory; a first connection to a network; a first processor connected for accessing data stored in the first memory and for establishing connections with other machines over the network through the first connection; and instruction data stored in the first memory;
the instruction data indicating instructions that can be executed by a second machine, the second machine including;second memory; a second connection to the network; a second processor connected for accessing data stored in the second memory and for establishing connections with other machines over the network through the second connection; and layout data stored in the memory;
the layout data indicating positions in a layout space for parts of a node-link structure;
the layout space being a space with negative curvature;
the node-link structure including nodes and links, each link relating at least two of the nodes;
the layout data indicating positions in the layout space for a set of the nodes;
the set of nodes forming a branch that includes two or more levels of nodes including a top level and at least one lower level, the top level including a top level node and the lower levels including lower level nodes, each node at each lower level having a parent node at a next higher level to which the node is related through one link;
for each of a set of two or more parent nodes, the layout data indicating;a parent position in the layout space for the parent node; and child positions that lie approximately along a circle in the layout space for a number of lower level nodes that share the parent node, the parent position being approximately at the center of the circle;
the number of lower level nodes being two or more;
adjacent child positions along the circle being separated by approximately a base spacing;the circles having radii that, together, approximate a function that increases slowly with number of lower level nodes such that the radii and spacings between adjacent child positions along circles are all approximately uniform within the branch; the method comprising; operating the first processor to establish a connection to the second processor over the network through the first and second connections; and operating the first processor to transfer the instruction data over the network to the second processor so that the second processor can store the instruction data in the second memory and can execute the instructions indicated by the instruction data;
the second processor, in executing the instructions indicated by the instruction data;using the layout data to provide first representation data to the display, the first representation data causing the display to present a first representation of the node-link structure; receiving a signal from a user;
the signal indicating a change from a first display position to a second display position;
the first representation including a first feature near the first display position, the first feature representing a first part of the node-link structure; andin response to the signal, automatically providing second representation data to the display, the second representation data causing the display to present a second representation of the node-link structure on the display;
the second representation including a second feature representing the first part of the node-link structure, the second feature being presented near the second display position;
the second representation being perceptible as a changed continuation of the first representation.
-
-
27. A method of operating a machine;
- the machine including;
memory; a processor connected for accessing data stored in the memory; and node-link data stored in the memory;
the node-link data defining a node-link structure;
the node-link structure including nodes and links, each link relating at least two of the nodes;the method comprising; operating the processor to use the node-link data to obtain layout data;
the layout data indicating positions in a layout space for parts of a node-link structure;
the layout space being a space with negative curvature;
the node-link structure including nodes and links, each link relating at least two of the nodes;
the layout data indicating positions in the layout space for a set of the nodes;
the set of nodes forming a branch that includes two or more levels of nodes including a top level and at least one lower level, the top level including a top level node and the lower levels including lower level nodes, each node at each lower level having a parent node at a next higher level to which the node is related through one link;
for each of a set of two or more parent nodes, the layout data indicating;a parent position in the layout space for the parent node; and child positions that lie approximately along a circle in the layout space for a number of lower level nodes that share the parent node, the parent position being approximately at the center of the circle;
the number of lower level nodes being two or more;
adjacent child positions along the circle being separated by approximately a base spacing;the circles having radii that, together, approximate a function that increases slowly with number of lower level nodes such that the radii and spacings between adjacent child positions along circles are all approximately uniform within the branch; and operating the processor to use the layout data to perform two or more different mappings;
each mapping obtaining mapped data;
the mapped data obtained by each mapping indicating positions for a subset of the set of nodes. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
- the machine including;
-
38. A machine comprising:
-
memory; a display; a processor connected for accessing data stored in the memory and for providing data to cause presentation of images by the display; node-link data stored in the memory;
the node-link data defining a node-link structure that includes nodes and links, each link relating at least two of the nodes; andprogram data stored in the memory;
the data program indicating instructions the processor executes;
the processor, in executing the instructions;using the node-link data to obtain layout data;
the layout data indicating positions in a layout space for parts of a node-link structure;
the layout space being a space with negative curvature;
the node-link structure including nodes and links, each link relating at least two of the nodes;
the layout data indicating positions in the layout space for a set of the nodes;
the set of nodes forming a branch that includes two or more levels of nodes including a top level and at least one lower level, the top level including a top level node and the lower levels including lower level nodes, each node at each lower level having a parent node at a next higher level to which the node is related through one link;
for each of a set of two or more parent nodes, the layout data indicating;a parent position in the layout space for the parent node; and child positions that lie approximately along a circle in the layout space for a number of lower level nodes that share the parent node, the parent position being approximately at the center of the circle;
the number of lower level nodes being two or more;
adjacent child positions along the circle being separated by approximately a base spacing;the circles having radii that, together, approximate a function that increases slowly with number of lower level nodes such that the radii and spacings between adjacent child positions along circles are all approximately uniform within the branch; and using the layout data to perform two or more different mappings;
each mapping obtaining mapped data;
the mapped data obtained by each mapping indicating positions for a subset of the set of nodes.
-
-
39. An article of manufacture for use in a machine that includes:
-
memory; a storage medium access device; a display; a processor connected for accessing data stored in the memory, for receiving data accessed on a storage medium by the storage medium access device, and for providing data to cause presentation of images by the display; and node-link data stored in the memory;
the node-link data defining a node-link structure that includes nodes and links, each link relating at least two of the nodes;the article of manufacture comprising; a storage medium; and instruction data stored by the storage medium;
the instruction data including data units positioned on the storage medium so that the storage medium access device can access the data units and provide the data units to the processor in a sequence;
the data units, when in the sequence, indicating instructions the processor can execute;
the processor, in executing the instructions;using the node-link data to obtain layout data;
the layout data indicating positions in a layout space for parts of a node-link structure;
the layout space being a space with negative curvature;
the node-link structure including nodes and links, each link relating at least two of the nodes;
the layout data indicating positions in the layout space for a set of the nodes;
the set of nodes forming a branch that includes two or more levels of nodes including a top level and at least one lower level, the top level including a top level node and the lower levels including lower level nodes, each node at each lower level having a parent node at a next higher level to which the node is related through one link;
for each of a set of two or more parent nodes, the layout data indicating;a parent position in the layout space for the parent node; and child positions that lie approximately along a circle in the layout space for a number of lower level nodes that share the parent node, the parent position being approximately at the center of the circle;
the number of lower level nodes being two or more;
adjacent child positions along the circle being separated by approximately a base spacing;the circles having radii that, together, approximate a function that increases slowly with number of lower level nodes such that the radii and spacings between adjacent child positions along circles are all approximately uniform within the branch; and using the layout data to perform two or more different mappings;
each mapping obtaining mapped data;
the mapped data obtained by each mapping indicating positions for a subset of the set of nodes.
-
-
40. A method of operating a first machine that includes:
-
first memory; a first connection to a network; a first processor connected for accessing data stored in the first memory and for establishing connections with other machines over the network through the first connection; and instruction data stored in the first memory;
the instruction data indicating instructions that can be executed by a second machine, the second machine including;second memory; a second connection to the network; a second processor connected for accessing data stored in the second memory and for establishing connections with other machines over the network through the second connection; and node-link data stored in the second memory;
the node-link data defining a node-link structure that includes nodes and links, each link relating at least two of the nodes;the method comprising; operating the first processor to establish a connection to the second processor over the network through the first and second connections; and operating the first processor to transfer the instruction data over the network to the second processor so that the second processor can store the instruction data in the second memory and can execute the instructions indicated by the instruction data;
the second processor, in executing the instructions indicated by the instruction data;using the node-link data to obtain layout data;
the layout data indicating positions in a layout space for parts of a node-link structure;the layout space being a space with negative curvature;
the node-link structure including nodes and links, each link relating at least two of the nodes;
the layout data indicating positions in the layout space for a set of the nodes;
the set of nodes forming a branch that includes two or more levels of nodes including a top level and at least one lower level, the top level including a top level node and the lower levels including lower level nodes, each node at each lower level having a parent node at a next higher level to which the node is related through one link;
for each of a set of two or more parent nodes, the layout data indicating;a parent position in the layout space for the parent node; and child positions that lie approximately along a circle in the layout space for a number of lower level nodes that share the parent node, the parent position being approximately at the center of the circle;
the number of lower level nodes being two or more;
adjacent child positions along the circle being separated by approximately a base spacing;the circles having radii that, together, approximate a function that increases slowly with number of lower level nodes such that the radii and spacings between adjacent child positions along circles are all approximately uniform within the branch; and using the layout data to perform two or more different mappings;
each mapping obtaining mapped data;
the mapped data obtained by each mapping indicating positions for a subset of the set of nodes.
-
Specification