US20130297584A1 - Promoting websites based on location - Google Patents

Promoting websites based on location Download PDF

Info

Publication number
US20130297584A1
US20130297584A1 US13/939,059 US201313939059A US2013297584A1 US 20130297584 A1 US20130297584 A1 US 20130297584A1 US 201313939059 A US201313939059 A US 201313939059A US 2013297584 A1 US2013297584 A1 US 2013297584A1
Authority
US
United States
Prior art keywords
location
website
websites
computer
locations
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US13/939,059
Inventor
Amit Aggarwal
Nitin Agrawal
Michael Maxwell Cameron
Nicholas Eric Craswell
Nikhil Bharat Dandekar
Tabreez Govani
Hugh Evan Williams
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Priority to US13/939,059 priority Critical patent/US20130297584A1/en
Publication of US20130297584A1 publication Critical patent/US20130297584A1/en
Assigned to MICROSOFT CORPORATION reassignment MICROSOFT CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: AGGARWAL, AMIT, CAMERON, MICHAEL MAXWELL, AGRAWAL, NITIN, CRASWELL, NICHOLAS ERIC, GOVANI, TABREEZ, WILLIAMS, HUGH EVAN, DANDEKAR, NIKHIL BHARAT
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Abandoned legal-status Critical Current

Links

Images

Classifications

    • G06F17/30864
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries

