Abstract:
An automated method including automatic conditional provisioning of replacement and/or additional information display for assisting a user of the client system in retrieving and browsing information is disclosed. Under the method, in response to the retrieval and display on a display of a client system a first information page, the assistance display is conditionally provided automatically. The automatic conditional provisioning is based at least in part on the locator of the first information page, employing a number of locator based conditions. In one embodiment, the locator based conditions are URL patterns specifying families of URLs. In one embodiment, the replacement/additional information pages may contain identifiers/locators for related information pages.

Description:
RELATED APPLICATION  
       [0001]    This application is a continuation-in-part application to U.S. patent application Ser. No. 09/452,328, filed on Nov. 30, 1999, entitled “Dynamic Content Based Assisted Information Browsing”. The specification of which is hereby fully incorporated by reference. 
     
    
     
       BACKGROUND OF THE INVENTION  
         [0002]    1. Field of the Invention  
           [0003]    The present invention relates to the field of computerized information retrieval and browsing. More specifically, the present invention relates to methods and apparatuses associated with locator based assistance provided to facilitate information retrieval and browsing.  
           [0004]    2. Background Information  
           [0005]    With the recent advances in microprocessor, telecommunication and networking technology, increasing number of computer systems are being networked together through private and public networks, such as the Internet. Volumes of information stored on information servers (such as web servers of the World Wide Web) are now available to users of computer systems with a few clicks of a mouse button. For many users, the ease of access has actually created an information overload situation. An early solution has been to categorize as much of the information available as possible, such as the directory or index services offered by Internet portals like Yahoo and Lycos. Even then, a simple search restricted to one categorization could still result in hundreds of potential hits, requiring a large amount of user time to sort out the useless from the useful. As a result, users are frustrated, and information technology is prevented from realizing its full potential in reaching the ubiquitous state.  
           [0006]    Various automated techniques in assisting a user in retrieving and browsing information have been proposed and/or experimented. In U.S. Pat. No. 5,727,129, entitled “Network system for profiling and actively facilitating user activities”, issued to Barrett et al, a system and method for assisting a user in accessing information stored at remote network sites was disclosed. Under Barrett, an archive is maintained of remote sites accessed and instances in which the same remote sites are accessed in sequence. Statistics regarding information such as the number of times a site has been accessed, and the times a given set of sites have been accessed in sequence are maintained. Based on this information, information items are identified which the user is predicted to be likely to want to access. In U.S. Pat. No. 5,960,429, entitled “Multiple reference hotlist for identifying frequently retrieved web pages”, issued to Peercy et al, a method and apparatus for locating web pages was disclosed. Under Peercy, a count of retrievals of a web page is accumulated and the accumulated count and an address for the web page are stored in a record of a history log database. A multiple reference hotlist is formatted for the user from the records in the history log.  
           [0007]    Additionally, in co-pending application Ser. No. 09/452,328, entitled “Dynamic Content Based Assisted Information Browsing”, filed on Nov. 30, 1999, presently assigned to the same assignee, a method for providing information browsing assistance based on the contents of the information being browsed is disclosed.  
           [0008]    Each of these techniques has its pros and cons. Additional techniques that can improve the ease of information retrieval and browsing, even in limited circumstances, with lesser demands on processing power, are nevertheless still desired.  
         SUMMARY OF THE INVENTION  
         [0009]    An automated method including automatic conditional provisioning of replacement and/or additional information display for assisting a user of the client system in retrieving and browsing information is disclosed. Under the method, in response to the retrieval and display on a display of a client system a first information page, the assistance display is conditionally provided automatically. The automatic conditional provisioning is based at least in part on the locator of the first information page, employing a number of locator based conditions. In one embodiment, the locator based conditions are URL patterns specifying families of URLs. In one embodiment, the replacement/additional information pages may contain identifiers/locators for related information pages.  
       
    
    
     BRIEF DESCRIPTION OF DRAWINGS  
       [0010]    The present invention will be described by way of exemplary embodiments, but not limitations, illustrated in the accompanying drawings in which like references denote similar elements, and in which:  
         [0011]    [0011]FIG. 1 illustrates an overview of the present invention;  
         [0012]    [0012]FIG. 2 illustrates a browser and the augmented locator (URL) based assistance function and data structure of FIG. 1 in further detail, in accordance with one embodiment;  
         [0013]    [0013]FIGS. 3 a - 3   c  illustrate a number of example locators (URLs), locator based conditions (URL patterns) that encompass the example locators (URLs), and an XML like specification scheme for specifying assistance to be provided (URL Triggers) for the locator based conditions (URL patterns), in accordance with one embodiment;  
         [0014]    [0014]FIG. 4 illustrates a locator based condition (URL pattern) data structure for storing locator based conditions (URL patterns), in accordance with one embodiment;  
         [0015]    [0015]FIG. 5 illustrates the relevant aspect of the operational flow of the analyzer function of FIG. 2, in accordance with one embodiment;  
         [0016]    [0016]FIGS. 6 a - 6   b  illustrate a number of alternative dispositions of the analyzer function and locator based condition data structure for practicing the present invention, in accordance with two embodiments; and  
         [0017]    [0017]FIG. 7 illustrates an example digital system suitable for practicing the present invention.  
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0018]    As summarized, the present invention includes methods and apparatuses for providing information browsing assistance, based on the locators of information pages requested. In the following description, various aspects of the present invention will be described. However, the present invention may be practiced with only some or all aspects of the present invention. For purposes of explanation, specific numbers, materials and configurations are set forth in order to provide a thorough understanding of the present invention. However, the present invention may be practiced without the specific details. In other instances, well known features are omitted or simplified in order not to obscure the present invention.  
         [0019]    Parts of the description will be presented using terms such as locators, identifiers, functions, data structures and so forth, commonly employed by those skilled in the art to convey the substance of their work to others skilled in the art. Parts of the description will be presented in terms of operations performed by a computer system, using terms such as parsing, accessing, retrieving, and so forth. As well understood by those skilled in the art, these quantities take the form of electrical, magnetic, or optical signals capable of being stored, transferred, combined, and otherwise manipulated through mechanical, electrical and optical components of a digital system. The term digital system includes general purpose as well as special purpose data processing machines, systems, and the like, that are standalone, adjunct or embedded.  
         [0020]    Various operations will be described as multiple discrete steps performed in turn in a manner that is most helpful in understanding the present invention, however, the order of description should not be construed as to imply that these operations are necessarily order dependent, in particular, the order the operations are presented. Furthermore, the phrase “in one embodiment” will be used repeatedly, however the phrase does not necessarily refer to the same embodiment, although it may.  
       Overview  
       [0021]    Referring now to FIG. 1, wherein an overview of the present invention, in accordance with one embodiment, is shown. As illustrated, for the embodiment, in accordance with the present invention, browser  100  is augmented with at least an information browsing assistance function  102  and a complementary data structure  104  to conditionally provide locator based information browsing assistance to a user retrieving and browsing information pages  106 . More specifically, assistance function  102  and data structure  104  enable browser  100  to facilitate augmented conditional provisioning of replacement and/or additional complementary information pages  108 , when corresponding locator based conditions are met. That is, the assistance information pages may be provided as replacement information pages (replacing the requested information pages) or additional information pages (complementary to the requested information pages). Further, in various embodiments, one or more of the replacement/additional complementary information pages  108  may include suggestions (having associated information source identifiers) of additional information pages.  
         [0022]    Information pages  106 - 108  represent a broad range of informational units known in the art, including but not limited to information “documents” formed using mark-up languages, such as HTML and XML.  
         [0023]    In one embodiment, the locators of the information pages are Uniform Resource Locators (URL) as specified by RFC2396 of the Internet Engineering Task Force, and the locator based conditions are URL based conditions. That is, information browsing assistance is provided if a pre-specified URL condition (having associated information browsing assistance to be provided) is met. As will be described in more detail below, in various embodiments, each of the URL conditions is expressed as an URL pattern (implicitly) specifying a family of URLs, and the associated information browsing assistance to be provided (when one of the implicitly specified URLs is requested), to be described more fully below referencing FIG. 3 a - 3   c.    
       Browser Architecture  
       [0024]    [0024]FIG. 2 illustrates augmented browser  100  in further detail, including its relation with information browsing assistance function  102  and complementary data structure  104 , in accordance with one embodiment. As illustrated, browser  100  includes conventional elements found in many browsers known in the art, HTTP interface  262 , HTML web page handler  264 , JAVA™ and JavaScript execution engine  266 , other script interpreter  268  (e.g. CGI), display interface  270 , and a number of “plug-ins” (or add-ons), shown as additional ActiveX components  272 - 274 . Included among these ActiveX components  272 - 274  is monitor function  272  of assistance function  102  responsible for interfacing with analyzer function  282  of assistance function  102 . In other words, for the embodiment, assistance function  102  is distributively implemented with monitor function  272  being added to or integrated with browser  100 .  
         [0025]    Monitor function  272  registers itself with browser  100  to be notified of various browsing events of interest. In one embodiment, these browsing events of interest include in particular when browser  100  requests for information pages (e.g. in response to directions from a user). Upon receipt of these notifications, monitor function  272  relays the occurrence of these events to augmented assistance function  102 .  
         [0026]    In alternate embodiments, browser  100  may be equipped with the capabilities to interface with analyzer function  282  directly. In other embodiments, analyzer function  282  may also be integrated with browser  100  instead.  
         [0027]    Data structure  104  stores the locator based conditions. As alluded to earlier, for the earlier described URL based embodiments, data structure  104  stores the URL patterns. In one embodiment, data structure  104  is a tree-like data structure, with different portions of a URL pattern store in corresponding nodes of the tree-like data structure, and the leaf node of these nodes storing the associated information browsing assistance to be provided, to be described more fully later referencing FIG. 4.  
         [0028]    In one embodiment, an editor (not shown) is provided to facilitate entry of the URL patterns into data structure  104 . In another embodiment, the URL pattern may be specified using pre-determined language elements (e.g. XML), and a reader (not shown) capable of comprehending the pre-determined language elements is provided to read the specified URL patterns (expressed using the pre-determined language elements), and store the specified URL patterns in data structure  104 .  
         [0029]    Augmented assistance function  102 , more specifically, analyzer function  282 , (as described in more detail below referencing FIG. 5), is equipped to determine whether a locator of a requested information page satisfies one of the pre-specified locator based conditions stored in augmented data structure  104 . For the earlier described URL based embodiment, analyzer function  282  is equipped to determine whether the URL of a requested information page matches one of the pre-specified URL patterns stored in augmented data structure  104 .  
       Locator, Locator Based Conditions and Associated Browsing Assistance  
       [0030]    [0030]FIG. 3 a  illustrates a number of example locators of information pages  300 , more specifically, example URLs of information pages, in accordance with one embodiment. Example URLs  302  and  304  identify a “news” page each, available from the portals “msnbc” and “yahoo” respectively. Similarly, example URLs  306  and  308  identify a “sports” page each, available from the portals “msnbc” and “yahoo” respectively. Example URLs  310  and  312  identify a result page each, to be returned in response to a search having the keyword “dog”, available from the search engines “google” and “altavista” respectively.  
         [0031]    Of course, as those skilled in the art will appreciate that example URLs  306  and  308  could be considered as identifying a “news” page each. In other words, the classification or differentiation of “sports” as a special category of “news” is arbitrary and application dependent. Further, from the description to follow, those skilled in the art will appreciate that the present invention may be practiced with a wide range of other similar locators or URLs.  
         [0032]    [0032]FIG. 3 b  illustrates a number of example locator conditions  320 , more specifically, example URL patterns that encompass the above example locators or URLs, in accordance with one embodiment. As illustrated, locator conditions or URL patterns  322  and  324  having the keyword “news” placed at the illustrated positions encompass the earlier described example locator or URL  302  and  304  respectively, and other news oriented information pages identified by locators/URLs of like kinds. An asterisk in locator condition or URL pattern  322 / 324  stands for a “wildcard” that may be satisfied by any value in the corresponding position of a locator/URL. In other embodiments other characters may be used in locator conditions to represent wildcard characters or specific matching behaviors. Pattern matching algorithms familiar to those skilled in the art such as regular expressions may also be employed. Similarly, locator conditions or URL patterns  326  and  328  having the keyword “SPTS” or “sports” placed at the illustrated positions encompass the earlier described example locator or URL  306  and  308  respectively, and other sports oriented information pages identified by locators/URLs of like kinds. Locator conditions or URL patterns  330  and  332  having the keyword “q=dog” placed at the illustrated positions encompass the earlier described example locator or URL  310  and  312  respectively, and other result information pages identified by locators/URLs of like kinds. Accordingly, each of locator conditions or URL patterns  320  implicitly identifies a family locators or URLs.  
         [0033]    Assuming in each of these situations, i.e. for each locator or URL that satisfies these locator based conditions or URL patterns  322 - 332 , the associated assistance is a corresponding assistance information page from a “help” web site “mysite”, the associated assistance may be specified using an XML like specification language, in accordance with one embodiment, as illustrated. For example, the “news” oriented assistance information page to be displayed from “mysite.com” when URL patterns  322 - 324  are met or matched, may be specified through URL trigger  340  enumerating the “news” information page to be displayed from “mysite.com”. URL trigger  340  comprises URL patterns  342 - 344 , denoting the conditions under which the specified assistance is to be provided. For the embodiment, the URL patterns and the assistance to be triggered are specified using the XML like statements illustrated. Similarly, the “sports” oriented assistance information page to be displayed from “mysite.com” when URL patterns  326 - 328  are met or matched, may be specified through URL trigger  360  enumerating the “news” information page to be displayed from “mysite.com”. URL trigger  340  comprises URL patterns  342 - 344 , denoting the conditions under which the assistance is to be provided. The “dog” oriented assistance information page to be displayed from “mysite.com” when URL patterns  330 - 332  are met or matched, may be specified through URL trigger  380  enumerating the “dogs” information page to be displayed from “mysite.com”. URL trigger  380  comprises URL patterns  382 - 384 , denoting the conditions under which the assistance is to be provided. The described relationships in these examples are merely illustrative, and those skilled in the art will recognize that the scope of the present invention includes logical relationships between location conditions and URL triggers that are based on more than simple subject matches. In some embodiments, analyzer logic  282  may use arbitrarily complex decision factors to map an URL pattern to an appropriate assistance information page.  
         [0034]    Even though only a handful of example locators, locator based conditions and associated assistance are illustrated, as alluded to earlier, those skilled in the art will appreciate the illustrated manner of specifying locator based conditions and the assistance to be provided may be practiced for a wide range of locators.  
       Locator Based Condition (URL Pattern) Data Structure  
       [0035]    [0035]FIG. 4 illustrates a locator based condition (URL pattern) data structure suitable for use to store locator based conditions (URL patterns) to practice the present invention, in accordance with one embodiment. As illustrated, for the embodiment, locator based condition or URL pattern data structure  104  is a tree like data structure comprising a number of nodes, e.g. nodes  402 - 414 . Nodes  414  are said to be leaf nodes of predecessor nodes, such as nodes  402 - 410 . The various portions of a locator based condition or a URL are stored in corresponding nodes. For example, the various portions of URL pattern  302  are stored in corresponding nodes  402 - 410 , whereas the various portions of URL  304  are stored in nodes  402  and  410 . Child node or URL Trigger  414  specifies the assistance or URL action to be triggered when the locator of a requested information satisfies the URL condition or matched the URL pattern.  
         [0036]    As will be described in more detail below, in one embodiment, assistance function  102 , more specifically, analyzer function  282  determines whether the locator or URL of the requested information page satisfies a locator based condition or matches a URL pattern by traversing the tree like data structure  104 .  
       Operational Flow of Assistance Function  
       [0037]    [0037]FIG. 5 illustrates the relevant aspects of the operational flow of assistance function  102  (more specifically, analyzer function  282 ), in accordance with one embodiment. As illustrated, upon receipt of a notification of an information page request event from monitor function  272 , block  502 , analyzer function  282  determines if one of the locator based conditions is met, block  504 . For the earlier described embodiment, where the locator based conditions are URL patterns, and the URL patterns are stored in a tree like data structure  104 , analyzer function  282  traverses the tree like data structure  104  to determine if one of the URL patterns is met.  
         [0038]    If locator based condition (URL pattern) is not met, for the embodiment, no information browsing assistance is provided. However, if one of the locator based condition (URL pattern) is met, analyzer function  282  causes the corresponding information browsing assistance to be provided, block  506 . As described earlier, for the URL pattern embodiment, in particular, the embodiment where the URL patterns are stored in a tree like data structure, the assistance is specified in the leaf node of the nodes storing the matching URL pattern.  
         [0039]    Further, these assistance may take the form of one or more replacement information pages and/or one or more additional complementary information pages. Whether replacement or additional information pages are provided, one or more of the assistance information page may comprise information source identifiers identifying information pages of potential interest (in view of the information page being requested).  
       Disposition of Analyzer Function and Condition Data Structure  
       [0040]    [0040]FIGS. 6 a - 6   b  illustrate two alternative dispositions of assistance function  102  and condition data structures  104 , both suitable for practicing the present invention, in accordance with two embodiments. The embodiment of FIG. 6 a  represents an embodiment, where all the relevant earlier described elements, i.e. monitor function  272 , analyzer function  282 , and data structure  104  are all provided to a client system  602  coupled to a network (e.g. the Internet). These relevant elements may be loaded onto client system  602  via a distribution medium (not shown) or downloaded from a distribution server (not shown).  
         [0041]    The embodiment of FIG. 6 b  represents an alternate embodiment, where only monitor  272  is provided to a client system  602  coupled to a network (e.g. the Internet). Otherwise, analyzer function  282  and data structure  104  are disposed on portal or service server  604  instead. During operation, upon being notified of a request for an information page, monitor function  272  notifies analyzer function  102  via the coupling network. The notification may be accomplished using any one of a number communication protocols known in the art. Analyzer function  282 , using data structure  104 , would perform the analysis, and if appropriate, triggers the information browsing assistance for client system  602  remotely from server  604 . Similarly, monitor function  272  may be loaded onto client system  602  via a distribution medium (not shown) or downloaded from a distribution server (not shown). In selected embodiments, server  604  may also assume the role of the distribution server.  
       Example Computer System  
       [0042]    [0042]FIG. 7 illustrates one embodiment of an exemplary digital system suitable for use to practice the present invention, either as a client system or a server system. As a client system, digital system  700  may be a desktop computer system, a laptop computer system, a palm sized computing device, a wireless mobile phone, a set-top box, an Internet appliance and the like. As a server, digital system  700  may a single or a cluster of computer systems. As shown, exemplary digital system  700  includes one or more processors  702  and system memory  704 . Additionally, system  700  includes mass storage devices  706  (such as diskette, hard drive, CDROM and so forth), input/output devices  708  (such as keyboard, cursor control and so forth) and communication interfaces  710  (such as network interface cards, modems and so forth). The elements are coupled to each other via system bus  712 , which represents one or more buses. In the case of multiple buses, the buses are bridged by one or more bus bridges (not shown). Each of these elements performs its conventional functions known in the art. In particular, system memory  704  and mass storage  706  are employed to store a working copy and a permanent copy of the programming instructions implementing the teachings of the present invention. The permanent copy of the programming instructions may be loaded into mass storage  706  in the factory, or in the field, as described earlier, through a distribution medium (not shown) or through communication interface  710  (from a distribution server (not shown). The constitution of these elements  702 - 712  are known, and accordingly will not be further described.  
       Conclusion and Epilog  
       [0043]    Thus, a novel method and apparatus for assisting a user in information retrieval and browsing, based on the locator of a requested information page has been described. While the present invention has been described in terms of the above illustrated embodiments, those skilled in the art will recognize that the invention is not limited to the embodiments described. The present invention can be practiced with modification and alteration within the spirit and scope of the appended claims. The description is thus to be regarded as illustrative instead of restrictive on the present invention.