Browse Prior Art Database

Method and Process for avoiding unnecessary network I/O by explicitly distinguishing items in a tree whose children have been retrieved versus those whose children have not

IP.com Disclosure Number: IPCOM000199847D
Publication Date: 2010-Sep-17
Document File: 4 page(s) / 75K

Publishing Venue

The IP.com Prior Art Database

Abstract

Use of different expansion "plus" graphics for a tree item to distinguish children that actually exist, vs. those that will be retrieved when the tree item is expanded.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 29% of the total text.

Page 1 of 4

Method and Process for avoiding unnecessary network I/O by explicitly distinguishing items in a tree whose children have been retrieved versus those whose children have not

To display data that has a parent/child relationship in a desktop application a tree can be used that organizes the children as nodes beneath the parent. An example of this is a file explorer, such as Windows Explorer on a Microsoft Windows desktop,

where folders are shown to the user with a node for the parent beneath which the

child folders can be seen. An example of this is shown below. temp is the top level parent with two folders beneath it "A parent Folder" and "Another parent folder". These in turn have children - "A parent Folder" has two child folders "A child Folder" and "Another child folder".

Figure 1

    To display the child folders beneath a parent folder the user can expand the items by selecting the + symbol whereupon the children will be shown as nested node and the + turns into a -. The - can be used to collapse the items. If there is no + or - against an item, as shown above for "Another child folder" then there are no available children, i.e. the absence of the + or - is an indication that there is nothing to select to change the expansion state of the children.

    The drawbacks of this solution is that it works well if the answer to the question "Are there possible children beneath this tree node" is known at the time the tree is built. This is fine in an application such as Windows Explorer where the directory and folder structure can be retrieved relatively quickly, but in an application where there is an overhead, such as elapsed time occurring because of I/O across a connection, a technique often used is to not retrieve the children for every tree node and know up-front whether a tree node has children or not, but to create a dummy child which gives the tree node the + sign which,

when expanded

causes the application to perform the retrieve of the child. This on-demand retrieval of children is used to good effect to avoid unnecessary fetching of children the user might not want to see for unexpanded nodes, and to only fetch children as the user requests them. Often when the fetching of the children is occurring text such as "Fetching ..." might appear next to the child item which may have an icon such as a clock, often animated, to let the user know that the children are being retrieved. This is shown with figures 2 to 5 for an application where retrieving the children for a node is an expensive operation as it involves network I/O. Figure 2 is the initial list of tree items for the user - none have been expanded so the user does not know

whether any of the folders actually have children or not

    The main issue and one that this disclosure addresses, is that If a node is shown to the user with a + to indicate that there might be children and they expand it to cause the fetch to occur, then if children are not found the + is removed altogether to...