Definitions

  • a search engine ranks websites based on a frequency of terms within a website that matches the terms included in a user query.
  • the conventional search engine returns the ranked websites as a result set to the user.
  • the conventional search engine considers a location of a ranked website to decide whether the ranked website is of interest to the user. For instance, a website operated and located in the United States of America would more likely be of interest to a user in the United States of America accessing the Internet from a machine in the United States of America than a similar website operated and located in a foreign country.
  • the conventional search engine is configured to return, within the top result set, the website operated and located in the United States of America. The similar website located and operated in the foreign country is not returned within the top result set.
  • the conventional search engine selects a location of a website by parsing a top level domain of a uniform resource locator of the website to extract a country identifier that corresponds to the location of the website.
  • the conventional search engine selects a location of the website by identifying an internet protocol address corresponding to the uniform resource locator.
  • the internet protocol address for the website corresponds to a specific location that is associated with the website.
  • the conventional search engines introduce errors when selecting top results using location.
  • the conventional search engines erroneously omit a website that is globally popular from the top results set. For example, a website that individuals all over the world frequently access and operated but is located in the United States of America may be erroneously excluded from the top result set for users located in foreign countries. Because the website is operated and located in the United States of America, the conventional search engines erroneously omit websites from the top result set that should be included in the top result set for the foreign countries.
  • a computer system includes a search engine that responds to user queries.
  • the search engine receives the user queries and returns a result set that includes websites that match the user query.
  • the search engine is configured with a location service that identifies locations for users and websites.
  • the location service retrieves locations for users and websites from a location database.
  • the location service uses the locations retrieved from the location database to identify unexpectedly popular websites.
  • the location service locates inconsistencies in the locations retrieved from the location database and resolves the inconsistencies in the retrieved locations.
  • the locations selected by the location service for users and websites are used to impact ranks assigned to websites that match the user query.
  • the search engine uses the location service to analyze, among other things, popularity of the websites, locations of the websites, and the locations of the users to generate the top results that are included in the result set.
  • FIG. 1 is a network diagram that illustrates an exemplary operating environment
  • FIG. 2 is a logic diagram that illustrates a computer-implemented method for associating locations with websites based on user locations;
  • FIG. 3 is a logic diagram that illustrates a computer-implemented method for associating locations with websites based on anchor locations;
  • FIG. 4 is a logic diagram that illustrates a computer-implemented method for ranking a website based on location.
  • anchors refers to links within the content of a website that point to additional content, such as a website or other multimedia content.
  • component refers to any combination of hardware, software, or firmware.
  • a search engine is configured with location services that impact a rank for a website matching a user query.
  • the location service analyzes location data for websites and users to classify websites that are globally popular. Moreover, the location service identifies a location of a website by looking at locations of: users that visit the website; the top-level domain; and the locations of server devices that host the website. In some embodiments, the location service selects a common location associated with a large number of visitors to the website to be the location of the website even if the website is hosted at a different location. Moreover, the location service may identify a website as globally popular when users all over the world frequently access the website.
  • the location service includes a User Location Bias (ULB) component to affect the rankings for websites that match the user query.
  • the ULB component identifies websites that are unexpectedly popular for a location associated with the website.
  • the unexpectedly popular websites are returned to the search engine for inclusion in the top result set generated by the search engine in response to the user query.
  • the rank for the unexpectedly popular websites are updated to reflect its position in the top result set.
  • the location service may use static location sources to impact the rank for each website that is a candidate for the top result set.
  • the location service includes a correction component that identifies inconsistencies between locations for websites received from a location database and locations for website assigned by the location service.
  • the inconsistencies between the locations for websites are resolved by the correction component based on locations for users.
  • the correction component identifies inconsistencies between location for users received from a location database and locations for users assigned by the location service, and the inconsistencies between the locations for users is resolved based on locations for websites accessed by the users.
  • FIG. 1 is a network diagram that illustrates an exemplary operating environment 100 .
  • the operating environment 100 includes a network 110 , a search engine 120 , client devices 130 configured with search toolbars 140 , and location database 150 , log data 160 , location service 170 , and websites 180 , and index data 190 .
  • the websites 180 are documents that represent HyperText Markup Language pages or other content.
  • the websites 180 are addressed using uniform resource locators. Additionally, the websites 180 include anchors that link to other websites or additional content. In an embodiment, the websites 180 may be formatted in extensible markup language or any other markup language.
  • the network 110 is configured to facilitate communication between the client devices 130 and the search engine 120 .
  • the network 110 may be a communication network, such as a wireless network, local area network, wired network, or the Internet.
  • the client devices 130 communicate search queries to the search engine 120 utilizing the network 110 .
  • the search engine 120 may communicate result sets having websites that match terms included in the search requests.
  • the search engine 120 is a computing device that provides search results in response to search queries.
  • the search engine 120 is configured to execute on a server device.
  • the search engine 120 receives search queries from the client devices 130 .
  • the search queries are processed by the search engine 120 to identify websites 180 that match terms included in the search queries.
  • the search queries are processed by the search engine 120 to traverse the location database 150 to identify locations for the client devices 130 that transmitted the search queries to the search engine 120 .
  • the search engine 120 transmits search results that include the websites that match the terms included in the search queries received from the client devices 130 .
  • the client devices 130 may transmit user activity logs, such as, but not limited to, tool bar logs, to the search engine 120 .
  • the search toolbar 140 is a utility installed on the client devices 130 .
  • the search toolbar 140 logs and track the user's visits to websites 180 on the network 110 , submits the user activity logs having websites visited by the user to the search engine 120 , and submits an internet protocol address of the client devices 130 to the search engine 120 .
  • the search toolbar 140 is a component of the user's web browser that logs browse activity for every website 180 that the user visits. Essentially, the user activity logs identify each page that the user visits, the user's internet protocol address, and other important browse activity.
  • the user activity logs received from the client devices 130 are used by the search engine 120 to identify locations for users, to identify locations for websites, and to impact a rank of websites that match terms included in user search queries in accordance with analysis performed by the location service 170 of the search engine 120 .
  • the location database 150 is a database the stores location data for websites and users.
  • the location database is a lookup table having location data and internet protocol address data. For each uniform resource locator, website, and internet protocol address, the lookup table includes a corresponding location. The location may specify the country, state, or municipality for a website having the specified uniform resource locator.
  • the lookup table includes entries having an internet protocol address and corresponding location. For instance, the lookup table may store uniform resource locator “www.va.com.au” having internet protocol address 130.194.1.99 that corresponds to a machine located in Clayton, Victoria, Australia.
  • the location database 150 may return the location for a website or a user based on the internet protocol address received from the search engine 120 .
  • the location database 150 may be updated and maintained by a third-party. For instance, the third-party may be Quova SM .
  • the log data 160 is a database that stores browse activity, such as query-click activity observed by the search engine 120 .
  • the query-click activity includes records queries that the user issues to the search engine 120 and records of clicks a user initiates on results returned by the search engine 120 .
  • the log data 160 stores the browse activity collected from the search toolbar 140 .
  • the toolbar logs from the client devices 130 are stored in the log data 160 .
  • the index data 190 stores data for each website indexed by the search engine.
  • the index data 190 allows the search engine to quickly compare search terms received from the user to the terms in the index 190 to find matches that are returned as a set of websites 180 that match the search terms.
  • the index data 190 stores, among other things, uniform resource locators that correspond to each website associated with the anchors.
  • the search engine 120 is configured with location service 170 .
  • the location service 170 generates a location profile for a user or a website based on the log data 160 .
  • the location service 170 also impacts ranks for the websites, suggests corrections to locations obtained from the location database 150 , and promotes a website within the search results returned to a user of the search engine based on the location profile for the user and the website.
  • the location service 170 comprises a rank component 171 , a correction component 172 , a ULB component 173 , and a promoter component 174 .
  • the rank component 171 generates a rank for each website 180 that matches the terms included in the user search query.
  • the rank component 171 assigns a rank to each website 180 based on multiple factors.
  • the rank component 171 performs a statistical analysis on the terms in the search query and the terms in website 180 . The larger a statistical overlap between terms in the search query and the terms in the website 180 , the higher the rank. Additionally, the rank component 171 evaluates the location of the website and the location of the user to assign the appropriate rank to the website 180 .
  • the correction component 172 locates inconsistencies in the locations obtained from the location database 150 and corrects the inconsistencies based on the aggregate locations observed for users or websites 180 .
  • the location database 150 may return the United States of America as a location for a user based on internet protocol address sent to the location database 150 from the search engine 120 .
  • the correction component 172 determines that 90% of websites visited by the user are located in Great Britain. Based on this information, the correction component 172 changes the location of the user from the United Stated of America to Great Britain.
  • the correction component 172 performs a similar process to correct locations for websites 180 .
  • the location database 150 may return France as a location for a website based on an internet protocol address of the uniform resource locator sent to the location database 150 from the search engine 120 .
  • the correction component 172 determines that 90% of the users visiting the website are located in the United States of America. Based on this information, the correction component 172 changes the location of the website from France to the United States of America.
  • the correction component 172 classifies the websites 180 or users based on expected global statistical distribution of websites 180 .
  • the correction component may use Kullback-Leibler (KL) divergence values received from the ULB component 173 to identify the appropriate location for a website. For instance, the correction component 172 may observe a particular user has the following distribution of websites: 40% of the websites visited by the user are in the United States of America; 40% of the websites visited by the user are in Great Britain; and 20% of the website are located elsewhere.
  • the correction component 172 compares the user's distribution of websites to an expected distribution of all websites on the Internet.
  • the correction component 172 aggregates the number of websites in the United States of America, the number of websites in Great Britain, and each of the remaining countries in the world.
  • the correction component 172 compares the global distribution to the user distribution. For instance, if the global distribution of websites was the following: 40% of all websites are in the United States of America; 40% of all websites are in the Great Britain; and the remaining websites are distributed among other countries in the world, the correction component 172 is unable to suggest a correction for the location of the user, and the location obtained from the location database 150 is used to classify the user. However, if the user distribution indicated that 70% of the websites visited by the user are in Great Britain and only 5% of websites are located in the United States of America, the correction component 172 classifies the user as being located in Great Britain. The correction component 172 uses the log data 160 , the location database 150 , or the KL values to assign the user with an appropriate location.
  • the correction component 172 uses the anchors pointing to the website to obtain a location classification for a website 180 .
  • the location of the anchor corresponds to location of the website that the anchor points to. For instance, if a website contains a disproportionately large number of anchors having a location of Great Britain but the website is classified as having France as the location, the correction component 172 updates the location from France to Great Britain.
  • the correction component 172 may assign priorities to locations received from the location database 150 , locations suggested by the correction component 172 , and locations suggested by the ULB component 173 .
  • the ULB component 173 impacts the rank assigned to a website.
  • the ULB component calculates the Kullback-Leibler Divergence to find websites that are disproportionately popular at a specified locations:
  • KL ⁇ ( W , L ) P ⁇ ( W , L ) ⁇ log ⁇ ( P ⁇ ( W , L ) P ⁇ ( L ) ) .
  • the “W” represents a website
  • the “L” represents a location
  • “P(W,L)” represents the probability that a user is accessing a website “W” from location “L”
  • “P(L) ” represents the probability that a user accessing any website is from location “L.”
  • the ULB component 173 analyzes the log data 160 to calculate P(W,L) and P(L).
  • the ULB component 173 uses the log data 160 to identify, for each website “W,” location “L” where the website “W” is highly popular.
  • the ULB component 173 calculates the number of users who visit each website “W” from each location “L” based on the log data 160 and location information provided by the location database 150 .
  • the log data 160 for website: www.whistlerblackcomb.com may indicate the following:
  • the ULB component 173 calculates the following probability value:
  • the ULB component 173 calculates the probability value for a user of the search engine as:
  • the ULB component 173 uses P(USA) and P(www.whistlerblackcomb.com, USA) to calculate KL(www.whistlerblackcomb.com, USA), which provides an indication of when a website is unusually popular.
  • the ULB component 173 may compare the KL divergence value to a threshold value, i.e., 0.25, to determine whether the website is unusually popular for the specified location. A high KL divergence value indicates that the website www.whistlerblackcomb.com is unusually popular in this location (USA).
  • the KL value compares what the ULB component 173 expects for website usage to what the ULB component 173 observes for a particular website and location.
  • the KL value is a large number when the ULB component 173 observes a disproportionately large number of individuals accessing the particular website from a location that is unexpected and the KL value is a small number when ULB components 173 observes an expected number of individuals in the location are visiting the website.
  • the ULB component 173 may calculate high KL values for several different locations.
  • the ULB component 173 may use the KL values to improve the rank for the website 180 . If a website 180 has a KL value above a threshold for the user's location, then the website 180 is promoted in the ranking by the rank component 171 .
  • the rank component 171 receives the KL value and incorporates the value in a neural network ranking algorithm that factors the query match, term frequency, KL value, and location of the user to assign a rank to the website.
  • the ULB component 173 may send the KL values to the correction component 172 to correct user or website locations by including the unexpectedly popular location as one of the correct locations for the website or user.
  • each website in an index associated with the search engine 120 is tagged with the locations where the KL value exceeds the threshold value.
  • the ULB component 173 is configured to analyze anchors pointing to a website obtained from index data. “P(W,L)” is calculated to represent the probability that an anchor pointing to a website “W” is from location “L.” “P(L)” is calculated to represent the probability that an anchor for any website is from location “L.” For instance, the ULB component 173 may observe that 60% of the anchors pointing to a website are from the United States of America, 30% of the anchors pointing to these websites are from Great Britain, and 10% of the anchors are from elsewhere. In turn, the ULB component 173 calculates the KL divergence value for the website for a particular location and compares the KL divergence value to the threshold value.
  • the ULB component 173 sends the KL divergence value to the rank component 171 to assign an appropriate rank to the website, and sends the KL divergence value to the correction component 172 to associate the website with a proper location.
  • the promoter component 174 identifies country, state, and municipality information for a website 180 .
  • the municipality information identifies the city, county, or town for the website 180 .
  • the promoter component 174 receives location information from different sources selected from the following: Yellow Pages SM data, open directory project (ODP), uniform resource locators, website content, or locations obtained from websites by the ULB component 173 using either log data or anchor data.
  • the Yellow Pages SM data is collected by a third-party and contains the website uniform resource locator and contact information, such as telephone number, state, city, and zip code.
  • the ODP data includes data that is generated by a collection of editors. The editors receive and store contact information for each website that is included in the open directory project.
  • the uniform resource locators or website content are parsed by the promoter component 174 to extract location information.
  • the promoter component 174 may extract a country component from a uniform resource locator: http://www.va.com.au, the “au” portion of the uniform resource locator means Australia.
  • the uniform resource locator or website content may include terms for a state or city. For instance, a page that has an address for Seattle, Wash. is relevant to the location Seattle, Wash. and is extracted by the promoter component 174 .
  • the promoter component 174 receives location information from one or more of these sources.
  • the promoter component 174 assigns a value of “1” to each source and aggregates the assigned value for a number of sources that return similar location information, i.e., state data or municipality data.
  • the number of sources that return similar location information is sent to the rank component 171 to increase the rank for the website corresponding to obtained location information.
  • the promoter component 174 sends the location information returned by the at least three sources to the correction component 172 to locate inconsistencies. For instance, the correction component 172 may observe that a website 180 classified with Texas as the location may have a large number of users from Washington state visiting the website 180 . The correction component 172 may suggest that the Washington state location is a better location. In turn, the correction component identifier Washington state as the high priority location for the website identifies Texas as a low priority location.
  • the search engine 120 updates the index that is used to return results to the user to include one or more locations identified by the location service 170 for each website stored in the index. For instance, the search engine 120 may add “Seattle Wash. USA” to the index for SpaceNeedle.com based on the suggestions from the location service 170 .
  • the location service 170 may suggest the location “Seattle Wash. USA” for the website SpaceNeedle.com because the log data 160 indicates that many users in Seattle visit the website SpaceNeedle.com.
  • the search engine 120 receives updates from the location service 170 and updates the index periodically, i.e., daily, weekly, monthly, or quarterly, etc, without user intervention. Alternatively, the updates may be performed manually after receiving the suggestions from the location service 170 .
  • location service 170 of the search engine may use, among other things, the location database 150 , KL divergence values, Yellow Pages SM data, ODP data, page content, and uniform resource locators to identify a location for a website or a user.
  • a search engine configured with location services associates a webpage with a location.
  • the location service uses log data having browse activity for users of the search engine. Based on the browse activity the location service identifies a location for the website and returns suggestions that impact the rank assigned to the websites.
  • FIG. 2 is a logic diagram that illustrates a computer-implemented method for associating locations with websites based on user locations.
  • the computer-implemented method initiates in step 210 .
  • the location service of the search engine retrieves log data having uniform resource locators for websites from a plurality of users.
  • the log data comprises tool bar logs and search logs.
  • the location service organizes the log data based on websites, in step 230 .
  • the location service obtains locations for the plurality of users from a location database.
  • the location service groups the plurality of users based on the obtained locations.
  • the location service counts a number of the plurality of users at each of the obtained locations, in step 260 .
  • the location service selects the obtained locations having more of the plurality of users than any other obtained locations.
  • the location service associates the selected location with the website.
  • the computer-implemented method terminates.
  • the search engine configured with the location services associates a webpage with a location.
  • the location service uses index data having anchors pointing to the websites. Based on the anchors pointing to the website, the location service identifies a location for the website, and the identified location impacts the rank assigned to the websites.
  • FIG. 3 is a logic diagram that illustrates a computer-implemented method for associating locations with websites based on anchor locations.
  • the computer-implemented method initiates in step 310 .
  • the location service extracts anchors pointing to each website, in step 311 .
  • the location service obtains locations for each anchor from a location database.
  • the location service groups the anchors based on the obtained locations.
  • the location service counts a number of anchors at each of the obtained locations pointing to the website.
  • the location service selects the locations having more anchors than any other obtained location.
  • the location service associates the selected location with the website.
  • the computer-implemented method terminates in step 317 .
  • the search engine configured with the location services alters a rank for a website based on location.
  • the location services uses location information from at least three sources to obtain locations for a website. Based on the overlap and similarity of the locations from the at least three sources, a rank of the website related to the location is increased.
  • FIG. 4 is a logic diagram that illustrates a computer-implemented method for ranking a website based on location.
  • the computer-implemented method initiates in step 410 .
  • the location service selects a website.
  • the location service identifies a location for the website from at least three sources.
  • the location service counts a number of sources having similar locations for the website.
  • the location service communicates with the search engine to increase a rank—based on the count—for the web site in a result set returned to a user that issued a search query to a search engine.
  • the user has a location similar to the identified location of the website. Additionally, in some embodiments, the search query issued by the user may include the identified location.
  • the computer-implemented method terminates in step 460 .
  • a search engine is configured to identify locations for websites and users and to increase a rank for a website based on the location associated with the website.
  • the search engine is configured to identify, among other things, a country, state, and municipally for each website. Additionally, the search engine may correct inconsistencies for location information of websites or users received from third parties.

