PATENT DOCUMENT

Publication Number: US-8700613-B2
Application Number: US-1996608-A
Country: US
Kind Code: B2

Title: Ad sponsors for mobile devices based on download size

Abstract:
The present invention relates to a method and system for ranking search results and is particularly, but not exclusively, suited to providing search results when the delivery of data corresponding to the search results is metered, such as when data are delivered to terminals connected to mobile networks.

Claims:
The invention claimed is: 
     
       1. A method of generating a search results list in response to a search request, the request comprising one or more search terms, the search terms being held in a storage system arranged to store a plurality of search listings, one or more search terms, and a bid amount, wherein each search listing is associated with a network location providing access to a set of data, the method comprising:
 receiving, at a server, a search request made by a subscriber; 
 accessing, by the server, the storage system so as to identify search listings having search terms generating a match with the received search request; 
 retrieving, by the server, data indicative of a first bid amount and a network location corresponding to each matched search term, the network location providing access to a set of data corresponding to the matched search term; 
 generating, by the server, a second bid amount based on the first bid amount and an amount of data associated with the set of data accessible via the network location, wherein the second bid amount is at least partially indicative of a transmission cost to the subscriber for delivery of the data corresponding to the search term; 
 ordering, by the server, the identified search listings into a search results list in accordance with values corresponding to respective second bid amounts for the identified search listings; and 
 outputting, by the server, data indicative of the ordered search result list, the outputted data comprising a plurality of selectable links, each corresponding to a network location. 
 
     
     
       2. A method of generating a bid amount for use in generating search results, the method comprising:
 receiving, at a server, data indicative of a first bid amount and a network location corresponding to a search term, the network location providing access to a set of data corresponding to the search term; 
 generating, by the server, a second bid amount in dependence on the first bid amount and an amount of data associated with the set of data accessible via the network location, wherein the second bid amount is at least partially indicative of a transmission cost to a subscriber for delivery of the data corresponding to the search term; and 
 storing, by the server, the generated second bid amount and search term corresponding thereto in a storage system. 
 
     
     
       3. The method of  claim 1 , wherein generating the second bid amount is performed so as to account for an amount of data corresponding to at least one data item accessible from the network location. 
     
     
       4. The method of  claim 3 , including weighting the first bid amount according to the size of at least one data element accessible from the network location, to generate the second bid amount. 
     
     
       5. The method of  claim 4 , including weighting the first bid amount according to the size of a predetermined number of data elements accessible from the network location, to generate the second bid amount. 
     
     
       6. The method of  claim 1 , wherein the set of data includes a link to the network location and the method includes identifying a cost associated with accessing the link and allocating a classification dependent on the identified cost. 
     
     
       7. The method of  claim 6 , wherein the classifications include fully subsidized, partially subsidized and non-subsidized. 
     
     
       8. The method of  claim 7 , in which ordering the search list further comprises identifying selectable links classified as fully subsidized differently to identifying selectable links classified as partially subsidized and non-subsidized. 
     
     
       9. The method of  claim 8 , in which the ordered list comprises a plurality of portions, each portion corresponding to one of the classifications, whereby to identify the selectable links in accordance with the classifications. 
     
     
       10. The method of  claim 1 , wherein the set of data includes a link to a further network location, the further network location being accessible via the network location, and the method includes weighting the first bid amount according to the type of the link to the further network location, to generate the second bid amounts. 
     
     
       11. The method of  claim 10 , including identifying a number of the links to the further network location and classifying each link. 
     
     
       12. The method of  claim 1 , including identifying costs of transporting data from the network location to a terminal, in which the method further comprises weighting the first bid amount in accordance with the identified transport costs, to generate the second bid amounts. 
     
     
       13. The method of  claim 1 , including periodically accessing a given network location so as to determine the amount of data associated therewith, and updating the storage system based on the determined amount of data. 
     
     
       14. The method of  claim 1 , including transmitting the search results to a terminal connected to a mobile communications network. 
     
     
       15. The method of  claim 14 , in which the search request is received from the terminal. 
     
     
       16. The method of  claim 1 , in which the storage system comprises an account database arranged to hold a record for each of a plurality of network information providers, each network information provider corresponding to a network location and each account record comprising data indicative of one or more search terms, a specified bid amount, a storage and/or transmission characteristic corresponding to the network location, and an account balance, the method further comprising:
 querying respective account balances prior to ordering the search listings into the search results list so as to identify availability of resources; and 
 modifying the specified bid amounts based on the identified resource availability, whereby to generate the bid amounts for use in ordering the search listings. 
 
     
     
       17. The method of  claim 1 , wherein the bid amount corresponds to a metered amount that is used to offset the account of the information provider associated with the network location upon receipt of a retrieval request from the terminal for data from the network location, the method further comprising:
 receiving a retrieval request from the terminal to retrieve information associated with a link selected from the ordered search result list; 
 recording a retrieval request event including account identification information corresponding to the network information provider; 
 identifying a metered amount corresponding to the request event, and 
 offsetting the metered amount against the account corresponding to the information provider so as to modify the account balance. 
 
     
     
       18. A method comprising:
 receiving, by a server, a search request in respect of a terminal; 
 accessing, by the server, a storage system to identify search listings having search terms generating a match with the received search request; 
 for each of the identified search listing:
 identifying, by the server, data indicative of costs associated with transmitting data from a corresponding network location to the terminal; 
 modifying, by the server, a bid amount based on a storage and/or transmission characteristic and an identified transmission costs, wherein the bid amount is at least partially indicative of a transmission cost to a subscriber associate with the terminal for delivery of the data corresponding to the search term; 
 ordering, by the server, the identified search listings into a search results list in accordance with values corresponding to the modified bid amounts for the identified search listings; and 
 transmitting, by the server, data indicative of the ordered search result list to the terminal, the transmitted data comprising a plurality of selectable links, each corresponding to a the network location. 
 
 
     
     
       19. A system comprising:
 a storage system arranged to store a plurality of search listings, wherein each search listing is associated with a network location providing access to a set of data, one or more search terms, and a bid amount; 
 an interface for receiving a search request from a subscriber; 
 a processor configured to:
 identify a search listing corresponding to the search request; 
 retrieve data indicative of a first bid amount and a network location corresponding to each matched search term, the network location providing access to a set of data corresponding to the matched search term; 
 generate a second bid amount in dependence on the first bid amount and an amount of data associated with the set of data accessible via the network location, wherein the second bid amount is at least partially indicative of a transmission cost to the subscriber for delivery of the data corresponding to the search term; and 
 generate a search results list of the identified search listings on the basis of the second bid amount, the generated list comprising a selectable link corresponding to the network location, wherein the interface is arranged to output the generated list. 
 
 
     
     
       20. The system of  claim 19 , wherein the storage system is arranged to hold a record for each of a plurality of network information providers, each network information provider corresponding to a network location and each account record comprising data indicative of one or more search terms, a specified bid amount, an amount of data corresponding to the set of data accessible from the network location, a classification of the network location, and an account balance. 
     
     
       21. The system of  claim 20 , wherein the processor is configured to arrange the search results list in accordance with the classification of the network location. 
     
     
       22. The system of  claim 21 , wherein the classification includes subsidized data transmission and non-subsidized data transmission, and the processor is configured to arrange the search results list such that the selectable links corresponding to subsidized data transmission appear at the top of the list. 
     
     
       23. A system for generating a search results list in response to a request for search results in respect of one or more search terms, the apparatus comprising:
 storage means arranged to store a plurality of search listings, wherein each search listing is associated with a network location providing access to a set of data, one or more search terms, and a bid amount; 
 interfacing means for receiving a search request in respect of the terminal; 
 processing means arranged to:
 identify a search listing corresponding to the search request; 
 retrieve data indicative of a first bid amount and a network location corresponding to each matched search term, the network location providing access to a set of data corresponding to the matched search term; 
 generate a second bid amount in dependence on the first bid amount and an amount of data associated with the set of data accessible via the network location, wherein the second bid amount is at least partially indicative of a transmission cost to a subscriber associated with the terminal for delivery of the data corresponding to the search term; and 
 generate a search results list of the identified search listings based on the second bid amount, the generated list comprising a selectable link corresponding to the network location, 
 wherein the interfacing means are arranged to output the generated list. 
 
 
     
     
       24. A method comprising:
 receiving a search request; 
 accessing a storage system so as to identify search listings having search terms generating a match with the received search request; 
 ordering the identified search listings into a search results list in accordance with values corresponding to respective bid amounts for the identified search listings, wherein the bid amounts are generated in dependence on a first bid amount and an amount of data associated with the set of data accessible via the network location, the second bid amount being at least partially indicative of a transmission cost to a subscriber associated with the terminal for delivery of the data corresponding to the search term; and 
 outputting data indicative of the ordered search result list, the outputted data comprising a plurality of selectable links, each corresponding to a network location. 
 
     
     
       25. A non-transitory computer-readable medium having stored thereon a data structure comprising a computer program causing a computing device to perform a method comprising:
 receiving a search request; 
 accessing a storage system to identify search listings having search terms generating a match with the received search request; 
 retrieving data indicative of a first bid amount and a network location corresponding to each matched search term, the network location providing access to a set of data corresponding to the matched search term; 
 generating a second bid amount in dependence on the first bid amount and an amount of data associated with the set of data accessible via the network location, wherein the second bid amount is at least partially indicative of a transmission cost to a subscriber for delivery of the data corresponding to the search term; 
 ordering the identified search listings into a search results list in accordance with values corresponding to respective second bid amounts for the identified search listings; and 
 outputting data indicative of the ordered search result list, the outputted data comprising a plurality of selectable links, each corresponding to a network location.

Description:
This application is U.S. patent application that relies for priority under 35 U.S.C. 119, on Application Serial No. GB0704837.4, filed on Mar. 13, 2007, which is incorporated herein by reference. 
     FIELD OF THE INVENTION 
     The present invention relates to a method and system for ranking search results and is particularly, but not exclusively, suited to providing search results when the delivery of data corresponding to the search results is metered, such as when data are delivered to terminals connected to mobile networks. 
     BACKGROUND OF THE INVENTION 
     The explosive growth of the Internet has resulted in huge numbers of web pages being published. Finding specific information among the billions of pages of information is facilitated by search engines, such as those provided by Google™ and Yahoo™, which use “web crawlers” to locate new or modified web pages. The content of these pages is analyzed, keywords are extracted from the pages, and the keywords are added to a search index, which links to a list of web pages that contain a particular word. A weight or rank for the web page can be generated on the basis of the number of times that word occurs on the web page, and stored in the index. A variety of other parameters can be factored into the web-page rank, including the number of times other search users have clicked on the link to that web page, how extensively that web page is linked to from other web pages, personal reviews and ratings of web pages or sites, or on the basis of an amount that a given web site is willing to pay for a particular ranking. 
     When a user types in a search word or term, the search engine performs a lookup of the search index and generates a result set of web pages that contain the search term. Web pages within this result set may then be organised in accordance with their respective rankings, and the highest-ranked results displayed to the user. 
     In most cases search queries are received from terminals that are fixedly connected to the Internet (either directly, or via one or several network portions), and of course the transmission of data within the Internet—on a per request basis—is free. With the advent of widespread deployment of 3G networks, search requests are increasingly being received from terminals connected to wireless networks. Unlike the transmission of data within fixed-line networks, the transmission of data within mobile networks is typically metered on a per transmission basis. As a result, mobile terminals are faced with hitherto unseen costs for accessing sites on the basis of search results generated by search engines. 
     SUMMARY 
     In accordance with aspects of the present invention, there is provided methods and systems according to the appended claims. 
     More specifically according to a first aspect there is provided method of generating a search results list in response to a search request, the request comprising one or more search terms, said search terms being held in a storage system arranged to store a plurality of search listings, one or more said search terms, and a bid amount, wherein each search listing is associated with a network location providing access to a set of data, the method comprising: 
     receiving a search request; 
     accessing the storage system so as to identify search listings having search terms generating a match with the received search request; 
     retrieving data indicative of a first bid amount and a network location corresponding to the or each matched search term, the network location providing access to a set of data corresponding to the matched search term; 
     generating a second bid amount in dependence on the first bid amount and an amount of data associated with the set of data accessible via the network location; 
     ordering the identified search listings into a search results list in accordance with values corresponding to respective second bid amounts for the identified search listings; and 
     outputting data indicative of the ordered search result list, said outputted data comprising a plurality of selectable links, each corresponding to a said network location. 
     In one embodiment a bid amount comprises an amount of resource that a third party is willing to submit so as to ensure that data is accessed from their network location; suitable resources can include money or network resources, such as use of network services for the purposes of delivering data from their network location. The search results list is most preferably ordered so as to present search listings in dependence with sponsored and/or subsidised access to sets of data accessible from respective network locations. 
     Preferably the method includes generating said second bid amount so as to account for an amount of data corresponding to at least one data item accessible from the network location. In one arrangement the method includes weighting the first bid amount according to the size of at least one data element accessible from the network location, whereby to generate said second bid amount. For example the method can include weighting the first bid amount according to the size of a predetermined number of data elements accessible from the network location, whereby to generate said second bid amount. 
     In at least one example the set of data includes a link to the network location and the method includes identifying a cost associated with accessing said link and allocating a classification dependent on the identified cost. The classifications can include fully subsidised, partially subsidised and non-subsidised, and the step of ordering the search list further comprises identifying selectable links classified as fully subsidised differently to identifying selectable links classified as partially subsidised and non-subsidised. 
     Conveniently the ordered list comprises a plurality of portions, each said portion corresponding to one of said classifications, whereby to identify said selectable links in accordance with said classifications. 
     Additionally or alternatively the set of data includes a link to a further network location, said further network location being accessible via said network location, and the method includes weighting the first bid amount according to the type of said link to the further network location, whereby to generate said second bid amounts. In one example the method further includes identifying a number of said links to the further network location and classifying the or each said link. 
     Most preferably the method includes identifying costs of transporting data from the network location to a terminal, by means of, for example weighting the first bid amount in accordance with the identified transport costs, whereby to generate said second bid amounts. 
     Embodiments of the invention are particularly convenient for use in transmitting search results to a terminal connected to a mobile communications network. 
     In accordance with further aspects of the invention there is provided a distributed system and apparatus for carrying out the method steps described above. 
     Further features and advantages of the invention will become apparent from the following description of preferred embodiments of the aspects of the invention, given by way of example only, which is made with reference to the accompanying drawings. It is to be understood that other embodiments may be utilized and structural and functional modifications may be made without departing from the scope and spirit of the present invention. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a schematic block diagram showing a distributed information system within which embodiments of the invention can operate; 
         FIG. 2  is a schematic diagram showing fields of several records stored within the search database shown in  FIG. 1 ; 
         FIG. 3  is a schematic diagram showing components of the search broker shown in  FIG. 1 ; 
         FIG. 4  is a schematic diagram showing components of the search engine shown in  FIG. 1 ; 
         FIG. 5  is a timing diagram showing data flows between components of the distributed information system of  FIG. 1  when operating according to a process of an embodiment of the present invention; 
         FIG. 6  is a schematic diagram showing an example web page output from the search engine during the process shown in  FIG. 5 ; 
         FIG. 7  is a schematic diagram showing an alternative example web page output from the search engine during the process shown in  FIG. 5 ; 
         FIG. 8  is a schematic diagram showing a further web page output from the search engine during the process shown in  FIG. 5 ; 
         FIG. 9  is a schematic flow diagram showing a method according to an embodiment of the invention, as performed by the components of the distributed information system of  FIG. 1 ; 
         FIG. 10  is a schematic flow diagram showing a method according to an alternative embodiment of the invention, as performed by the components of the distributed information system of  FIG. 1 ; and 
         FIG. 11  is a schematic flow diagram showing a method according to a yet further embodiment of the invention, as performed by the components of the distributed information system of  FIG. 1 . 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     As described above, embodiments of the present invention are concerned with ranking search results for delivery to content providers and/or end users via devices such as mobile terminals. The nature of the ranking process and the criteria relating thereto is described in detail below, but first a description of the infrastructure needed to support some embodiments of the invention will be presented. 
       FIG. 1  shows an example of a distributed information system  1  within which some embodiments of the invention operate; the messaging system  1  comprises a plurality of information providers  6   a ,  6   b ,  6   c , at least some of which are arranged to store content and information, a content search broker  8 , and a search engine  10 , all of which are connected to a network  12  either directly or indirectly (e.g. via the Internet, local area networks (LANs), other wide area networks (WANs), and regional networks accessed over telephone lines, such as commercial information services). Mobile terminals  2 ,  4  are adapted to communicate with the various information providers  6   a ,  6   b ,  6   c  via mobile network  14  and an appropriate gateway GW, as shown; the terminals  2 ,  4  can be mobile telephones or PDAs, lap top computers and the like, and the mobile network  14  can comprise licensed (such as cellular networks using e.g. Global System for Mobile Communications (GSM) technology, Wideband Code Division Multiplex Access (WCDMA); Code Division Multiplex Access (CDMA), WiMax) and/or unlicensed network portions (such as Wireless LANs and Bluetooth technologies). The gateway GW can be a GPRS support node (GGSN) forming part of the mobile network  14 . 
     The mobile terminals  2 ,  4  comprise browser programs adapted to locate, and access data from, web sites corresponding to the or each information provider  6   a ,  6   b ,  6   c . The browser programs allow users of the terminals  2 ,  4  to enter addresses of specific web sites, typically in the form of Uniform Resource Locators, or URLs, and are typically adapted to receive and display web and WAP pages; in the event that a given terminal  2  is only capable of processing and displaying WAP pages, translation of a web page can be performed by a device in the network or by suitable translation software running on the device  2 . As is known in the art, any given web page can include links nested therein, which, when selected, can provide access to other pages or data such as plain textual information, or digitally encoded multimedia content, such as software programs, audio signals, videos graphics, etc. Accordingly selection of such links results in transmission of further data to the terminals  2 ,  4 . 
     The search engine  10  is operable to receive keywords of interest to the users of terminals  2 ,  4 , and, by accessing data stored in the search database  20 , to generate a search results list. The search results include, at least in part, entries obtained from and formatted by the results of a bidding process, to be described in detail below. The search results are organised into a list of hypertext links to documents that contain information relevant to these search terms of interest and the search engine  10  transmits this list, for example in the form of a web page, to a specified mobile terminal  2 ,  4 , where it is displayed by the browser running on the mobile terminal. 
     Turning now to  FIGS. 2 and 3 , an example of a record that is stored in the search database  20 , and a method for populating the record, will be described. In one arrangement the search broker  8  is preferably embodied as a web server, and essentially provides an interface to the search database  20  via which the information providers  6   a ,  6   b ,  6   c  can submit their bids to influence their position in the search results list. As can be seen from  FIG. 3 , the search broker  8  comprises standard operating system, storage, Input/Output, processor and memory components, and bespoke software components in the form of authentication software component  301 , bid capturing software component  303 , and account updating software component  305  (the latter will be described later in relation to  FIG. 5 ). 
     The authentication software component  301  comprises a firewall, not shown, which is arranged to protect the bid capturing software component  303  and information stored in the search database  20  from unauthorised access. Additional security may be provided via enhancements to the standard communications protocols such as Secure Hyper Text Transfer Protocol (HTTP) or the Secure Sockets Layer (SSL). The bid capturing software component  303  is arranged to process authenticated bids received from an information provider  6   a ,  6   b ,  6   c . In a preferred embodiment a bid is a request for a URL corresponding to the information provider to be preferentially ranked relative to URLs of other information providers in a list of search results. 
     As described above, embodiments of the invention are concerned with providing search results to end users either directly to a mobile terminal or indirectly via a content provider. In cases where search results are delivered to mobile devices, transmission of data over wireless networks is chargeable; since the recipient of the data is typically paying for receipt of these data, the amount of data being transmitted is material to the recipient. Thus, embodiments of the invention are arranged to rank search results in dependence on delivery costs to be borne by the subscriber. This might be different to the actual delivery costs, since information providers can frame their bid criteria so as to subsidise delivery of their data to mobile terminals. 
     Accordingly, the bid criteria submitted by information providers can include two sets of criteria: a first set, applying to delivery of search results to fixed-line terminals, and a second set, applying to delivery of search results over radio networks, being designed to account for transmission charges expected to be levied when a mobile user accesses data from its network location. Alternatively or additionally, there can be a single set of bid criteria, and the storage and/or transmission criteria can be used by the search engine  10  at the time of providing search results to modify the bid amounts. 
     In either case, when ranking search results, it is assumed that the mobile terminal  2 ,  4  will click on the link corresponding to any given search result; accordingly the amount that respective information providers are willing to bid for preferential ranking of their network location within the search results is evaluated on the basis of this assumption—i.e. on the basis of the amount of data that will be delivered to the mobile terminal  2 ,  4  upon selection of the link in the search results. 
     In one arrangement a bid comprises a plurality of components, including one or more key words of interest, storage characteristics and/or transmission characteristics of the data accessible via the URL and a set of bid criteria. Typical bid criteria include one or more of:
         A maximum amount that the information provider  6   a ,  6   b ,  6   c  is willing to pay for appearing in any given set of search results;   The lowest acceptable ranked position in a set of search results;   A resource fund and a period during which the resource fund applies: the fund essentially being a pot of resources from which an amount can be deducted each time the information provider appears in a set of search results;   Links that are always accessible at no cost   Links that are accessible at a subsidised cost (or not).   Portion(s) of the links which can be used for Subsidized Access.   etc.       

     Typical storage characteristics and/or transmission characteristics include one or more of:
         The size of the web page accessible via the URL associated with the information provider  6   a ,  6   b ,  6   c;      If the link is associated with Subsidised Access or not.   The number of click-though links accessible via the URL associated with the information provider  6   a ,  6   b ,  6   c  (categorised as inter-web page, meaning that the link leads to a web page owned by the same information provider, or external to web page, meaning that the link leads to a web page owned by a different information provider);   The size of the data accessible via objects accessible via the URL associated with the information provider  6   a ,  6   b ,  6   c , such as click-through banners, which lead to other websites. Such objects can additionally include executables, audio or video content, all of a determinable size;   A list of mobile network operators that is permitted to deliver content from the information provider  6   a ,  6   b ,  6   c.      Valid data plans associated with consumers, operators and/or web page owners.       

     These criteria can be specified by a given information provider  6   a ,  6   b ,  6   c  via a form or similar (not shown), and in the case of the storage and/or transmission characteristics, the bid capturing software component  303  can be arranged to download the web page so as to verify, or correct, the submitted data. In addition the portion of the bid which can be used to provide Subsidized Access can be defined by search service provider. These characteristics are preferably combined by the bid capturing software component  303  so as to provide a single measure of the storage characteristics and/or transmission characteristics. In one arrangement the characteristics are combined so as to generate an overall download requirement, as follows:
 
