Abstract:
A system and method for supporting offline Web browsing. A user interests profile comprising content and attribute preferences of Web pages the user may be interested in is provided. Based on that user&#39;s profile, there is generated an interestingness values for each of candidate Web pages. From a hoard request initiated by a user, received one or more Web pages are selected and downloaded based on their respective interestingness values. These Web pages are stored for later viewing by the user when offline. The candidate Web pages include base Web pages which are supplied by the user in the hoard request, and linked Web pages which are reachable from the base pages. Thus, an interestingness value may be computed as the interestingness of a hyperlink associated with a Web page reachable from a base Web page, the interestingness value of a hyperlink being based upon the similarity of a linked Web page to the base Web page and/or to that user&#39;s interests profile.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention generally relates to the information access over the World Wide Web (“WWW”), and to an improved method and apparatus for enabling off-line web access, i.e., while disconnected from the Internet.  
           [0003]    2. Description of the Prior Art  
           [0004]    The World Wide Web (WWW or Web) is a network application that employs the client/server model to deliver information on the Internet to users. A Web server disseminates information in the form of Web pages. Web clients and Web servers communicate with each other via the standard Hypertext Transfer Protocol (HTTP). A (Web) browser is a client program that requests a Web page from a Web server and graphically displays its contents. Each Web page is associated with a special identifier, called a Uniform Resource Locator (URL), that uniquely specifies its location. Most Web pages are written in a standard format called Hypertext Markup Language (HTML). An HTML document is simply a text file that is divided into blocks of text called elements. These elements may contain plain text, multimedia content such as images, sound, and video clips, and even other elements. An important type of element, called anchor elements, enables a Web page to embed hyperlinks, i.e., links to other Web pages. A Web browser typically displays hyperlinks in a distinctive format: as underlined text, or in a different color. When a user clicks a link, the browser brings up the page referenced by that link, even if it is on a different server. The Web page containing a hyperlink is referred to as the source document. The page referenced by a hyperlink is known as the target document.  
           [0005]    A useful mode of web browsing is disconnected web access, otherwise known as offline browsing, which permits a user to view web pages while he/she is disconnected from the Internet. Disconnected web access is needed when there is no networking capability available at the location of a (mobile) computer, or when the user wants to avoid use of the network to reduce network charges and/or to extend battery life. It is also a viable fallback position when network characteristics degrade beyond usability. Disconnected web access works by storing (hoarding) necessary Web pages on the hard disk of the client computer prior to disconnection and, disconnected, servicing user requests for Web pages with the local copies. To maximize content availability, the user often needs to explicitly specify a set of Web pages that he is likely to access. Before going offline, these specified Web pages, called base pages, are downloaded to the client computer, along with some other pages that are reachable by following hyperlinks from the base pages. It is not sufficient to hoard base pages only because the user typically does not stop at a base page: while offline, he may request a page that is several clicks away from a base page.  
           [0006]    Conceptually, a base page and all the pages that can be reached from it form a tree whose edges correspond to hyperlinks: the root is the base page, the second-level tree nodes are the pages one click away from the base page, the third-level nodes are the pages two clicks away from the base page, et al. The size of such a tree is often excessively large, due to the dense interconnection of Web pages. Hoarding all the pages in the tree would require a prohibitively long time and a disk space far beyond the local disk&#39;s capacity. Therefore, only a small subset of those pages may be hoarded. Existing systems, such as Microsoft&#39;s Internet Explorer, limit hoarded pages to those that are within a certain number of links from the base page. They are effectively based on a breadth-first approach, giving the pages at the same level equal consideration. However, a user&#39;s browsing behavior typically follows a depth-first pattern and not all links are of equal importance to the user. This implies that existing systems either waste significant time and space hoarding Web pages that are not needed by the user, or leave a lot of necessary pages unavailable to the user while offline. Some existing systems allow a user to refine the selection of pages based on a page&#39;s attributes such as its file type and whether it is on the same server (or in the same directory) as the base page. However, these options alone are not sufficient to limit the hoard volume. They must be combined with the hoard-by-level approach and therefore, do not ameriolate the problem. Since it is inconvenient or even impossible for a user to explicitly specify all the Web pages he will possibly access offline, a method is needed that hoards Web pages in anticipation of the user&#39;s future requirements so that the limited resources of time and disk space can be devoted to hoarding the Web pages that are most likely to be needed by the user offline.  
           [0007]    As is known in the art, one can try to model a user&#39;s interests and/or to predict a user&#39;s future needs based on the user&#39;s past behavior. For example, by observing users&#39; past Web usage, a system can build a data structure that reflects the interrelationship between URL references. The system is then able to speculate, given a URL reference (i.e., an access to a Web page), what other URLs are likely to be referenced in the near future. The system can further prefetch the corresponding Web pages before the user actually demands them, reducing user-perceived access latency. One such technique is described by V. N. Padmanabhan and J. C. Mogul in an article entitled  Using Predictive Prefetching to Improve World Wide Web Latency, Computer Communications Review,  26(3):22-36, July 1996. They construct a dependency graph which has a node for every URL that has been referenced. Correlation between URLs are captured by edges through the nodes weighted by the likelihood that one will be referenced soon after the other. D. Duchamp discusses a similar technique in  Prefetching Hyperlinks, Proceedings of Second USENIX Symposium on Internet Technologies and Systems , Pages 127-138, USENIX, Boulder, Colo. His system prefetches hyperlinks embedded in a Web page based on a usage profile that indicates how often those links have been previously accessed relative to the embedding page. These prefetching techniques are designed to improve Web access performance in a connected environment and are not suitable for Web hoarding which aims at optimizing data availability during disconnection. Specifically, they can predict only the pages that have been previously referenced, severely limiting the demand references that can benefit from the techniques. In order to make a substantial number of useful predictions, they often rely on observing a plurality of users, as opposed to a single user. That potentially increases the number of false predictions at the same time and the wasteful consumption of precious resources thereof.  
           [0008]    Instead of using URL references to model user behavior, an alternative is to observe the document content seen by users. Appropriately aggregating the content of the Web documents that a user has browsed over time will give a pretty accurate indication of the user&#39;s interests. Such learned model of user interests can be used for assisting the user browsing the Web, suggesting hyperlinks that are potentially interesting to the user. Two systems of this kind are described by H. Lieberman in  Letizia: An Agent That Assists Web Browsing, Proceedings of International Joint Conference on Artificial Intelligence , Montreal, Canada, August 1995, and by D. Mladenic in  Personal WebWatcher: Design and Implementation, Technical Report IJS - DP -7472 , Department for Intelligent Systems , J. Stefan Institute, Slovenia, respectively. Again these systems are targeted at a connected environment and have no pressing need to identify interesting hyperlinks to the fullest extent possible. They emphasize the actual interestingness of a hyperlink (i.e., the interestingness of the target document), instead of the perceived interestingness of the hyperlink (i.e., how interesting the link appears to the user in the context of the embedding page). Further, they consider the user&#39;s historical and persistent interests only and not the user&#39;s current, and possibly new, interests.  
           [0009]    Although the content of a document says much about its reader&#39;s interests, so do other attributes associated with the document. In particular, the URL of a document describes the location of the document in terms of the server and the directory path on the server. The composition of a URL is potentially very useful because it reflects the hierarchical clustering of documents. Consider the following hypothetical usage pattern: a user frequently browses documents in the sports directory of one newspaper&#39;s Web site; but he seldom reads documents in the finance directory on the same Web site or sports documents on another newspaper&#39;s site. Chances are the user is very interested in the first newspaper&#39;s sports articles; more so than in the same newspaper&#39;s finance articles or the second newspaper&#39;s sports articles. Note how inferences can be made here regarding the user&#39;s interests without knowing the exact content of those articles.  
           [0010]    As is also known in the art, it is possible to compare the relatedness, or similarity, of two entities with respect to certain properties of the entities. First, each entity is represented by a feature vector, where the elements of the vector are features characterizing the entity and each element has a weight to reflect its importance in the representation of the entity. Next, the relatedness of the two entities are computed as the distance between the two corresponding feature vectors. Such a technique is commonly used in text retrieval systems based on a comparison of content features (words and phrases) extracted from the text of documents and queries. The specifics of the feature selection procedures, feature weighting schemes, and similarity metrics are generally known to those of ordinary skill in the art. Feature selection and weighting techniques tailored for HTML content are described by D. Mladenic in  Machine Learning on Non - Homogeneous. Distributed Text Data , Doctoral Dissertation, Faculty of Computer and Information Science, University of Ljubljana, Slovenia, 1998.  
           [0011]    Accordingly, a need exists for a method for enabling a user&#39;s disconnected Web access that overcomes the deficiencies of the prior art. This method should hoard Web pages in the descending order of user-perceived interestingness, preferably considering the user&#39;s preferences on both document content and attributes.  
         SUMMARY OF THE INVENTION  
         [0012]    It is an object of the present invention to provide a system and method for supporting disconnected Web access, where a user specifies a collection of base URLs that are likely to be needed while disconnected and prompts the computing system to hoard necessary Web pages on the client computer prior to going offline.  
           [0013]    It is another object of the present invention to provide a method for hoarding Web pages in preparation for offline browsing, based on the perceived interestingness of the pages.  
           [0014]    A further object of the present invention is to provide a method of determining the interestingness of Web pages as perceived by a user, without requiring explicit user specification of the interestingness for all possible pages.  
           [0015]    A further object of the present invention is to provide a method of modeling a user&#39;s interests in Web page documents which considers both the document content and/or the attributes associated with the document such as the composition of the URL.  
           [0016]    According to the principles of the invention, there is provided a system and method for supporting offline Web browsing. A user interests profile comprising content and attribute preferences of candidate Web pages the user may be interested in is provided. Based on that user&#39;s profile, there is generated an interestingness values for each of candidate Web pages. From a hoard request received one or more Web pages are selected and downloaded based on their respective interestingness values. These Web pages are stored for later viewing by the user when offline. The candidate Web pages include base Web pages which are supplied by the user in the hoard request, and linked Web pages which are reachable from the base pages. Thus, an interestingness value may be computed as the interestingness of a hyperlink associated with a Web page reachable from a base Web page, the interestingness value of a hyperlink being based upon the similarity of a linked Web page to the base Web page and/or to the user&#39;s interests profile. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0017]    Further features, aspects and advantages of the apparatus and methods of the present invention will become better understood with regard to the following description, appended claims, and the accompanying drawings where:  
         [0018]    [0018]FIG. 1 is a block diagram of an overall system architecture in which the present invention can operate, formed in accordance with one embodiment of the present invention.  
         [0019]    [0019]FIG. 2 is a diagram illustrating an exemplary interests profile.  
         [0020]    [0020]FIG. 3 is a logical flow diagram illustrating how a demand request is processed by the observer.  
         [0021]    [0021]FIG. 4 is a logical flow diagram illustrating how a hoard request is processed by the hoarder. 
     
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0022]    The present invention may be more fully understood with reference to FIG. 1, which shows an overall system architecture in which a preferred embodiment of the invention can operate. The components of FIG. 1 includes a client system  1000  and the World-Wide-Web  1090 , which includes a collection of Web servers (not shown). The client system  1000  preferably includes a user agent  1010  operatively coupled to both an observer  1020  and a hoarder  1050 . The observer  1020  and the hoarder  1050  in turn are operatively coupled with a content extractor  1060 , an attribute extractor  1070 , an interests profile  1080 , and a proxy server  1030 . The proxy server  1030 , which is shown to have a cache memory storage  1040 , is enabled to communicate with the Web  1090 . It is to be appreciated that the component associations described above with respect to FIG. 1 are for illustrative purposes. The components may be readily reconfigured, including moving some of the components in the client system  1000  to another computer. Given the teachings of the present invention provided herein, and the teachings of commonly-owned, co-pending U.S. patent application Ser. No. ______ (YOR920020146US1, Attorney Docket 15623) entitled SYSTEM AND METHOD FOR SORTING EMBEDDED CONTENT, the contents and disclosure of which is incorporated by reference as if fully set forth herein, one of ordinary skill in the related art will contemplate these and various other configurations.  
         [0023]    The user agent  1010  serves as the interface between a human user and the computing system. The user agent  1010  accepts commands from the user. A user command may comprise a demand request for accessing a Web page, or a hoard request for downloading a plurality of base Web pages and a subset of the pages that are reachable from the base pages. The user agent  1010  passes demand requests to the observer  1020 , and hoard requests to the hoarder  1050 . The user agent  1010  also presents to the user responses from the computer system, including the Web pages the user has demanded. It is to be appreciated that a hoard request may be issued in two separate steps: first, the URLs for the base Web pages are specified; next, a hoard command is issued to start the actual hoarding process. In such a case, the user agent  1010  saves the user-specified base URLs so that it can pass them to the hoarder  1050  when a hoard command is issued. It is further to be appreciated that the user agent  1010  may permit the user to specify a value of interestingness with each base URL. The “interestingness value” is a number between the range of 0 and 1 (inclusive) indicating how interesting the corresponding Web page is to the user, e.g., with 1 being the most interesting. If a user-specified interestingness is absent for a base URL, the user agent  1010  assumes a default value of 1.  
         [0024]    The observer  1020 , which will be discussed in greater detail herein with respect to FIG. 3, functions to intercept all data traffic related to the user&#39;s demand requests. The hoarder  1050 , which will be discussed in greater detail herein with respect to FIG. 4, functions to examine the collection of base URLs that make up the hoard request and initiates the hoarding of individual Web pages. A hoarded page may be a base Web page or a page reachable from one of the base pages. The pages are hoarded in the descending order of user-perceived interestingness. As many pages are hoarded as possible, subject to certain resource limits. The resource limits may include, for example, the disk space used to store the pages or, the time spent on hoarding.  
         [0025]    The proxy server  1030  functions as a relay system between the rest of the client system  1000  and the Web  1090 . For example, proxy server  1030  accepts URLs from the observer  1020  and the hoarder  1050  and returns the corresponding Web pages retrieved from the Web  1090 . It additionally maintains the cache storage  1040 , which includes recently retrieved Web pages. The cache  1040  is likely to reside on a hard disk or, in addition, reside in main memory so that its contents may survive system restarts. The art of implementation of the proxy server  1030  and its cache  1040  is well known to those skilled in the art.  
         [0026]    The content extractor  1060  functions to construct a feature vector (hereinafter “content feature vector”) for characterizing the content of a Web page or a hyperlink. According to a preferred embodiment of the present invention, the content feature vector for a Web page is built from the entire text in the page, whereas the content feature vector for a hyperlink is built from text that appears in a window surrounding the anchor element in the embedding page (for example, the anchor element plus 50 words before and after the anchor element). One skilled in the art will recognize that there are other ways to construct a content feature vector for a Web page or for a hyperlink.  
         [0027]    The attribute extractor  1070  constructs a feature vector (hereinafter “attribute feature vector”) for characterizing the attributes of a Web page or a hyperlink. The attributes of a Web page refer to the location, type, and size etc. of the page. The attributes of a hyperlink refer to the attributes of the corresponding target page. According to a preferred embodiment of the present invention, the attribute feature vector includes features that correspond to all possible prefixes of the corresponding URL. For example, if a Web page (hyperlink) has a URL http://www.ibm.com/research/mobile/projects.html, then its attribute feature vector will contain the following features: http://www.ibm.com/, http://www.ibm. com/research/, http://www.ibm.com/research/mobile/, and http://www.ibm.com/research/mobile/projects.html. One skilled in the art will recognize that there are other ways of decomposing a URL to form features in the attribute feature vector, and that attribute features may also be extracted from sources such as the HTTP headers and the head element of an HTML document.  
         [0028]    The interests profile  1080  retains for storage a user&#39;s interests. It comprises a content feature vector  1065  and an attribute feature vector  1075 . The content feature vector characterizes the content of Web pages the user is likely to be interested in. The attribute feature vector characterizes the attributes of Web pages the user is likely to be interested in. FIG. 2( a ) depicts a representation of an example content feature vector  1065  that includes feature words  1063  and their corresponding weights  1068 . The right part of FIG. 2 is an example attribute feature vector  1075  including URL prefixes  1073  and their corresponding “interestingness” values or weights  1078 .  
         [0029]    [0029]FIG. 3 illustrates the process by which the observer  1020  handles a demand request, in accordance with a preferred embodiment of the present invention. In a first step  2010 , the observer receives from the user agent  1010  the URL of a Web page that is demanded. In step  2020 , the observer obtains the Web page via the proxy server  1030 . In step  2030 , the observer constructs a content feature vector and an attribute feature vector for the Web page, particularly, by invoking the content extractor  1060  to construct the content feature vector and, invoking the attribute extractor  1070  to construct the attribute feature vector. In step  2040 , the observer updates the interests profile  1080  with the two feature vectors built in step  2030 . Preferably, the observer performs a sum of the content feature vector in the interests profile  1080  and the content feature vector for the Web page to generate the new content feature vector in the interests profile. It additionally performs a sum of the attribute feature vector in the interests profile  1080  and the attribute feature vector for the Web page to generate the new attribute feature vector in the interests profile. It is to be appreciated that the feature vectors may be aggregated in more sophisticated ways so that old interests may be forgotten over time. Finally, at step  2050 , the Web page is returned to the user agent  1010 .  
         [0030]    In other embodiments within the scope of the invention, the interests profile  1080  generated by the observer  1020  may be complemented with, or replaced by, explicit specification by the user, possibly after the user specification is appropriately transformed. For example, the user specification may include a collection of key words identifying the user&#39;s interests in content, and the user&#39;s preferences on the attributes of Web pages such as document size, file type, and file location (server and directory). If the interests profile  1080  is to be completely based on user specification, then the observer component  1020  may be eliminated.  
         [0031]    [0031]FIG. 4 illustrates a preferred method of how a hoard request is serviced by the hoarder  1050 , in accordance with the present invention. In step  3010 , the hoarder receives a hoard request. The hoard request includes a collection of base URLs, each of which is associated with a value of interestingness. In step  3020 , the hoarder creates a data structure, referred to as “HoardQ”, for maintaining URLs that are hoard candidates together with their interestingness value. The hoarder initializes HoardQ with the base URLs and their interestingness. In step  3030 , the hoarder makes a determination on whether it is possible to hoard more Web pages. Further hoarding is possible when there are entries in HoardQ and the resource limits have not been exceeded. If further hoarding is not possible, the process of servicing the current hoard request ends. If further hoarding is possible, the hoarder proceeds to step  3040  where the hoarder removes an entry in HoardQ that includes an unhoarded URL with the highest value of interestingness. The hoarder invokes the proxy server  1030  to fetch the corresponding Web page and its inline multimedia elements (pictures, animations, videos and sounds), in a manner generally known to those skilled in the art. This step effectively causes the Web page and its inline multimedia elements to be stored in the cache  1040  of the proxy server  1030  (FIG. 1), making them available to the user while offline. In step  3050 , the hoarder constructs a content feature vector and an attribute feature vector for the newly hoarded page. The hoarder particularly invokes the content extractor  1060  to construct the content feature vector and, invokes the attribute extractor  1070  to construct the attribute feature vector. In steps  3060  to  3100 , the hoarder iterates through all the hyperlinks embedded in the newly hoarded Web page. That is, at step  3070 , the hoarder locates the next embedded hyperlink that has not been hoarded. In step  3080 , the hoarder constructs a content feature vector and an attribute feature vector for the hyperlink particularly by invoking the content extractor  1060  to construct the content feature vector and, the attribute extractor  1070  to construct the attribute feature vector. In step  3090 , the hoarder computes the interestingness of the hyperlink, which represents perceived interestingness of the corresponding target document, in a manner to be described in greater detail herein. In step  3100 , the hoarder updates HoardQ with information about the current hyperlink. If an entry already exists in HoardQ for the hyperlink, the interestingness value is changed to the greater of the old interestingness value and the new interestingness value. If there is no entry in HoardQ for the link, an entry is created for the link and the interestingness value computed in step  3090  is provided. Thereafter, the process proceeds back to step  3060  where the process steps up to step  3100  are repeated for each of the hyperlinks embedded for that newly hoarded Web page.  
         [0032]    In accordance with step  3090 , in a preferred embodiment, the hoarder computes the interestingness value of the hyperlink, referred to as L, that is embedded in a Web page, referred to as P as follows: For ease of description, some additional notations are introduced: Let U denote the interests profile. Let X denote one of P and U. The similarity of L and X with respect to their content, denoted S C   L, X , is preferably calculated as the similarity between the content feature vector of L and the content feature vector of X. The similarity of L and X with respect to their attributes, denoted S A   L, X , is preferably calculated as the similarity between the attribute feature vector of L and the attribute feature vector of X. It is to be appreciated that a number of vector similarity metrics may be used for computing S C   L, X  and S A   L, X , for example, the cosine distance. It is to be understood that, since the interests profile U represent the user&#39;s accumulative interests, S C   L, U  and S A   L, U  should be computed in terms of only the features contained in the feature vectors of L. The overall similarity between L and X, denoted S L, X , is preferably computed as a weighted sum wS C   L, X +(1−x)S A   L, X , where w is a configurable parameter in the range of 0 to 1. The perceived interestingness of the Web page P, denoted I P , is input to the hoarder if P is one of the base pages, or preferably computed as the interestingness of the hyperlink via which P is reached. Finally, the interestingness of the hyperlink L, denoted I L , is preferably computed as I P (vS L,P +(1−v)S L,U ), i.e., the multiplication of P&#39;s perceived interestingness and a weighted sum that combines the overall similarity between L and P and the overall similarity between L and U. The weighting factor “v” is another configurable parameter in the range of 0 and 1. It is to be appreciated that the computation of interestingness as described above guarantees that a target document always has a smaller perceived interestingness value than its source document and therefore will never be hoarded ahead of the latter.  
         [0033]    The description of the present invention has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications, variations and extensions will be apparent to those of ordinary skill in the art. All such modifications, variations and extensions are intended to be included within the scope of the invention as defined by the appended claims.  
         [0034]    What is claimed is: