Obtaining Meaningful Data from Large Data Sets Via Meta-Data Based User Interface Algorithms
Original Publication Date: 2005-Nov-02
Included in the Prior Art Database: 2005-Nov-02
One of the key difficulties facing large data retrieval about an enterprise infrastructure is organizing this information in a meaningful way using a graphical user interface. By using both mathematical patterning and external information about the data model, which is not contained in the data set, applied in series and in multiple passes, provides a great improvement for human usability of large data sets because it can help minimize visible overlapping and greatly reduce the complexity.
Obtaining Meaningful Data from Large Data Sets Via Meta -Data Based User Interface Algorithms
When first loaded into a user-interface application, large data sets of enterprise business and system infrastructure information are entirely unusable. Attempts to display them in straightforward "grid-layout" or other geometric patterns are unsuccessful in co-locating logically related elements. For example, see Figure 1, which demonstrates a raw dump of data from a large data source.
Figure 1: Initial layout of data
The first stage of the scheme is to use graph traversals to isolate groups of unconnected nodes. For example, in a network topology of 100 machines, there may be three distinct subnetworks. While the connectivity internally to these groups is dense, the sets are topologically unconnected. The layout algorithm determines these closed graphs via a recursive traversal function, and then positions isolated closed graphs in different parts of the visible screen.
The next pass uses enterprise meta-data to describe objects. Based on a stack-architecture, different object-types can be positioned to be in close proximity with
other objects of the same type. Next, each class of objects is stacked on top of a different but related class. Present implementations allow the user to define the order which "class types" are related. Future work will involve a statistical analysis of the most interconnected class-types, and move these types closer together. See Figure 2, which demonstrates the first passes of the class-layout algorithm.
Figure 2: Same type and stagger sorting
The key aspect of this phase is that external information is used to position logically related elements. This meta-data is read in to the program and describes which types of data ought to be closely located. For example, in Figure 2, the meta-data states that all Person objects should be located closely to all Service objects, since the model Person element performs a Service action. This is not intrinsic to the actual instance data.
Through this co-location, long stretches of connective arrows are eliminated. Further clean-up is provided in the next pass (Figure 3), which uses additional staggering (i.e. a mathematical pattern applied to the positions of the objects). By selecting non-harmonic (mutually-prime) vertical and horizontal coefficients for the stagger algorithm, intersections and overlap are again reduced.
Figure 3: Stagger to reduce intersection
The next phase of the layout algorithm involves "relaxation" or movement of...