METHOD AND APPARATUS FOR PROCESSING WEB DOCUMENTS
Technical Field
The present invention relates to a method and apparatus for processing web documents over computer networks, and more particularly, to a method and apparatus for prebrowsing and representing web documents over a communication network such as the Internet to represent the web documents in a web browser.
Background Art
The World Wide Web (WWW) is a wide area hypermedia information retrieval network to give world-wide access to information via networked hypertext computer servers and clients. Hypertext is an information presentation methodology which allows highlighted words or hypertext links to point to other hypertext documents. Hypertext links usually appear to indicate embedded links with a picture or a word or sentence which is underlined or emphasized in another way. Web pages (or hypertext pages) may be multimedia objects which contain text, graphic (still) images and audio or moving picture records. Users of the WWW in general do not like to wait when accessing and downloading a web page. Users that are forced to wait will typically avoid using the web pages that take a long time to download or they will complain about web pages that take a long time to download. Latency caused when a user accesses web pages provided by web servers in networks has been solved as Internet communication networks become faster. High speed communication networks can greatly reduce time taken to bring a single web document or page to a web browser of a client from a web server. However, there is still a need to improve latency perceived by a user, that is, time, which is taken for the user to be able to see a web page after he/she requests it, plus time, which is taken for accessing a web document linked to the web page. This is possibly because most traffic is
idle while users, are reading documents, since the users need time to read or view web content.
U.S. Patent No. 5,802,292 discloses a method for predicting subsequent retrieval requests from a current client computer system based on previous requests by all the client computer systems recorded in a server computer system. A list of predicted subsequent retrieval requests is sent to the requesting client computer system. The client computer system prefetches at least one object based on the prediction by the server computer system. However, in this U.S. Patent, since any predictions can never be prefetched, the client computer prefetches only predicted objects (or web documents). Therefore, there is still a need to improve latency perceived by a user for web documents that were not predicted.
Disclosure of the Invention
To solve the above problem, an object of the present invention is to provide a web document processing method and apparatus for reducing traffic latency which is taken for a user to click a specified web link and perceive a specified web document displayed on a web browser, by prefetching at least one specified web document, which is linked to the specified web link embedded in a web page on the web browser of a client system, without having a request from the user, in which at least part of the specified web document can instantly be viewed just by locating the cursor of a mouse on the specified web link without clicking. Another object of the present invention is to provide a web document processing method and apparatus for reducing the idle time of a client- server system by prefetching respective specified web documents, which are linked to specified web links in a web page on a web browser of a client system, without having a request from the user, while the user is reading a web document which has been accessed by clicking a mouse on the web browser.
Still another object of the present invention is to provide a web document processing method and apparatus for reducing latency taken for downloading a web document by immediately displaying at least part of the web document linked to a specified web link on a web browser screen just by locating the cursor of a mouse on the specified web link displayed on the web browser screen, when the method and apparatus are applied to PC based client-server systems, web TVs, PDAs and web phones.
To achieve the above object, the present invention provides a method of processing web documents over a computer network to represent them on a web browser screen. The method includes the steps of embedding at least one specified web link, which is linked to a web document, in a web page; representing the web page on the web browser screen; and processing the web document linked to the specified web link, which is embedded in the web page, so that the web document can be represented through the web browser, without having a request from a user.
The web document processing method according to the present invention further includes the step of showing the web document linked to the specified web link in response to an event requested by a user in relation to the specified web link. The present invention also provides a web document processing apparatus including a web browser for downloading a web page selected by a user from a web server system by performing a web document request from a client system to the web server system; a storage unit for storing at least part of the contents of a web document linked in the web page which includes at least one specified links; and an event unit for performing an event requested by a user in relation to the specified link to show the stored content of the web document.
The event unit is an input unit such as a mouse, a keyboard or a remote controller. Preferably, the specified web link allows a whole web document provided from a web server, part of the web document or a preview
produced separately from the whole web document to be downloaded in advance.
Brief Description of the Drawings FIG. 1 is a diagram for explaining the concept of a prebrowse method according to the present invention;
FIG. 2 is a diagram illustrating an example in which prebrowse links and typical links are shown in a web page;
FIG. 3 is a diagram explaining an embodiment in which a prebrowse program is located in a web server according to the present invention;
FIG. 4 is a diagram explaining another embodiment in which a prebrowse program is located in a client system according to the present invention; and
FIG. 5 is a diagram for explaining the embodiment of FIG. 4.
Best mode for carrying out the Invention
A web document processing method and the configuration and operation of a web document processing apparatus according to the present invention now will be described more fully with reference to the attached drawings, in which preferred embodiments of the invention are shown.
A web page 13, which a user opens using a web browser 11 such as Internet Explorer® or Netscape®, includes at least one specified link (hereinafter, referred to as a prebrowse link) according to the present invention, together with typical links. When a typical link is selected by clicking it using a mouse, the browser 11 accesses a linked web document. On the other hand, a prebrowse link provides a prefetch (or pre download) function for a linked web document, a prebrowse function showing the content of a web document without having the browser 11 shift to the Uniform Resource Locator (URL) of the linked web document, and a typical link function. FIG. 2 is a diagram illustrating an example in which
prebrowse links and typical links are shown in a web page. Referring to FIG. 2, in the web page 13, prebrowse links are marked by adding a mark [P] following the name of a link, and typical links do not have any marks following the name of a link. While prebrwose links embedded within the web page 13 are read by the web browser 11 or located in an opened window of the web browser 11 , a prebrowse program 15 makes web documents linked to the prebrowse links be in a prebrowsed state in which the web documents are retrieved from a client system or web servers, even if a user does not request them, so as to be represented through the web browser 11 immediately after the user puts a mouse over them. For example, the prebrowse program 15 combines the prebrowsed web documents with the web page 13 by way of insertion, attachment or merging, or stores them in the cache of a client system or other memory device. Although the contents of the prebrowsed documents can either be combined into the current document or be stored separately as files, for example, the combination of documents will be assumed for the following paragraphs for clarity reasons. In an environment in which network latency can be ignored, web documents linked to prebrowse links may be located in web servers. In an environment in which web documents linked to prebrowse links have a large volume of data or network latency should be considered, the linked web documents will be stored in the memory of a client system or another fast memory device.
The prebrowse program 15 may be embedded in the web browser 11 or realized as a program such as a plug-in application or Java applet which can be executed based on a web browser. The prebrowse program 15 may be realized as a program such as a common gateway interface (CGI) or an active server page (ASP) which is executed in a web server. As is known well, ASP is a program for processing script codes in a web server even if the script codes are not executed in a web browser. This prebrowse program 15 can make web documents linked to prebrowse links be in a prebrowsed state, before a user requests the web documents linked
to the prebrowse links embedded in the web page 13, as long as the web browser 11 representing the web page 13 is in an online state with the web servers. Here, if it is assumed that web documents 16 and 17 shown in
FIG. 1 are linked to prebrowse links 1 and 2 and a web document 18 is linked to a typical link 6, a prebrowse state is achieved by prebrowsed web documents that are combined with the web page 13. In this case, the prebrowse program 15 is supposed to combine the web documents 16 and
17, which are linked to the links 1 and 2 embedded in the web page 13, with the web page 13. However, the prebrowse program 15 does not combine the web document 18, which is linked to the link 6, with the web page 13.
When there are a plurality of prebrowse links embedded in the web page
13, the prebrowse program 15 can combine web documents, which are linked to prebrowse links, with the web page 13 so that the web documents are read by the web browser 11 in sequence or substantially simultaneously. It will be understood by those skilled in the art that web documents linked to prebrowse links can be sequentially or simultaneously combined with the web page 13 through insertion, attachment or merging when the software described above is used as the prebrowse program 15.
The following description concerns examples of definition and implementation of a prebrowse tag provided for those who work out web documents.
A. Prebrowse Tag Definition 1. Meta Specifications
These are positioned at the beginning of a web document and respond to a prebrwose request afterward.
1.1 Default Search Engines Declaration
This is used for simply defining search commands which are frequently used.
<meta enginel - 'search request w/o parameter"> <meta engine2="search request w/o parameter">
For example, a search command in "yahoo.com" is configured like
<meta enginel ="http://search. yahoo. com/bin/search?p=">
1.2 Default Prebrowse Symbol/Text Declaration
This indicates an image or text which is attached to a link to be prebrowsed to thereby allow a prebrowse screen to be displayed when the cursor of a mouse is put thereon.
<meta pbicon- 'url of gif file of the prebrowse icon"> or
<meta pbtext="text">
Examples follow. <meta pbicon=http://prebrowse.com/image/pbicon.gif>
<meta pbtext="preview">
1.3 Default Prebrowse Off Option <meta pb=off>
All prebrowse requests embedded in a web document is ignored. 2. Prebrowse Tag
<a href=[url OR enginel OR engine2] pb=[all OR preview OR prefetch] width=width height=height>link text</a>
2.1 href=engine1/engine2
When href is set either to enginel or engine2 as defined in the meta tag, the above tag is translated initially as follows.
<a href="search request w/o parameter" concatenated with "link text" pb=[all OR preview OR Prefetch]>link text</a>
For example, when <meta enginel ="http://yahoo.com?p=">, <a href=engine1 pb=all>linux</a> is primarily translated with <a href=http://yahoo.com?p=linux pb=all>linux</a>.
2.2 pb=all
A whole document is displayed on a prebrowse window(or layer). A prebrowse tag embedded in the document is ignored, and the target of all links is set to the parent window. 2.3 pb=preview
A section of a document between <preview> and </preview> is
displayed on a prebrowse window. A prebrowse tag is ignored, and the target of all links is set to the parent window.
2.4 pb=prefetch
A whole document is combined into a current document or stored in a cache or memory. A prebrowse tag is valid, and the target of all links is a self-window.
2.5 width, height
"width" and "height" indicate the width and height of a prebrowse window. B. Implementation of Prebrowse
A prebrowse program implemented in a client will be briefly described below.
The following description concerns how a prebrowse link(<a href=url pb=all>Prebrowsed Document</a>) is interpreted in a program for implementing a specified link embedded in a prebrowse page. The detailed content of the program is apparent to programmers, and thus a description thereof will be omitted.
For example, a link, <a href="http://yahoo.com" bp=all>yahoo</a>, for prebrowsing a "yahoo.com" is sequentially translated into HTML commands 1 , 2 and 3 shown below while it is being processed by the prebrowse program.
1 . < i m g s r c = " i c o n_ u r l " o n - M o u s e O v e r = "java-script:prebrowse(temporaryFile001 )">
When a prebrowse event is generated, a prebrowse document is displayed on a prebrowse window. "icon_url" is a prebrowse icon image which is defined as "pbicon" above.
2. <a href="http://yahoo.com">yahoo</a>
When the address of a file is clicked, a browse shifts to a link as for a usual document. 3. <script>preprocess("http://yahoo.com", teporaryFileOOI );</script>
This is a code corresponding to a command for prefetching a
prebrowse document and storing in the form of a file to respond to a prebrowse event. This is added to the lowest portion of a web document to make the prefetch start after the page of the current web document is fully loaded. Functions commonly used for implementation of different prebrowse links will now be described below.
1. preprocess (address, file): a function of prefetching and storing a prebrowse document in a file to prepare for a prebrowse event. function preprocess(url, filename) { a web document having a given address (url) is brought in; necessary conversions including conversion of the target window of a linked document are performed; the content of the document is stored in the form of a file (filename);
} 2. prebrowse (file): a function of displaying a prebrowse document on a prebrowse window in response to a prebrowse event. function prebrowse(htmlfile) { a new window is opened if prebrowse window is not opened; the prebrowse window is set as the uppermost window; the content of an HTML file is displayed on the prebrowse window;
}
According to the prebrowse program, prebrowse documents are prebrowsed so that a prebrowse function of displaying prebrowse documents without having a user click corresponding links can be provided. Referring to FIGS. 1 and 2, when an event for prebrowsing the web document 16 or 17 combined with the web page 13 occurs, the corresponding web document 16 or 17 is displayed via the web browser 11. An example of the displayed web document is represented through a layer 20 in FIG. 2. For clarity of description, when the cursor of a mouse, for example, is located on a prebrowse link to show a web document linked to the prebrowse link, this is defined as a "prebrowse event". An event
making the web browse 11 access the URL of a link, that is, a web page indicated by the URL of a link be displayed via the opened window of the web browser 11 , is defined as a "select event". An "onMouseOver" which is a link related event handler may be used for the prebrowse event. The select event occurs by clicking a link using a mouse. When the prebrowse event occurs, the layer 20 containing a web document linked to a prebrowse link is superimposed on the web page 13, as shown in FIG. 2. The portion of the web page 13 on which the layer 20 is superimposed is not shown. It will be understood by those skilled in the art that a web document linked to a prebrowse link within the web page 13 can be displayed using a separate window or frame instead of the layer 20. However, since the layer 20 can be shown to a user without leaving the web page 13 represented on the web browser 11 , it is a preferred way of displaying a relevant web document when a prebrowse event occurs. When an "onMouseOut" which is an event handler is used to make the layer 20 disappear from the web page 13, and when the mouse is moved off from a prebrowse link or the layer 20, the layer 20 is not shown any longer on the web page 13. When a select event occurs due to the operation of a user of the web browser 11 with respect to one among the prebrowse links, typical links and a link or links on the layer 20, the web browser 11 represents a web page, which has the URL of a link subjected to the select event, through a window. Although onMouseOver/onMouseOut events are described here, it is apparent that various events can be used as prebrowse events. The prebrowse links described before can be used for searching databases for a word emphasized (or designated) by the link. In this case, when a prebrowse event occurs, the result of retrieval, which is previously performed with respect to a web page or site which is indicated by a URL within a tag related to a prebrowse link, is shown through the layer 20. The web page 13 in which prebrowse links are embedded is transmitted from a web server to a client, the web page 13 is transmitted to
the client prior to web documents linked to the prebrowse links. Accordingly, even if a large number of prebrowse links are embedded in the web page 13, web documents linked to the prebrowse links do not cause any delay in transmission of the web page 13 from a web server to a client. FIG. 3 is a diagram for explaining an embodiment in which a prebrowse program is located in a web server according to the present invention. Referring to FIG. 3, a client system 31 is realized as a typical personal computer, a web TV, a PDA or a web phone, and provided with a web browser 312. The client system 31 may include internet-capable communication devices such as a modem and a network adaptor card, a memory, a storage device, a central processing unit and input/output terminals such as a mouse, a keyboard and a monitor. The web browser 312 may also include any internet communications programs for those devices. A prebrowsing web server system 33 according to an embodiment of the present invention includes a prebrowse program 332 and web documents 334. The prebrowse program 332 is a program such as CGI or ASP which is executed in the web server system 33. The web documents 334 are stored in the storage device of the web server system 33 such as a memory, a hard disc drive or an optical storage medium. Other web server systems 35 and 37 store the web documents 352 and 372, respectively. In this embodiment, the web documents 334 may be web pages, as described with reference to FIG. 2, namely, various web pages including web pages in which prebrowse links and typical links are embedded. The web documents 334 may include prebrowse links only without typical links. The web documents 352 and 372 may include only web documents linked to typical links or may be web documents including web pages in which prebrowse links and typical links are embedded together. Web documents linked to prebrowse links are web pages or web documents different from a web page, in which the prebrowse links are embedded, and may include the whole content or part of the whole content of web documents or web pages provided by the web server 33, 35 or 37
or include only previews which is created separately from the corresponding web documents. Hereinafter, for clarity of description, a web page including at least one prebrowse link is referred to as a "prebrowse page". A web page or web document linked to a prebrowse link embedded in the prebrowse page is referred to as a "prebrowsed document".
When the web browser 312 requests the web server 33 for a prebrowse page, the web server 33 transmits the requested prebrowse web page to the client system 31 in which the web browser 312 is installed. In the case, in response to a request of a tag, which is related to each prebrowse link embedded in the prebrowse page, the prebrowse program 332 brings the requested prebrowsed document among the web documents 334 stored in the web server 33 and the web documents 352 and 357 stored in the web servers 35 and 37 and transmits it to the client system 31 to allow the prebrowsed document to be combined with the prebrowse page. In this case, the prebrowse page is located in an activated window or at least in an opened window, so that the prebrowse program 332 attempts to transmit the requested web document to the client system 31 , and the requested prebrowsed document is transmitted from the web server 33 to the client system 31 as long as there is a margin in the traffic of the client system 31. With such an arrangement, prebrowsed documents linked to prebrowse links are, as described with reference to FIG. 2, almost simultaneously or sequentially combined with a prebrowse page. Thereafter, when a prebrowse event related to a prebrowse link occurs due to the operation of a user, a layer or frame or another window, which contains a prebrowsed document linked to the prebrowse link appears. Therefore, the user of the client system 31 can see the content of web documents or web pages linked to prebrowse links embedded in a prebrowse page in advance only by way of a prebrowse event, instead of a select event such as clicking of a link. FIG. 4 is a diagram explaining another embodiment in which a prebrowse program is located in a client system according to the present
invention. Referring to FIG. 4, a client system 41 , which is realized as a typical personal computer, a web TV, a PDA or a web phone, may be equipped with any internet-capable communication device, a storage device, a central processing unit and terminals for input and output, like the client system 31 of FIG. 3 described above. A web browser 412 may also include any internet-capable communications programs for such devices. The client system 41 includes a web browser 412, a prebrowse program 412 and web documents 416. The prebrowse program 414 is a program such as an applet or a plug-in which is not included within the web browser 412 and is executed based on the web browser 412. The web browser 412, the prebrowse program 414 and the web documents 416 are stored in a cache or in a storage medium such as a main memory or a hard disc in the form of a file. The web documents 416 may include prebrowse pages and prebrowsed documents. The prebrowse pages and prebrowsed documents are not previously stored in the client system 41 , but they are simultaneously or sequentially transmitted to the client system 41 in real time and stored in a memory such as a cache when a request for a prebrowse page is generated. Web servers 43, 45 and 47 have various web documents 432, 452 and 472, respectively, which include prebrowse page and prebrowsed document.
The embodiment of FIG. 4 will be described with reference to a flowchart illustrated in FIG. 5. When a prebrowse page is displayed on an opened window of the web browser 412, the prebrowse program 414 determines whether prebrowsed documents linked to all the prebrowse links within the prebrowse page are fetched for the client system 41 in step 510. If there is any prebrowsed document which have not yet fetched in the step 510, the prebrowse program 414 determines whether there is any additional request from a user in step 515. If there is any additional request, for example, when a page of a different URL to the prebrowse page is requested, the prebrowse program 414 stands by until the requested page is completely downloaded to the client system 41. On the
other hand, if there is no additional request from the user in the step 515, the prebrowse program 414 brings the prebrowsed documents, which are not fetched for the client system 41 , from the web servers 43, 45 and 47 and combines them with the prebrowse page or stores them in a cache or another storage device in step 520. The prebrowse program 414 determines whether a prebrowse event occurs in step 525. If the prebrowse event occurs, a prebrowsed document, which is linked to a link on which the prebrowse event occurs and embedded in the prebrowse page, is represented through a layer, frame or a separate window in step 530.
In another embodiment of the present invention, the web browser 412 of FIG. 4 is designed to include the prebrowse program 414 therewithin. In any case, the prebrowse program 414 should be able to process prebrowse tags, which are similar to a HTML tag and suitable for the HTML, and has the same function as described above.
In the embodiments described above, web documents linked to prebrowse links may be multimedia objects such as text, graphic (still) images and audio or moving picture records. In the present invention, a client terminal is a computer based device allowing use of the Internet such as a personal computer, a web TV, PDA and a mobile communication terminal, and a web browser is a web navigation program used in a computer.
Industrial Applicability A method and apparatus for processing web documents according to the present invention can prefetch client system web documents linked to prebrowse links among the links embedded in a web page before users request the web documents linked to the prebrowse links. Accordingly, latency perceived by users who surf the web can be further reduced. Moreover, the present invention allows users to see web documents linked to prebrowse links embedded in a web page without leaving a URL which
is currently shown in the address input window of a web browser. Accordingly, users of a web browser adopting the present invention may have perception that they are surfing the web, when in fact they may not be.