Download requirement=Size of directly accessible web page+No. inter-web page click-through links* P   1 +No. external web page click-through links* P   2  
 
     Where P 1  and P 2  are probability values indicative of the likelihood of users accessing the click-through links. Many information providers maintain statistics indicative of access to internal and external links, so this information can be provided by the information providers at the time of submitting the storage and/or transmission criteria. Alternatively the bid capturing software component  303  can apply estimates for the respective probabilities, in the form of discrete values (such as, if there are eight inter-web click through links (so eight layers of clicks), the probability of accessing level one click is 75%, the probability of accessing level two click is 50%, the probability of accessing level three click is 30%; the probability of accessing level four click is 25%; the probability of accessing level five click is 20% etc.) or in the form of a continuous function. 
     Once the data have been verified, the bid capturing software component  303  stores the same in a database record corresponding to the information provider  6   a ; an example of a suitable schema is shown in  FIG. 2 . As can be seen, in this representation, any given record R comprises for example five fields: the URL corresponding to the information provider is stored in field  201 , the keywords in field  203 , the storage criteria in field  205 , and bid criteria in field  207 . It will be appreciated that  FIG. 2  is highly schematic and that, in the case of fields  205 ,  207 , there the schema will most likely include subfields corresponding to respective elements thereof. 
     The processes involved in ranking of search results will now be described with reference to  FIG. 4 , which shows components of the search engine  10 . The search engine  10  is preferably embodied as a web server, and comprises standard operating system, storage, processor, input/output interfaces, together with includes various bespoke software components  401 ,  403 ,  405 . These software components are arranged, respectively, to receive a search request and identify keywords within the request (request receiving component  401 ); to query the search database  20  on the basis of the keywords and evaluate respective bids associated with information providers registered in respect of the keywords (bid evaluation software component  403 ) so as to generate corresponding search listings; and to arrange the search listings in a list in accordance with the bid amounts (list generating software component  405 ). The request receiving software component  401  is also arranged to identify the terminal  2  to which the search listings are to be transmitted, so that the list generating software component  405  can deliver the results to this terminal  2 . In addition, once the search results have been delivered, the list generating software component  405  triggers an update to the account balances of those information providers appearing on the results list. Details of this updating process will be described in relation to  FIG. 5 , described below. 
     In view of the foregoing comments relating to the parameters used to rank search results—namely access costs—the bid evaluation software component  403  is arranged to identify and combine the various criteria that influence the access costs, as will now be described in more detail. By way of an introductory remark, it will be apparent from inspection of the bid criteria that the actual magnitude of a bid that is submitted for a particular set of keywords may vary per search request received. This is due to the fact that a) the number of information providers that have registered with the search database  20  can vary over time, b) the funds available to a given information provider to place a bid varies over time (since funds get depleted) and c) the data accessible from network locations (thus storage/transmission characteristics) vary over time. This variation is particularly acute in relation to the bid criterion specifying a “lowest acceptable ranked position in a set of search results”, and can be seen from consideration of an example in which the bid criteria specify a lowest acceptable ranked position of “third”. The amount that will be deducted from information provider  6   a &#39;s account balance will vary as the number of information providers, and their downloadable content, changes, since e.g. the greater the number of information providers that have registered for the keywords “cars, engines, motorbikes”, the greater the amount of resources that will have to be deducted from the information provider  6   a &#39;s balance to keep information provider  6   a  listed in third position. In addition, those information providers having resource-heavy web sites will have to bid a significantly greater amount than would information providers having fewer resources to download in order to get higher ranking. 
     The details of the algorithms used by the bid evaluation software component  403  to account for these various factors will now be described for various information providers that have entries in the search database  20  corresponding to keywords specified in a search request. In a first arrangement, it is assumed that the information providers have submitted a single set of bid criteria, to be applied irrespective of whether the recipient of the search results is a mobile or fixed terminal. It is also assumed that the magnitude and type of data that are downloadable from the corresponding network locations have been specified and verified in the manner described above, so that fields  201 ,  203 ,  205 ,  207  in the search database  20  have been populated in respect of their selected keywords. 
     Assuming information provider  6   a  has an overall storage transmission characteristic of 3 MB (2 MB+5 click-through links), and that the provider  6   a  has specified 1ε per search listing (with no preference in relation to position in the rankings) then the bid evaluation software component evaluates a bid per KB of 1ε/2 MB=0.0003ε/kbyte. As described above, this effectively represents the amount that the sponsor is willing to pay for the mobile terminal  2  to receive data from its network location. Assuming information provider  6   b  has an overall storage characteristic of 20 kbyte and has specified 0.2ε per search listing, then the amount of subsidy for accessing the network location corresponding to provider  6   b  is 0.2/20=0.01ε/kbyte; further, assuming information provider  6   c  has an overall storage transmission characteristic of 120 kbyte (100 kbyte+2 objects) and has specified 0.3ε per search listing, then the amount of subsidy for accessing the network location corresponding to provider  6   b  is 0.3/120=0.0025ε/kbyte. It can therefore be seen that the effective bids, when ranked in accordance with delivery through a mobile network, result in a ranking of  6   b ,  6   c ,  6   a , which is quite different to the ranking that applies in respect of delivery solely through fixed networks ( 6   a  (1ε),  6   c  (0.3ε),  6   b  (0.2ε)). 
     Operation of the various components of the distributed information system  1  when servicing a search request will now be described with reference to  FIG. 5 , which is a timing diagram showing the various messages and data transmission between components  2 ,  10 ,  20 ,  6   c  and  16 . At step S 5 . 1 , the mobile terminal  2  sends a search request to the search engine  10  using the browser application of the terminal  2 , the search request comprising one or more keywords of interest. The search request is received by the search engine  10 , having been routed via the mobile network  14 , gateway GW and other network portions, and the request receiving component  401  extracts the keywords from the search request, formulating a query based thereon and sending same to the search database  20  (step S 5 . 3 ). The search database  20  performs a lookup in respect of the keywords and retrieves data indicative of network location, storage criteria, bid criteria, and account balance (collectively referred to as ranking criteria) for all information providers listed against keywords corresponding to the search request, and creates a message M 1  including this information. Thus in one arrangement the message M 1  comprises a plurality of entries, each relating to a respective information provider and having a predetermined format so as to accommodate the ranking criteria. The message M 1  is then sent to the search engine  10  (step S 5 . 5 ). 
     The foregoing passages assume that all of the information providers listed in the search database  20  have submitted bid criteria when registering via the search broker  8 . However, the search database  20  will also hold entries corresponding to information providers that are not interested in paying for a position in a list of search results (and in respect of which the bid criteria is null). Since the query performed at step S 5 . 5  will return all information providers corresponding to the keywords specified in the search request, the message M 1  will include entries corresponding to non-paying and paying information providers. 
     The bid evaluation software component  403  is arranged to receive the message M 1  sent from the search database  20 , to retrieve data therefrom, and to apply a ranking algorithm, such as the one described above, in respect of each of the paying information providers listed in the message M 1  (step S 5 . 7 ). The output of this ranking process is a list of network locations, each accompanied by a bid/kbyte value. The list generating software component  403  then compiles a list comprising selectable links to network locations corresponding to the information providers, the list being ordered in accordance with the bid/kbyte value, so that the network location corresponding to the highest bid/kbyte value is positioned at the top of the list. In addition, the paying—and ranked—network locations are preferably separated from the non-paying information providers. 
     Referring to  FIG. 6 , the sorted list preferably comprises a subsidised portion  601 , a fully chargeable portion  603 , and a search requesting portion  605 . Preferably account identification information is coded into the subsidised portion  601  of the search results page W 1  on a per listing basis, and each of the links appearing within the subsidised portion  601  actually corresponds to the network address of the search broker  8 . Thus, when a link within the subsidised portion  601  is selected, this causes the terminal  2  to send an account identifier and URL corresponding to the selected listing to the search broker  8 ; the search broker  8  is then responsible for updating the respective account together with re-directing the request to the URL of the selected listing. Typically the account identifier is embedded as a parameter in the URL, but it could be embedded within a cookie that is transmitted to, and maintained at, the terminal  2  along with the results page W 1 . 
     Accordingly the results page W 1  is transmitted to the terminal  2  at step S 5 . 9 ; assuming the user to select one of the links appearing within the subsidised portion  601  (e.g. information provider  6   c ), message M 2  comprising account identification and the selected URL is transmitted to the search broker  8  (step S 5 . 11 ). When received, the message M 2  is processed by the account updating software component  305  shown in  FIG. 3 , causing the account updating component  305  to send a standard HTTP retrieval request to the URL listed within message M 2 , the request having, as source address, a network identifier corresponding to the terminal  2  (step S 5 . 13 ). At the same time or shortly thereafter, the account updating software component  305  accesses the search database  20  on the basis of account identifier retrieved from message M 2 , and at step S 5 . 15  updates the account balance (field  209 ) in accordance with the bid criteria evaluated at step S 5 . 7 . Data are transmitted to the terminal  2  under control of the information provider corresponding to the selected URL in response to the re-directed access request transmitted from the search broker  8  at step S 5 . 13 . Whilst this is shown in  FIG. 5  (step S 5 . 19 ), it will be appreciated that transmission of data from the network location occurs independently of the components of data information system  1 , and is shown for completeness only. 
     In the event that the user of the terminal  2  selects a link listed in the non-subsidised portion  603  of the search listings, access to, and retrieval of data from, the web site corresponding thereto will progress in accordance with standard methods and independently of the search broker  8 . 
     It will be noted that  FIG. 5  includes a step involving the search broker  8  sending a message to the billing system  16  associated with the mobile network portion  14  shown in  FIG. 1 . This relates to a further aspect of the invention, namely one in which the actual transport costs are factored into the ranking algorithm described above. In this aspect of the invention, the search broker  8  has access to transport costs data associated with the various mobile network operators, and, depending on the operator with which the terminal  2  is connected (together with parameters identifying whether the terminal is at home/roaming, time of day etc.), the costs associated with delivering data from the various network locations to the terminal  2  are evaluated by the bid evaluation software component  403  as part of step S 5 . 7 . For example, assuming the costs of transport to terminal  2  are P=0.007ε/kbyte, then the costs of accessing data from information providers  6   a ,  6   b ,  6   c  are as follows:
         Information provider  6   a : 1ε/2 MB=0.0003ε/kbyte, which is less than the transport costs, so that, whilst the data is subsidised, it will nevertheless be delivered at a cost.   Information provider  6   b : 0.2/20 kbyte=0.01ε/kbyte, which is greater than the transport costs, so that data will be delivered at no cost.   Information provider  6   c : 0.3/120 kbyte=0.0025ε/kbyte, which is less than the transport costs, so that, whilst the data is subsidised, it will nevertheless be delivered at a cost.       

     Turning to  FIG. 7 , this additional refinement to the ranking process means that the search listings can be further categorised for selection by the user—into “free” portion  604 , “subsidised” portion  601  and “fully charged” portion  603  within web page W 1 ′. 
     In another arrangement the bid criteria  207  specified by any given information provider  6   a ,  6   b ,  6   c  can include data indicative of the amount of money that the information provider is willing to pay so as to cover transmission of data to any given mobile terminal; for example, assuming the bid criteria  207  corresponding to information provider  6   a  specifies that all delivery costs will be covered, the web page W 1 ″ appears as shown in  FIG. 8 . 
     Returning to  FIG. 5 , data indicative of the actual cost to the subscriber to receive data from the selected information provider  6   c  are transmitted to the billing system  16  at step S 5 . 17 , preferably before the data are transmitted from the information provider, so that the subscriber&#39;s balance can be “topped up” to cover the subsidised costs. 
       FIGS. 9 and 10  show the steps involved for an example in which the search request relates to “hotels in London”:  FIG. 9  relates to the case where the information source submits bid criteria so as to influence the position of the information source in the search results, but does not agree to subsidise access to their site, and  FIG. 10  relates to the case where the information source both submits bid criteria so as to influence the position of the information source in the search results and at least some of the information sources (corresponding to hotel 2  and hotel 3 ) agree to subsidise—either partly or fully—the transport costs associated with accessing data from their site. These two examples clearly show the effects of weighting the bid amounts in accordance with the amount of data to be transmitted and subsidising subsequent requests to access data from the information sources. 
       FIG. 11  relates to the case in which the amount of subsidy specified by the information provider in relation to transport costs is related to their bid amount (i.e. the amount that the information source has bid for the purposes of achieving a preferential ranking position in the search results transmitted at step S 5 . 9 ). In one arrangement the bid criteria submitted by the information source specifies a transport subsidy as a percentage of the bid amount (this being submitted via the search broker  8  in the manner described above), and in the specific example shown in  FIG. 11  the transport subsidy is specified as 40% of the bid amount. 
     In each of  FIGS. 9 ,  10  and  11 , the web page W 1 ′ transmitted to the mobile terminal  2  only shows search results corresponding to web sites that have been determined as free to access (portion  604 ) (in addition to the non-sponsored web sites (portion  603 )). It can clearly be seen from these examples that the list generating software component  405  orders the search results in accordance with profit associated with any given information source. 
     Additional Details and Modifications 
     Whilst in the above embodiments the search engine  10  is described as having access to the storage and/or transmission characteristics in addition to the bid criteria, in an alternative arrangement the distributed information system  1  could include an additional network component, arranged to store the storage and/or transmission characteristics, and to receive search results, ranked in accordance with conventional methods, from the search engine  10 , and to then factor in the storage and/or transmission characteristics. Thus in this alternative arrangement the ranking process comprises separate stages, performed at different logical devices, rather than comprising a single integrated process. 
     As described above, an information provider can store content and/or promotional data, and accordingly can be hosted or sponsored by an advertiser. 
     The search requests submitted at step S 5 . 1  can be submitted from a terminal other than the one to which the search results are to be delivered; for example, requests could be submitted as part of an automated process, which includes, as one of the input fields, an identifier corresponding to the terminal  2  destined to receive the search results. In addition, search requests could be typed in or entered via speech recognition software. 
     As described above, each record R i  in the search database  20  corresponding to an information provider can comprise a field relating to an account balance for the information provider. The balance is quantified in terms of resources, which can be money or usage of communications services. The latter type of resource would be particularly convenient for the arrangement in which transportation costs are factored into the ranking process, since communications resources could be directly traded rather than being translated into and out of financial amounts. 
     In the case where the information provider specifies “free access” and the transport costs are higher than the ε/kbyte associated with the downloaded content, all actual delivery costs will be subtracted from the corresponding account balance field  209  when a given URL is selected. 
     Whilst in the above embodiments the ranked and categorised search results are delivered to a mobile terminal, the search results could alternatively be transmitted to a search results service, for further processing of the results or delivery thereof to the mobile device. 
     In addition to the bid criteria described above, the information source can submit data indicative of an overall, or specifically allocated, budget. In addition, whilst it is preferably that the search listings, network location and key words are related, any given information provider can specify a link to a network location that is unrelated to the keywords (e.g. an information source providing information in relation to the key words “hotels London” can specify links to network locations unrelated to these keywords). 
     By way of clarification, the term “non-sponsored Link” is to be understood as including (but not limited to) a link to a network location associated with an information source whose ranking in a list of search results is defined purely on the relevance of the content of the web page to key words related thereto and is unrelated to any bid amounts associated therewith. 
     The term “sponsored link” is to be understood as including (but not limited to) a link to a network location associated with an information source whose ranking in a list of search results is dependent on bid amounts relating to the position of the link in the list of search results. However, in general the term does not refer to subsidizing access to content associated with any of the links listed in the search results. 
     The term “subsidized access” is to be understood as including (but not limited to) part of the bid amount, the amount of the subsidy being dependent on the parameters available for the purposes of providing subsidised or free access to a network location associated with an information source. In addition the term “subsidized access” can cover, wholly or in part, the costs of associated with accessing data from the network location associated with the information source. The term “bid criteria” is to be understood as including (but not limited to) criteria for use in determining how a bid amount can be used to provide subsidised access to a network location associated with an information source. 
     The above embodiments are to be understood as illustrative examples of the invention. It is to be understood that any feature described in relation to any one embodiment may be used alone, or in combination with other features described, and may also be used in combination with one or more features of any other of the embodiments, or any combination of any other of the embodiments. Furthermore, equivalents and modifications not described above may also be employed without departing from the scope of the invention, which is defined in the accompanying claims.

