Patent Publication Number: US-2012036011-A1

Title: Search Personalization Using Identifiers and Authentication State

Description:
BACKGROUND 
     Internet use and the number of web pages accessible via the Internet are continually increasing. In an effort to attract customers, advertisers, and advertising revenue, web page providers attempt to provide the most interesting and relevant content possible. One method of providing relevant content is to personalize a web page. Typically, a web page is personalized according to a computing device identifier captured in a browser cookie. Thus, web page providers track a particular computer&#39;s browsing actions and attempt to provide content, options, and/or advertisements consistent with the actions. Multiple users may use a single computing device, however, which can cause a web page to be personalized incorrectly when a new user begins to browse after the web page has been personalized according to another user&#39;s actions. 
     Some web page providers personalize content by allowing individual users to establish accounts with usernames and passwords. The user may provide demographic information or select preferences that enable the web page to be personalized in a way that will appeal to the user. Users may log in to their accounts from a variety of computing devices in a variety of environments, however, which may result in an incorrectly personalized web page depending on the user&#39;s context. For example, even though a web page may be personalized according to a user account, the user may be accessing the web page from a work computer and thus have specific needs and interests that differ from the user&#39;s needs and interests when logged in from a home computer. The personalization of the web page, however, does not distinguish between the two contexts. 
     Web page personalization is especially important in an Internet search engine context. Internet searching has become increasingly common in recent years, and users have become accustomed to performing keyword and other search queries for a wide range of information. As the number of web pages and domains continues to grow, a search query often returns many more results than a user is actually interested in viewing. In an attempt to combat this information overload, conventional search engines often present search results ranked in order of relevance to the user&#39;s search query. Although relevance ranking may help identify generally useful results, the identified results may not be useful to a particular user. Personalized search results can further help direct users to relevant and desired results, but personalization by either computing device identifier or user login suffers from the above-mentioned deficiencies. 
     SUMMARY 
     Embodiments of the present invention relate systems, methods, and computer media for personalizing a web page and for personalizing user search query results. Using the methods described herein, a user request to view a web page can be received from a computing device. A computing device identifier associated with the computing device can be detected. Device-specific data corresponding to the detected computing device identifier can be accessed. Upon detecting at least one user identifier having an authentication state, user-specific data corresponding to the detected user identifier and authentication state can be accessed. The web page can be personalized based on at least one of the accessed device-specific data and the accessed user-specific data. The user request can be a user search query, and the personalized web page can be a search results page. 
     This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The present invention is described in detail below with reference to the attached drawing figures, wherein: 
         FIG. 1  is a block diagram of an exemplary computing environment suitable for use in implementing embodiments of the present invention; 
         FIG. 2  is a block diagram of an exemplary web page personalization system for implementing embodiments of the present invention; 
         FIG. 3  is a flow chart of an exemplary method for personalizing a web page; 
         FIG. 4  is a block diagram of an exemplary search result page personalization system for implementing embodiments of the present invention; and 
         FIG. 5  is a flow chart of an exemplary method for personalizing a search result page. 
     
    
    
     DETAILED DESCRIPTION 
     Embodiments of the present invention are described with specificity herein to meet statutory requirements. However, the description itself is not intended to limit the scope of this patent. Rather, the inventors have contemplated that the claimed subject matter might also be embodied in other ways, to include different steps or combinations of steps similar to the ones described in this document, in conjunction with other present or future technologies. Moreover, although the terms “step” and/or “block” or “module” etc. might be used herein to connote different components of methods or systems employed, the terms should not be interpreted as implying any particular order among or between various steps herein disclosed unless and except when the order of individual steps is explicitly described. 
     Embodiments of the present invention provide systems, methods, and computer media for personalizing web pages and personalizing search results. In accordance with embodiments of the present invention, a web page is personalized before presentation to a user. As discussed above, web page providers often seek to personalize web page content to attract users and advertisers. Web page providers typically rely on either a computing device identifier or a user login to gather and/or access information that can be used to personalize the web page. As also discussed above, both computing device identifiers and user identifier have deficiencies. Computing device identifiers indicate only the machine from which a request originates. Because multiple users may send requests from a single machine, a web page may be personalized for a previous user and be unhelpful to a current user. Similarly, while a user login allows a web page to be personalized for a particular user, the personalization may not be appropriate given the user&#39;s context (e.g., at work, at home, on wireless device). Additionally, the existence of two schemes for personalizing web pages based on two different identifier types creates security and privacy concerns due to potential comingling of data. 
     In accordance with embodiments of the present invention, a user request to view a web page is received from a user at a computing device. The web page is personalized before the page is presented to the user by considering device-specific data corresponding to a detected computing device identifier and user-specific data corresponding to a detected user identifier. The user-specific data and device-specific data are segregated according to identifier. For a given user request, only the data associated with detected identifiers is available. Both the user-specific data and device-specific data may include, among other data, settings, search history, browsing history, preferences, application settings, application data, user categorization based on search or browsing history, and demographic data. The detected user identifier may have a number of possible authentication states, including “identified but unauthenticated” and “identified and authenticated.” The amount of user-specific data available for use in personalization varies according to the authentication state. 
     User-specific data provides information relating to a particular user, but, as stated above, the user&#39;s context is typically not known. Computing device identifiers can be used to provide user context. For example, a user may have a different computer at home than she has at work. By identifying the machine from which the request originates, appropriate “home” or “work” personalization can occur. One particularly useful context in which web page personalization can occurs is for user search queries. User search history, categorization, and preferences can be considered to present personalized search results based on the user&#39;s identity and context. 
     In one embodiment of the present invention, a user request to view a web page is received from a computing device. A computing device identifier is detected. Device-specific data corresponding to the detected computing device identifier is then accessed. Upon detecting at least one user identifier having an authentication state, user-specific data corresponding to the detected user identifier and authentication state is accessed. The web page is then personalized based on at least one of the accessed device-specific data and the accessed user-specific data. 
     In another embodiment, a user search query is received from a computing device. A computing device identifier is detected. Device-specific data corresponding to the detected computing device identifier is accessed. Upon detecting at least one user identifier having an authentication state, user-specific data corresponding to the detected user identifier and authentication state is accessed. One or more web pages relevant to the user search query are identified. The relevant web pages are ranked based on at least one of the accessed device-specific data and the accessed user-specific data. A personalized search result page including the ranked relevant web pages is generated. 
     In still another embodiment, a user search query is received from a computing device. A computing device identifier is detected. At least one user identifier having an authentication state is detected. The authentication state is one of (1) identified but not authenticated or (2) identified and authenticated. Device-specific data corresponding to the detected computing device identifier is accessed. User-specific data corresponding to the detected user identifier and authentication state is accessed. One or more web pages relevant to the user search query are identified. The relevant web pages are ranked based on at least one of the accessed device-specific data and the accessed user-specific data. A personalized search result page including the ranked relevant web pages is generated. 
     Having briefly described an overview of some embodiments of the present invention, an exemplary operating environment in which embodiments of the present invention may be implemented is described below in order to provide a general context for various aspects of the present invention. Referring initially to  FIG. 1  in particular, an exemplary operating environment for implementing embodiments of the present invention is shown and designated generally as computing device  100 . Computing device  100  is but one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of embodiments of the present invention. Neither should the computing device  100  be interpreted as having any dependency or requirement relating to any one or combination of components illustrated. 
     Embodiments of the present invention may be described in the general context of computer code or machine-useable instructions, including computer-executable instructions such as program modules, being executed by a computer or other machine, such as a personal data assistant or other handheld device. Generally, program modules including routines, programs, objects, components, data structures, etc., refer to code that perform particular tasks or implement particular abstract data types. Embodiments of the present invention may be practiced in a variety of system configurations, including hand-held devices, consumer electronics, general-purpose computers, more specialty computing devices, etc. Embodiments of the present invention may also be practiced in distributed computing environments where tasks are performed by remote-processing devices that are linked through a communications network. 
     With reference to  FIG. 1 , computing device  100  includes a bus  110  that directly or indirectly couples the following devices: memory  112 , one or more processors  114 , one or more presentation components  116 , input/output ports  118 , input/output components  120 , and an illustrative power supply  122 . Bus  110  represents what may be one or more busses (such as an address bus, data bus, or combination thereof). Although the various blocks of  FIG. 1  are shown with lines for the sake of clarity, in reality, delineating various components is not so clear, and metaphorically, the lines would more accurately be grey and fuzzy. For example, one may consider a presentation component such as a display device to be an I/O component. Also, processors have memory. We recognize that such is the nature of the art, and reiterate that the diagram of  FIG. 1  is merely illustrative of an exemplary computing device that can be used in connection with one or more embodiments of the present invention. Distinction is not made between such categories as “workstation,” “server,” “laptop,” “hand-held device,” etc., as all are contemplated within the scope of  FIG. 1  and reference to “computing device.” 
     Computing device  100  typically includes a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by computing device  100  and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer-readable media may comprise computer storage media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computing device  100 . 
     Memory  112  includes computer-storage media in the form of volatile and/or nonvolatile memory. The memory may be removable, nonremovable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard drives, optical-disc drives, etc. Computing device  100  includes one or more processors that read data from various entities such as memory  112  or I/O components  120 . Presentation component(s)  116  present data indications to a user or other device. Exemplary presentation components include a display device, speaker, printing component, vibrating component, etc. 
     I/O ports  118  allow computing device  100  to be logically coupled to other devices including I/O components  120 , some of which may be built in. Illustrative components include a microphone, joystick, game pad, satellite dish, scanner, printer, wireless device, etc. 
     As discussed previously, embodiments of the present invention provide methods and computer media for personalizing web pages and personalizing search results. Embodiments of the present invention will be discussed with reference to  FIGS. 2-5 . 
       FIG. 2  illustrates a block diagram of a system  200  for personalizing web pages. Computing device  202  receives a request from a user to view a web page. The request is communicated through web server  204  to web page provider  206 . Web page provider  206  accesses device-specific data store  208  and user-specific data store  210  to personalize the web page for the user. Device-specific data and user-specific data may include, among other things, settings, search history, browsing history, preferences, application settings, application data, user categorization based on search or browsing history, and demographic data. 
     Device-specific data and user-specific data are gathered from a variety of sources including browser, search provider, and web domain records. Many browsers, search providers, and web domains record user actions and history for a variety of purposes. For example, when a search provider receives user search queries, the search provider tracks the queries and subsequent actions associated with the queries, such as clicking on a presented search result link. If a user is not logged in, the search provider stores the actions in association with the computing device identifier and may store the actions for a shorter length of time than if the user were logged in. 
     In some instances, a number of web domains or services may share user history among themselves. For example, one entity may provide a news website, search engine, e-mail, and other services accessible through a single username and password. The history, preferences, etc, of the user for each service is available to every other service provided by the entity. In other instances, a user may have accounts with various entities, and the entities have agreed to allow a single login from one account with a first entity to access information in other accounts of the same user with different entities. In this way, a user could perform a single login to access email from provider A and access the user&#39;s search history and preferences from provider B or social media events from provider C. Single logins for multiple websites/domains, recording user activity, and other methods of gathering user data are well known in the art. 
     The particular data used to personalize a web page may vary. For example, if a user has requested to view a mapping web page that provides directions, any accessible user or device-specific data may be used to personalize the presented mapping web page. The mapping provider may consider user-specific data that relates to an email account or search engine history in place of or in addition to mapping history. For example, the mapping provider could present a default map of the user&#39;s home address based on profile information stored for the user&#39;s email address. Alternatively, the mapping provider could present as the default map a frequently mapped location as determined from the mapping provider&#39;s history or include frequently searched destinations as selectable options. The specific items of user-specific data considered in personalization depend upon the web page provider&#39;s goals and other considerations. 
     As discussed above, various authentication states exist for a user. In one embodiment, three authentication states are possible: (1) user not identified, (2) user identified but unauthenticated, and (3) user identified and authenticated. Other authentication states are possible. In authentication state (1), a user is not identified. The system has no way to access user-specific data in this authentication state. Only device-specific data can be used to personalize a web page for a request in which there is no user identifier. 
     In authentication state (2), a user has been identified, but the user is not currently authenticated. This may occur when, for example, a user has previously been logged in to a web domain or web page provider but has logged out. Depending upon the login type, the username may remain for convenience of the user. The user identifier (username) is detected, but the identifier has not been authenticated. In some types of login systems, after a user logs out, both the username and password are removed and the user then has authentication state (1). Authentication state (2) also may occur, for example, when a user is logged in, closes the browser without logging out, and later reopens the browser. Similarly, authentication state (2) may occur when a browser cookie for a logged-in user expires. Authentication state (3) occurs when a user identifier is detected that has been authenticated, such as when a user is currently logged in to a web domain or web page provider. Authentication states (1), (2), and (3), can be thought of as: (1)—“we don&#39;t know who you are;” (2)—“we think we know who you are, but we can&#39;t be sure;” and (3) “we know who you are to the best of our ability.” 
     User-specific data accessible in authentication states (2) and (3) is illustrated in  FIG. 2  by unauthenticated user data store  212  and authenticated user data store  214 . Unauthenticated user data store  212  is data associated with a user identifier but not authenticated. Authenticated user data store  214  is data associated with a user identifier that is authenticated. As discussed above, the level of data accessible for personalization depends upon the authentication state. In many cases, personalization includes making data such as search or purchase history available to the user. It is thus extremely important to only allow access to data that corresponds to a user&#39;s authentication state. 
     For example, if a request to view a web page is received and no user identifier is detected, the user is in authentication state (1). Sensitive information such as credit card payment information, home address, telephone number, or possibly even search history should not be accessible or used to personalize in such a case. Device-specific data is typically less sensitive than unauthenticated user data, which is in turn typically less sensitive than authenticated user data. The dividing lines between which data should be stored as unauthenticated user data and which should be stored as authenticated user data depends upon a web domain or web page provider&#39;s needs and preferences. Wherever the lines are drawn, security and privacy concerns typically guide the categorization. In addition to access to sensitive data, authentication state may also affect read and write permissions and information retention. 
     Personalizing web pages using only user-specific data can still result in web pages that are inappropriate for a user given the user&#39;s context. Considering the mapping service example presented above, a user logged in to a mapping service may be presented with a default map of the user&#39;s home address. Personalization occurred after authenticated user data was accessed to determine the user&#39;s home address and a decision was made to produce a default map with that home address. The user, however, may have logged in to her account from her work computer. In such a situation, it is likely that the user desired driving directions from her work location to a destination. The mapping service&#39;s attempt at personalization, producing a default map with the user&#39;s home address, is not helpful in this situation. By detecting a computing device identifier, however, the mapping service is able to gain context for the user&#39;s current session. The mapping service can recognize that the computing device identifier is the user&#39;s work computer, and only personalize based on user-specific data that corresponds to the work computer. 
     In one embodiment, the personalized web page can include reduced or expanded content depending on the computing device identifier. For example, if it determined from the computing device identifier that a user is requesting to view a web page from a work computer, when the user would likely have limited time to view content, the personalized display can include a limited number of targeted content items. In contrast, if it is determined that the user has requested to view a web page from her home computer, where she is more likely to have time to view content, additional content may be included in the personalized web page. Advertisements presented in association with a web page can be similarly personalized. 
     In the web page personalization system shown in  FIG. 2 , web server  204  and web page provider  206  may be the same component or functional areas of one component. In some embodiments, web server  204  detects device and user-specific identifiers, along with corresponding authentication states, from sources such as cookies. The identifier and authentication state information is communicated to the middle tier of an application associated with web page provider  206 , which selects particular identifiers for which to retrieve associated data from the data stores, including device-specific data store  208 , unauthenticated user data store  212 , and authenticated user data store  214 . The data stores have access control lists or other security means and are partitioned according to user identifier and authentication state. Thus, when presented with particular user or device-specific identifiers and authentication states, the data stores only provide access to the appropriate information, eliminating security and privacy concerns. 
       FIG. 3  illustrates a method  300  of personalizing a web page. In step  302 , a request to view a web page is received from a computing device. In step  304 , a computing device identifier associated with the computing device is detected. The identifier may be stored in a cookie. In step  306 , device-specific data corresponding to the computing device is accessed. A user identifier having an authentication state is detected in step  308 . User-specific data corresponding to the user identifier is accessed in step  310 . In some embodiments, multiple user identifiers are detected and one or more particular identifiers for which corresponding data is to be accessed are selected. In step  312 , the web page is personalized based on the accessed device-specific and user-specific data. 
     As discussed above, web page personalization is desirable for Internet search providers.  FIG. 4  illustrates a system  400  for personalizing search results. A user enters a search query at computing device  402 . The search query is communicated through web server  404  to search provider  406 . In some embodiments, web server  404  and search provider  406  are one entity or component. Web server  404  detects a device-specific identifier and one or more user-specific identifiers and communicates the identifiers to search provider  406 . Search provider  406  selects particular identifiers for which it would like to access associated data for search result personalization and communicates the identifiers to device-specific data store  408  and user-specific data store  410 . Unauthenticated user data  412  and authenticated user data  414  are stored according to user identifier in user-specific data store  410 . Only the device-specific data corresponding to computing device  402  and user-specific data corresponding to the selected user identifier and authentication state are accessible for personalization in response to the user search query. 
     In some embodiments, authenticated user data store  414  contains all of the data stored in unauthenticated user data store  412 . In other embodiments, a decision is made to store some user-specific data as accessible when the user is unauthenticated and some as accessible when the user is authenticated, and when it is determined that a user is authenticated, both unauthenticated user data store  412  and authenticated user data store  414  are accessible. 
     Personalization of search results may include accessing user-specific data relating to user categorization. For example, the user may be categorized by the search provider as a sports enthusiast, shopper, casual user, or other category. Recent search history associated with the user or device may also be considered. As discussed above, the combination of a computing device identifier and user identifier provides a more complete level of personalization that can account for not just a user&#39;s identity but also a user&#39;s context. Search provider  406  may also consider the user&#39;s demographic information, geographic location, expressed preferences or settings, or other information. 
     Search provider  406  accesses web page index  416 , advertising index  418 , and additional content  419  to identify web pages, advertisements, and additional content relevant to the received user query. Additional content  419  may include answers to particular queries. For example, if a user searches for a particular sporting event score, scientific constant value, population statistic, or other information for which a fast and complete answer may be easily obtained, such an answer can be presented directly to the user without providing a link to a web page containing this information. Result ranking component  420  assembles personalized results based on the identified relevant web pages, advertisements, device-specific data, and user-specific data. The personalized results are provided to search provider  406 . A personalized search results web page is generated and communicated to computing device  402  through web server  404 . 
       FIG. 5  illustrates a method  500  of personalizing a search results web page. In step  502 , a user search query is received from a computing device. In step  504 , a computing device identifier corresponding to the computing device is detected. In step  506 , a user identifier having an authentication state is detected. In step  508 , device-specific data corresponding to the computing device identifier is accessed. In step  510 , user-specific data corresponding to the user identifier is accessed. Web pages relevant to the user search query are identified in step  512 . The identified relevant web pages are ranked based on the accessed device-specific and user-specific data in step  514 . Relevant online advertisements are identified in step  516 . In step  518 , relevant additional content is identified. A personalized search result page is then generated in step  520 , the search result page including the ranked results, online advertisements, and additional content. In some embodiments, steps  516  and/or  518  are omitted. 
     The present invention has been described in relation to particular embodiments, which are intended in all respects to be illustrative rather than restrictive. Alternative embodiments will become apparent to those of ordinary skill in the art to which the present invention pertains without departing from its scope. 
     From the foregoing, it will be seen that this invention is one well adapted to attain all the ends and objects set forth above, together with other advantages which are obvious and inherent to the system and method. It will be understood that certain features and sub-combinations are of utility and may be employed without reference to other features and sub-combinations. This is contemplated by and is within the scope of the claims.