the present invention is an apparatus and method providing a hierarchical integrated help utility that integrates help information across multiple independent applications . in the following detailed descriptions , numerous specific details are set forth to provide a thorough understanding of the present invention . however , it will be apparent to one of ordinary skill in the art that these specific details need not be used to practice the present invention . in other instances , well know structures , interfaces , and processes have not been shown in detail in order not to unnecessarily obscure the present invention . referring now to fig1 a block diagram of the computer system hardware used in the preferred embodiment of the present invention is illustrated . the computer system used in the preferred embodiment comprises a bus 100 for communicating information between computer system components . these components , coupled to bus 100 , include processor 101 . in the preferred embodiment , processor 101 is an i486 brand microprocessor manufactured by intel corporation , santa clara , calif . the mark i486 is a registered trademark of intel corporation . other system components of the computer system include random excess memory ( ram ) 102 , read only memory ( rom ) 103 , and mass storage device or disk drive 104 . the computer system of the preferred embodiment also includes display device 105 coupled to the bus 100 for displaying information to a computer user , an alphanumeric input device 106 coupled to the bus for communicating information and command selections to the processor 101 , a cursor control device or pointing device 107 coupled to the bus 100 for communicating information and command selections to processor 101 , and a signal generation device or mouse button 108 coupled to the bus 100 for communicating command selections to processor 101 . display device 105 may be a liquid crystal device , cathode ray tube , or other suitable display device . alphanumeric input device 106 is typically an alphanumeric or function key keyboard . pointing device or cursor control device 107 is typically a mouse or trackball device allowing the computer user to dynamically signal the two dimensional movement of a visible symbol ( i . e . cursor ) on the display screen of display device 105 . many implementations of the cursor control device 107 are well known in the art , including trackball , mouse , joystick , or special keys on the alphanumeric input device 106 capable of signaling movement in a given direction . signal generation device 108 is typically implemented as a button or switch located on or near the cursor control device 107 . the physical proximity of cursor control device 107 and signal generation device 108 allows the user to manipulate both devices simultaneously with one hand . the signal generation device may be operated between two control states : an active control state typically initiated by depression of a mouse button , and an inactive control state typically initiated by releasing the mouse button . the configuration and interconnection of computer system components as illustrated in fig1 is well known to those of ordinary skill in the art . referring now to fig2 a typical prior art help utility implementation is illustrated . typically , application programs in the prior art are provided with a help file or a set of help files . these help files provide information on the use of various commands or functions provided by the application . two such sample applications are illustrated in fig2 . application 210 is provided with help files 212 . application 220 is provided with help files 222 . in some conventional computer systems , the help files associated with a particular application are only accessible from within the application itself . this is because only the application itself is aware of the organizational structure and help file naming convention used by a particular application . thus , a user executing a particular application uses the functionality of the application to access the application help files . depending upon the help information requested by a user , the application itself or a help utility provided with the application accesses its corresponding help files to select the particular help file requested by the user . this help file or a help file identifier is provided to a help viewer utility 230 that formats the help information for output to display system 240 . in this prior art configuration , help viewer 230 is used mainly to access and display a named selected file . help viewer 230 is not aware of the organizational structure or help file naming convention used by a particular application . in prior art systems , it is a particular application &# 39 ; s responsibility to provide a selected help file or help file identifier to help viewer 230 . as shown in fig2 application 210 provides a selected help file or an identifier of a selected help file to help viewer 230 via line 214 . similarly , a different application , such as application 220 , provides selected help file information to help viewer 230 via line 224 . it will be apparent to one of ordinary skill in the art that the help file utility and help file information of application 210 is independent and not integrated with the help utility and help information file of application 220 . thus , application 210 typically has no access to help files 222 of application 220 . similarly , the help utility of application 220 has no access to help files 212 of application 210 . it is apparent that the prior art help utility configuration is not an integrated help utility system . further , because both application 210 and application 220 provide their own independent help utilities , unnecessary redundancy in help functionality is present in the prior art . referring now to fig3 the integrated help utility of the present invention is illustrated . in a manner building upon the configuration provided in the prior art , independent applications 310 and 320 comprise independent application programs including corresponding help files 312 and 322 . these applications and help files correspond to similar applications and help files illustrated in fig2 . similarly , the help viewer 330 for displaying a named selected file on display system 343 corresponds to the same help viewer 230 illustrated in fig2 . the present invention improves the conventional help utility functionality by providing help file directory 313 within application 310 , help file directory 323 within application 320 , and the integrated help utility 340 as described herein . search utility 341 is also provided as part of the present invention . help file directory 313 comprises a table of contents or outline of the help file topics provided in help files 312 of application 310 . similarly , help file directory 323 provides an outline of help file topics provided in help files 322 of application 320 . integrated help utility 340 uses the help file directories 313 and 323 to display a hierarchical and integrated listing of help file topics from multiple applications ( i . e . application 310 and application 320 ). in this manner , help file topics resident in application 320 may be viewed while a user is executing application 310 . help file topics provided in help files 312 may also be viewed while a user is executing application 320 . help files of a particular application may also be viewed even though the application is not active . the integrated help utility 340 of the present invention provides a level of help file integration not provided in prior art systems . referring now to fig4 a and 4b , two examples of the content of a help file directory are illustrated . fig4 a illustrates an example of the content of help file directory 313 illustrated in fig3 . fig4 b illustrates an example of the content of help file directory 323 . it will be apparent to one of ordinary skill in the art that the actual content of the help file directories illustrated in fig4 a and 4b may vary . the basic structure of the help file directory , however , will remain basically the same . referring now to fig4 a , the help file directory example of application 1 comprises a topic or subtopic descriptor 410 , a topic or subtopic file identifier 420 , and a topic or subtopic file index 430 . descriptors 410 comprise a representation of an alphanumeric string or graphic icon that specifies the help file content for a particular topic or subtopic within help files 312 . descriptors 410 represent help file topic information suitable for display to a user . file identifiers 420 represent the file name or path representation compatible with a particular file system that defines the location of a help file within help files 312 that corresponds to the associated descriptor 410 . in fig4 a for example , topic a1 file identifier of file identifiers 420 identifies a file name or path of a help file that corresponds to the help topic a1 descriptor of descriptors 410 . similarly , the help file directory illustrated in fig4 a associates file identifiers 420 and descriptors 410 for other help topics and subtopics provided within the application . because a particular help file may contain help information for multiple topics or subtopics , a file index 430 is provided to more specifically define the location of help information corresponding to descriptors 410 . file index 430 defines the particular location within a file identified by file identifiers 420 at which help information corresponding to descriptors 410 resides . thus , the help file directory of the present invention forms an association between displayed help topic descriptors 410 and the location of help files containing information related to the topic descriptors as defined by a file identifier 420 and a file index 430 . it will apparent to one of ordinary skill in the art that other methods for defining the location of help file information in a particular computer system may equivalently be implemented . referring now to fig4 b , a further example of the content of a help file directory for application 320 is illustrated . in this example , the help file directory contains descriptors 450 for a different set of help topics corresponding application 320 . similarly , a set of file identifiers 460 and file indices 470 define a location of help files corresponding to the descriptors 450 of application 320 . note that the help file directory may contain an arbitrary number of descriptors , file identifiers , and file indices as needed for describing the set of topics or subtopics available in the help files for a particular application . a help file directory header 441 and 445 is also provided in each help file directory . the header provides control information related to the help file directory such as the version number of the directory , a file type or tag id that identifies the file as a help directory , and a record count that identifies the number of items in the directory . it will be apparent to those of ordinary skill in the art that other control information may be provided in the directory header . referring now to fig5 a typical screen display provided with the present invention is illustrated . it will be apparent to one of ordinary skill in the art that the present invention is not limited to the particular screen display format illustrated in fig5 . rather , the example of fig5 is provided for the purpose of explaining the operation of the present invention . fig5 illustrates a set of windows that may be displayed as a user invokes multiple applications along with the present invention . in the preferred embodiment , the integrated help utility of the present invention is activated using a menu selection 512 provided at the top of the display screen . note that other mechanisms may equivalently be used for activating the integrated help utility of the present invention . in the preferred embodiment , the integrated help utility of the present invention is denoted &# 34 ; bookcase &# 34 ;. upon activation of the command selection 512 , a window 530 is created using conventional operating system calls . window 530 represents the display area used by the integrated help utility of the present invention for displaying a table of contents or outline of help information topics provided across multiple applications . as illustrated in the example of fig5 a window 510 corresponding to application 310 illustrated in fig3 is displayed . similarly , a window 520 corresponding to application 320 illustrated in fig3 is also displayed in fig5 . the applications corresponding to windows 510 and 520 each have corresponding help files . as part of the present invention , each of these applications also has a corresponding help file directory as described in connection with fig3 a and 4b . a particular application may have more than one help file directory . the information from these help file directories is used to display information in window 530 . the content of integrated help utility window 530 illustrated in fig5 represents an example of the information displayed by the present invention for the example help file directories illustrated in fig4 a and 4b . for example , the sample help topic 540 illustrated in window 530 of fig5 corresponds to help topic descriptor 440 illustrated in fig4 a . similarly , help subtopic 542 illustrated in window 530 corresponds to subtopic descriptor 442 illustrated in fig4 a . each descriptor 410 of the help file directory of the example illustrated in fig4 a is displayed as a separate line item in window 530 . in a similar manner , the help descriptors 450 illustrated in fig4 b are also displayed as separate line items in window 530 . for example , help topic 546 corresponds to help topic descriptor 446 illustrated in fig4 b . topic 548 displayed in window 530 corresponds to help topic descriptor 448 illustrated in fig4 b . the integrated help utility of the present invention displays help file directory information in window 530 for the help file directory of each application currently installed on a particular computer system . once the help topic or subtopic descriptors are illustrated , a computer user may use a cursor control device to select a topic or subtopic from within window 530 . in the example of fig5 cursor 460 has been positioned at topic 548 of help utility window 530 . this particular help topic may be selected for display by a user by activation of the signal generation device or mouse button of the computer system . once this selection is made , the integrated help utility of the present invention accesses the file identifier and file index corresponding to the selected topic descriptor . for the example illustrated in fig5 topic 548 has been selected . once this occurs , the integrated help utility of the present invention accesses file identifier 468 and file index 478 corresponding to the help topic descriptor 448 illustrated in fig4 b . the file identifier 468 and file index 478 is extracted from the help file directory or a corresponding help utility storage area by the integrated help utility 340 of the present invention . the file identifier and file index so extracted is formatted into a context string compatible with help viewer 330 illustrated in fig3 . this context string that uniquely identifies the location of the selected help information is transferred to help viewer 330 by integrated help utility 340 on line 342 as illustrated in fig3 . in a conventional manner , help viewer 330 accesses the specified help information and displays the information on display system 343 . thus , the present invention integrates the display and selection of help directory information from multiple applications into a single window . the present invention also provides a searching capability for searching the help directory for items that match a search string or set of search criteria provided by a user . conventional methods are used for defining a particular search criteria protocol . a particular set of search criteria are passed to search utility 341 illustrated in fig3 . these search criteria are parsed by search utility 341 . help utility 340 and search utility 341 operate cooperatively to search the available help file directories for topics or sub - topics that match the search criteria . the matching topic or sub - topic items are then displayed by the present invention in the help utility window 530 illustrated in fig5 . this searching process is described in more detail in connection with the processing flowchart of fig8 . referring now to fig6 - 8 , the processing logic of the present invention is illustrated . the processing logic of the preferred embodiment is operably disposed within random access memory 102 and executed by processor 101 of the computer system described in reference to fig1 . this processing logic can be a separately compiled or loaded entity or incorporated as part of a larger operating system or application software package . in either case , a means for activating the processing logic of the present invention may be performed using techniques well known to those of ordinary skill in the art . once activated , the processing logic of the present invention operates in the manner described below in connection with the flowcharts of fig6 and 7 . referring now to fig6 the integrated help utility processing of the present invention is illustrated . as an initial step , a standard window or display region for the display of help directory information ( denoted the help utility window ) is created in processing block 612 . next , the help utility of the present invention uses the operating system to generate a list of application programs currently installed within the system ( processing block 614 ). next , the help utility prepares to enter a loop for each application in the installed application list . this loop is entered at processing block 618 . in a first processing step of this loop , the help file directory of the application currently being processed is accessed . the help topic and subtopic descriptors for the application are extracted from the help file directory and listed in the help utility window created in processing block 612 . the topic and subtopic file identifiers and file indices corresponding to the displayed descriptors are retained in a help utility storage area . these file identifiers and file indices are accessed if a particular topic descriptor is selected by a user . to facilitate the selection process , a window position is maintained for each topic or subtopic descriptor displayed in the help utility window . in this manner , a particular cursor position may be associated with each descriptor displayed in the help utility window ( processing block 620 ). each of the applications in the installed application list is processed in this manner . a loop between decision block 622 and processing block 618 continues until each application in the installed application list has been processed . at the completion of this loop , the help utility window will display help topic designators for each application resident on the system . topic hierarchy is conveyed by displaying subtopics as indented under corresponding topics . finally , the selection of topics or subtopics in the help utility window is enabled in processing block 630 . processing for the initial activation of the integrated help utility then terminates through the return bubble 632 illustrated in fig6 . referring now to fig7 help utility processing for the selection of a particular help topic or subtopic designator is illustrated at bubble 710 . if a search of help topics is requested by the user , processing path 713 is taken to processing block 717 where the search is performed . this process is described in detail in connection with fig8 . otherwise , a selection of help topics can be manually entered by the user ( processing path 715 ). in either case , a topic selection is generated and provided to the help utility in processing block 712 . the file identifier and file index corresponding to the selected designator is obtained in processing block 714 . using the file identifier and file index , a context string uniquely identifying the help information corresponding to the selected help designator is built ( processing block 714 ). this context string is sent to the help viewer in processing block 716 . the help viewer uses this context string to access the help information for the selected topic or subtopic . the file identifier and file index provided in the context string enables this process ( processing block 718 ). once the help information so specified has been obtained , the help viewer displays the selected help information in processing block 720 . the help utility selection processing then terminates through the return bubble 722 illustrated in fig7 . referring now to fig8 the topic searching logic used by the present invention is illustrated . if a topic search is requested by a user , a search dialog box is displayed in processing block 862 . this dialog box prompts the user to enter a set of search criteria and / or a search string . conventional search protocols are used to define the format of the search criteria and search string . the search criteria and search string are retrieved by the present invention in processing block 864 . these search criteria and search string ( s ) are used to traverse the help file directories of each installed application for matching topics . the matching topics are retained ( processing block 866 ). the matching topics are collected as the set of selected topic designators in processing block 868 . this set of selected topic designators are then provided to the processing logic illustrated in fig7 at processing block 712 through the return bubble 870 illustrated in fig8 . as an extension of the present invention , hypertext constructs within the help file information can be supported . these constructs are supported in the conventional help viewer and displayed as a user selects a particular topic and information contained therein . in this manner , help information is hierarchically organized in the help utility window . thus , an improved method and apparatus for hierarchically integrating help information across multiple applications is disclosed . these specific arrangement and methods herein are merely illustrative of the principles of this invention . numerous modifications in form and detail may be made by those of ordinary skill in the art without departing from the scope of the present invention . although this invention has been shown in relation to a particular embodiment , it should not be considered so limited . rather , the present invention is limited only by the scope of the appended claims .