Metadata:
Filing Date: 20080125
Publication Date: 20140415
Grant Date: 20140415
Priority Date: 20070307
Inventors: AALTONEN JANNE
ANTIKAINEN ISMO
AHOPELTO TIMO
Assignee: APPLE INC
CPC Classifications: [{"code": "G06Q40/04", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04W4/00", "inventive": false, "first": false, "tree": "[]"}, {"code": "G06Q30/0273", "inventive": false, "first": false, "tree": "[]"}, {"code": "G06Q30/0277", "inventive": false, "first": false, "tree": "[]"}, {"code": "G06F16/951", "inventive": true, "first": true, "tree": "[]"}, {"code": "G06Q30/04", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06Q30/0277", "inventive": false, "first": false, "tree": "[]"}, {"code": "G06F16/00", "inventive": true, "first": true, "tree": "[]"}, {"code": "G06Q30/08", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06Q30/00", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06Q30/0273", "inventive": false, "first": false, "tree": "[]"}, {"code": "G06Q30/02", "inventive": true, "first": true, "tree": "[]"}, {"code": "G06Q30/00", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F16/951", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F16/951", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06Q30/08", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04W4/00", "inventive": false, "first": false, "tree": "[]"}, {"code": "G06Q30/04", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06Q30/00", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06Q30/02", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06Q40/04", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F17/30864", "inventive": true, "first": true, "tree": "[]"}, {"code": "G06Q30/0273", "inventive": false, "first": false, "tree": "[]"}, {"code": "G06Q30/0277", "inventive": false, "first": false, "tree": "[]"}]
Family ID: 54705329