Abstract

A computer system, method, and media for associating locations with ranked websites are provided. The computer system includes a search engine, a log database, and a location database that are employed to respond to search requests from users by returning appropriately ranked websites to the user. The websites are ranked using the location of the website and the location of the user to select websites to receive high ranks. Additionally, the search engine includes a correction feature that reevaluates locations for a website or user when a large number of obtained locations suggest a different location than a currently associated location for the website or the user.

Description

    PRIORITY CLAIM
  • This application is a divisional of U.S. patent application Ser. No. 12/124,975, Attorney Docket No: 323149.01/MFCP.140255, filed 21 May 2008, which is hereby incorporated herein by reference in its entirety.
  • BACKGROUND
  • Conventionally, a search engine ranks websites based on a frequency of terms within a website that matches the terms included in a user query. The conventional search engine returns the ranked websites as a result set to the user. Additionally, the conventional search engine considers a location of a ranked website to decide whether the ranked website is of interest to the user. For instance, a website operated and located in the United States of America would more likely be of interest to a user in the United States of America accessing the Internet from a machine in the United States of America than a similar website operated and located in a foreign country. The conventional search engine is configured to return, within the top result set, the website operated and located in the United States of America. The similar website located and operated in the foreign country is not returned within the top result set.
  • The conventional search engine selects a location of a website by parsing a top level domain of a uniform resource locator of the website to extract a country identifier that corresponds to the location of the website. Alternatively, the conventional search engine selects a location of the website by identifying an internet protocol address corresponding to the uniform resource locator. The internet protocol address for the website corresponds to a specific location that is associated with the website.
  • The conventional search engines introduce errors when selecting top results using location. The conventional search engines erroneously omit a website that is globally popular from the top results set. For example, a website that individuals all over the world frequently access and operated but is located in the United States of America may be erroneously excluded from the top result set for users located in foreign countries. Because the website is operated and located in the United States of America, the conventional search engines erroneously omit websites from the top result set that should be included in the top result set for the foreign countries.
  • SUMMARY
  • A computer system includes a search engine that responds to user queries. The search engine receives the user queries and returns a result set that includes websites that match the user query. The search engine is configured with a location service that identifies locations for users and websites. The location service retrieves locations for users and websites from a location database. In turn, the location service uses the locations retrieved from the location database to identify unexpectedly popular websites. Additionally, the location service locates inconsistencies in the locations retrieved from the location database and resolves the inconsistencies in the retrieved locations. The locations selected by the location service for users and websites are used to impact ranks assigned to websites that match the user query. Accordingly, the search engine uses the location service to analyze, among other things, popularity of the websites, locations of the websites, and the locations of the users to generate the top results that are included in the result set.
  • This Summary is provided to introduce a selection of concepts in a simplified form. The selection of concepts 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 as an aid in determining the scope of the claimed subject matter.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a network diagram that illustrates an exemplary operating environment;
  • FIG. 2 is a logic diagram that illustrates a computer-implemented method for associating locations with websites based on user locations;
  • FIG. 3 is a logic diagram that illustrates a computer-implemented method for associating locations with websites based on anchor locations;
  • FIG. 4 is a logic diagram that illustrates a computer-implemented method for ranking a website based on location.
  • DETAILED DESCRIPTION
  • This patent describes the subject matter for patenting with specificity 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 “block” may be used herein to connote different elements of methods 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. Further, embodiments are described in detail below with reference to the attached drawing figures, which are incorporated in their entirety by reference herein.
  • As utilized herein, the term “anchors” refers to links within the content of a website that point to additional content, such as a website or other multimedia content. Additionally, as utilized herein, the term “component” refers to any combination of hardware, software, or firmware.
  • A search engine is configured with location services that impact a rank for a website matching a user query. The location service analyzes location data for websites and users to classify websites that are globally popular. Moreover, the location service identifies a location of a website by looking at locations of: users that visit the website; the top-level domain; and the locations of server devices that host the website. In some embodiments, the location service selects a common location associated with a large number of visitors to the website to be the location of the website even if the website is hosted at a different location. Moreover, the location service may identify a website as globally popular when users all over the world frequently access the website.
  • In some embodiments, the location service includes a User Location Bias (ULB) component to affect the rankings for websites that match the user query. The ULB component identifies websites that are unexpectedly popular for a location associated with the website. The unexpectedly popular websites are returned to the search engine for inclusion in the top result set generated by the search engine in response to the user query. When the search engine includes the unexpectedly popular websites in the top results, the rank for the unexpectedly popular websites are updated to reflect its position in the top result set. Alternatively, the location service may use static location sources to impact the rank for each website that is a candidate for the top result set.
  • Additionally, the location service includes a correction component that identifies inconsistencies between locations for websites received from a location database and locations for website assigned by the location service. The inconsistencies between the locations for websites are resolved by the correction component based on locations for users. Alternatively, the correction component identifies inconsistencies between location for users received from a location database and locations for users assigned by the location service, and the inconsistencies between the locations for users is resolved based on locations for websites accessed by the users.
  • FIG. 1 is a network diagram that illustrates an exemplary operating environment 100. The operating environment 100 includes a network 110, a search engine 120, client devices 130 configured with search toolbars 140, and location database 150, log data 160, location service 170, and websites 180, and index data 190.
  • The websites 180 are documents that represent HyperText Markup Language pages or other content. The websites 180 are addressed using uniform resource locators. Additionally, the websites 180 include anchors that link to other websites or additional content. In an embodiment, the websites 180 may be formatted in extensible markup language or any other markup language.
  • The network 110 is configured to facilitate communication between the client devices 130 and the search engine 120. The network 110 may be a communication network, such as a wireless network, local area network, wired network, or the Internet. In an embodiment, the client devices 130 communicate search queries to the search engine 120 utilizing the network 110. In response, the search engine 120 may communicate result sets having websites that match terms included in the search requests.
  • The search engine 120 is a computing device that provides search results in response to search queries. In some embodiments, the search engine 120 is configured to execute on a server device. The search engine 120 receives search queries from the client devices 130. The search queries are processed by the search engine 120 to identify websites 180 that match terms included in the search queries. Additionally, the search queries are processed by the search engine 120 to traverse the location database 150 to identify locations for the client devices 130 that transmitted the search queries to the search engine 120. In turn, the search engine 120 transmits search results that include the websites that match the terms included in the search queries received from the client devices 130.
  • In certain embodiments, the client devices 130 may transmit user activity logs, such as, but not limited to, tool bar logs, to the search engine 120. The search toolbar 140 is a utility installed on the client devices 130. The search toolbar 140 logs and track the user's visits to websites 180 on the network 110, submits the user activity logs having websites visited by the user to the search engine 120, and submits an internet protocol address of the client devices 130 to the search engine 120. In certain embodiments, the search toolbar 140 is a component of the user's web browser that logs browse activity for every website 180 that the user visits. Essentially, the user activity logs identify each page that the user visits, the user's internet protocol address, and other important browse activity. The user activity logs received from the client devices 130 are used by the search engine 120 to identify locations for users, to identify locations for websites, and to impact a rank of websites that match terms included in user search queries in accordance with analysis performed by the location service 170 of the search engine 120.
  • The location database 150 is a database the stores location data for websites and users. In some embodiments, the location database is a lookup table having location data and internet protocol address data. For each uniform resource locator, website, and internet protocol address, the lookup table includes a corresponding location. The location may specify the country, state, or municipality for a website having the specified uniform resource locator. The lookup table includes entries having an internet protocol address and corresponding location. For instance, the lookup table may store uniform resource locator “www.va.com.au” having internet protocol address 130.194.1.99 that corresponds to a machine located in Clayton, Victoria, Australia. The location database 150 may return the location for a website or a user based on the internet protocol address received from the search engine 120. In some embodiments, the location database 150 may be updated and maintained by a third-party. For instance, the third-party may be QuovaSM.
  • The log data 160 is a database that stores browse activity, such as query-click activity observed by the search engine 120. The query-click activity includes records queries that the user issues to the search engine 120 and records of clicks a user initiates on results returned by the search engine 120. Additionally, the log data 160 stores the browse activity collected from the search toolbar 140. The toolbar logs from the client devices 130 are stored in the log data 160. The index data 190 stores data for each website indexed by the search engine. The index data 190 allows the search engine to quickly compare search terms received from the user to the terms in the index 190 to find matches that are returned as a set of websites 180 that match the search terms. The index data 190 stores, among other things, uniform resource locators that correspond to each website associated with the anchors.
  • The search engine 120 is configured with location service 170. The location service 170 generates a location profile for a user or a website based on the log data 160. The location service 170 also impacts ranks for the websites, suggests corrections to locations obtained from the location database 150, and promotes a website within the search results returned to a user of the search engine based on the location profile for the user and the website. The location service 170 comprises a rank component 171, a correction component 172, a ULB component 173, and a promoter component 174.
  • The rank component 171 generates a rank for each website 180 that matches the terms included in the user search query. The rank component 171 assigns a rank to each website 180 based on multiple factors. In some embodiments, the rank component 171 performs a statistical analysis on the terms in the search query and the terms in website 180. The larger a statistical overlap between terms in the search query and the terms in the website 180, the higher the rank. Additionally, the rank component 171 evaluates the location of the website and the location of the user to assign the appropriate rank to the website 180.
  • The correction component 172 locates inconsistencies in the locations obtained from the location database 150 and corrects the inconsistencies based on the aggregate locations observed for users or websites 180. For instance, the location database 150 may return the United States of America as a location for a user based on internet protocol address sent to the location database 150 from the search engine 120. However, after the correction component 172 observes the browse activity stored in the log data 160 for the user, the correction component 172 determines that 90% of websites visited by the user are located in Great Britain. Based on this information, the correction component 172 changes the location of the user from the United Stated of America to Great Britain.
  • The correction component 172 performs a similar process to correct locations for websites 180. For instance, the location database 150 may return France as a location for a website based on an internet protocol address of the uniform resource locator sent to the location database 150 from the search engine 120. However, after the correction component 172 observes the browse activity stored in the log data 160 for the website, the correction component 172 determines that 90% of the users visiting the website are located in the United States of America. Based on this information, the correction component 172 changes the location of the website from France to the United States of America.
  • Additionally, the correction component 172 classifies the websites 180 or users based on expected global statistical distribution of websites 180. The correction component may use Kullback-Leibler (KL) divergence values received from the ULB component 173 to identify the appropriate location for a website. For instance, the correction component 172 may observe a particular user has the following distribution of websites: 40% of the websites visited by the user are in the United States of America; 40% of the websites visited by the user are in Great Britain; and 20% of the website are located elsewhere. The correction component 172 compares the user's distribution of websites to an expected distribution of all websites on the Internet. The correction component 172 aggregates the number of websites in the United States of America, the number of websites in Great Britain, and each of the remaining countries in the world. In turn, the correction component 172 compares the global distribution to the user distribution. For instance, if the global distribution of websites was the following: 40% of all websites are in the United States of America; 40% of all websites are in the Great Britain; and the remaining websites are distributed among other countries in the world, the correction component 172 is unable to suggest a correction for the location of the user, and the location obtained from the location database 150 is used to classify the user. However, if the user distribution indicated that 70% of the websites visited by the user are in Great Britain and only 5% of websites are located in the United States of America, the correction component 172 classifies the user as being located in Great Britain. The correction component 172 uses the log data 160, the location database 150, or the KL values to assign the user with an appropriate location. In some embodiments, the correction component 172 uses the anchors pointing to the website to obtain a location classification for a website 180. Generally, the location of the anchor corresponds to location of the website that the anchor points to. For instance, if a website contains a disproportionately large number of anchors having a location of Great Britain but the website is classified as having France as the location, the correction component 172 updates the location from France to Great Britain. In some embodiments, the correction component 172 may assign priorities to locations received from the location database 150, locations suggested by the correction component 172, and locations suggested by the ULB component 173.
  • The ULB component 173 impacts the rank assigned to a website. The ULB component calculates the Kullback-Leibler Divergence to find websites that are disproportionately popular at a specified locations:
  • KL ( W , L ) = P ( W , L ) · log ( P ( W , L ) P ( L ) ) .
  • The “W” represents a website, the “L” represents a location, “P(W,L)” represents the probability that a user is accessing a website “W” from location “L,” and “P(L) ” represents the probability that a user accessing any website is from location “L.” The ULB component 173 analyzes the log data 160 to calculate P(W,L) and P(L). The ULB component 173 uses the log data 160 to identify, for each website “W,” location “L” where the website “W” is highly popular. The ULB component 173 calculates the number of users who visit each website “W” from each location “L” based on the log data 160 and location information provided by the location database 150. For example, the log data 160 for website: www.whistlerblackcomb.com may indicate the following:
  • USA=50,000; Canada=40,000; Australia=50; Germany=40; Ireland=10.
  • In other words of the total 90,100 users that visit the website www.whistlerblackcomb.com, 50,000 users are located in the United States of America, 40,000 users are located in Canada, 50 users are located in Australia, 40 users are located in Germany, and 10 users are located in Ireland.
  • In turn, the ULB component 173 calculates the following probability value:
  • P ( www . whstlerblackcomb . com , U . S . A . ) = 50,000 90,100 = .5549 .
  • Additionally, the log data 160 and locations from the location database 150 may indicate that 30% of all users of the search engine and toolbar are located in the United States of America. The ULB component 173 calculates the probability value for a user of the search engine as:
  • P(USA)=0.30 .
  • The ULB component 173 uses P(USA) and P(www.whistlerblackcomb.com, USA) to calculate KL(www.whistlerblackcomb.com, USA), which provides an indication of when a website is unusually popular.
  • KL ( www . whistlerblackcomb . com , U . S . A . ) = .5549 · log ( 0.5549 0.3 ) = 0.34 KL
  • After evaluating KL(www.whistlerblackcomb.com, USA), the ULB component 173 may compare the KL divergence value to a threshold value, i.e., 0.25, to determine whether the website is unusually popular for the specified location. A high KL divergence value indicates that the website www.whistlerblackcomb.com is unusually popular in this location (USA).
  • The KL value compares what the ULB component 173 expects for website usage to what the ULB component 173 observes for a particular website and location. Generally, the KL value is a large number when the ULB component 173 observes a disproportionately large number of individuals accessing the particular website from a location that is unexpected and the KL value is a small number when ULB components 173 observes an expected number of individuals in the location are visiting the website. For a single website, the ULB component 173 may calculate high KL values for several different locations.
  • The ULB component 173 may use the KL values to improve the rank for the website 180. If a website 180 has a KL value above a threshold for the user's location, then the website 180 is promoted in the ranking by the rank component 171. In certain embodiments, the rank component 171 receives the KL value and incorporates the value in a neural network ranking algorithm that factors the query match, term frequency, KL value, and location of the user to assign a rank to the website. Moreover, the ULB component 173 may send the KL values to the correction component 172 to correct user or website locations by including the unexpectedly popular location as one of the correct locations for the website or user. In some embodiments, each website in an index associated with the search engine 120 is tagged with the locations where the KL value exceeds the threshold value.
  • In an alternate embodiment, the ULB component 173 is configured to analyze anchors pointing to a website obtained from index data. “P(W,L)” is calculated to represent the probability that an anchor pointing to a website “W” is from location “L.” “P(L)” is calculated to represent the probability that an anchor for any website is from location “L.” For instance, the ULB component 173 may observe that 60% of the anchors pointing to a website are from the United States of America, 30% of the anchors pointing to these websites are from Great Britain, and 10% of the anchors are from elsewhere. In turn, the ULB component 173 calculates the KL divergence value for the website for a particular location and compares the KL divergence value to the threshold value. When the KL divergence value is above the threshold value, the ULB component 173 sends the KL divergence value to the rank component 171 to assign an appropriate rank to the website, and sends the KL divergence value to the correction component 172 to associate the website with a proper location.
  • The promoter component 174 identifies country, state, and municipality information for a website 180. The municipality information identifies the city, county, or town for the website 180. The promoter component 174 receives location information from different sources selected from the following: Yellow PagesSM data, open directory project (ODP), uniform resource locators, website content, or locations obtained from websites by the ULB component 173 using either log data or anchor data. The Yellow PagesSM data is collected by a third-party and contains the website uniform resource locator and contact information, such as telephone number, state, city, and zip code. The ODP data includes data that is generated by a collection of editors. The editors receive and store contact information for each website that is included in the open directory project. The uniform resource locators or website content are parsed by the promoter component 174 to extract location information. For instance, the promoter component 174 may extract a country component from a uniform resource locator: http://www.va.com.au, the “au” portion of the uniform resource locator means Australia. Alternatively, the uniform resource locator or website content may include terms for a state or city. For instance, a page that has an address for Seattle, Wash. is relevant to the location Seattle, Wash. and is extracted by the promoter component 174.
  • In turn, the promoter component 174 receives location information from one or more of these sources. In some embodiments, the promoter component 174 assigns a value of “1” to each source and aggregates the assigned value for a number of sources that return similar location information, i.e., state data or municipality data. The number of sources that return similar location information is sent to the rank component 171 to increase the rank for the website corresponding to obtained location information.
  • In an embodiment, the promoter component 174 sends the location information returned by the at least three sources to the correction component 172 to locate inconsistencies. For instance, the correction component 172 may observe that a website 180 classified with Texas as the location may have a large number of users from Washington state visiting the website 180. The correction component 172 may suggest that the Washington state location is a better location. In turn, the correction component identifier Washington state as the high priority location for the website identifies Texas as a low priority location.
  • In an embodiment, the search engine 120 updates the index that is used to return results to the user to include one or more locations identified by the location service 170 for each website stored in the index. For instance, the search engine 120 may add “Seattle Wash. USA” to the index for SpaceNeedle.com based on the suggestions from the location service 170. The location service 170 may suggest the location “Seattle Wash. USA” for the website SpaceNeedle.com because the log data 160 indicates that many users in Seattle visit the website SpaceNeedle.com. In some embodiments, the search engine 120 receives updates from the location service 170 and updates the index periodically, i.e., daily, weekly, monthly, or quarterly, etc, without user intervention. Alternatively, the updates may be performed manually after receiving the suggestions from the location service 170.
  • Accordingly, location service 170 of the search engine may use, among other things, the location database 150, KL divergence values, Yellow PagesSM data, ODP data, page content, and uniform resource locators to identify a location for a website or a user.
  • One of ordinary skill in the art understands and appreciates the operating environment 100 has been simplified for description purposes and alternate operating environments are within the scope and spirit of the above description.
  • In certain embodiments, a search engine configured with location services associates a webpage with a location. The location service uses log data having browse activity for users of the search engine. Based on the browse activity the location service identifies a location for the website and returns suggestions that impact the rank assigned to the websites.
  • FIG. 2 is a logic diagram that illustrates a computer-implemented method for associating locations with websites based on user locations. The computer-implemented method initiates in step 210. In step 220, the location service of the search engine retrieves log data having uniform resource locators for websites from a plurality of users. The log data comprises tool bar logs and search logs. In turn, the location service organizes the log data based on websites, in step 230. In step 240, for each website, the location service obtains locations for the plurality of users from a location database. In step 250, the location service groups the plurality of users based on the obtained locations. The location service counts a number of the plurality of users at each of the obtained locations, in step 260. In step 270, the location service selects the obtained locations having more of the plurality of users than any other obtained locations. In step 280, the location service associates the selected location with the website. In step 290, the computer-implemented method terminates.
  • In another embodiment, the search engine configured with the location services associates a webpage with a location. The location service uses index data having anchors pointing to the websites. Based on the anchors pointing to the website, the location service identifies a location for the website, and the identified location impacts the rank assigned to the websites.
  • FIG. 3 is a logic diagram that illustrates a computer-implemented method for associating locations with websites based on anchor locations. The computer-implemented method initiates in step 310. The location service extracts anchors pointing to each website, in step 311. In step 312, for each website, the location service obtains locations for each anchor from a location database. In step 313, the location service groups the anchors based on the obtained locations. In step 314, the location service counts a number of anchors at each of the obtained locations pointing to the website. In step 315, the location service selects the locations having more anchors than any other obtained location. In step 316, the location service associates the selected location with the website. The computer-implemented method terminates in step 317.
  • In other embodiments, the search engine configured with the location services alters a rank for a website based on location. The location services uses location information from at least three sources to obtain locations for a website. Based on the overlap and similarity of the locations from the at least three sources, a rank of the website related to the location is increased.
  • FIG. 4 is a logic diagram that illustrates a computer-implemented method for ranking a website based on location. The computer-implemented method initiates in step 410. In step 420, the location service selects a website. In step 430, the location service identifies a location for the website from at least three sources. In step 440, the location service counts a number of sources having similar locations for the website. In step 450, the location service communicates with the search engine to increase a rank—based on the count—for the web site in a result set returned to a user that issued a search query to a search engine. The user has a location similar to the identified location of the website. Additionally, in some embodiments, the search query issued by the user may include the identified location. The computer-implemented method terminates in step 460.
  • In summary, a search engine is configured to identify locations for websites and users and to increase a rank for a website based on the location associated with the website. The search engine is configured to identify, among other things, a country, state, and municipally for each website. Additionally, the search engine may correct inconsistencies for location information of websites or users received from third parties.
  • The foregoing descriptions of the invention are illustrative, and modifications in configuration and implementation will occur to persons skilled in the art. For instance, while the present invention has generally been described with relation to FIGS. 1-4, those descriptions are exemplary. Although the subject matter has been described in language specific to structural features or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims. The scope of the invention is accordingly intended to be limited only by the following claims.

Claims (20)

The technology claimed is:
1. A computer-implemented method for associating a location with a website, the method comprising:
retrieving log data having uniform resource locators for websites from a plurality of users;
organizing the log data based on websites;
for each website, obtaining, from a location database, locations for the plurality of users that visited that website indicated by the log data ;
grouping the plurality of users based on the obtained locations;
counting a number of the plurality of users at each of the obtained locations;
selecting the obtained location having more of the plurality of users than any other obtained location; and
associating the selected location with the website.
2. The computer-implemented method of claim 1, wherein the log data comprises data from user activity logs and search logs.
3. The computer-implemented method of claim 1, further comprising ranking the websites based on location using a Kullback-Leibler divergence.
4. The computer-implemented method of claim 3, wherein a website that is unexpectedly popular in the associated location is assigned a higher rank than websites that meet popularity expectations.
5. The computer-implemented method of claim 1, wherein the location database is provided by a third-party.
6. The computer-implemented method of claim 5, further comprising for each user of the plurality of users, reevaluating the obtained locations based on the associated locations for the websites visited by the user.
7. The computer-implemented method of claim 6, further comprising updating the obtained location of the user to correspond to the associated location of a majority of the websites visited by the user.
8. One or more computer-readable media having computer-executable instructions embodied thereon for a method to associate a location with a website, the method comprising:
retrieving index data having page content for websites;
organizing the index data based on websites;
extracting anchors pointing to within each website;
for each website, obtaining locations for each anchor from a location database;
grouping the anchors based on the obtained locations;
counting a number of anchors at each of the obtained locations;
selecting the obtained location having more of the anchors than any other obtained location; and
associating the selected location with the website.
9. The media of claim 8, wherein the location database is provided by a third-party.
10. The media of claim 9, further comprising for each anchor, reevaluating the obtained locations based on the associated locations for the websites having the anchors.
11. The media of claim 10, further comprising updating the obtained location of the anchor to correspond to the associated location of a majority of the websites that the anchor points to.
12. A computer-implemented method for ranking a website based on location, the method comprising:
selecting a website;
identifying a location for the website from multiple sources;
counting a number of sources having similar locations for the website;
ranking the websites based on location using a Kullback-Leibler divergence, wherein a website that is unexpectedly popular in the associated location is assigned a higher rank than websites that meet popularity expectations; and
increasing a rank, based on the count, for the website in a results set returned to a user that issued a query to a search engine, wherein the user has a location similar to the identified location of the website.
13. The computer-implemented method of claim 12, wherein the multiple sources include page content, Yellow PagesSM data, open directory project data, and data obtained from a ULB component of a search engine.
14. The computer-implemented method of claim 13, wherein the page content includes location data within the website.
15. The computer-implemented method of claim 13, wherein location data within the uniform resource locator for the website is assigned to be the location of the website.
16. The computer-implemented method of claim 12, wherein the location includes country, state, or municipality.
17. The computer-implemented method of claim 13, wherein the location data may indicate that users visit a place corresponding to the website.
18. The computer-implemented method of claim 13, wherein the location data may be derived from browsing activity for users of the search engine.
19. The computer-implemented method of claim 13, further comprising determining whether there is overlap of the location data provided by the multiple sources.
20. The computer-implemented method of claim 19, further comprising altering the rank based on the degree of overlap.
US13/939,059 2008-05-21 2013-07-10 Promoting websites based on location Abandoned US20130297584A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/939,059 US20130297584A1 (en) 2008-05-21 2013-07-10 Promoting websites based on location

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/124,975 US8510262B2 (en) 2008-05-21 2008-05-21 Promoting websites based on location
US13/939,059 US20130297584A1 (en) 2008-05-21 2013-07-10 Promoting websites based on location

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US12/124,975 Division US8510262B2 (en) 2008-05-21 2008-05-21 Promoting websites based on location

Publications (1)

Publication Number Publication Date
US20130297584A1 true US20130297584A1 (en) 2013-11-07

Family

ID=41342819

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/124,975 Expired - Fee Related US8510262B2 (en) 2008-05-21 2008-05-21 Promoting websites based on location
US13/939,059 Abandoned US20130297584A1 (en) 2008-05-21 2013-07-10 Promoting websites based on location

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US12/124,975 Expired - Fee Related US8510262B2 (en) 2008-05-21 2008-05-21 Promoting websites based on location

Country Status (1)

Country Link
US (2) US8510262B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018010133A1 (en) 2016-07-14 2018-01-18 Microsoft Technology Licensing, Llc Extracting and propagating geolocation information
CN108874948A (en) * 2018-06-05 2018-11-23 中国农业银行股份有限公司 A kind of site resource access method and device

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8725727B2 (en) * 2008-09-24 2014-05-13 Sony Corporation System and method for determining website popularity by location
CN101938480A (en) * 2010-09-06 2011-01-05 宇龙计算机通信科技(深圳)有限公司 Method for providing website of organization according to position information, network server and terminal
US8606793B1 (en) * 2010-11-19 2013-12-10 Conductor, Inc. Business metric score for web pages
US20120158712A1 (en) * 2010-12-16 2012-06-21 Sushrut Karanjkar Inferring Geographic Locations for Entities Appearing in Search Queries
EP2729888A4 (en) * 2011-07-06 2015-03-11 Hirenkumar Nathalal Kanani A method of a web based product crawler for products offering
US9122992B2 (en) * 2012-12-12 2015-09-01 Lenovo (Singapore) Pte. Ltd. Predicting web page
US9305102B2 (en) * 2013-02-27 2016-04-05 Google Inc. Systems and methods for providing personalized search results based on prior user interactions
DE112016006253T5 (en) 2016-01-19 2018-10-04 Council Of Scientific & Industrial Research BACTERIAL CONSORTIUM FOR REDUCING PERCHLORATE AND / OR NITRATE AND ITS PROCESS
CN114127734A (en) * 2019-09-10 2022-03-01 谷歌有限责任公司 Location-based mode of biasing the provision of content when an automated assistant is responding to condensed natural language input

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757740B1 (en) * 1999-05-03 2004-06-29 Digital Envoy, Inc. Systems and methods for determining collecting and using geographic locations of internet users
US20050071328A1 (en) * 2003-09-30 2005-03-31 Lawrence Stephen R. Personalization of web search
US7058628B1 (en) * 1997-01-10 2006-06-06 The Board Of Trustees Of The Leland Stanford Junior University Method for node ranking in a linked database
US20060218151A1 (en) * 2005-03-25 2006-09-28 The Go Daddy Group, Inc. Use of a database storing domain names and business operational areas
US20080065631A1 (en) * 2006-09-12 2008-03-13 Yahoo! Inc. User query data mining and related techniques
US20080120160A1 (en) * 2006-11-20 2008-05-22 Ebay Inc. Method and system for listing an item
US20090182723A1 (en) * 2008-01-10 2009-07-16 Microsoft Corporation Ranking search results using author extraction
US20090281923A1 (en) * 2008-05-06 2009-11-12 David Selinger System and process for improving product recommendations for use in providing personalized advertisements to retail customers
US20100077098A1 (en) * 2006-10-12 2010-03-25 Vanessa Fox System and Method for Enabling Website Owners to Manage Crawl Rate in a Website Indexing System
US7711682B2 (en) * 2004-07-30 2010-05-04 International Business Machines Corporation Searching hypertext based multilingual web information
US20100262592A1 (en) * 2005-05-31 2010-10-14 Brawer Sascha B Web Crawler Scheduler that Utilizes Sitemaps from Websites
US20100332583A1 (en) * 1999-07-21 2010-12-30 Andrew Szabo Database access system
US20110307294A1 (en) * 2010-06-10 2011-12-15 International Business Machines Corporation Dynamic generation of products for online recommendation
US8086690B1 (en) * 2003-09-22 2011-12-27 Google Inc. Determining geographical relevance of web documents

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5920859A (en) * 1997-02-05 1999-07-06 Idd Enterprises, L.P. Hypertext document retrieval system and method
US6037935A (en) * 1998-04-28 2000-03-14 International Business Machines Corporation Web page exploration indicator and method
CN1324464A (en) * 1998-08-26 2001-11-28 西姆泰克有限公司 Method and devices for mapping data files
US6393479B1 (en) 1999-06-04 2002-05-21 Webside Story, Inc. Internet website traffic flow analysis
US6754873B1 (en) * 1999-09-20 2004-06-22 Google Inc. Techniques for finding related hyperlinked documents using link-based analysis
EP1120722A3 (en) 2000-01-13 2004-01-14 Applied Psychology Research Limited Method and apparatus for generating categorization data
US6957390B2 (en) 2000-11-30 2005-10-18 Mediacom.Net, Llc Method and apparatus for providing dynamic information to a user via a visual display
US20030061232A1 (en) * 2001-09-21 2003-03-27 Dun & Bradstreet Inc. Method and system for processing business data
US7620655B2 (en) 2003-05-07 2009-11-17 Enecto Ab Method, device and computer program product for identifying visitors of websites
US8078607B2 (en) * 2006-03-30 2011-12-13 Google Inc. Generating website profiles based on queries from webistes and user activities on the search results
US20060167913A1 (en) 2005-01-27 2006-07-27 Microsoft Corporation Converting an address to a hyperlink
US7831545B1 (en) * 2005-05-31 2010-11-09 Google Inc. Identifying the unifying subject of a set of facts
US7613690B2 (en) * 2005-10-21 2009-11-03 Aol Llc Real time query trends with multi-document summarization
US7792870B2 (en) * 2005-11-08 2010-09-07 Yahoo! Inc. Identification and automatic propagation of geo-location associations to un-located documents
US7606875B2 (en) 2006-03-28 2009-10-20 Microsoft Corporation Detecting serving area of a web resource
US8069182B2 (en) * 2006-04-24 2011-11-29 Working Research, Inc. Relevancy-based domain classification
US20080104055A1 (en) * 2006-11-01 2008-05-01 Dininginfo Llc Restaurant review search system and method for automatically providing links to relevant reviews of selected restaurants by use of the internet
US7788253B2 (en) * 2006-12-28 2010-08-31 International Business Machines Corporation Global anchor text processing

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058628B1 (en) * 1997-01-10 2006-06-06 The Board Of Trustees Of The Leland Stanford Junior University Method for node ranking in a linked database
US6757740B1 (en) * 1999-05-03 2004-06-29 Digital Envoy, Inc. Systems and methods for determining collecting and using geographic locations of internet users
US20100332583A1 (en) * 1999-07-21 2010-12-30 Andrew Szabo Database access system
US8086690B1 (en) * 2003-09-22 2011-12-27 Google Inc. Determining geographical relevance of web documents
US20050071328A1 (en) * 2003-09-30 2005-03-31 Lawrence Stephen R. Personalization of web search
US7711682B2 (en) * 2004-07-30 2010-05-04 International Business Machines Corporation Searching hypertext based multilingual web information
US20060218151A1 (en) * 2005-03-25 2006-09-28 The Go Daddy Group, Inc. Use of a database storing domain names and business operational areas
US20100262592A1 (en) * 2005-05-31 2010-10-14 Brawer Sascha B Web Crawler Scheduler that Utilizes Sitemaps from Websites
US20080065631A1 (en) * 2006-09-12 2008-03-13 Yahoo! Inc. User query data mining and related techniques
US20100077098A1 (en) * 2006-10-12 2010-03-25 Vanessa Fox System and Method for Enabling Website Owners to Manage Crawl Rate in a Website Indexing System
US20080120160A1 (en) * 2006-11-20 2008-05-22 Ebay Inc. Method and system for listing an item
US20090182723A1 (en) * 2008-01-10 2009-07-16 Microsoft Corporation Ranking search results using author extraction
US20090281923A1 (en) * 2008-05-06 2009-11-12 David Selinger System and process for improving product recommendations for use in providing personalized advertisements to retail customers
US20110307294A1 (en) * 2010-06-10 2011-12-15 International Business Machines Corporation Dynamic generation of products for online recommendation

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018010133A1 (en) 2016-07-14 2018-01-18 Microsoft Technology Licensing, Llc Extracting and propagating geolocation information
CN109496434A (en) * 2016-07-14 2019-03-19 微软技术许可有限责任公司 Extract and propagate geographical location information
EP3485657A4 (en) * 2016-07-14 2019-11-27 Microsoft Technology Licensing, LLC Extracting and propagating geolocation information
CN108874948A (en) * 2018-06-05 2018-11-23 中国农业银行股份有限公司 A kind of site resource access method and device

Also Published As

Publication number Publication date
US8510262B2 (en) 2013-08-13
US20090292684A1 (en) 2009-11-26

Similar Documents

Publication Publication Date Title
US8510262B2 (en) Promoting websites based on location
US11809504B2 (en) Auto-refinement of search results based on monitored search activities of users
US8195653B2 (en) Relevance improvements for implicit local queries
US7499940B1 (en) Method and system for URL autocompletion using ranked results
US8554759B1 (en) Selection of documents to place in search index
US8515954B2 (en) Displaying autocompletion of partial search query with predicted search results
KR101130505B1 (en) System and method for automated optimization of search result relevance
US9292612B2 (en) Internet profile service
US9081861B2 (en) Uniform resource locator canonicalization
US20050131872A1 (en) Query recognizer
US20050076097A1 (en) Dynamic web page referrer tracking and ranking
JP5084858B2 (en) Summary creation device, summary creation method and program
US8375048B1 (en) Query augmentation
US10073915B1 (en) Personalized search results
KR101556714B1 (en) Method, system and computer readable recording medium for providing search results
JP6228425B2 (en) Advertisement generation apparatus and advertisement generation method
KR101048590B1 (en) A method of managing web sites registered in search engine and a system thereof
US20110119255A1 (en) Facilitating advertisement selection using advertisable units
GB2469909A (en) Method for updating a database
WO2010049760A1 (en) Method to find user generated content web pages.

Legal Events

Date Code Title Description
AS Assignment

Owner name: MICROSOFT CORPORATION, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:AGGARWAL, AMIT;AGRAWAL, NITIN;CAMERON, MICHAEL MAXWELL;AND OTHERS;SIGNING DATES FROM 20080515 TO 20080520;REEL/FRAME:031849/0369

AS Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034544/0541

Effective date: 20141014

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION