WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Multi-node user interface component and method thereof for use in accessing a plurality of linked records    

Get related patents on CD
United States Patent5877766   
Link to this pagehttp://www.wikipatents.com/5877766.html
Inventor(s)Bates; Cary Lee (Rochester, MN); Day; Paul Reuben (Rochester, MN)
AbstractA user interface component and method of using the same graphically display linked records with node display elements representing individual records, and optional link display elements representing the links therebetween. The user interface component may be automatically and dynamically generated during navigation between linked records, such that whenever a new link is taken from a record represented by a node display element, a new node display element is generated. In addition, the user interface component may further be configured to graphically represent the particular location of a particular link within a record, as well as a scroll display element associated with selected node display elements such that specific data or locations within the records associated therewith may be accessed. Moreover, the user interface component may also be configured to incorporate a retrieve progress display element that indicates a current status of a retrieve operation for a record. Individual node display elements within a user interface component may also separately indicate status information for their associated records, e.g., displaying a cache status and/or a matching status that indicates whether associated records match a predetermined search criteria, among others. The user interface component may also be utilized to perform common operations such as printing, caching and loading, among others, on selected records in response to user selection of the nodes associated with the selected records.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History Custom Search
Inventor     Bates; Cary Lee (Rochester, MN); Day; Paul Reuben (Rochester, MN)
Owner/Assignee     International Business Machines Corporation (Armonk, NY)
Patent assignment
All assignments
Company News
Publication Date     March 2, 1999
Application Number     08/912,258
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     August 15, 1997
US Classification     715/854 715/973
Int'l Classification     G06F 003/14
Examiner     Bayerl; Raymond J.
Assistant Examiner     Jackson; Chadwick A.
Attorney/Law Firm     Wood, Herron & Evans, LLP
Address
Parent Case    
Priority Data    
USPTO Field of Search     345/356 345/357 345/973 345/326 707/512
Patent Tags     multi-node user interface component in accessing plurality linked records
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5644740
Kiuchi

Jul,1997

[0 after 0 votes]
5559942
Gough
715/802
Sep,1996

[0 after 0 votes]
5526478
Russell, Jr.
715/512
Jun,1996

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B

[0 market size comments]
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 market share comments]
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 reasonable royalty comments]
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

[0 Guesstimation of Royalty Value Comments]
License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 license availability comments]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 owner/assignee comments]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

[0 competitive advantage comments]
Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

[0 commercial alternatives comments]
 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. A method of graphically representing on a computer display a plurality of linked records, the method comprising:

(a) displaying a plurality of node display elements, wherein each of which is associated with a record, and wherein at least a pair of node display elements are respectively associated with a pair of records that are linked to one another, the pair of node display elements graphically linked with one another; and

(b) displaying a scroll display element on a selected one of the node display elements, the scroll display element indicating a selected location within the record associated with the selected node display element.

2. A method of graphically representing on a computer display a plurality of linked records, the method comprising:

(a) displaying a pluality of node display elements, wherein each is associated with a record, and wherein at least a pair of node display elements are respectively associated with a pair of records that are linked to one another, the pair of node display elements graphically linked with one another; and

(b) displaying a control element on a selected one of the node display elements, the control element configured to navigate between first and second locations within the record associated with the selected node display element in response to user input.

3. A method of graphically representing on a computer display a plurality of hypertext documents, the method comprising:

(a) displaying first and second node display elements, each of which is respectively associated with first and second hypertext documents, the second node display element graphically linked with the first node display element to represent a hypertext link in the first hypertext document to the second hypertext document;

(b) displaying a scroll display element on the first node display element, the scroll display element indicating a selected location within the first hypertext document;

(c) displaying at least a portion of the contents of the first hypertext document proximate the selected location in a window;

(d) selectively scrolling the window through the contents of the first hypertext document in response to user manipulation of the scroll display element within the first node display element; and

(e) displaying the contents of the second hypertext document in the window in response to user manipulation of the scroll display element from the first node display element to the second node display element.

4. A method of graphically representing on a computer display a plurality of records including first and second records, wherein the first record includes a link to the second record, the method comprising;

(a) displaying first and second node display elements, the first and second node display elements respectively associated with the first and second records; and

(b) displaying a link display element that graphically links the first and second node display elements, the link display element at least partially overlapping the first node display element at a relative location on the first node display element that approximates a relative location of the link in the first record.

