INFORMATION SERVERS
Field of the Invention
The present invention relates to systems and methods for serving information from a server to a client, more particularly to such systems and methods which make additional information available to the client, the additional information relating to primary information viewed or otherwise accessed by a user of the client.
Background
The World Wide Web represents a great information resource and as such is very widely used. However, by virtue of the size of the web and its high rate of growth, it can be difficult for users to quickly identify the information they require. Similarly, it can be difficult for sources of infor atior on the web to effectively target users who will find their information beneficial or attractive.
One area where this is a particular problem is the provision of advertisements within web pages. Advertising space on a web site is only valuable if the target audience for the posted advertisement visit the web page. In many cases the advertisements posted to a web page will have little relevance to the content of that page and will not be of interest to the user viewing that page. This is likely to particularly be the case for web pages where their content changes on a regular basis, including sports and news pages for instance - a supporter of Manchester United reading an article about them on a sports web page is unlikely to be tempted by an advertisement for Liverpool merchandise for instance.
It is known to select and post advertisements to web sites based on the identity of the user and historical information about their perceived interests, derived from their activity on the web. However, this does not help in cases where a the user is not known and also does not necessarily address the Manchester United / Liverpool problem outlined above.
It would be desirable, therefore, to be able to better target adverts and other information to users of the web.
Summary of the Invention
It is a preferred object of the present invention to alleviate or overcome the above- mentioned disadvantages and drawbacks by the provision of an information server system and a method of serving information which provide a user with information which is relevant to the web site or web page or the content of the web site or web page (or other primary source of irrformatiori) they have selected and/or are viewing.
It is another preferred object of the invention to provide a system and method which enable a user of an information source, e.g. a database, such as the Internet, to be supplied with additional information dynamically, which relates to the information which is being viewed by the user.
It is another preferred object pf the invention to provide a system and method which allow the dynamic serving of advertisements to a user of an information source (e.g. the Web), the adverts relating to information that is being viewed or otherwise accessed by the user.
In the following, the information viewed or otherwise accessed by the user shall be referred to as "primary information" and the related additional information shall be referred to as "supplied information"
It should also be noted at the outset that whilst the methods and systems of embodiments of the invention are appropriate for use with the Internet and the Web, the invention is not limited to this use, and is generally applicable to any information architecture where a client application displays primary information and there is a desire to display related, supplied information.
In a first aspect, the present invention provides a method for serving information from an information server to a client, the method comprising:
receiving at the information server an information request from the client, the request including an identifier of primary information;
the information server accessing the primary information identified in the request and extracting context information therefrom;
on the basis of the context information, the server retrieving supplied information and serving it to the client.
By selecting the supplied information dynamically on the basis of the context extracted from the primary information, the supplied information is more likely to be relevant to the user viewing the primary information.
Typically, and especially in the context of the Internet, the client will be a browser application which is used to display the primary and supplied information to a user. Where the primary information is, for example, a web page, the supplied information may be displayed in a frame within that page. In this way, embodiments of the invention may be employed to serye advertisements, e.g. banner advertisements, to the displayed web page.
The supplied information may be text or graphics intended for direct display to the user within the browser. Alternatively, the supplied information may be (or include) a pointer to further information. For instance, taking a banner advertisement as an example, the supplied information served to the browser application may be a redirect to a banner advertisement at a different location rather than the advertisement itself.
Whilst for many applications of the present invention it will be appropriate for the information server to serve the supplied information to a web page (or other displayed page of information) that has been acquired by the browser application (or other client) from a different source, embodiments of the invention are envisaged in which the information server also serves the primary information itself. In this case, the information server can, for instance, compile a web page comprising both the primary information and the supplied information, the page then being served to the browser application in response to a request for the primary information. Embodiments of the invention operating in this manner can act, for example, as Internet proxy servers or gateways in a more or less conventional manner, with the exception that they add additional (supplied) information to the requested page, this additional information being selected based on context information extracted from the requested page.
The context information extracted from the primary information may simply be some identifier of the primary information, for example the URL of a web page. More preferably, however, it includes more contextual information about the content of the displayed information, for example keywords, key phrases, ISBN numbers or other structured data or the like. The nature of the context information can be determined by the needs of the supplier of the supplied information.
Advantageously, the nature of the context information that is extracted need not be static, but can be dynamically changed to reflect changes in the needs of the supplier of the supplied information. For instance, in the case of banner advertisements, the supplier of the advertisements may want to modify the key words that are looked for within the primary information in line with the focus of a new advertising campaign.
In preferred embodiments of the present invention, this dynamic control of the context extraction process is achieved by μsing control parameters that define the nature of the content to be searched for and extracted. For instance, these control parameters may include a list of specific key words to look for. The control parameters are provided to the information server from one or more context control servers. Preferably the information server retrieves this control information from the context control server or servers on a regular basis, In this way, the nature of the context extraction process can be controlled dynamically by modifying the context control information made available to the information server by the context control server or servers. This information may be modified, for instance, by the providers of the supplied information.
As an alternative or in addition to context extraction based on keyword spotting, other techniques such as pattern matching, grammar analysis or any other of a number of textual or graphical analysis techniques may be employed. Other structured content available from the primary information, such as its URL or postcodes, ZIP codes, ISBNs or bar codes within it may also be used for this purpose.
In a second aspect, the invention provides an information server system for serving information to a client application, the system comprising:
request receipt means for receiving an information request from the client application, the information request comprising primary information identifier;
primary information retrieval means for retrieving the primary information identified in the information request;
context extraction means for extracting context information from the primary information;
supplied information retrieval means for retrieving supplied information on the basis of the extracted context information; and
information serving means for serving the supplied information to the client.
The system may also serve the primary information to the client along with the supplied information.
In a further aspect, the invention also provides a computer program comprising computer code which when executed on a computer or network of computers causes the computer or network to operate in accordance with the method of the invention, optionally recorded on a computer readable media.
In the various aspects of the invention it is not necessary that the steps of the methods or elements of the system are executed or reside within a single physical device, although this is possible. For instance, the system may comprise a number of distributed elements connected by a communications network.
Brief Description of the Drawings
The present invention will now be described, by way of example, with reference to the following figures, in which:
Figure 1 is a schematic diagram of a system for serving adverts, in accordance with a first embodiment of the present invention; and
Figure 2 is a schematic diagram of a system for serving adverts, in accordance with a first embodiment of the present invention .
Description of Embodiments
Figure 1 illustrates an example of the invention configured as an advert server. Its operation is described in the context of the Web, the adverts being served to a frame within a web page being viewed by User with a web browser application WBRl .
A User using the web browser WBRl arrives at a page on the Internet which was retrieved by the browser WBRl from web server WS1 using the request RQ1. The Web page retrieved, WPl, contains a frame, FR1. In the normal way, the frame FR1 has an associated content reference inserted (either manually or automatically) into the web page WPl at the web server WS1 ,
The content reference of FR1 causes the web browser WBRl to issue a request RQ2 to a different web server, WS2. The request RQ2 contains identifying information for the web page, WPl, in which the frame, FR1, is located. This identifying information may be, for example, the URL of the page, a unique tag associated with the page or any other data which can be used by the web server WS2 to uniquely identify the page.
When the web server, WS2, receives the request RQ2, a Page Retrieval module, PR1, retrieves a representation of the web page WPl. The page may be retrieved either from a cache of the web server WS2 or, if the page is not in its cache, via a request RQ3 from the web server WS1. The representation of page WPl does not have to be exact, so long as it contains sufficient information from the page to allow the context extraction process described below to operate effectively. For instance, if the context extraction is based only on the textual content of the web page WPl, none of the purely graphic elements of the page WPl need be included in the representation retrieved by the Page Retrieval module.
The retrieved representation of web page WPl is then passed to a Context Extraction module, CXI. This module extracts appropriate context information from the representation of WPl which can be used by an Information Retrieval module, IR1, to
construct an Information Request, IRQ1, which in turn is used to retrieve data from a further server S2.
The data retrieved from S2 using IRQ1 is subsequently processed by a Page Generator, PG1, to create a web page, WP2, which is serve to and displayed in the frame FR1 within web page WPl ,
In this exemplary advert server application of the invention, the retrieved data may be enable the Page Generator PG1 to construct the advertisement to be sent to the frame FR1 in web page WPl itself. An alternative, however, is for the data to include an identifier for the appropriate advertisement (i.e. web page) rather than the advertisement itself. In the latter case, the Page Generator can then create a web page including a redirect to the advertisement, which when posted to the frame FR1 will cause a request to be sent to the location of the advertisement so that it can then be served to the frame FR1.
Since the data returned by server S2 in response to the request IRQ1 is selected on the basis of the extracted context information, the advertisement displayed can be automatically and dynamically tailored to the current content of the web page WPl.
To control the nature of the context extraction process, e.g. the specific key words or other textual constructs that are looked for by the Context Extraction module CXI in the representation of the web page WPl, the Context Extraction module, CXI, may retrieve context control information from a server SI via a Context Request, CRQl, at regular periods. This information is used to dynamically change the nature of the context being identified by CXI .
The Context Extraction module, CXI, may extract context information using a mix of various techniques such as keyword spotting, pattern matching, grammar analysis or any other number of text analysis techniques. The context control information retrieved via the Context Request, CRQl, determines which technique is used and delivers the necessary information for that particular instantiation of the technique. For example, for key word spotting, the context control information would request a keyword spotting algorithm and supply a list of keywords/phrases to look for, along
with some rules on which parts of text to analyse. Similar approaches can be adopted for controlling other textual analysis techniques.
The servers SI and S2 are not limited to but maybe web servers or database servers. These servers SI and S2 may be separate from the web server WS2, but it is also within the scope of the present invention for them to be incorporated into the web server, WS2, directly.
Each module PR1, CXI, IR1, PG1 may use a cache for each retrieval instead of repeating requests.
Turning to Figure 2, a second exemplary application of the present invention is described. In this example, the information server is employed as a proxy or gateway server PXY1.
The concept of using a Proxy server or Gateway to access information on the world wide web is well known. To summarise, traditionally a user using a web browser WBRl retrieves a web page, WPl, from a web server, WSl by way of the web browser, WBRl, sending the request, RQl, direct to the web server, WSl, and displaying the result, WPl. However, rather than always going to the original source of a web page, it is more efficient to retrieve the page from a local or 'Proxy' server if possible. Also, in the case where a browser or other user interface is not directly compatible with the web page requested, as might be the case for example with a WAP (wireless application protocol) device, a Gateway server can be used to provide an interface. Thus, it is possible to configure web browsing applications (and other applications such as email, WAP,etc) to operate through a proxy or gateway. This is conventional.
Non-conventional, however, is the possibility to utilise the concepts of the present invention to provide a Proxy or gateway server that, in addition to its normal function, adds further, context specific information to the displayed page.
For example, the web browser, WBR2, seen in Figure 2 is configured to access information via the web proxy, PXY1. When the user tries to retrieve the web page
WPl from server WSl using the request RQ2, the web proxy, PXY1, intervenes and processes the request in a similar manner to that described above.
First, having received the request, RQ2, a Page Retrieval module, PR1, retrieves from its cache (or via the request RQ3 from the web server WSl) the page WPl from WSl, in a standard Proxy server would do.
However, rather than then just simpjy pass the requested page to the browser WBR2, the Page Retrieval module passes the page WPl to a Context Extraction module, CXI, which extracts appropriate context information from WPl. Using this extracted context information, an Information Retrieval module, IR1, constructs an Information Request, IRQ1, used to retrieve data from a server S2.
The information retrieved from S2 using IRQ1 is then processed by a Page Generator, PG1, to create additional Contextual Content, CC1. This additional content CC1 is then combined with the originally requested web page WPl and returned to WBR2 to be displayed.
The manner in which the context information is extracted from the web page WPl by the Context Extraction module, CXI, can be the same as described above in relation to the advert server example. Also as in that example, context control information may be retrieved from a server SI via a Context Request, CRQl, at regular intervals, this control information being used to dynamically change the nature of the context being identified by CXI as discussed above.
The combination of WPl and CC1 is under the control of the proxy server PXY1, and may be (but is not limited to) CC1 added to the end of the page, at the side of the page or inlined with the page content.
In other embodiments the components CXI, CRQl, SI, IR1, IRQ1, and S2 can replicated one or more times and configured to utilise other servers (i.e. CX2, CRQ2, S3, IR2, IRQ2, and S4, etc) such that the data combined by the Page Generator PG1 includes Contextual content from multiple sources in addition to the requested page (e.g. WP1+CC1+CC2+...) In this way, the multiple sources can add data to the web page, WPl, via the single proxy, PXY1.
The two examples described above illustrate how systems according to the present invention can operate to provide relevant supplied information (e.g. advertisements in the first example above or other related data in the second) independently of a user's interaction with the system. Of course, some changes in the context of the primary information will be consequential to actions of the user, e.g. 'click-throughs' or the entering of a new URL, but others may not be, for instance where a user is led automatically through a series of web pages in a slide-show-fashion. The described approach also has the advantage that it can be applied to any form of primary information, so long as a representation of that information can be made available to the Context extraction module.
Various modifications to the specifically described embodiment are possible without departing from the present invention. For instance, although the discussion of the present invention has been largely directed to the Internet, it- will be understood that the problems as identified above and the solution provided by the present invention are equally applicable to any data system including but not limited to, systems such as an intranet, extranet or other networked data sources, including information retrieval systems. It is also the case that the supplied information need not be restricted to pure information and links alone, but might also be an application itself or alternatively the output from an application such as, for example, a spell checker, MP3 player, email notifier, messenger service or SMS text messaging application.