Patent Publication Number: US-2017357664-A1

Title: Hierarchical navigation apparatus and method

Description:
BACKGROUND 
     The subject matter disclosed herein generally relates to a multi-purpose organization and data processing environment. 
     A variety of approaches have been used in the visualization of data having a hierarchal relationship, including the use of tree structures containing any number of folders and subfolders on computing devices. Typically, these tree structures do little more than identify any number of locations which may in turn lead to an operational data structure. In mobile computing devices, these hierarchies are traditionally displayed as a single pane that is representative of the current hierarchal level. 
     These hierarchal structures may have a large number of sublevels, thus it may become difficult to quickly and accurately identify a present operational level. In these situations, it may be time consuming to “back out” of the hierarchy to determine the present location. Particularly, in mobile computing devices where only one hierarchal level is shown at a time, determining the current operational level of the hierarchy may not be possible due to limitations on display sizes. As such, typical structures load sublevels or “children” only as needed. This may be beneficial for hierarchies having many branches or nodes, but creates visual challenges when the branches themselves have many sublevels, and so on. Additionally, large hierarchical structures oftentimes consume a substantial amount of computer memory and thus may negatively impact network communications required to navigate the structure. Previous approaches have difficulty when trying to determine how to display a large list of results while maintaining a visualization for previous nodes. 
     Further, these hierarchies are oftentimes linked to the operational data structure to allow a user to perform a number of tasks. When performing these tasks, it may become necessary to retrieve information contained within the hierarchal structure while maintaining the ability to access and modify elements of the task. Because of the aforementioned limitations of the hierarchies, these systems would not allow for this. 
     In the present technological environment, users require data quickly that has a recognizable meaning. Because hierarchies may contain any number of trees or other elements, it is oftentimes difficult for users to view individual layers of the hierarchy quickly and with clarity. 
     The above-mentioned problems have resulted in some user dissatisfaction with previous approaches. 
     BRIEF DESCRIPTION 
     The approaches described herein provide users with a way to view and organize content by providing a classic hierarchical visualization structure in various computing environments, for example desktop and mobile environments. The approaches may be applied to any data structure that is hierarchical in nature (e.g., asset models, favorites, to mention two examples), and may organize and present thousands of elements. By providing contextual information at any desired level of the hierarchy, the navigation guides users to critical information within potentially large hierarchies. Critical data points within the navigation may be provided at each node level. The approaches described herein streamline the path of data and work flow through the system and may provide desired information without having to change context or navigate elsewhere in the system. In some approaches, the user may rearrange the navigation hierarchy based on the provided content (e.g., alarm severity or the number of alarms), further enhancing the context-sensitive nature of the navigation. 
     Due to similarities between existing traditional hierarchical visualizations and the approaches described herein, users who are experienced in the traditional hierarchical visualizations may quickly adjust without requiring significant training. 
     In some approaches, a display apparatus is provided having an interface with an input and an output and a processor coupled to the interface. The output is configured to display a first panel at a variable panel display portion of a display. The first panel includes one or more first selectable nodes associated with an industrial control system and information associated with the industrial control system. 
     Upon the input receiving a selection of one or more of the selectable nodes, the processor is configured to access a server and present a panel associated with the selected node at the variable panel display portion. This panel includes one or more second selectable nodes and information associated with the selected node. The processor is further configured to adjust the size of the variable panel display portion displayed at the output to accommodate a number of panels and to allow navigation between the panels that is independent of information displayed at a working portion of the display. In some examples, the processor is further configured to present the first panel and the panel associated with the selected node adjacent to each other on the variable display portion via the output. 
     In many of these examples, the display apparatus may further include any number of additional panels which are configured to display the selected node and information associated therewith. The processor may be configured to determine the size of the variable panel display portion corresponding to a maximum number of displayable panels in the variable panel display portion and compare the determined size to the number of presented panels and thereafter display the maximum number of displayable panels in the variable panel display portion. 
     In some forms, the information associated with the industrial control system may include control system alarm state data and control system operating data. The display apparatus may further include a server configured to periodically receive and store information relating to the identification of the nodes as well as the operation of the industrial control system and the nodes. The server may also be configured to send the information relating to the identification of the nodes and operation of the industrial control system and the nodes to the input of the interface. 
     In additional examples, approaches for hierarchical navigation are provided. A first panel is provided at a variable panel display portion of a display. The first panel has one or more first selectable nodes associated with an industrial control system and information associated with the industrial control system. Next, a selection is made of the one or more selectable nodes in the first panel on the display. A panel is then presented which is associated with the selected node at the variable panel display portion. The size of the variable panel display portion may then be adjusted to accommodate a number of panels. A data server is accessed, and the data server is configured to store the information associated with the industrial control system and the selectable nodes. 
     In some forms, the present approaches may further include presenting the first panel and the panel associated with the selected node adjacent to each other on the variable panel display portion. Additionally, a selection may be made of one of the second selectable nodes and present a panel associated with the second selectable node at the variable panel input display portion. This panel may include one or more third selectable nodes and information associated with the second selectable node. 
     In other approaches, the first panel, the panel associated with the selected node, and the panel associated with the second selectable node may be presented adjacent to each other on the variable panel display portion. Additional panels associated with additional selectable nodes may also be presented. 
     In many of these approaches, a size of the variable panel display portion that corresponds to a maximum number of displayable panels may be determined. Next the determined size may be compared to the number of presented panels, and the maximum number of displayable panels in the variable panel display portion may be displayed. When the number of presented panels is greater than the maximum number of displayable panels, the method may then indicate that additional panels are hidden and may be displayed. The approaches may also provide for an indication of which panels are currently being displayed in the variable panel display portion. 
     So configured, the approaches described herein may be incorporated in displays and devices having varying sizes and configurations. As such, a user may quickly identify the current location within a hierarchical structure and may also freely navigate between levels. The user may also access contextual information regarding elements at the different levels and navigate the hierarchical structure while retaining content contained in a working portion. Further, the approaches described herein allow for the application of paging to be used with the hierarchal structure, thereby reducing the quantity of data being transferred at a given time. By incorporating paging, the display apparatus may quickly load information to be presented at the panels. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       For a more complete understanding of the disclosure, reference should be made to the following detailed description and accompanying drawings wherein: 
         FIG. 1  comprises a block diagram illustrating an exemplary hierarchical navigation apparatus according to various embodiments of the present invention; 
         FIG. 2  comprises an illustration of a display showing the exemplary hierarchical navigation apparatus of  FIG. 1  according to various embodiments of the present invention; 
         FIG. 3  comprises an illustration of a display showing the exemplary hierarchical navigation apparatus of  FIGS. 1-2  according to various embodiments of the present invention; 
         FIG. 4  comprises an illustration of a display showing the exemplary hierarchical navigation apparatus of  FIGS. 1-3  according to various embodiments of the present invention; 
         FIG. 5  comprises an illustration of a display showing the exemplary hierarchical navigation apparatus of  FIGS. 1-4  according to various embodiments of the present invention; and 
         FIG. 6  comprises a flow chart illustrating an approach for hierarchical navigation according to various embodiments of the present invention. 
     
    
    
     Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity. It will further be appreciated that certain actions and/or steps may be described or depicted in a particular order of occurrence while those skilled in the art will understand that such specificity with respect to sequence is not actually required. It will also be understood that the terms and expressions used herein have the ordinary meaning as is accorded to such terms and expressions with respect to their corresponding respective areas of inquiry and study except where specific meanings have otherwise been set forth herein. 
     DETAILED DESCRIPTION 
     Approaches are provided that allow for efficiently visualizing hierarchical data structures across a number of different devices having displays. In one aspect, the approaches allow for the resizing of the hierarchical structure to accommodate displays having a number of different configurations. The hierarchical structure may also be navigated while a working portion of the display maintains the content contained therein. The hierarchical structure may provide an indication for the current visible panels and may be navigable to allow the display of alternative panels. The hierarchical structure may also include contextual information (such as, for example, a folder name, title, or other common identifier) beyond identification information. This contextual information may allow a user to navigate the hierarchical structure and obtain desired information without exiting the current working portion of the display. 
     Referring now to  FIGS. 1-2 , one example of a hierarchical navigation system (or display apparatus)  100  and display  115  are described. The hierarchical navigation system  100  includes an interface  102  having an input  104  and an output  106 , a processor  108 , and a user display  110 . The interface  102  is a computer-based program and/or hardware configured to accept a signal or communications from a computing device such as a personal computer, a mobile computing device, a control system or server at the input  104  and transmit the generated communication at the output  106  to the user display  110 , which may also be a computing system. The function of the interface  102  is to allow the processor  108  to communicate with the user system and the computing device. It is understood that in some examples, the computing device coupled to the input  104  may be a separate computing device in communication with the interface  102 . 
     The processor  108  is any combination of hardware devices and/or software selectively chosen to process inputs related to and navigate a hierarchical structure and generate, display, and/or transmit communications regarding the hierarchical structure to be displayed. The processor  108  includes instructions that select and display desired portions of the hierarchical structure. 
     It will be appreciated that the various components described herein may be implemented using a general purpose processing device executing computer instructions stored in memory. Further, it is understood that the processor  108  may be a standalone component or may be incorporated into the interface  102 . 
     The display  115  may include a variable panel display portion  116 , any number of panels  120 ,  130 ,  140  arranged hierarchically (that is, the highest level of the structure is provided at one side of the display  115 ), a variable panel display resizer  148 , a working portion  150 , a navigation portion  160  and any number of navigation indicators  162 . Each panel  120 ,  130 ,  140  may include any number of nodes or branches  122 ,  124 ,  126  corresponding to the different levels in the hierarchical structure. For example, the nodes  122 ,  124 ,  126  of the first panel  120  correspond to sublevels within the first panel  120 . The second panel  130  corresponds to the node  122 ,  124 ,  126  selected in the first panel  130 . Similarly, the additional panel  140  corresponds to the node selected in the preceding panel. 
     If desired by a user, any number of nodes  122 ,  124 ,  126  may also have a contextual indicator  123 ,  125 ,  127  appended thereto. This  123 ,  125 ,  127  is related to the node and provides a quick visual indication of information pertaining to that node. It is understood that the panel itself may also have contextual data appended thereto that is representative of information relating to the displayed panel. The contextual indicator  123 ,  125 ,  127  may represent any aspect of the node, hierarchical level, panel, or control system. For example, the contextual indicator  123 ,  125 ,  127  may be representative of the presence of an alarm, the number of current alarm conditions, current operating parameters such as pressures, temperatures, or whether a device is powered or engaged, and the like. Other examples are envisioned and may be implemented depending on the system being visualized. 
     The variable panel display resizer  148  is used to resize both the variable panel display portion  116  and the working portion  150 . The variable panel display resizer  148  may be selected by a user and dragged to a desired location. The variable panel display resizer  148  will be discussed in further detail below. 
     The working portion  150  may be any portion of the display in which a user may perform tasks, gather information, or complete desired functions. For example, the working portion  150  may include graphical representations or commands relating to a control system. Generally, the contents of the working portion  150  are dependent on an initial selection of the hierarchical structure. 
     The navigation portion  160  allows a user to navigate between panels in the variable panel display portion  116 . The navigation indicators  162  provide a visual indication of the current panels being displayed. Further details of the navigation portion will be discussed below. 
     In operation, upon selecting a starting point or initial level in the hierarchical structure, the output  106  is configured to display the first panel  120  at the variable panel display portion  116 . The first panel  120  has one or more first selectable nodes  122 ,  124 ,  126  that are associated with the control system and may also include contextual indicators  123 ,  125 ,  127 . As an example, the initial selected level may correspond to an enterprise layer of the control system. 
     A user may then provide the input  104  with a command, for example, selecting a particular node  122 ,  124 ,  126  in the first panel  120 . The processor  108  is then configured to access a server (not shown) and present a panel  130  that is associated with the previously selected node  122 ,  124 ,  126 . As an example, this panel may be representative of a particular location of the previously selected enterprise layer of the control system. As described, this panel  130  may also include any number of second selectable nodes, information associated with these second selectable nodes, and/or information associated with the previously selected node being displayed in the panel  130 . The processor  108  may present the first panel  120  and the second panel  130 , associated with the selected node, adjacent to each other on the variable panel display portion  116  via the output  106 . 
     The processor  108  is also configured to adjust the size of the variable panel display portion being displayed by the output  106  to accommodate any number of panels  120 ,  130 ,  140  by selecting or dragging the variable panel display resizer as desired which will be discussed in further detail below. 
     Based on the selections presented in the panels  120 ,  130 ,  140 , contents are provided in the working plane. As an example, upon selecting any number of nodes in panels  120 ,  130 ,  140 , the working plane may display charts, data structures, programs, and the like which may be used during operation of a control system. The processor may further be configured to allow navigation between the panels  120 ,  130 ,  140  that is independent of information displayed at the working portion  150 . 
     The user may select any number of additional nodes contained in the panels to further navigate the hierarchical structure. The processor  108  is configured to display these selected nodes in additional panels which may in turn include selectable nodes and information associated therewith. As such, in a hierarchical structure with multiple levels, a number of panels may be displayed in the variable panel display portion  116 . 
     Because the size of the variable panel display portion  116  is limited by the physical size of the display  115  on the user&#39;s device as well as the variable panel display resizer  148 , a limited number of panels  120 ,  130 ,  140  may be displayed at any given time. When additional nodes are selected which result in additional panels opening, the processor  108  is configured to determine the size of the variable panel display portion  116 . This size corresponds to a maximum number of displayable panels. For example, the processor  108  may determine that the size of the variable panel display portion  116  may only provide for a maximum of three panels to be displayed at a given time. The processor  108  is further configured to compare the determined size to the number of present panels and display the maximum number of displayable panels in the variable panel display portion  116 . In other words, the processor  108  ensures the maximum number of panels are being displayed whenever a node is selected. The processor is configured to make this determination for any display dimensions and thus may maximize available screen real estate. 
     At any level of the hierarchical structure, contextual indicators  123 ,  125 ,  127  may be provided. These indicators provide information relating to the hierarchical structure beyond node titles and/or descriptive names. The indicator may relate to operating conditions of the elements being represented by the hierarchical structure. The contextual indicators  123 ,  125 ,  127  may be any shape and size, and may further use their individual orientation to convey contextual information. As an example, a contextual indicator may be provided in the form of a number that represents the number of alarm conditions a component or element has experienced within a given time frame. The contextual indicator  123 ,  125 ,  127  may also be color coded or shaped to indicate the severity or rate of a particular event. It is understood that contextual indicators may be used to represent any number of different aspects of the hierarchical structure. 
     In some examples and particularly in a desktop environment, a user may use a mouse or other selection method to hover over a node to receive additional contextual information or indicators. 
     As another example, a user may be performing any number of tasks in the working portion  150  and may need to know contextual information for a high-level element in the structure that is several steps removed from the current location therein. Without exiting the working portion  150 , the user may navigate the panels to this point in the hierarchical structure and view the contextual information contained in the panel and use the information as necessary. 
     In some forms, the hierarchical navigation system  100  may also include a server (not shown). This server may be configured to periodically receive and store information relating to the identification of the nodes and operation of the industrial control system and the nodes. The server may further be configured to send the information relating to the identification of the nodes, the operation of the industrial control system, and the operation of the nodes to the input  104  of the interface to be displayed in panels  120 ,  130 ,  140 . 
     The server may contain any number of data elements containing identification and contextual information as well as relational information detailing the relationship of nodes in the hierarchical structure. For example, a data element may contain a title or name of a node, contextual information relating to the node, and parent and/or children information describing the data element&#39;s position in the hierarchical structure. The contextual information relating to the node may be provided by an external system at any frequency and may be updated independently from the remaining information contained in the data element. Thus, when a user accesses a particular node, the processor  108  may access the data element associated with the selected node and visualize the information contained in the data element. 
     Turning now to  FIGS. 3-5 , additional features of the display  115  are described. As described, the navigation portion  160  may include any number of navigation indicators  162  which at least partially depend on the number of panels displayed in the variable panel display portion  116  by using the panel display resizer  148 . Thus,  FIG. 3  illustrates the variable panel display portion  116  being sized to display the first panel  120  and second panel  130 , and the navigation indicators  162  bracket the displayed panels by shading, cross hatching, highlighting, or any other alternatives to display variation. 
     Turning to  FIG. 4 , the user may wish to view panels representative of a different layer of the hierarchical structure, for instance panels  130  and  140 . The user may select the desired panels in the navigation portion  160 , and the navigation indicators  162  may indicate different panels have been selected and are visible in the variable panel display portion  116 . 
     Turning to  FIG. 5 , the user may resize the variable panel display portion  116  such that three panels are displayed by using the variable panel display resizer  148 . Accordingly, the navigation indicators  162  illustrate the three visible panels that are visible at the variable panel display portion  116 . It is understood that the navigation portion  160  may include additional indicators such as arrows and the like which the user may select to move between different panels being illustrated by the navigation indicators  162 . Additionally, in certain environments, the user may hover their mouse or selector over the navigation indicators  162  to obtain additional information such as the number of total panels in the hierarchical structure and the like. 
     It is understood that any of the elements of the display  115  may be further resized and or minimized by the user. Further, it is understood that any number of panels  120 ,  130 ,  140  may present information in a paged manner. By “paging” and as used herein, it is meant an approach for taking a large or substantial list of items and segmenting them such that in a network perspective, data and/or information may be presented in a quick and efficient manner. By incorporating paging in the display  115 , any number of the panels  120 ,  130 ,  140  will only transmit a portion of the data across the network, which in turn may reduce data transfer costs and reduce delays due to this data transfer. It will be understood that one example of paging is infinite scrolling, whereby presented information automatically pages subsequent segmented information upon scrolling to the end of the currently presented page. 
     Turning to  FIG. 6 , an approach for hierarchical navigation is provided. First, at step  602  a first panel is provided at a variable panel display portion of a display. The first panel has one or more first selectable nodes associated with an industrial control system and information associated with the industrial control system. Next, at step  604 , one of the one or more selectable nodes is selected in the first panel on the display. At step  606 , a panel is then presented which is associated with the selected node at the variable panel display portion. At step  608 , the size of the variable panel display portion is adjusted to accommodate a number of panels. In some examples, the approach may also access a data server configured to store the information associated with the industrial control system and the selectable nodes. 
     In some forms, the approach may further include presenting the first panel and the panel associated with the selected node adjacent to each other on the variable panel display portion. Additionally, the method may select one of the second selectable nodes and present a panel associated with the second selectable node at the variable panel input display portion. This panel may include one or more third selectable nodes and information associated with the second selectable node. 
     In other forms, the approach may present the first panel, the panel associated with the selected node, and the panel associated with the second selectable node adjacent to each other on the variable panel display portion. Additional panels associated with additional selectable nodes may also be presented. 
     In many of these examples, the approaches may also determine a size of the variable panel display portion that corresponds to a maximum number of displayable panels, compare the determined size to the number of presented panels, and display the maximum number of displayable panels in the variable panel display portion. When the number of presented panels is greater than the maximum number of displayable panels, the method may then indicate that additional panels are hidden and may be displayed. The method may also indicate which panels are currently being displayed in the variable panel display portion. 
     In yet other forms, the approach may also page at least one of the first panel and the panel associated with the selected node. In these forms, a data server is accessed to retrieve additional information associated with the first panel and/or the panel associated with the selected node. As such, information may be segmented such that data being transmitted over a network may be presented quickly and efficiently. 
     This written description uses examples to disclose the invention, including the preferred embodiments, and also to enable any person skilled in the art to practice the invention, including making and using any devices or systems and performing any incorporated methods. The patentable scope of the invention is defined by the claims, and may include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal languages of the claims 
     It will be appreciated by those skilled in the art that modifications to the foregoing embodiments may be made in various aspects. Other variations clearly would also work, and are within the scope and spirit of the invention. The present invention is set forth with particularity in the appended claims. It is deemed that the spirit and scope of that invention encompasses such modifications and alterations to the embodiments herein as would be apparent to one of ordinary skill in the art and familiar with the teachings of the present application.