5. The method of claim 1, wherein the plurality of linked records includes hypertext linked documents.

6. The method of claim 5, wherein the plurality of linked records includes hypertext markup language (HTML) documents.

7. The method of claim 1, wherein each node display element includes an elongated member having a length associated with a relative size of its associated record.

8. The method of claim 1, wherein each node display element is rectangular.

9. The method of claim 1, wherein each node display element includes a status indicator that visually represents a status of the node display element.

10. The method of claim 9, wherein the status indicator indicates a status selected from the group consisting of cache status, selected status, search criteria matching status, record type status, duplicate status, and combinations thereof.

11. The method of claim 9, wherein the status indicator for each node display element is selected from the group consisting of a color indicator, a pattern indicator, a border indicator, an icon indicator, an alphanumeric indicator, and combinations thereof.

12. The method of claim 1, wherein displaying the plurality of node display elements includes displaying a first node display element associated with a first record from the plurality of records, the method further comprising, in response to user selection of a link in the first record to a second record in the plurality of linked records, dynamically generating a second node display element associated with the second record that is graphically linked to the first node display element.

13. The method of claim 1, further comprising displaying a link display element that graphically links first and second node display elements from the plurality of node display elements, the first node display element associated with a first record having a link to a second record associated with the second node display element, the link display element indicating a relative location of the link in the first record.

14. The method of claim 13, wherein the link display element includes a link marker display element overlapping the first node display element at a relative location along a longitudinal axis of the first node display element that approximates the relative location of the link in the first record.

15. The method of claim 14, wherein the first and second node display elements graphically adjoin one another proximate the link display element, and wherein the second node display element extends in a non-parallel direction relative to the first node display element.

16. The method of claim 13, wherein the first and second node display elements extend parallel to and spaced apart from one another, and wherein the link display element includes a connector display element extending between and graphically linking the first and second node display elements.

17. The method of claim 13, further comprising displaying a retrieve progress indicator within at least one of the first node display element and link display element to indicate the progress of retrieval of the second record.

18. The method of claim 1, further comprising displaying the contents of the record associated with the selected node display element in a window.

19. The method of claim 18, wherein the window is a browser.

20. The method of claim 18, further comprising displaying the user interface component in a separate window from that of the contents of the record associated with the selected node display element.

21. The method of claim 18, further comprising selectively scrolling the window through the contents of the record associated with the selected node in response to user manipulation of the scroll display element.

22. The method of claim 21, farther comprising coordinating movement of the scroll display element with that of an additional scroll display element for the window.

23. The method of claim 18, further comprising:

(a) displaying a second scroll display element on another selected one of the node display elements; and

(b) displaying the contents of the record associated with the other selected node display element in a second window.

24. The method of claim 23, wherein the first and second scroll display elements are associated with the same end user.

25. The method of claim 23, wherein the first and second scroll display elements are associated with different end users.

26. The method of claim 23, further comprising graphically associating each scroll display element with its associated window.

27. The method of claim 26, wherein graphically associating each scroll display element with its associated window includes utilizing on each set of associated scroll display elements and windows a common visual indicator selected from the group consisting of a color indicator, a pattern indicator, a border indicator, an icon indicator, an alphanumeric indicator, and combinations thereof.

28. The method of claim 18, further comprising:

(a) displaying a second scroll display element on the selected node display element; and

(b) displaying the contents of the record associated with the selected node display element in a second window.

29. The method of claim 18, further comprising indicating with the scroll display element the relative proportion of the contents of the record that are currently displayed in the window.

30. The method of claim 18, wherein the selected node display element is a first node display element associated with a first record, the method further comprising displaying the contents of a second record in the window in response to user selection of a link in the first record to the second record using the scroll display element.

31. The method of claim 30, wherein the contents of the second record are displayed in the window in response to an end user dragging the scroll display element from the first node display element to a second node display element associated with the second record.

32. The method of claim 31, wherein movement of the scroll display element is confined to the boundaries of the node display elements.

33. The method of claim 30, wherein the contents of the second record are displayed in the window in response to an end user dragging the scroll display element from the first node display element to a link display element graphically linking the first node display element to a second node display element associated with the second record.

34. The method of claim 33, wherein movement of the scroll display element is confined to the boundaries of the node display elements and link display element.

35. The method of claim 30, further comprising delaying display of the contents of the second record in the window until the scroll display element has been moved a predetermined distance beyond a boundary associated with the link.

36. The method of claim 35, wherein the boundary is defined on a second node display element associated with the second record.

37. The method of claim 35, wherein the boundary is defined on a link display element graphically linking the first node display element to a second node display element associated with the second record.

38. The method of claim 18, wherein the selected node display element is a first node display element associated with a first record, the method further comprising displaying the contents of a second record in the window in response to an end user dragging the scroll display element from the first node display element to a second node display element associated with the second record.

39. The method of claim 2, wherein the control element includes a scroll display element that indicates a selected location within the record associated with the selected node display element.

40. The method of claim 2, wherein the control element includes at least one arrow button disposed on the selected node display element.

41. A user interface component configured to display on a computer display a graphic representation of a plurality of linked records, the user interface component comprising:

(a) a plurality of node display elements, wherein each of which is associated with a record, and wherein at least a pair of node display elements are respectively associated with a pair of records that are linked to one another, the pair of node display elements graphically linked with one another; and

(b) a scroll display element defined on a selected one of the node display elements, the scroll display element indicating a selected location within the record associated with the selected node display element.

42. A computer system configured to display a graphic representation of a plurality of linked records, the computer system comprising:

(a) a computer display; and

(b) a processor configured to display on the computer display a plurality of node display elements, wherein each of which is associated with a record, and wherein at least a pair of node display elements are respectively associated with a pair of records that are linked to one another, the pair of node display elements graphically linked with one another; and to display a scroll display element on a selected one of the node display elements, the scroll display element indicating a selected location with the record associated with the selected node display element.

43. A program product comprising:

(a) a program configured to perform a method of graphically representing on a computer display a plurality of linked records, the method comprising displaying a plurality of node display elements, wherein each of which is associated with a record, and wherein at least a pair of node display elements are respectively associated with a pair of records that are linked to one another, the pair of node display elements graphically linked with one another; and to display a scroll display element on a selected one of the node display elements, the scroll display element indicating a selected location within the record associated with the selected node display element; and

(b) a signal bearing media bearing the program.

44. The program product of claim 43, wherein the signal bearing media is transmission type media.

45. The program product of claim 43, wherein the signal bearing media is recordable media.

46. The method of claim 4, wherein the link display element includes a marker display element overlapping the first node display element at a relative location along a longitudinal axis of the first node display element that approximates the relative location of the link in the first record.

47. The method of claim 46, wherein the first and second node display elements graphically adjoin one another proximate the link display element, and wherein the second node display element extends in a non-parallel direction relative to the first node display element.

48. The method of claim 4, wherein the first and second node display elements extend parallel to and spaced apart from one another, and wherein the link display element includes a connector display element extending between and graphically linking the first and second node display elements.

49. The method of claim 48, wherein the connector display element terminates at one end proximate a relative location along a longitudinal axis of the first node display element that approximates the relative location of the link in the first record, and terminates at another end proximate a midpoint of the second node display element.

50. The method of claim 4, further comprising displaying a scroll display element on a selected one of the node display elements, the scroll display element indicating a selected location within the record associated with tie selected node display element.

51. The method of claim 4, further comprising:

(a) dynamically generating a third node display element associated with a third record; and

(b) rearranging at least one of the first, second and third node display elements such that the spans thereof do not overlap.

52. The method of claim 51, wherein rearranging at least one of the first, second and third node display elements is selected from the group consisting of translating, rotating, and resizing at least one of the first, second and third node display elements, and combinations thereof.

53. The method of claim 4, further comprising:

(a) dynamically generating a third node display element associated with a third record; and

(b) in response to user selection of a link in third record to one of the first and second records, generating a back arc display element graphically linking the third node display element to the node display element associated with the one of the first and second records.

54. The method of claim 4, further comprising performing a file management operation on the user interface component, the file management operation selected from the group consisting of saving the user interface component, retrieving the user interface component, and combinations thereof.

55. The method of claim 4, further comprising modifying the user interface component in a manner selected from the group consisting of minimizing a plurality of node display elements, deleting at least one node display element, rearranging at least one node display element, and combinations thereof.

56. A user interface component configured to display on a computer display a graphic representation of a plurality of records including first and second records, wherein the first record includes a link to the second record, the user interface component comprising:

(a) first and second node display elements, the first and second node display elements respectively associated with the first and second records; and

(b) a link display element that graphically links the first and second node display elements, the link display element at least partially overlapping the first node display element at a relative location on the first node display element that approximates a relative location of the link in the first record.

57. A computer system configured to display a graphic representation of a plurality of records including first and second records, wherein the first record includes a link to the second record, the computer system comprising:

(a) a computer display; and

(b) a processor configured to display on the computer display first and second node display elements, the first and second node display elements respectively associated with the first and second records, and to display on the computer display a link display element that graphically links the first and second node display elements, the link display element at least partially overlapping the first node display element at a relative location on the first node display element that approximates a relative location of the link in the first record.

58. A program product comprising:

(a) a program configured to perform a method of graphically representing on a computer display a plurality of records including first and second records, wherein the first record includes a link to the second record, the method comprising displaying first and second node display elements, the first and second node display elements respectively associated with the first and second records; and displaying a link display element that graphically links the first and second node display elements, the link display element at least partially overlapping the first node display element at a relative location on the first node display element that approximates a relative location of the link in the first record; and

(b) a signal bearing media bearing the program.

59. The program product of claim 58, wherein the signal bearing media is transmission type media.

60. The program product of claim 58, wherein the signal bearing media is recordable media.

61. The method of claim 4, further comprising determining the relative location of the link in the first record.

62. A method of graphically representing on a computer display a plurality of records including first and second records, wherein the first record includes a link to the second record, the method comprising:

(a) displaying first and second node display elements, the first and second node display elements respectively associated with the first and second records; and

(b) displaying a link display element that graphically links the first and second node display elements, the link display element indicating a relative location of the link in the first record, wherein the link display element includes a marker display element overlapping the first node display element at a relative location along a longitudinal axis of the first node display element that approximates the relative location of the link in the first record.
 Description Submit all comments and votes
 


CROSS-REFERENCE TO RELATED APPLICATIONS

The above-identified application is related to a co-pending patent application filed on even date herewith by the above-identified inventors, U.S. patent application Ser. No. 08/912,030, and entitled "USER INTERFACE COMPONENT AND METHOD OF NAVIGATING ACROSS A BOUNDARY COUPLED TO A SCROLL BAR DISPLAY ELEMENT", which application is incorporated by reference herein.

FIELD OF THE INVENTION

The invention is generally related to computers and computer software for use therewith, and more particularly, to user interface components for permitting user access to data stored in a computer.

BACKGROUND OF THE INVENTION

As computers have become more complex and powerful, the manner in which end users or operators interface with computers has grown increasingly important. Early computers relied on switches, lights, and/or punch cards that required an end user to interact essentially in the computers native binary languages. Eventually, video displays were developed that enabled end users to interact with computers through textual information and commands. Another significant step in this evolution was the development of graphical user interfaces (GUIs), which permitted end users to interact with computers through the more intuitive operations of "pointing and clicking" on graphical display elements with a pointer controlled by a mouse or other user interface device. For example, to print a file, an end user in a text-based system might be required to enter a command such as "print<filename>". With a graphical user interface, a similar operation might be accomplished by merely moving a pointer with a mouse and clicking on an graphical icon showing a graphic representation of a printer.

Information is often presented to an end user in a graphical user interface component known as a window. A window may include any number of controls or handles that an end user can point and click on to perform different operations. For example, a title bar is often provided at the top of a window to identify the application the window is associated with. A window may also include resizing handles along its boundaries that a user can grab with the pointer to change the size of the window. A menu bar on a window may include multiple pull-down menus that a user can select to perform specific functions listed in the menus.

A window may be used to display a relatively large document with only a portion of the document shown at any given time. Scroll bars on the window may then be used to navigate through the document--that is, to scroll through the information in a document so that a different portion of the document is displayed in the window. A scroll bar itself has a number of controls. For example, an end user may control a slider (or puck) on a scroll bar by clicking and holding down a mouse button over the slider, and then moving the pointer to scroll to a specific location in the document. An end user may also click on arrow buttons found at each end of a scroll bar to scroll a document line-by-line. Also, an end user may click on regions in the scroll bar between the slider and the buttons to scroll the document page-by-page or screen-by-screen.

A principal use of windowing technology is in accessing data stored in a computer. For example, data may be organized into records or files that are linked together in a predetermined manner. Accessing such data in an efficient manner is often problematic.

Data is often stored in files that are stored within various directories organized into a hierarchical directory tree. A number of graphical user interfaces represent directories using folder icons that an end user can click on to view the files and/or sub-directories contained within a given directory.

A directory tree typically can be used to reach any directory and/or file available to a computer. When the directories and files are all stored locally (e.g., on a hard or floppy disk drive), a directory tree may be an efficient manner of accessing data. However, data may also be stored outside of a computer, e.g., on a private network such as a local area network (LAN) or wide area network (WAN), and/or on a public network such as the Internet. The amount of data stored on these additional sources is often too substantial for access with a conventional directory tree, as thousands of files and directories may be represented in a given tree. An end user may have to manually dig through several levels of directories to find a particular file. An end user may also be able to use a search engine to find possible directories for a file; however, several directories may nonetheless need to be viewed before the desired data is found.

Another manner of accessing data is through the use of embedded links. For example, on a segment of the Internet known as the World Wide Web, information is organized into hypertext documents having embedded hypertext links that an end user can click on to either jump to different documents, or to jump to different locations within the same document. A wide variety of information formats such as text, graphics, video, sound, and animation may be integrated into these hypertext documents. The World Wide Web has enjoyed such immense popularity that many private networks now also support hypertext documents, as do a number of existing computer operating systems and computer software applications.

A computer software application, often referred to as a browser, is typically used to navigate between and through hypertext documents. With a browser, an end user can point and click on links such as highlighted text, images or other user interface components (e.g., buttons) in documents to navigate to different documents and/or to different locations within the same document. With the vast amount of information available to an end user, however, it is quite easy to lose one's place after navigating through several links.

Unlike an end user's local files, hypertext documents often cannot be organized hierarchically into directories that descend from a common root. For example, a document may be linked to multiple documents that are completely unrelated to one another, and which may be stored on different computers that are located on the opposite side of the world from one another. Consequently, conventional directory trees are not well suited for maintaining one's place during browsing.

Many browsers maintain a history of navigated locations to enable an end user to backtrack through several links, e.g., by clicking on a "back" button. Revisiting backtracked links may be performed using a "forward" button. In addition, an end user may save favorite locations as "bookmarks", which may themselves be organized into user-specified folders. An end user often can later access bookmarked locations merely by selecting a bookmark from a menu.

Nevertheless, neither history nor bookmark information typically provides a full picture or map of the various documents and locations that an end user has traversed while browsing. For example, when an end user navigates through several links from a particular document, backtracks to the original document using a back button, and then selects another link within that original document, the previous links navigated from the original document typically can no longer be retrieved using the "forward" button of the browser. Documents retrieved previously from the Internet or another network may be stored locally in a cache to speed repeat access, but once the history information for forward links is lost, the underlying documents are often only retrievable through manual searching of the computer cache.

Also, bookmarking locations is typically a manually-performed activity, whereby an end user specifically stores and organizes favorite sites as he or she sees fit. Bookmarking is therefore time consuming and fully dependent on end users. Unless an end user takes the extra time to bookmark every visited location, a complete map or history of navigated locations often cannot be maintained.

History and bookmark information are also not well suited to navigating within particular documents. While some documents may include internal hypertext links that point to different locations within the same documents, history and bookmark information permits navigation within such documents only to the particular locations specified by the internal hypertext links. Instead, separate mechanisms such as scroll bars must be used as the principal mechanisms for navigating to particular locations within documents. Consequently, an end user is often forced to consciously click on different objects in a graphical user interface depending upon whether the end user wishes to navigate between documents or to navigate within documents. As a result, navigation with this type of user interface is slow and burdensome for many end users.

Therefore, a significant need exists for a manner of organizing and enhancing access to hypertext documents and the like. Moreover, a significant need exists for a manner of enhancing navigation between and within such documents.

SUMMARY OF THE INVENTION

The invention addresses these and other problems associated with the prior art in providing a unique user display and method of using the same in which linked records are graphically displayed with node display elements representing individual records, and link display elements representing the links therebetween. One particular application deriving unique benefit from the invention is in that of navigating hypertext documents, whether stored locally, on a private network, and/or on the Internet or other public network. However, it should be appreciated that the invention may benefit other applications that utilize linked records consistent with the invention.

Consistent with one aspect of the invention, a user interface component may be configured to incorporate a scroll display element associated with a selected node display element to access specific data or locations within the record associated therewith. In this manner, navigation within records and navigation between records is integrated into a common user interface to speed as well as to simplify access to the data within the records.

Consistent with a further aspect of the invention, other control elements in addition to or in lieu of a scroll display element may be utilized on a selected node display element to facilitate navigation within the record associated therewith.

Consistent with another aspect of the invention, a user interface component may further be configured to graphically represent the particular location of a particular link within a record. This additional information enables an end user to quickly ascertain the relative location of a link within a record.

Consistent with yet another aspect of the invention, individual node display elements within a user interface component may separately indicate status information for their associated records. For example, a cache status may be indicated in individual node display elements to indicate whether the associated records are currently stored in a computer's memory.

Consistent with an additional aspect of the invention, a user interface component may also be configured to incorporate a retrieve progress display element that indicates a current status of a retrieve operation for a record. By graphically associating the retrieve progress display element with a node and/or link display element, the status of a retrieve operation may be easily and quickly ascertained.

Consistent with yet another aspect of the invention, other status information may be indicated within a user interface component. For example, a matching status may be indicated in individual node display elements to indicate whether the associated records match a predetermined search criteria.

Consistent with a further aspect of the invention, a user interface component may also be utilized to perform common operations on selected records in response to user selection of the nodes associated with the selected records. Customized groupings of records may therefore be jointly operated upon through a highly efficient user interface.

These and other advantages and features, which characterize the invention, are set forth in the claims annexed hereto and forming a further part hereof. However, for a better understanding of the invention, and of the advantages and objectives attained through its use, reference should be made to the Drawing, and to the accompanying descriptive matter, in which there is described exemplary embodiments of the invention.

BRIEF DESCRIPTION OF THE DRAWING

FIG. 1 is a block diagram of a representative computer display upon which is illustrated a user interface component consistent with the principles of the present invention.

FIG. 2 is a block diagram of a representative computer display upon which is illustrated an alternate user interface component to that illustrated in FIG. 1.

FIG. 3 is a block diagram of an exemplary hardware environment suitable for use with the various embodiments of the invention.

FIG. 4 is a block diagram of an exemplary software environment suitable for use with the various embodiments of the invention.

FIG. 5 is a flowchart illustrating the program flow of one of the browsers of FIG. 4.

FIG. 6 is a flowchart illustrating the program flow of the map registry of FIG. 4.

FIG. 7 is a flowchart illustrating the program flow of one of the map managers of FIG. 4.

FIG. 8 is a flowchart illustrating the program flow of one of the map displays of FIG. 4.

FIG. 9 is a flowchart illustrating the program flow of the add user routine shown in FIG. 7.

FIG. 10 is a block diagram of an exemplary map display after initialization thereof.

FIG. 11 is a flowchart illustrating the program flow of the process link routine of FIG. 7.

FIG. 12 is a flowchart illustrating the program flow of the determine initial placement routine of FIG. 11.

FIG. 13 is a flowchart illustrating the program flow of the attempt to rearrange map display routine of FIG. 11. FIGS. 14A, 14B and 14C are block diagrams of an exemplary non-adjoining-type map displays illustrating the placement of a target node display element and the subsequent rearrangement of the map display accordingly.

FIGS. 15A, 15B and 15C are block diagrams of an exemplary adjoining-type map displays illustrating the placement of a target node display element and the subsequent rearrangement of the map display accordingly.

FIG. 16 is a flowchart illustrating the program flow of the span determining routine of FIG. 13.

FIG. 17 is a flowchart illustrating the program flow of the update user position in map routine of FIG. 7.

FIGS. 18A and 18B are block diagrams of exemplary adjoining-type and non-adjoining-type map displays, respectively, after addition of a node display element.

FIG. 19 is a flowchart illustrating the program flow of the perform bounded drag routine of FIG. 8.

FIG. 20 is a flowchart illustrating the program flow of the perform unbounded drag routine of FIG. 8.

FIGS. 21A and 21B are block diagrams of exemplary non-adjoining-type map displays illustrating cache status indicators on the node display elements, respectively before and after retrieval of documents associated with selected node display elements.

FIG. 22 is a block diagram of an exemplary adjoining-type map display illustrating cache status indicators on the node display elements.

FIG. 23 is a block diagram of an exemplary non-adjoining-type map display with one suitable retrieve progress display element displayed therein.

FIG. 24 is a block diagram of an exemplary non-adjoining-type map display with an alternate retrieve progress display element to that shown in FIG. 23.

FIG. 25 is a block diagram of an exemplary adjoining-type map display with one suitable retrieve progress display element displayed therein.

FIG. 26 is a block diagram of an exemplary adjoining-type map display with an alternate retrieve progress display element to that shown in FIG. 25. FIG. 27 is a flowchart illustrating the program flow of the search based map display generation routine of FIG. 8.

FIG. 28 is a flowchart illustrating the program flow of the Add NDE routine of FIG. 27.

FIG. 29 is a flowchart illustrating the program flow of the any children match search criteria? routine of FIG. 27.

FIG. 30 is a block diagram of an exemplary map display generated by the routines of FIGS. 27-29.

FIG. 31 is a flowchart illustrating additional event handling routines for the map display of FIG. 8.

FIG. 32 is a flowchart illustrating the program flow of the select sub-map routine of FIG. 31.

FIG. 33 is a flowchart illustrating the program flow of the perform action routine of FIG. 31.

FIG. 34 is a block diagram of an exemplary print map display consistent with the invention.

FIG. 35 is a block diagram of a representative computer display upon which is illustrated an adjoining-type map display and associated zoom window wherein elastic boundaries are provided between node display elements.

FIG. 36 is a flowchart illustrating the program flow of an alternate perform bounded drag routine to that of FIG. 19, implementing an elastic boundary between node display elements.

FIGS. 37A-37C are block diagrams illustrating movement of a slider display across an elastic boundary in the map display of FIG. 35.

FIG. 38 is a block diagram illustrating elastic boundaries within a nonadjoining-type map display consistent with the invention.

FIGS. 39A-39D are block diagrams illustrating movement of a slider display element along a scroll bar display element having elastic boundaries.

DETAILED DESCRIPTION

The various embodiments of the invention principally provide a unique user interface component to graphically represent a data structure having a plurality of linked records. The user interface component, which is referred to below as a map display component, or simply a map display, utilizes a map data structure, or map, with a plurality of node display elements (NDE's) to represent individual records that are graphically linked to one another. In addition, a plurality of link display elements (LDE's) in the map data structure may be utilized to represent the links between such node display elements.

One application of a map display is in navigating hypertext documents stored locally on an end user's computer, on a private network such as a local area network (LAN) or wide area network (WAN), and/or on the Internet or other public network. Consequently, in such an application, the node display elements typically represent hypertext documents, while the link display elements typically represent the actual hypertext links between such documents. The hypertext documents may be, for example, in hypertext markup language (HTML) format, and may include text as well as various multimedia objects such as static and/or moving images, sounds, animations, etc. Further, the hypertext documents may include executable objects such as Java applets, controls such as Java Beans and Active X controls, scripts such as Javascript scripts, etc. The node display elements may represent only HTML-format documents, with any multimedia or executable objects contained therein considered to be part of the same documents. Alternatively, multimedia and/or executable objects may be embodied in separate node display elements, whereby the references to such objects in HTML-format documents would also operate as links and be embodied in separate link display elements.

While the disclosure shall hereinafter describe the use of map displays for representing and/or navigating linked hypertext documents, it should be appreciated that the invention may have benefit in other applications to access (e.g., view, store, modify, etc.) linked records consistent with the invention. For example, map displays consistent with the invention may be utilized to represent private databases, menuing systems, etc.

When used in conjunction with navigating hypertext documents, a map display is typically generated dynamically, whereby node display elements are automatically added to the map display as new links are taken by an end user. Consequently, the map displays may be used to provide a history, or "bread crumb trail" for an end user as he or she navigates through various records. Given the practically endless amount of content on the Internet, for example, the history provided by a map display may be invaluable.

Another display element that may be included in a map display is a scroll display element, also known as a "slider" or "puck", which enables node display elements to have additional functionality as scroll bars for navigating through the contents of their associated records. When a separate display such as a browser window is activated for displaying the contents of a given document, a slider disposed within a region of the associated node display element may be utilized to scroll the browser window through the contents of the document. Moreover, a slider may be utilized to navigate to different documents, e.g., by dragging the slider to another node display element, either by passing through adjacent elements (a "bounded" drag) or by dragging directly to the desired node display element (an "unbounded" drag). Through this arrangement, navigation within documents is integrated with navigation between documents, thereby greatly simplifying access thereto.

Furthermore, as will be discussed in greater detail below, each node display element may also be sized relativ