Abstract:
Where a user logs on to a web page server, the server can maintain a history of links to web pages hosted by the server to indicate which links are visited by the user. In consequence, a user may log on to the web page server from any web page-enabled device and the server will be able to differentiate for the user links the user has visited from links that have yet to be visited.

Description:
This application is a continuation of application Ser. No. 10/427,416, filed May 1, 2003, now U.S. Pat. No. 7,359,977. 

   BACKGROUND OF THE INVENTION 
   This invention relates to web page server operation. 
   A user typically views web pages through a browser program, such as NETSCAPE™, running on a client computer. A web page is typically coded in hypertext mark-up language (html) and the browser interprets this language to display the page. In this regard, as will be appreciated by those skilled in the art, the term “web page” is used to denote the software code for representing a web page as well as the displayed web page itself. Html allows the embedding of links to other web pages such that a user may request another web page by simply “clicking” on the display of the link in a web page; this is known as visiting a link. Where a web page has embedded links to other web pages, the browser program typically tracks links that a user using the same client computer has visited so as to display visited links in a different color from links yet to be visited. 
   Assuming that the client is a user&#39;s work computer, it may be that the user will later be using a home computer, a personal digital assistant (PDA), a laptop, or some other web page-enabled device. If so, and if the user loads the same web page as earlier loaded on his work computer, links visited while using the work computer will not show up as visited links on the other web page-enabled device. This can reduce the efficiency of the user who may not be able to remember what links he has visited and, consequently, may redundantly visit a link. 
   This invention seeks to address this problem. 
   SUMMARY OF INVENTION 
   Where a user logs on to a web page server, the server can maintain a history of links to web pages hosted by the server to indicate which links are visited by the user. In consequence, a user may log on to the web page server from any web page-enabled device and the server will be able to differentiate for the user links the user has visited from links that have yet to be visited. 
   In accordance with the present invention, there is provided a computer program product containing instructions which, when performed by a web page server requiring user log-on, causes said server to: when a user requests a given web page from said server, for each link in said given web page, compare a web page indicator of said link with web page indicators stored in a history file for said user and, on a match, modify said link prior to serving up said web page. 
   In accordance with another aspect of this invention, there is provided a method of operating a server, comprising: when a user requests a given web page from said server, for each link in said given web page, compare a web page indicator of said link with web page indicators stored in a history file for said user and, on a match, modify said link prior to serving up said web page. 
   In accordance with a further aspect of this invention, there is provided a web page server, comprising: memory storing a user record for each of a plurality of authorized users, each user record having a history file; a processor operable to, when an authorized user requests a given web page from said server, for each link in said given web page, compare a web page indicator of said link with web page indicators stored in said history file for said user and, on a match, modify said link prior to serving up said web page. 
   Other features and advantages of the invention will become apparent through a review of the following description in conjunction with the drawings. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     In the figures that disclose example embodiments of the invention, 
       FIG. 1  is a schematic view of a system employing the subject invention, 
       FIGS. 2 and 3  are views of a portion of the contents of a database of user records in the system of  FIG. 1 , 
       FIGS. 4 and 5  illustrate portions of web pages in the system of  FIG. 1 , and 
       FIGS. 6 and 7  are flow diagrams indicating operation of a portion of the system of  FIG. 1 . 
   

   DETAILED DESCRIPTION 
   Referring to  FIG. 1 , a system  10  that may employ the subject invention comprises a server  12  connected to a network  14  which may be the public internet. A number of clients  16   a ,  16   b  are also connected to the network. Each client may be any web-enable device. Client  16   a  is illustrated as a personal computer with a processor  18 , memory  20 , display  22 , and user interface  24 . The server  12  has a processor  26  and a memory  28 . The memory  28  may be configured with software for undertaking the subject invention from computer program product  30  which may, for example, be a disk, memory chip, or file downloaded from a remote source. 
   In a manner well known to those skilled in the art, the server  12  is configured to accept commands only from authorized users. As such, memory  28  of the server maintains a database of records, one for each authorized user.  FIG. 2  illustrates a portion of this database. Turning to  FIG. 2 , each user record  38  of database  40  comprises a username field  42 , a password field  44 , an access level field  46 , and a history file field  48 . A record may also include a number of other fields that have not been illustrated as they are not germane to the subject invention. 
   Also in a manner well understood by those skilled in the art, server  12  is configured to serve up web pages. Thus, the server stores web pages in memory  28 .  FIG. 4  illustrates a portion of a sample web page that may be stored in memory  28 . Turning to  FIG. 4 , exemplary web page  50  is written in hypertext mark-up language (html) and contains a number of lines of code, including lines  52  and  54 . Line  52  is the coding for a metatag that instructs the re-loading of the web page from the server each time it is requested. More precisely, the metatag indicates that the page expires as at a certain date such that the page needs to be re-loaded following that date. By setting the date for re-loading to a date in the past, line  52  ensures that the page will be re-loaded whenever it is requested. Line  54  is the coding for a hyperlink to another web page stored by server  12 . As is typical, the hyperlink includes the universal resource locator (URL)  56  for the other web page. 
   With reference to  FIGS. 1 to 5  in conjunction with  FIG. 6 , which illustrates the operation of server  12 , a user at client  16   a  may attempt to log on to the server by inputting a username and password ( 610 ). The username input by the user will be used by the server to look up a record in database  40  ( FIG. 2 ). If a record is found and the password entered matches the password of the record, the log on will be successful. For example, if a user inputs the username “Abba” and the password “123456”, the user would be logged on by virtue of record  38   a . The user may instantiate a browser program at client  16   a  and request a web page hosted by the server by passing a URL to the server ( 612 ). The web page requested is typically the homepage of the user, such that the URL for the web page may be, for example, www.ibm.com/homepage. The server obtains the web page at the URL from memory  28  (or from some other storage device that is part of the network served by the server). The server adds the URL of the page to the history file of the user, if that URL is not already in the history file ( 614 ). In the example of  FIG. 2 , the homepage URL  62  is already stored in the history file. Assuming the homepage is web page  50  ( FIG. 4 ), the server will then compare the URL  56  of each hyperlink  54  in the homepage with hyperlinks stored in the history file field  48  ( FIG. 2 ) of the record  38   a  ( 616 ). In this case, the only URL in the history file is that for the homepage and so no matches are returned. Consequently, the server simply serves up the web page to the client  16   a  ( 620 ). 
   If, thereafter, the user tries to visit a hyperlink (typically by clicking on a visual display of the link in the web page created by the browser of the client), a URL for the link is passed by the browser to the server ( 612 ). For example, it is assumed that the user tries to visit the link created by code line  54  of web page  50 . This results in the server receiving the URL www.ibm.com/rio and adding it to the history file of the user record ( 614 ). The resultant modified user record  38   a ′ is shown in  FIG. 3 . 
   Now the server compares the URLs in the hyperlinks for the new web page with the history file ( 616 ); it is assumed no matches are found so that the server simply serves up the web page. 
   The user may next indicate to the browser of the client a desire to return to the homepage (as, for example, clicking on a “back” button of the browser). The homepage will typically be stored in cache at the client. When the browser begins to read the cached page, it will immediately encounter the metatag at line  52  of web page  50  which causes the browser to send a request to the server for the web page, rather than retrieving it from cache. 
   When the server receives the request for the homepage which, in the example, is web page  50  ( 612 ), it confirms its URL is already in the history file ( 614 ). The server then compares the URLs  56  in the hyperlinks  54  of web page  50  with the history file  48  of user record  38   a ′ ( FIG. 3 ) ( 616 ). In this instance, the server discovers that the URL  56  is in the history file ( 616 ). In consequence, the server modifies the hyperlink  54  ( FIG. 4 ) to add code  158  ( FIG. 5 ) specifying the color in which the hyperlink  154  should be displayed ( 618 ). In consequence, the web page sent by the server to the browser is modified web page  150  of  FIG. 5 , with modified hyperlink  154 . 
   When the browser displays web page  150 , it will display any hyperlinks without added coding specifying a color in a default color. However, it will display hyperlink  154  in the color coded for that hyperlink. In consequence, hyperlink  154  will be visually distinguished as a previously visited link. 
   It may be that the user will then log off ( 622 ). Subsequently, the same user may log on to the server at a different client, say client  16   b . In such instance, it will be appreciated that when the homepage for the user is loaded on to the browser at the client, the URL  56  for the hyperlink  54  ( FIG. 4 ) will be found in the history file for the user. In consequence, the hyperlink  54  will be modified (to hyperlink  154  of  FIG. 5 ) before the homepage is served up so that it is visually distinguished as a visited link. 
   In view of the foregoing, a link, once visited by a user, is thereafter indicated as a visited link whenever the same user logs on to the server from any client. 
   Some users have access levels  46  ( FIG. 2 ) allowing them to create or modify web pages on the server. With reference to  FIG. 7 , assuming such a user logs on and creates a new web page ( 710 ), the server adds a metatag to the beginning of the web page requiring that the page be re-loaded from the server each time it is requested ( 712 ). Thus, the result is the addition of the line of code  52  of  FIG. 4  to each new web page. If, instead, the user modifies an existing web page, say www.ibm.com/rio ( 710 ), the server searches the history file of each user record and removes the URL of the modified web page, whenever found ( 714 ). In consequence, after a web page is modified, the next time it is visited by any user, it no longer appears as an already visited link. 
   It will be appreciated from the foregoing that server  12  will maintain a history file for each authorized user of a network indicating any web pages hosted by the server that have been visited by the user, at least until such visited web pages are modified. 
   While the server has been described as modifying a link to stipulate the color of a visited link in a web page, equally the server could modify the link to distinguish it as a previously visited link in any other fashion. For example, the server could modify a link to stipulate a font, or to stipulate that a previously visited link flashes. 
   While a web page has been indicated to be identified by a URL, if a different protocol is used a web page may be identified another type of web page indicator. 
   Other modifications will be apparent to those skilled in the art and, therefore, the invention is defined in the claims.