WO2000016307A9 - Method and apparatus for visualizing and exploring large hierarchical structures - Google Patents

Method and apparatus for visualizing and exploring large hierarchical structures

Info

Publication number
WO2000016307A9
WO2000016307A9 PCT/US1999/018675 US9918675W WO0016307A9 WO 2000016307 A9 WO2000016307 A9 WO 2000016307A9 US 9918675 W US9918675 W US 9918675W WO 0016307 A9 WO0016307 A9 WO 0016307A9
Authority
WO
WIPO (PCT)
Prior art keywords
data
data structure
depiction
tree
nodes
Prior art date
Application number
PCT/US1999/018675
Other languages
French (fr)
Other versions
WO2000016307A1 (en
Inventor
Jeff Bernhardt
Usama M Fayyad
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Priority to AU57768/99A priority Critical patent/AU5776899A/en
Publication of WO2000016307A1 publication Critical patent/WO2000016307A1/en
Publication of WO2000016307A9 publication Critical patent/WO2000016307A9/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports

Definitions

  • the present invention concerns data visualization wherein structure has been imposed on data and a means of displaying the structure is needed.
  • Traditional methods for displaying structures (such as hierarchies) are difficult for people to use when the structures get large.
  • Trees are particularly convenient for separating large databases into segments or subsets of data.
  • a set of files in a computer system are usually also represented as a hierarchy of directories with the leaves being individual files. This is also true for books in a library catalog system, and so forth.
  • a tree has one top level or "root" node which can have two or more branches emanating from it. The branches represent some logical separation of the data.
  • Each of these branches ends in another node, which can in turn have branches leaving from it, or the node can be a termination point or "leaf of the tree (no more branches).
  • Examples of data structured as a tree include the directory structure of a computer file system, a database table representing a "bill-of-materials" relationship, and the organization chart of a corporation.
  • Examples from data mining include decision trees for classification and hierarchies of clusters (segments) generated from a hierarchical agglomerative clustering algorithm or a similar method.
  • networks or graphs Other examples of structures that are used to impose order to a large data set are networks or graphs. These structures do not have a single root but do have nodes that are interconnected by edges.
  • Local area and wide area networks are examples of structures containing data which can conveniently depicted as a graph of nodes indicating for example nodes on a network. Such a graph could be used to indicate traffic on the network wherein data passing though a transmission node would be represented as data within a node of the graph.
  • the "width" of the tree tends to increase exponentially with the "depth”. For example, a balanced tree that has on average 4 branches per node will have 4 nodes at the 2 nd level of the hierarchy, 16 nodes at the 3 rd , 256 nodes at the 5, and 4" at the nth level.
  • Traditional methods for displaying a tree in a user interface use an equally sized object for each node in the tree.
  • the tree can be laid out graphically as a network of connected objects in a window with scroll bars.
  • Another example of a prior art tree representation is the hierarchy of files and directories displayed by the Microsoft Windows Explorer program. In both of these examples provision must be made to collapse or expand a node in order to make the navigation of a large unwieldy tree manageable.
  • such a tree may need to be seen in its entirety (fully expanded). If the tree is scaled down so that it can be viewed completely at one time, then not much useful information can be shown along with the nodes of the tree. If the entire tree is laid out so that usable information can be shown on each node, then certain problems arise. When the top of the tree is viewed, the distance between the high level nodes can become so great that they are of no use. When the bottom of the tree is put into view, the lower level nodes become a tangle of seemingly disconnected information (it is difficult to see the relationships between the nodes because connections to the parent nodes cannot be seen).
  • Figures 1 and 2 illustrate these problems.
  • Figure 1 depicts different visual views of a large amount of data in the form of a tree. One view depicts data nodes near a top (left side in Figure 1) and a second view depicts a different set of data nodes near a base or bottom (right side of Figure 1) of the data tree.
  • a scroll bars are used to navigate the tree structure that is displayed in the scrollable window.
  • Figure 2 is an example of a fully expanded directory structure depicted by Windows Explorer where all connections to the higher level, owner directories have been lost.
  • the present invention concerns a method for enabling effective browsing and examination of large amounts of data that are organized or classified in a data structure.
  • Many of the problems that have been experienced trying to explore and/or view large amounts of data are overcome by a novel navigation and rendering scheme constructed in accordance with the invention.
  • Two simultaneously viewable windows are displayed for a user. Using the example of a data tree, an overview of the entire tree is depicted in one window and only a portion of the tree is displayed in a second window.
  • the second window shows individual nodes and interconnections and the first overview window depicts the entire tree in a way that makes traversal of the information in the tree intuitive to the user.
  • One use of the invention is for viewing a decision tree produced by a data mining system such as the data mining system disclosed in co-pending United States patent application serial number 08/982,760 entitled “Method and Apparatus for Efficiently Mining Classification Models from Databases.”
  • Another representative use of the invention displays and navigates a file structure maintained by a computer operating system.
  • the invention has application for displaying and system of interconnected nodes such as a graph, a network, an organizational chart, a flowchart etc. wherein data or information is associated with nodes of the system.
  • color gradients helps the user identify trends or anomalies in the data by visualizing the tree as a whole.
  • a property is associated with a clor, and the color intensity can visually represent the value of the property (e.g. red being high, yellow being low).
  • An exemplary embodiment of the invention is implemented as an ActiveX control with a user interface suitable for viewing and exploring large trees.
  • One exemplary embodiment of the invention includes a method for displaying data as a tree data structure.
  • a user interface is painted by a tree rendering component that allows intuitive navigation and interpretation of the tree structure.
  • the tree rendering component updates two related windows, a layout window and a thumbnail window.
  • the tree rendering component maintains a structure of a tree depicted in the thumbnail window and depicts a portion of the entire tree in the layout window.
  • side by side windows one of which shows the whole tree and another of which shows a portion of the tree allows easier user visualization of the data characterized by the tree.
  • a path window displays as text a sequence of concatenated decision steps required to reach a given node in the data structure. It is a textual summary of the context.
  • the user can select a given node that is displayed in the layout window and a detail window itemizes information about the contents of the selected node.
  • the detail window can include a histogram of the values of a variable or score of interest. In use of the invention with a database classifier such a window could further itemize different categories of data that satisfy the logic leading to a particular node of the data structure.
  • FIGS 1 and 2 are prior art illustrations of data depictions
  • Figure 3 is a high level architecture of a data displaying system constructed in accordance with the present invention
  • Figures 4 and 5 are alternate depictions illustrating different aspects of the invention for use in displaying data structures
  • Figure 5 A is a enlarged view of a thumbnail window for displaying a data structure in an overview fashion.
  • Figure 6 is a schematic of a computer system for implementing the exemplary embodiment of the invention.
  • An exemplary embodiment of the present Invention is implemented as an ActiveX computer control component 10 that includes a data viewer component 12 for displaying data structures on a viewing screen such as a computer screen 147 by supplying appropriate data for use by the computer operating system that updates the screen display.
  • a data viewer component 12 for displaying data structures on a viewing screen such as a computer screen 147 by supplying appropriate data for use by the computer operating system that updates the screen display.
  • the techniques for implementing Active X components by means of COM object interfaces are known in the prior art.
  • a discussion of COM object interfaces is contained in the book "Inside COM" by Dale Rogerson, Microsoft Press copyright 1997.
  • the data viewer component disclosed in the application displays data as a tree structure it is appreciated that other data depictions such as graphs and networks could be displayed using the Active X components 10. In the discussion that follows, data depiction and data structure are used interchangeably.
  • a user Interface 20 ( Figure 4) shows an example of operation of the data viewer, i.e. a displayed on a viewing screen such as a computer monitor 147 ( Figure 6).
  • the ActiveX implementation of the viewer sets up four related windows 30 - 33 to help the user navigate the data structure from the data source. These four windows 30 - 33 are identified in Figure 4 as a layout window 30, a thumbnail window 31 , a path window 32 , and a details window 33.
  • the data viewer component 12 is coupled by means of an ITreeNavigation COM interface 14 to a tree provider component 16.
  • the tree provider 16 maintain the structure of a tree 18 depicted in the layout window 30 and provide all contextual information about the tree. By responding to some simple generic requests from the tree viewer 12, the tree provider 16 draws and navigates the tree. The data tree viewer component 12 is unconcerned with the type or meaning to the tree being drawn. The tree provider 16 also supplies a Detail Displayer ActiveX control for displaying detailed provider specific information about individual nodes within a tree.
  • Figure 3 shows the high level architecture of how the tree viewer 12 interfaces with the tree provider 16 as a COM interface 14. The results of the cooperation between the tree provider and the tree viewer is an ItreeNiew interface to the operating system.
  • the present invention has particular utility for use in characterizing data contained in a database having many records stored on multiple, possibly distributed storage devices. Each record has many attributes or fields which for a representative database might include age, income, number of children, education level, marital status etc. Such data can be obtained, for example, from census data gathered from many people in response to a survey.
  • One goal of the invention is to help a user to visualize the contents of the database once it has been classified by means of a classifier scheme such as the scheme disclosed in the above mentioned patent application to Chaudhuri et al which is incorporated herein by reference.
  • the display and operation of the Thumbnail window 31 is closely tied to the Layout window 30.
  • the relationship between the two is similar to the movement co-ordination between the display in a client window in response to a user actuation of a scrollbar.
  • the Thumbnail view shows a miniature outline of an entire tree 18.
  • the Layout view shows a full size representation of a portion 18a of the tree (a sub-tree).
  • a raised area control component 40 within the Thumbnail view acts much like the "thumb" of a normal scollbar and will hereinafter referred to as the thumb 40.
  • the position of this thumb 40 over the miniature view of the tree 18 determines the portion 18a of the tree (sub-tree) that is shown in the Layout view.
  • the sub- tree under the thumb is completely visible within the Layout window because the size of the thumb is determined by the largest sub-tree that can be viewed in the layout window 30.
  • the Thumbnail view's rendering includes a raised control component or thumb 40 which can be moved to a specific region of the miniature tree 18 simply by moving the cursor over a portion of the tree and clicking on another portion 42 of the tree. Additionally, the thumb 40 can be moved incrementally by clicking on the thumb with the pointing device. While the cursor is positioned over the thumb, the cursor (not shown) changes shape to indicate the direction of incremental movement that a user actuated click of the mouse or other pointing device will produce. As the raised area control component 40 is moved in this manner, its size is changed provider to indicate the set of nodes in the subtree that can be fit in the main layout window. It is appreciated that other bound shapes of indicators could be used to give a relative indication of data displayed in the layout window to the entire tree structure.
  • the sub-tree 18a selected by the raised area of the Thumbnail view is drawn at a larger scale as a Layout view in the layout window 30.
  • the sub-tree is drawn left to right where the leftmost node represents the highest point in the tree outlined by or encompassed by the borders of the thumb 40 of the thumbnail view 18. (This node is a common parent of all other visible nodes depicted in the layout view.)
  • the tree is laid out in left to right order to include descritptive text naturally.
  • the tree may be laid out in any other fashion by the tree rendering component.
  • Nodes are drawn as colored ellipses 44 with branches shown as lines 46 leaving the right side of a node and connecting to the node's children.
  • the color of the node (as well as the corresponding region of the Thumbnail) is determined by a score that is reported for the node by the tree provider 16.
  • the score can be changed via some user interface controls, and the tree provider accordingly can expose different scores for each node.
  • a text label is draw within the ellipse of the node, and a text label for an edge is drawn on any connecting line.
  • the tree provider component 16 supplies these labels.
  • Tree structures having interconnected nodes are best displayed on such a monitor if the tree is displayed 'sideways'. If the leftmost node is the tree root, then no edge leads to the node on the left hand side of the display. If the leftmost node is an interior node, then an edge is connected to the leftmost node.
  • the text that is rendered within the layout window for conveying information about the tree nodes is also displayed horizontally next to the nodes and edges of the tree.
  • the visible sub-tree 18a is drawn within the Layout window as if it was a complete tree. Children nodes that are not included within the sub-tree and will not be visible are not considered when spacing the rightmost visible nodes.
  • the Layout view draws the visible sub-tree to a given scale.
  • the window scale can be changed providing a zoom-in or zoom-out effect.
  • the tree can also be navigated from within the Layout view. Clicking on an edge line 46 will change the display to show a sub-tree starting with the child node that the edge line points to. This includes any half-lines 46a that point toward non-visible children, (lines on the right of the rightmost nodes.) One exception is that clicking on an edge 46b emanating from the left of the leftmost (top) node will move the display up one level in the tree.
  • One of the nodes within the Layout view can be put into focus.
  • a node in focus is drawn differently to indicate selection.
  • the Thumbnail and Layout windows work together to determine the size of the Thumbnail's scroll thumb and thus the size of the sub-tree visible within the Layout view.
  • the following steps describe this interaction: A thumbnail component of the tree viewer 12 is instructed (by a navigation or a COM interface call) to put a sub-tree starting at a particular node into view.
  • the Thumbnail asks the Layout for the dimensions of the largest possible tree that it can fit without clipping inside its window. These numbers are based upon the dimensions of the Layout window, the current Layout scaling factor, and some inherent metrics about the relative sizes and relative positions of the object used to render a tree.
  • the Thumbnail control then knows the maximum depth or width that can be shown, and traverses down the tree starting from the chosen node. It keeps track of the depth traversed and the width of the sub-tree at the given depth and stops traversing down before one of the maximums is surpassed.
  • the Thumbnail now can identify the visible sub-tree, and it positions its thumb (raised region) accordingly on the miniature tree 18.
  • the Layout view gets the depth of the visible sub-tree 18a from the Thumbnail and draws the tree.
  • the Path window 32 shows a concatenation of the decision criteria needed to reach the Layout window's leftmost visible node by working down from the root of the entire tree.
  • the tree provider 16 supplies a description of each step along the way.
  • the Path provided in this window gives the user a context when viewing a nested sub-tree 18a since it gives information about the leftmost data node of that subtree.
  • the Details window can show detailed provider specific information about the node.
  • the tree provider 16 supplies an ActiveX control that supports the INodeDisplay interface of a component for displaying node detail. This provider-supplied control will be hosted within the Details window.
  • the tree viewer uses the INodeDisplay interface to alert a provider object that the details for a specific node are to be shown when a particular node is in focus.
  • the node 44' is in focus. This node was selected by the user moving the cursor over the node and right clicking on the mouse 142 ( Figure 6) or other suitable pointing device.
  • the tree provider 16 has control over the semantics for the "score" that it reports for a node to the tree viewer.
  • This score (between 0 and 1) is used by the tree viewer to set the illumination of the color of each node's representation in the Layout view and the miniature tree outline for nodes in the thumbnail window.
  • the figure 5, the tree viewer illustrates a decision tree that classifies education level for a large sample of census data.
  • the score reported for nodes shown in figure 5 is relative to the number of data records for individuals that conform to or fit a given edge' s condition. Using this score, the tree shows dark "veins" of data concentration since a score is based upon the number of records relative to the entire database represented by a node and the children of that node.
  • Figure 5 and Figure 5 A illustrate by means of cross hatching in the drawings use of the color coding to depict data structure information.
  • the control component 40 is located over the leftmost portion of the tree 18. As seen in the path window 32 the entire tree is chosen so that the leftmost node in the window 30 is the tree root node and has no edge entering the node from the left.
  • Each of the nodes of the window 30 has been color coded in accordance with a scale factor based on the number of data records from the database classified in a given node. Branches in the tree are based on attribute values of the data records in the database from which the records are obtained and therefore as one travels away from the root node in the tree the score or number of records decreases.
  • the largest number of records is indicated with a 'black' cross hatching, the second highest with a 'green', then a 'blue' a 'violet' and finally a 'white'.
  • the score for the node as determined by the tree viewer need not be based on an absolute number but instead can be chosen as a relative indication.
  • the nodes of the tree correspond to a classification system that can result in records having the same attribute satisfying different branches of the classifier tree.
  • the color of the nodes could be used to indicate therefore a probability of a given node satisfying certain facts rather than an absolute tabulation of a number of data records.
  • the color coding could signify probability of a family having a child in college even though the branching of the tree does not branch on that attribute value.
  • the tree structure could depict a directory structure of a computer file system.
  • the color coding provided by the Tree provider could indicate how recently files in the directory structure have been opened, frequency of use, permission levels of files with the file structure or any other property that could be turned into a score relative to other nodes in the hierarchy of files.
  • the color coding could indicate data traffic or instances of data retransmission or error occurrences at a particular node of the network.
  • an exemplary data processing system for practicing the disclosed invention includes a general purpose computing device in the form of a conventional computer 120, including one or more processing units 121, a system memory 122, and a system bus 123 that couples various system components including the system memory to the processing unit 121.
  • the system bus 123 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
  • the system memory includes read only memory (ROM) 124 and random access memory (RAM) 125.
  • ROM read only memory
  • RAM random access memory
  • the computer 120 further includes a hard disk drive 127 for reading from and writing to a hard disk, not shown, a magnetic disk drive 128 for reading from or writing to a removable magnetic disk 129, and an optical disk drive 130 for reading from or writing to a removable optical disk 131 such as a CD ROM or other optical media.
  • the hard disk drive 127, magnetic disk drive 128, and optical disk drive 130 are connected to the system bus 123 by a hard disk drive interface 132, a magnetic disk drive interface 133, and an optical drive interface 134, respectively.
  • the drives and their associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for the computer 120.
  • a number of program modules may be stored on the hard disk, magnetic disk 129, optical disk 131, ROM 124 or RAM 125, including an operating system 135, one or more application programs 136, other program modules 137, and program data 138.
  • a user may enter commands and information into the computer 120 through input devices such as a keyboard 140 and pointing device 142.
  • Other input devices may include a microphone, joystick, game pad, satellite dish, scanner, or the like.
  • These and other input devices are often connected to the processing unit 121 through a serial port interface 146 that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, game port or a universal serial bus (USB).
  • a monitor 147 or other type of display device is also connected to the system bus 23 via an interface, such as a video adapter 148.
  • personal computers typically include other peripheral output devices (not shown), such as speakers and printers.
  • the computer 120 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 149.
  • the remote computer 149 may be another personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 120, although only a memory storage device 150 has been illustrated in Figure 1.
  • the logical connections depicted in Figure 1 include a local area network (LAN) 151 and a wide area network (WAN) 152.
  • LAN local area network
  • WAN wide area network
  • Such networking environments are commonplace in offices, enterprise- wide computer networks, intranets and the Internet.
  • the computer 120 When used in a LAN networking environment, the computer 120 is connected to the local network 151 through a network interface or adapter 153. When used in a WAN networking environment, the computer 120 typically includes a modem 154 or other means for establishing communications over the wide area network 152, such as the Internet.
  • the modem 154 which may be internal or external, is connected to the system bus 123 via the serial port interface 46.
  • program modules depicted relative to the computer 120, or portions thereof may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.

Abstract

Method and apparatus for displaying and navigating data organized in the form of a graph structure (hierarchy or network) is presented. The invention has application for displaying a system of interconnected nodes such as a graph, a network, an organizational chart, a flowchart etc. wherein data or information is associated with nodes of the system. A user interface is implemented as an ActiveX control having a viewer component for displaying and navigating graph structure (for example a data mining model over data records or a directory structure over a set of files). The viewer component updates the contents of related windows that display different aspects of the components (nodes) of the data structure. A thumbnail window presents the user with an overview of the data structure. A layout window presents a more detailed view of part of the graph structure. Other windows display context and detailed properties associated with particular selected nodes. One instance of the invention is used for displaying structure of a database classifier which organizes data in a tree. A tree viewer maintains a depiction of the entire graph (or tree) in the Thumbnail window and depicts a detailed portion of the graph in a larger layout window. The user can move the mouse pointer over either the thumbnail or the layout window and by mouse actuated inputs can control the manner in which the window depicts the tree structure. Color coding of properties of the structure being displayed, along with auxiliary detail windows for displaying values and histograms, can be used to quickly navigate a large structure and locates zones of interest within it.

Description

Method and Apparatus for Visualizing and Exploring Large Hierarchical Structures
Cross Reference to related applications The present patent application claims priority of co-pending United States Provisional patent application serial number 60/099,685 entitled "Method and COM Control for visualizing and Exploring Large Hierarchies of Trees of Information"which was filed in the United Sates Patent and Trademark Office on September 10, 1998.
Field of the Invention
The present invention concerns data visualization wherein structure has been imposed on data and a means of displaying the structure is needed. Traditional methods for displaying structures (such as hierarchies) are difficult for people to use when the structures get large.
Background Art
Data reduction schemes such as those used in the mining of data from a large database impose a structure onto the data to better understand that data. Often a tree (or hierarchical) representation of the data is provided. A tree representation can often ease the viewing, accessing or understanding of the data represented by the tree. Tree structures are particularly convenient for separating large databases into segments or subsets of data. A set of files in a computer system are usually also represented as a hierarchy of directories with the leaves being individual files. This is also true for books in a library catalog system, and so forth. In general a tree has one top level or "root" node which can have two or more branches emanating from it. The branches represent some logical separation of the data. Each of these branches ends in another node, which can in turn have branches leaving from it, or the node can be a termination point or "leaf of the tree (no more branches). Examples of data structured as a tree include the directory structure of a computer file system, a database table representing a "bill-of-materials" relationship, and the organization chart of a corporation. Examples from data mining include decision trees for classification and hierarchies of clusters (segments) generated from a hierarchical agglomerative clustering algorithm or a similar method.
Other examples of structures that are used to impose order to a large data set are networks or graphs. These structures do not have a single root but do have nodes that are interconnected by edges. Local area and wide area networks are examples of structures containing data which can conveniently depicted as a graph of nodes indicating for example nodes on a network. Such a graph could be used to indicate traffic on the network wherein data passing though a transmission node would be represented as data within a node of the graph.
In data mining, especially in building decision trees for prediction over a database, it is frequently the case that a very large tree is produced. An example of a decision tree for use in data mining is disclosed in copending United States Patent application serial number 08/982,760 entitled "Method and Apparatus for Efficient Mining Classification Models from Databases" to Chaudhuri et al which is assigned to the assignee of the present invention. Viewing an entire tree or browsing the data using the model extracted (the tree) is very challenging when the tree is large (has many nodes). Most prior art systems for displaying data structures such as trees display the tree and then zoom in and out to show either smaller or larger portions of the tree. These prior systems make it difficult to browse the tree structure in detail, while continuing to provide the user a context of what portion of the tree structure is being viewed.
Because of the hierarchical branching inherent in a typical tree structured data set, the "width" of the tree tends to increase exponentially with the "depth". For example, a balanced tree that has on average 4 branches per node will have 4 nodes at the 2nd level of the hierarchy, 16 nodes at the 3rd, 256 nodes at the 5, and 4" at the nth level.
Traditional methods for displaying a tree in a user interface use an equally sized object for each node in the tree. The tree can be laid out graphically as a network of connected objects in a window with scroll bars. Another example of a prior art tree representation is the hierarchy of files and directories displayed by the Microsoft Windows Explorer program. In both of these examples provision must be made to collapse or expand a node in order to make the navigation of a large unwieldy tree manageable.
For certain situations, such a tree may need to be seen in its entirety (fully expanded). If the tree is scaled down so that it can be viewed completely at one time, then not much useful information can be shown along with the nodes of the tree. If the entire tree is laid out so that usable information can be shown on each node, then certain problems arise. When the top of the tree is viewed, the distance between the high level nodes can become so great that they are of no use. When the bottom of the tree is put into view, the lower level nodes become a tangle of seemingly disconnected information (it is difficult to see the relationships between the nodes because connections to the parent nodes cannot be seen).
Figures 1 and 2 illustrate these problems. Figure 1 depicts different visual views of a large amount of data in the form of a tree. One view depicts data nodes near a top (left side in Figure 1) and a second view depicts a different set of data nodes near a base or bottom (right side of Figure 1) of the data tree. A scroll bars are used to navigate the tree structure that is displayed in the scrollable window. Figure 2 is an example of a fully expanded directory structure depicted by Windows Explorer where all connections to the higher level, owner directories have been lost.
Summary of the Invention The present invention concerns a method for enabling effective browsing and examination of large amounts of data that are organized or classified in a data structure. Many of the problems that have been experienced trying to explore and/or view large amounts of data are overcome by a novel navigation and rendering scheme constructed in accordance with the invention. Two simultaneously viewable windows are displayed for a user. Using the example of a data tree, an overview of the entire tree is depicted in one window and only a portion of the tree is displayed in a second window. The second window shows individual nodes and interconnections and the first overview window depicts the entire tree in a way that makes traversal of the information in the tree intuitive to the user.
One use of the invention is for viewing a decision tree produced by a data mining system such as the data mining system disclosed in co-pending United States patent application serial number 08/982,760 entitled "Method and Apparatus for Efficiently Mining Classification Models from Databases." Another representative use of the invention displays and navigates a file structure maintained by a computer operating system. Generally, the invention has application for displaying and system of interconnected nodes such as a graph, a network, an organizational chart, a flowchart etc. wherein data or information is associated with nodes of the system.
Use of color gradients helps the user identify trends or anomalies in the data by visualizing the tree as a whole. In general, a property is associated with a clor, and the color intensity can visually represent the value of the property (e.g. red being high, yellow being low). An exemplary embodiment of the invention is implemented as an ActiveX control with a user interface suitable for viewing and exploring large trees.
One exemplary embodiment of the invention includes a method for displaying data as a tree data structure. A user interface is painted by a tree rendering component that allows intuitive navigation and interpretation of the tree structure. The tree rendering component updates two related windows, a layout window and a thumbnail window. The tree rendering component maintains a structure of a tree depicted in the thumbnail window and depicts a portion of the entire tree in the layout window. The use of side by side windows, one of which shows the whole tree and another of which shows a portion of the tree allows easier user visualization of the data characterized by the tree.
The exemplary embodiment of the invention also conveys additional information in other windows (or window panes of the main window) on a viewing monitor. In accordance with one embodiment, a path window displays as text a sequence of concatenated decision steps required to reach a given node in the data structure. It is a textual summary of the context. Additionally, the user can select a given node that is displayed in the layout window and a detail window itemizes information about the contents of the selected node. The detail window can include a histogram of the values of a variable or score of interest. In use of the invention with a database classifier such a window could further itemize different categories of data that satisfy the logic leading to a particular node of the data structure. These and other objects, advantages and features of the invention are further understood from the detailed description of an exemplary embodiment of the invention which is described in conjunction with the accompanying drawings. Brief Description of the Drawings
Figures 1 and 2 are prior art illustrations of data depictions;
Figure 3 is a high level architecture of a data displaying system constructed in accordance with the present invention; Figures 4 and 5 are alternate depictions illustrating different aspects of the invention for use in displaying data structures;
Figure 5 A is a enlarged view of a thumbnail window for displaying a data structure in an overview fashion; and
Figure 6 is a schematic of a computer system for implementing the exemplary embodiment of the invention.
Detailed description of an Exemplary embodiment of the present invention
An exemplary embodiment of the present Invention is implemented as an ActiveX computer control component 10 that includes a data viewer component 12 for displaying data structures on a viewing screen such as a computer screen 147 by supplying appropriate data for use by the computer operating system that updates the screen display. The techniques for implementing Active X components by means of COM object interfaces are known in the prior art. A discussion of COM object interfaces is contained in the book "Inside COM" by Dale Rogerson, Microsoft Press copyright 1997. Although the data viewer component disclosed in the application displays data as a tree structure it is appreciated that other data depictions such as graphs and networks could be displayed using the Active X components 10. In the discussion that follows, data depiction and data structure are used interchangeably.
Practice of the invention allows a user to better visualize and navigate a data structure derived from a data source such as a large database stored on multiple (possibly distributed) memory devices. A user Interface 20 (Figure 4) shows an example of operation of the data viewer, i.e. a displayed on a viewing screen such as a computer monitor 147 (Figure 6). Within a frame window, the ActiveX implementation of the viewer sets up four related windows 30 - 33 to help the user navigate the data structure from the data source. These four windows 30 - 33 are identified in Figure 4 as a layout window 30, a thumbnail window 31 , a path window 32 , and a details window 33. The data viewer component 12 is coupled by means of an ITreeNavigation COM interface 14 to a tree provider component 16. The tree provider 16 maintain the structure of a tree 18 depicted in the layout window 30 and provide all contextual information about the tree. By responding to some simple generic requests from the tree viewer 12, the tree provider 16 draws and navigates the tree. The data tree viewer component 12 is unconcerned with the type or meaning to the tree being drawn. The tree provider 16 also supplies a Detail Displayer ActiveX control for displaying detailed provider specific information about individual nodes within a tree. Figure 3 shows the high level architecture of how the tree viewer 12 interfaces with the tree provider 16 as a COM interface 14. The results of the cooperation between the tree provider and the tree viewer is an ItreeNiew interface to the operating system.
The present invention has particular utility for use in characterizing data contained in a database having many records stored on multiple, possibly distributed storage devices. Each record has many attributes or fields which for a representative database might include age, income, number of children, education level, marital status etc. Such data can be obtained, for example, from census data gathered from many people in response to a survey. One goal of the invention is to help a user to visualize the contents of the database once it has been classified by means of a classifier scheme such as the scheme disclosed in the above mentioned patent application to Chaudhuri et al which is incorporated herein by reference.
Thumbnail to Layout relationship
The display and operation of the Thumbnail window 31 is closely tied to the Layout window 30. The relationship between the two is similar to the movement co-ordination between the display in a client window in response to a user actuation of a scrollbar. The Thumbnail view shows a miniature outline of an entire tree 18. The Layout view shows a full size representation of a portion 18a of the tree (a sub-tree). A raised area control component 40 within the Thumbnail view acts much like the "thumb" of a normal scollbar and will hereinafter referred to as the thumb 40. The position of this thumb 40 over the miniature view of the tree 18 determines the portion 18a of the tree (sub-tree) that is shown in the Layout view. Under most circumstances, the sub- tree under the thumb is completely visible within the Layout window because the size of the thumb is determined by the largest sub-tree that can be viewed in the layout window 30.
Navigation with the Thumbnail
The Thumbnail view's rendering includes a raised control component or thumb 40 which can be moved to a specific region of the miniature tree 18 simply by moving the cursor over a portion of the tree and clicking on another portion 42 of the tree. Additionally, the thumb 40 can be moved incrementally by clicking on the thumb with the pointing device. While the cursor is positioned over the thumb, the cursor (not shown) changes shape to indicate the direction of incremental movement that a user actuated click of the mouse or other pointing device will produce. As the raised area control component 40 is moved in this manner, its size is changed provider to indicate the set of nodes in the subtree that can be fit in the main layout window. It is appreciated that other bound shapes of indicators could be used to give a relative indication of data displayed in the layout window to the entire tree structure.
Drawing the Layout window
The sub-tree 18a selected by the raised area of the Thumbnail view is drawn at a larger scale as a Layout view in the layout window 30. The sub-tree is drawn left to right where the leftmost node represents the highest point in the tree outlined by or encompassed by the borders of the thumb 40 of the thumbnail view 18. (This node is a common parent of all other visible nodes depicted in the layout view.) In the figure the tree is laid out in left to right order to include descritptive text naturally. The tree may be laid out in any other fashion by the tree rendering component. Nodes are drawn as colored ellipses 44 with branches shown as lines 46 leaving the right side of a node and connecting to the node's children. The color of the node (as well as the corresponding region of the Thumbnail) is determined by a score that is reported for the node by the tree provider 16. The score can be changed via some user interface controls, and the tree provider accordingly can expose different scores for each node. A text label is draw within the ellipse of the node, and a text label for an edge is drawn on any connecting line. The tree provider component 16 supplies these labels.
As is well known, a standard video display monitor is wider than it is tall. Tree structures having interconnected nodes are best displayed on such a monitor if the tree is displayed 'sideways'. If the leftmost node is the tree root, then no edge leads to the node on the left hand side of the display. If the leftmost node is an interior node, then an edge is connected to the leftmost node. The text that is rendered within the layout window for conveying information about the tree nodes is also displayed horizontally next to the nodes and edges of the tree.
The visible sub-tree 18a is drawn within the Layout window as if it was a complete tree. Children nodes that are not included within the sub-tree and will not be visible are not considered when spacing the rightmost visible nodes. The Layout view draws the visible sub-tree to a given scale. The window scale can be changed providing a zoom-in or zoom-out effect.
Navigation within the Layout window.
The tree can also be navigated from within the Layout view. Clicking on an edge line 46 will change the display to show a sub-tree starting with the child node that the edge line points to. This includes any half-lines 46a that point toward non-visible children, (lines on the right of the rightmost nodes.) One exception is that clicking on an edge 46b emanating from the left of the leftmost (top) node will move the display up one level in the tree.
One of the nodes within the Layout view can be put into focus. A node in focus is drawn differently to indicate selection.
Details of Layout/Thumbnail interaction
The Thumbnail and Layout windows work together to determine the size of the Thumbnail's scroll thumb and thus the size of the sub-tree visible within the Layout view. The following steps describe this interaction: A thumbnail component of the tree viewer 12 is instructed (by a navigation or a COM interface call) to put a sub-tree starting at a particular node into view. The Thumbnail asks the Layout for the dimensions of the largest possible tree that it can fit without clipping inside its window. These numbers are based upon the dimensions of the Layout window, the current Layout scaling factor, and some inherent metrics about the relative sizes and relative positions of the object used to render a tree.
The Thumbnail control then knows the maximum depth or width that can be shown, and traverses down the tree starting from the chosen node. It keeps track of the depth traversed and the width of the sub-tree at the given depth and stops traversing down before one of the maximums is surpassed. The Thumbnail now can identify the visible sub-tree, and it positions its thumb (raised region) accordingly on the miniature tree 18. The Layout view gets the depth of the visible sub-tree 18a from the Thumbnail and draws the tree.
The Path Window
The Path window 32 shows a concatenation of the decision criteria needed to reach the Layout window's leftmost visible node by working down from the root of the entire tree. The tree provider 16 supplies a description of each step along the way. The Path provided in this window gives the user a context when viewing a nested sub-tree 18a since it gives information about the leftmost data node of that subtree.
The Details Window or Windows
When one of the nodes is selected for focus within the Layout view, the Details window can show detailed provider specific information about the node. To make this happen, the tree provider 16 supplies an ActiveX control that supports the INodeDisplay interface of a component for displaying node detail. This provider-supplied control will be hosted within the Details window. The tree viewer uses the INodeDisplay interface to alert a provider object that the details for a specific node are to be shown when a particular node is in focus. In Figure 4 the node 44' is in focus. This node was selected by the user moving the cursor over the node and right clicking on the mouse 142 (Figure 6) or other suitable pointing device.
Visualizing tree structure via color gradients.
The tree provider 16 has control over the semantics for the "score" that it reports for a node to the tree viewer. This score (between 0 and 1) is used by the tree viewer to set the illumination of the color of each node's representation in the Layout view and the miniature tree outline for nodes in the thumbnail window. The figure 5, the tree viewer illustrates a decision tree that classifies education level for a large sample of census data. The score reported for nodes shown in figure 5 is relative to the number of data records for individuals that conform to or fit a given edge' s condition. Using this score, the tree shows dark "veins" of data concentration since a score is based upon the number of records relative to the entire database represented by a node and the children of that node.
Figure 5 and Figure 5 A illustrate by means of cross hatching in the drawings use of the color coding to depict data structure information. The control component 40 is located over the leftmost portion of the tree 18. As seen in the path window 32 the entire tree is chosen so that the leftmost node in the window 30 is the tree root node and has no edge entering the node from the left. Each of the nodes of the window 30 has been color coded in accordance with a scale factor based on the number of data records from the database classified in a given node. Branches in the tree are based on attribute values of the data records in the database from which the records are obtained and therefore as one travels away from the root node in the tree the score or number of records decreases. In the depiction of Figures 5 and 5 A the largest number of records is indicated with a 'black' cross hatching, the second highest with a 'green', then a 'blue' a 'violet' and finally a 'white'. The score for the node as determined by the tree viewer need not be based on an absolute number but instead can be chosen as a relative indication. In the tree classifier of the previously identified patent application to Chaudhuri et al , for example, the nodes of the tree correspond to a classification system that can result in records having the same attribute satisfying different branches of the classifier tree. The color of the nodes could be used to indicate therefore a probability of a given node satisfying certain facts rather than an absolute tabulation of a number of data records. Using an example from a database classifier, the color coding could signify probability of a family having a child in college even though the branching of the tree does not branch on that attribute value.
Other properties could be color coded to convey information about the data structure. Instead of a classifier of a database, the tree structure could depict a directory structure of a computer file system. In that circumstance, in addition to showing the size of the files within the directory, a use somewhat akin to the one described above for a database classifier, the color coding provided by the Tree provider could indicate how recently files in the directory structure have been opened, frequency of use, permission levels of files with the file structure or any other property that could be turned into a score relative to other nodes in the hierarchy of files. Similarly, in a graph structure or network the color coding could indicate data traffic or instances of data retransmission or error occurrences at a particular node of the network.
Computer System With reference to Figure 1 an exemplary data processing system for practicing the disclosed invention includes a general purpose computing device in the form of a conventional computer 120, including one or more processing units 121, a system memory 122, and a system bus 123 that couples various system components including the system memory to the processing unit 121. The system bus 123 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
The system memory includes read only memory (ROM) 124 and random access memory (RAM) 125. A basic input/output system 126 (BIOS), containing the basic routines that helps to transfer information between elements within the computer 120, such as during start-up, is stored in ROM 24.
The computer 120 further includes a hard disk drive 127 for reading from and writing to a hard disk, not shown, a magnetic disk drive 128 for reading from or writing to a removable magnetic disk 129, and an optical disk drive 130 for reading from or writing to a removable optical disk 131 such as a CD ROM or other optical media. The hard disk drive 127, magnetic disk drive 128, and optical disk drive 130 are connected to the system bus 123 by a hard disk drive interface 132, a magnetic disk drive interface 133, and an optical drive interface 134, respectively. The drives and their associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for the computer 120. Although the exemplary environment described herein employs a hard disk, a removable magnetic disk 129 and a removable optical disk 131, it should be appreciated by those skilled in the art that other types of computer readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, random access memories (RAMs), read only memories (ROM), and the like, may also be used in the exemplary operating environment.
A number of program modules may be stored on the hard disk, magnetic disk 129, optical disk 131, ROM 124 or RAM 125, including an operating system 135, one or more application programs 136, other program modules 137, and program data 138. A user may enter commands and information into the computer 120 through input devices such as a keyboard 140 and pointing device 142. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 121 through a serial port interface 146 that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, game port or a universal serial bus (USB). A monitor 147 or other type of display device is also connected to the system bus 23 via an interface, such as a video adapter 148. In addition to the monitor, personal computers typically include other peripheral output devices (not shown), such as speakers and printers.
The computer 120 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 149. The remote computer 149 may be another personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 120, although only a memory storage device 150 has been illustrated in Figure 1. The logical connections depicted in Figure 1 include a local area network (LAN) 151 and a wide area network (WAN) 152. Such networking environments are commonplace in offices, enterprise- wide computer networks, intranets and the Internet.
When used in a LAN networking environment, the computer 120 is connected to the local network 151 through a network interface or adapter 153. When used in a WAN networking environment, the computer 120 typically includes a modem 154 or other means for establishing communications over the wide area network 152, such as the Internet. The modem 154, which may be internal or external, is connected to the system bus 123 via the serial port interface 46. In a networked environment, program modules depicted relative to the computer 120, or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
While the present invention has been described with a degree of particularity, it is the intent that the invention include all modifications and alterations from the disclosed implementations falling within the spirit or scope of the appended claims.

Claims

Claims 1. A method for displaying data comprising the steps of providing a user interface for displaying and navigating a data structure based on data from a data source by: rendering an overview depiction of a first portion of the data structure in one region of a video display; rendering a second, detail depiction of the data structure in a second region of the video display; and displaying a control component within the overview depiction for navigating the data structure and adjusting the detail portion of the data structure appearing within the second region of the video display.
2. The method of claim 1 wherein the data structure is a graph having edges interconnecting nodes of said graph.
3. The method of claim 1 wherein the data structure is a tree having a root node and branches leading from the root node to other nodes.
4. The method of claim 1 further comprising the step of moving the control component displayed within the overview portion to correspondingly adjust the rendering of the detail depiction of the data structure in the second region of the video display.
5. The method of claim 4 wherein the control component is an enclosed figure having borders that overlap the rendering of the data structure within the overview depiction.
6. The method of claim 5 wherein the borders of the control component are shaded to make the control component appear as a raised portion of the overview depiction of said data structure.
7. The method of claim 1 wherein the data structure is characterized by a decision tree representing data from a database and wherein the detail depiction displays data nodes from a selected portion of the decision tree.
8. The method of claim 7 additionally comprising the step of displaying text corresponding to a logic of the branches of the decision tree leading to the data nodes displayed in the detail depiction.
9. The method of claim 1 wherein the data structure is characterized by a tree representation of a file system maintained by a computer operating system.
10. The method of claim 1 wherein the user interface is rendered via a computer operating system that includes an ability to render multiple windows and wherein the overview depiction is rendered in a first window and the detail depiction is rendered in a second window and wherein the detail depiction is displayed as a plurality of interconnected nodes and wherein each node is labeled with text for conveying information about the data that defines the node.
11. The method of claim 10 wherein additional information is displayed on the user interface based on the step of selecting a data node forming the detail depiction of the data structure.
12. The method of claim 11 wherein the additional information is displayed in an additional separate detail region of the user interface.
13. The method of claim 10 wherein the step of displaying the control component includes the step of displaying a moveable cursor across the first and second windows to control depiction of the data structure.
14. The method of claim 1 wherein the data structure is displayed by means of a COM object that communicates with a data source by means of an object interface.
15. The method of claim 1 comprising the steps of displaying a plurality of data nodes in a detail window which are rendered with color depictions and wherein the color of the node's representation in the Layout view and the miniature tree outline in the thumbnail window represents occurrences of data .
16. Apparatus for displaying a data structure based on information contained within a data source comprising: a data classifier for classifying the information from the data source and building a data structure from the information; a display component communicating with the data classifier for rendering a visual depiction of the data structure by displaying two related renderings of the data structure, a first overview depiction of the data structure and a second detail depiction of a subportion of the overview portion; and a control for allowing a user to communicate with the display component to adjust the visual rendering of the data structure.
17. The apparatus of claim 16 wherein the data classifier classifies the data structure as a plurality of interconnected nodes wherein data records from the data source are associated with the nodes.
18. The apparatus of claim 17 wherein the data classifier classifies the data structure as a tree having a root node connected to multiple branch nodes and terminating in leaf nodes.
19. The apparatus of claim 16 wherein the data classifier is a COM object component for gathering data from the data source.
20. The apparatus of claim 16 where the display component further comprises means for defining a highlighted region of the overview depiction and depicting correspondingly different portions of the data structure in the detail depiction.
21. The apparatus of claim 20 further comprising means for adjusting the size of the highlighted region based upon the data contained within the portion of the data structure represented by the highlighted region.
22. The apparatus of claim 20 wherein the highlighted region is bounded by a border in the overview depiction.
23. The apparatus of claim 17 further comprising means for displaying a textual description of the nodes that make up the data structure.
24. The apparatus of claim 16 wherein the display component comprises means for depicting a series of interconnected nodes and wherein at least some of said nodes are labeled with information about the data that defines an associated node.
25. The apparatus of claim 24 additionally comprising means for depicting additional information for a node that is highlighted in the detail depiction.
26. The apparatus of claim 25 wherein the display component renders a separate window for the detail and overview depictions.
27. The apparatus of claim 25 wherein the display renders a detail window for displaying the detail depiction and separately renders a detail window containing information concerning nodes in the detail window.
28. The apparatus of claim 16 further wherein the display component alters the depiction of the data structure within the detail depiction based upon a user actuation of the control and wherein the control produces a cursor movement over the overview depiction.
29. The apparatus of claim 16 wherein the display component comprises a COM object that communicates with the data source by means of an object interface.
30. The apparatus of claim 17 wherein each node is assigned a score based upon the data represented by its associated node.
31. The apparatus of claim 30 wherein the score is converted into a color on the viewing monitor.
32. The apparatus of claim 30 wherein the portions of the overview data structure depiction are also displayed with a color rendering corresponding to the score assigned to data within the data structure.
33. A computer readable medium having stored thereon computer-executable components for displaying a data structure by performing the steps of providing a user interface for displaying and navigating a data structure having two related depictions, an overview depiction and a detail depiction by rendering an overview depiction of a first portion of the data structure in one region of a viewing monitor coupled to a computer executing the computer-executable components, by rendering a second, detail portion of the data structure in a second region of the viewing monitor; and additionally displaying a control component with respect to the overview depiction that corresponds to the detail portion of the data structure appearing within the second region of the viewing monitor.
34. The computer readable medium of claim 33 further comprising a component for adjusting the control component displayed within the thumbnail window to correspondingly adjust the rendering of the detail portion of the data structure in the second region of the display.
35. The computer readable medium of claim 34 further comprising a component for adjusting the control component comprises a component for adjusting a location of the control component with respect to the overview depiction.
36. The computer readable medium of claim 35 further comprising a component for rendering an enclosed figure having borders that overlap the rendering of the data structure within the overview depiction.
37. The computer readable medium of claim 36 wherein the borders are shaded to make the control component appear as a raised portion of the overview depiction.
PCT/US1999/018675 1998-09-10 1999-08-17 Method and apparatus for visualizing and exploring large hierarchical structures WO2000016307A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU57768/99A AU5776899A (en) 1998-09-10 1999-08-17 Method and apparatus for visualizing and exploring large hierarchical structures

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US9968598P 1998-09-10 1998-09-10
US60/099,685 1998-09-10
US09/300,932 1999-04-28
US09/300,932 US6496208B1 (en) 1998-09-10 1999-04-28 Method and apparatus for visualizing and exploring large hierarchical structures

Publications (2)

Publication Number Publication Date
WO2000016307A1 WO2000016307A1 (en) 2000-03-23
WO2000016307A9 true WO2000016307A9 (en) 2000-09-28

Family

ID=26796371

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/018675 WO2000016307A1 (en) 1998-09-10 1999-08-17 Method and apparatus for visualizing and exploring large hierarchical structures

Country Status (3)

Country Link
US (1) US6496208B1 (en)
AU (1) AU5776899A (en)
WO (1) WO2000016307A1 (en)

Families Citing this family (135)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6587969B1 (en) * 1998-06-22 2003-07-01 Mercury Interactive Corporation Software system and methods for testing the functionality of a transactional server
US7278106B1 (en) * 1998-07-14 2007-10-02 Computer Associates Think, Inc. Method and apparatus for interacting with a source code control system
WO2000008580A1 (en) * 1998-08-03 2000-02-17 Corporate Express, Inc. Customer management system for use with office products supplier
DE19905630A1 (en) * 1999-02-11 2000-08-17 Deutsche Telekom Ag Process for the graphic representation and / or processing of values of data types
US7212999B2 (en) 1999-04-09 2007-05-01 Trading Technologies International, Inc. User interface for an electronic trading system
US6993504B1 (en) 1999-04-09 2006-01-31 Trading Technologies International, Inc. User interface for semi-fungible trading
US6993720B1 (en) * 1999-05-14 2006-01-31 Cnet Networks, Inc. Apparatus and method for integrated software documentation
US7237015B1 (en) * 1999-07-16 2007-06-26 Canon Kabushiki Kaisha System for setting location information in a device on a network
JP4340358B2 (en) * 1999-08-02 2009-10-07 富士フイルム株式会社 Image shooting device
DE19942315A1 (en) * 1999-09-04 2001-05-17 Gfs Systemtechnik Gmbh & Co Kg Process for the configuration and parameterization of a computer program for the operation of a plant for process data processing
JP4428844B2 (en) * 1999-10-01 2010-03-10 キヤノン株式会社 Information processing apparatus, data processing method, and recording medium
US7639256B1 (en) * 1999-10-08 2009-12-29 I2 Technologies Us, Inc. System and method for displaying graphs
US6505209B1 (en) * 1999-11-02 2003-01-07 Monkeymedia, Inc. Poly vectoral reverse navigation
US7079166B1 (en) * 2000-01-07 2006-07-18 Ricoh Company, Ltd. Graphical user interface with enhanced operations when changing display screen
US7251666B2 (en) * 2000-02-01 2007-07-31 Internet Business Information Group Signature loop authorizing method and apparatus
US6772132B1 (en) 2000-03-02 2004-08-03 Trading Technologies International, Inc. Click based trading with intuitive grid display of market depth
US6938011B1 (en) 2000-03-02 2005-08-30 Trading Technologies International, Inc. Click based trading with market depth display
US7389268B1 (en) 2000-03-02 2008-06-17 Trading Technologies International, Inc. Trading tools for electronic trading
US7038811B1 (en) * 2000-03-31 2006-05-02 Canon Kabushiki Kaisha Standardized device characterization
US7315830B1 (en) * 2000-08-11 2008-01-01 Nexus Company, Ltd. Method, system and computer program product for ordering merchandise in a global computer network environment
WO2002069192A1 (en) * 2001-02-26 2002-09-06 Compudigm International Limited Data visualisation system and method
US20020126154A1 (en) * 2001-03-12 2002-09-12 Watson Edwin George Method for displaying and scrolling data including display status feedback
US7043702B2 (en) * 2001-03-15 2006-05-09 Xerox Corporation Method for visualizing user path through a web site and a path's associated information scent
US7475333B2 (en) 2001-06-01 2009-01-06 Sap Ag Defining form formats with layout items that present data of business application
US7234105B2 (en) 2001-09-20 2007-06-19 Sap Ag Methods and systems for providing a document with interactive elements to retrieve information for processing by business applications
US8046708B1 (en) * 2003-08-07 2011-10-25 The Mathworks, Inc. Reversed links from graphical diagram representation
US6490229B1 (en) * 2001-11-09 2002-12-03 John T. Caver Trolling motor transducer mount
US7992105B2 (en) * 2001-11-21 2011-08-02 Jose Rodriguez System process and logic element for providing and managing record keeping applications
US7075550B2 (en) * 2001-11-27 2006-07-11 Bonadio Allan R Method and system for graphical file management
US7363593B1 (en) * 2001-11-30 2008-04-22 Versata Development Group, Inc. System and method for presenting information organized by hierarchical levels
US7310784B1 (en) * 2002-01-02 2007-12-18 The Jellyvision Lab, Inc. Methods for identifying cells in a path in a flowchart and for synchronizing graphical and textual views of a flowchart
JP4098986B2 (en) * 2002-01-21 2008-06-11 株式会社ビーコンインフォメーションテクノロジー Collective display system and computer program
US20030139901A1 (en) * 2002-01-22 2003-07-24 Forman George Henry Navigating organizational structures
US20030172010A1 (en) * 2002-03-08 2003-09-11 Agile Software Corporation System and method for analyzing data
US8386296B2 (en) 2002-03-08 2013-02-26 Agile Software Corporation System and method for managing and monitoring supply costs
US7865867B2 (en) * 2002-03-08 2011-01-04 Agile Software Corporation System and method for managing and monitoring multiple workflows
US7191119B2 (en) * 2002-05-07 2007-03-13 International Business Machines Corporation Integrated development tool for building a natural language understanding application
FR2840424B1 (en) * 2002-05-30 2004-09-03 Thomson Licensing Sa MULTIMEDIA DATA FRAGMENTATION METHOD AND DEVICE
US7028036B2 (en) * 2002-06-28 2006-04-11 Microsoft Corporation System and method for visualization of continuous attribute values
GB2391150B (en) * 2002-07-19 2005-10-26 Autodesk Canada Inc Editing image data
DE10235517A1 (en) * 2002-08-05 2004-03-04 Siemens Ag Tool and procedure for configuring, designing or programming a system
US8302019B2 (en) * 2002-11-05 2012-10-30 International Business Machines Corporation System and method for visualizing process flows
FR2847049B1 (en) * 2002-11-13 2005-02-18 France Telecom SYSTEM FOR ASSISTING INFORMATION IN A GRAPH AND CORRESPONDING METHOD
US7356491B2 (en) * 2003-02-13 2008-04-08 International Business Machines Corporation Method for transferring large supplier catalogs through the internet network
US7427987B2 (en) * 2003-04-22 2008-09-23 International Business Machines Corporation Displaying multi-ownership in a tree-map visualization
US7587357B1 (en) 2003-06-30 2009-09-08 Trading Technologies International Inc. Repositioning of market information on trading screens
US7836427B1 (en) 2003-07-01 2010-11-16 Microsoft Corporation Tree-based rule composition with natural language inline editing
US20060174214A1 (en) * 2003-08-13 2006-08-03 Mckee Timothy P System and method for navigation of content in multiple display regions
US7266785B2 (en) * 2003-12-15 2007-09-04 International Business Machines Corporation Showing ancestors in tree view while scrolling
US7698654B2 (en) * 2004-01-05 2010-04-13 Microsoft Corporation Systems and methods for co-axial navigation of a user interface
US20050188325A1 (en) * 2004-02-20 2005-08-25 Kolman Robert S. Highlighting panning window interface
US20050222835A1 (en) * 2004-04-02 2005-10-06 Fridolin Faist Method for automatic modeling a process control system and corresponding process control system
US7756869B2 (en) * 2004-04-30 2010-07-13 The Boeing Company Methods and apparatus for extracting referential keys from a document
EP1594090B1 (en) * 2004-05-03 2008-03-26 Siemens Aktiengesellschaft Graphical user interface for displaying multi-hierarchically structured sets
US9213714B1 (en) * 2004-06-22 2015-12-15 Apple Inc. Indicating hierarchy in a computer system with a graphical user interface
US7873916B1 (en) 2004-06-22 2011-01-18 Apple Inc. Color labeling in a graphical user interface
US20050289159A1 (en) * 2004-06-29 2005-12-29 The Boeing Company Web-enabled real-time link selection apparatus and method
US20050289447A1 (en) * 2004-06-29 2005-12-29 The Boeing Company Systems and methods for generating and storing referential links in a database
US20050289185A1 (en) * 2004-06-29 2005-12-29 The Boeing Company Apparatus and methods for accessing information in database trees
US20090228447A1 (en) * 2004-07-01 2009-09-10 Creekbaum William J System, method, and solfware application for enabling a user to search an external domain within a visual mapping interface
US9038001B2 (en) * 2004-07-01 2015-05-19 Mindjet Llc System and method for graphically illustrating external data source information in the form of a visual hierarchy in an electronic workspace
US9047388B2 (en) * 2004-07-01 2015-06-02 Mindjet Llc System, method, and software application for displaying data from a web service in a visual map
SE0401737D0 (en) * 2004-07-03 2004-07-03 Tomas Hultgren Tools for skills acquisition and increased amount of solutions for development and production applications
US8583514B2 (en) * 2004-08-13 2013-11-12 Jeffrey Brian Klem System and method for tracking information in a business environment
US7840911B2 (en) * 2004-09-27 2010-11-23 Scott Milener Method and apparatus for enhanced browsing
US8327440B2 (en) 2004-11-08 2012-12-04 Bt Web Solutions, Llc Method and apparatus for enhanced browsing with security scanning
US20060074984A1 (en) * 2004-09-27 2006-04-06 Scott Milener Graphical tree depicting search or browsing history
US20060069618A1 (en) * 2004-09-27 2006-03-30 Scott Milener Method and apparatus for enhanced browsing
US8732610B2 (en) 2004-11-10 2014-05-20 Bt Web Solutions, Llc Method and apparatus for enhanced browsing, using icons to indicate status of content and/or content retrieval
US8037527B2 (en) * 2004-11-08 2011-10-11 Bt Web Solutions, Llc Method and apparatus for look-ahead security scanning
EP1655663A1 (en) * 2004-11-05 2006-05-10 Siemens Aktiengesellschaft Dataflow modelling in engineering systems
US20060200775A1 (en) * 2005-03-01 2006-09-07 Behr Jay A Displaying a plurality of selection areas in a computer-implemented graphical user interface
US7506274B2 (en) * 2005-05-18 2009-03-17 Microsoft Corporation System and method for interactively displaying multi-dimensional data
RU2005124030A (en) * 2005-07-28 2007-02-10 Александр Михайлович Юров (RU) METHOD OF VISUAL ADDRESSING TEAMS IN TREE
US20070083554A1 (en) * 2005-10-12 2007-04-12 International Business Machines Corporation Visual role definition for identity management
US7631272B2 (en) * 2005-11-14 2009-12-08 Microsoft Corporation Focus scope
US20070192729A1 (en) * 2006-02-10 2007-08-16 Microsoft Corporation Document overview scrollbar
CN101063972B (en) * 2006-04-28 2010-05-12 国际商业机器公司 Method and apparatus for enhancing visuality of image tree
US20070266036A1 (en) * 2006-05-15 2007-11-15 Microsoft Corporation Unbounded Redundant Discreet Fact Data Store
US8103703B1 (en) 2006-06-29 2012-01-24 Mindjet Llc System and method for providing content-specific topics in a mind mapping system
US8521709B2 (en) * 2006-10-31 2013-08-27 The Jellyvision Lab, Inc. Methods for preloading media assets
US20080184143A1 (en) * 2006-12-14 2008-07-31 Gottlieb Harry N Methods for Identifying Actions in a Flowchart
WO2008098161A1 (en) 2007-02-08 2008-08-14 Gottlieb Harry N Method of automatically populating and generating flowchart cells
US8584046B2 (en) * 2007-04-09 2013-11-12 Microsoft Corporation Visualizing differences in similarity metrics of hierarchies
US8060540B2 (en) 2007-06-18 2011-11-15 Microsoft Corporation Data relationship visualizer
US9530105B2 (en) * 2007-06-27 2016-12-27 Microsoft Technology Licensing, Llc Managing entity organizational chart
CN101354707A (en) * 2007-07-26 2009-01-28 国际商业机器公司 Method and apparatus for customizing model entity expression based on expression regulation
US8312389B2 (en) * 2007-08-31 2012-11-13 Fair Isaac Corporation Visualization of decision logic
US8200609B2 (en) * 2007-08-31 2012-06-12 Fair Isaac Corporation Construction of decision logic with graphs
US8266090B2 (en) 2007-08-31 2012-09-11 Fair Isaac Corporation Color-coded visual comparison of decision logic
US9292306B2 (en) 2007-11-09 2016-03-22 Avro Computing, Inc. System, multi-tier interface and methods for management of operational structured data
US7788280B2 (en) * 2007-11-15 2010-08-31 International Business Machines Corporation Method for visualisation of status data in an electronic system
US20090157616A1 (en) * 2007-12-12 2009-06-18 Richard Barber System and method for enabling a user to search and retrieve individual topics in a visual mapping system
US20090157801A1 (en) * 2007-12-12 2009-06-18 Richard Barber System and method for integrating external system data in a visual mapping system
US8161396B2 (en) * 2007-12-20 2012-04-17 Mindjet Llc System and method for facilitating collaboration and communication in a visual mapping system by tracking user presence in individual topics
US20090187864A1 (en) * 2008-01-17 2009-07-23 Microsoft Corporation Dynamically Scalable Hierarchy Navigation
US7912927B2 (en) * 2008-03-26 2011-03-22 Microsoft Corporation Wait for ready state
US9135331B2 (en) 2008-04-07 2015-09-15 Philip J. Rosenthal Interface including graphic representation of relationships between search results
US8255423B2 (en) * 2008-04-25 2012-08-28 Fair Isaac Corporation Adaptive random trees integer non-linear programming
US8156445B2 (en) 2008-06-20 2012-04-10 Microsoft Corporation Controlled interaction with heterogeneous data
US8280836B2 (en) * 2008-09-08 2012-10-02 Fair Isaac Corporation Converting unordered graphs to oblivious read once ordered graph representation
US8730241B2 (en) * 2008-09-08 2014-05-20 Fair Isaac Corporation Techniques for drawing curved edges in graphs
ES2763537T3 (en) * 2008-09-16 2020-05-29 Beckman Coulter Inc Interactive tree diagram for flow cytometric data
US20100070891A1 (en) * 2008-09-18 2010-03-18 Creekbaum William J System and method for configuring an application via a visual map interface
US9582292B2 (en) * 2008-10-07 2017-02-28 Microsoft Technology Licensing, Llc. Merged tree-view UI objects
US9396455B2 (en) * 2008-11-10 2016-07-19 Mindjet Llc System, method, and software application for enabling a user to view and interact with a visual map in an external application
WO2010064939A1 (en) * 2008-12-05 2010-06-10 Business Intelligence Solutions Safe B.V. Methods, apparatus and systems for data visualization and related applications
US8667420B2 (en) * 2008-12-22 2014-03-04 Microsoft Corporation Techniques for presenting and browsing hierarchical data
US9652117B2 (en) * 2009-02-18 2017-05-16 International Business Machines Corporation Displaying a representation of data in conditions of limited visual space
US8677279B2 (en) * 2009-05-06 2014-03-18 Business Objects Software Limited Visual hierarchy explorer
US8190710B2 (en) 2009-06-23 2012-05-29 Oracle International Corporation System and method for providing user context support in a native transaction platform
US8326913B2 (en) * 2009-06-25 2012-12-04 Oracle International Corporation Method and system for service contract discovery
US8392267B1 (en) 2009-06-30 2013-03-05 Mindjet Llc System, method, and software application for dynamically generating a link to an online procurement site within a software application
US20110035802A1 (en) * 2009-08-07 2011-02-10 Microsoft Corporation Representing virtual object priority based on relationships
US8161413B2 (en) * 2009-09-01 2012-04-17 Oracle International Corporation Method and system for providing user interface representing organization hierarchy
US8863029B2 (en) * 2009-09-01 2014-10-14 Oracle International Corporation Method and system for providing graphical user interface having filtering capability
US8806379B2 (en) 2009-09-01 2014-08-12 Oracle International Corporation Method and system for displaying group relationships in a graphical user interface
US8488873B2 (en) * 2009-10-07 2013-07-16 Apple Inc. Method of computing global-to-local metrics for recognition
US20110138339A1 (en) * 2009-12-09 2011-06-09 Richard Webster Smart tree navigation
US20110138340A1 (en) * 2009-12-09 2011-06-09 Microsoft Corporation Rotating Hierarchy Cone User Interface
US8655880B2 (en) 2010-04-01 2014-02-18 Oracle International Corporation Graphical information navigator
US20110314028A1 (en) * 2010-06-18 2011-12-22 Microsoft Corporation Presenting display characteristics of hierarchical data structures
US10394778B2 (en) 2010-09-03 2019-08-27 Robert Lewis Jackson, JR. Minimal representation of connecting walks
US8997024B2 (en) * 2010-12-09 2015-03-31 Microsoft Technology Licensing, Llc Navigating between views of a graph using placemarkers
US9430118B2 (en) 2011-04-19 2016-08-30 International Business Machines Corporation Spatially-oriented traversal animations for network address transitions
EP2774059A1 (en) * 2011-11-04 2014-09-10 Bigml, Inc. Method and apparatus for visualizing and interacting with decision trees
US9501540B2 (en) 2011-11-04 2016-11-22 BigML, Inc. Interactive visualization of big data sets and models including textual data
US8868712B2 (en) 2012-02-06 2014-10-21 Ca, Inc. Effective visualization of an information technology environment through social scoring
US10026061B2 (en) 2012-05-14 2018-07-17 Macromicro Llc Interactive organization visualization tools for use in analyzing multivariate human-resource data of organizations
WO2013173264A2 (en) * 2012-05-14 2013-11-21 Macromicro Llc Interactive organization visualization tools for use in analyzing multivariate human-resource data of organizations
US9576246B2 (en) 2012-10-05 2017-02-21 BigML, Inc. Predictive modeling and data analysis in a secure shared system
US9159149B2 (en) * 2013-03-14 2015-10-13 Interntional Business Machines Corporation Visualizing data transfers in distributed file system
US9230168B2 (en) * 2013-07-31 2016-01-05 Digitalglobe, Inc. Automatic generation of built-up layers from high resolution satellite image data
US20170060348A1 (en) * 2015-08-26 2017-03-02 Sap Se Compact display of hierarchical structure on user interface
CN109271525A (en) * 2018-08-08 2019-01-25 北京百度网讯科技有限公司 For generating the method, apparatus, equipment and computer readable storage medium of knowledge mapping

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4313161A (en) * 1979-11-13 1982-01-26 International Business Machines Corporation Shared storage for multiple processor systems
US5309555A (en) * 1990-05-15 1994-05-03 International Business Machines Corporation Realtime communication of hand drawn images in a multiprogramming window environment
US5295244A (en) * 1990-09-17 1994-03-15 Cabletron Systems, Inc. Network management system using interconnected hierarchies to represent different network dimensions in multiple display views
JPH04318684A (en) 1991-04-17 1992-11-10 Mitsubishi Heavy Ind Ltd Data classifier
EP0529121A1 (en) 1991-08-24 1993-03-03 International Business Machines Corporation Graphics display tool
EP0609030B1 (en) 1993-01-26 1999-06-09 Sun Microsystems, Inc. Method and apparatus for browsing information in a computer database
US5528735A (en) * 1993-03-23 1996-06-18 Silicon Graphics Inc. Method and apparatus for displaying data within a three-dimensional information landscape
US5631825A (en) 1993-09-29 1997-05-20 Dow Benelux N.V. Operator station for manufacturing process control system
US5546529A (en) 1994-07-28 1996-08-13 Xerox Corporation Method and apparatus for visualization of database search results
US5571965A (en) * 1994-09-08 1996-11-05 Fmc Corporation Wheel balancer parameter entry device
US5572640A (en) * 1994-12-01 1996-11-05 Hewlett-Packard Company Batch transfer system and method for high performance graphic display of network topology
US5801702A (en) * 1995-03-09 1998-09-01 Terrabyte Technology System and method for adding network links in a displayed hierarchy
GB2301717B (en) * 1995-06-02 1999-08-11 Dsc Communications Network controller for monitoring the status of a network
US5793974A (en) * 1995-06-30 1998-08-11 Sun Microsystems, Inc. Network navigation and viewing system for network management system
US5958012A (en) * 1996-07-18 1999-09-28 Computer Associates International, Inc. Network management system using virtual reality techniques to display and simulate navigation to network components
US6008814A (en) * 1997-05-23 1999-12-28 International Business Machines Corporation Method and system for providing network navigation aids

Also Published As

Publication number Publication date
WO2000016307A1 (en) 2000-03-23
AU5776899A (en) 2000-04-03
US6496208B1 (en) 2002-12-17

Similar Documents

Publication Publication Date Title
US6496208B1 (en) Method and apparatus for visualizing and exploring large hierarchical structures
US10593078B2 (en) Reformating pixels that represent objects
US7737995B2 (en) Graphical user interface system and process for navigating a set of images
Büring et al. User interaction with scatterplots on small screens-a comparative evaluation of geometric-semantic zoom and fisheye distortion
US7383503B2 (en) Filtering a collection of items
US6278464B1 (en) Method, system, and computer program product for visualizing a decision-tree classifier
US7698657B2 (en) System and process for presenting search results in a histogram/cluster format
US6137499A (en) Method, system, and computer program product for visualizing data using partial hierarchies
US5555354A (en) Method and apparatus for navigation within three-dimensional information landscape
US9690831B2 (en) Computer-implemented system and method for visual search construction, document triage, and coverage tracking
Chuah Dynamic aggregation with circular visual designs
Walker et al. Timenotes: a study on effective chart visualization and interaction techniques for time-series data
KR101224709B1 (en) File management system employing time-line based representation of data
KR101083533B1 (en) System and method for user modification of metadata in a shell browser
US5528735A (en) Method and apparatus for displaying data within a three-dimensional information landscape
Neumann et al. ArcTrees: visualizing relations in hierarchical data.
US20060277203A1 (en) Method of providing tree-structured views of data
US11288337B2 (en) Object selection in web page authoring
Jog et al. Starfield visualization with interactive smooth zooming
Chintalapani et al. Extending the utility of treemaps with flexible hierarchy
Burch et al. Indented pixel tree browser for exploring huge hierarchies
Weaver Visualizing coordination in situ
Song et al. Multiple foci visualisation of large hierarchies with FlexTree
Plaisant et al. Using visualization tools to gain insight into your data
Gurvich et al. Firefly: a browser-based interactive 3D data visualization tool for millions of data points

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: C2

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: C2

Designated state(s): GH GM KE LS MW SD SL SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

COP Corrected version of pamphlet

Free format text: PAGES 1/5-5/5, DRAWINGS, REPLACED BY NEW PAGES 1/6-6/6; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase