US7428522B1 - Real-time search term popularity determination, by search origin geographic location - Google Patents

Real-time search term popularity determination, by search origin geographic location Download PDF

Info

Publication number
US7428522B1
US7428522B1 US11/862,967 US86296707A US7428522B1 US 7428522 B1 US7428522 B1 US 7428522B1 US 86296707 A US86296707 A US 86296707A US 7428522 B1 US7428522 B1 US 7428522B1
Authority
US
United States
Prior art keywords
event
search
indications
frequency
frequency data
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.)
Active
Application number
US11/862,967
Inventor
Vijay Raghunathan
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.)
R2 Solutions LLC
Altaba Inc
Original Assignee
Yahoo Inc until 2017
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 Yahoo Inc until 2017 filed Critical Yahoo Inc until 2017
Priority to US11/862,967 priority Critical patent/US7428522B1/en
Assigned to YAHOO! INC. reassignment YAHOO! INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: RAGHUNATHAN, VIJAY
Priority to US12/189,723 priority patent/US9946801B2/en
Application granted granted Critical
Publication of US7428522B1 publication Critical patent/US7428522B1/en
Assigned to EXCALIBUR IP, LLC reassignment EXCALIBUR IP, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: YAHOO! INC.
Assigned to YAHOO! INC. reassignment YAHOO! INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: EXCALIBUR IP, LLC
Assigned to EXCALIBUR IP, LLC reassignment EXCALIBUR IP, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: YAHOO! INC.
Assigned to STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT reassignment STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT PATENT SECURITY AGREEMENT Assignors: ACACIA RESEARCH GROUP LLC, AMERICAN VEHICULAR SCIENCES LLC, BONUTTI SKELETAL INNOVATIONS LLC, CELLULAR COMMUNICATIONS EQUIPMENT LLC, INNOVATIVE DISPLAY TECHNOLOGIES LLC, LIFEPORT SCIENCES LLC, LIMESTONE MEMORY SYSTEMS LLC, MERTON ACQUISITION HOLDCO LLC, MOBILE ENHANCEMENT SOLUTIONS LLC, MONARCH NETWORKING SOLUTIONS LLC, NEXUS DISPLAY TECHNOLOGIES LLC, PARTHENON UNIFIED MEMORY ARCHITECTURE LLC, R2 SOLUTIONS LLC, SAINT LAWRENCE COMMUNICATIONS LLC, STINGRAY IP SOLUTIONS LLC, SUPER INTERCONNECT TECHNOLOGIES LLC, TELECONFERENCE SYSTEMS LLC, UNIFICATION TECHNOLOGIES LLC
Assigned to R2 SOLUTIONS LLC reassignment R2 SOLUTIONS LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: EXCALIBUR IP, LLC
Assigned to ACACIA RESEARCH GROUP LLC, STINGRAY IP SOLUTIONS LLC, UNIFICATION TECHNOLOGIES LLC, MONARCH NETWORKING SOLUTIONS LLC, BONUTTI SKELETAL INNOVATIONS LLC, CELLULAR COMMUNICATIONS EQUIPMENT LLC, R2 SOLUTIONS LLC, AMERICAN VEHICULAR SCIENCES LLC, TELECONFERENCE SYSTEMS LLC, LIFEPORT SCIENCES LLC, MOBILE ENHANCEMENT SOLUTIONS LLC, SAINT LAWRENCE COMMUNICATIONS LLC, INNOVATIVE DISPLAY TECHNOLOGIES LLC, LIMESTONE MEMORY SYSTEMS LLC, SUPER INTERCONNECT TECHNOLOGIES LLC, PARTHENON UNIFIED MEMORY ARCHITECTURE LLC, NEXUS DISPLAY TECHNOLOGIES LLC reassignment ACACIA RESEARCH GROUP LLC RELEASE OF SECURITY INTEREST IN PATENTS Assignors: STARBOARD VALUE INTERMEDIATE FUND LP
Assigned to R2 SOLUTIONS LLC reassignment R2 SOLUTIONS LLC CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 053654 FRAME 0254. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST GRANTED PURSUANT TO THE PATENT SECURITY AGREEMENT PREVIOUSLY RECORDED. Assignors: STARBOARD VALUE INTERMEDIATE FUND LP
Assigned to STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT reassignment STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT CORRECTIVE ASSIGNMENT TO CORRECT THE THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 052853 FRAME: 0153. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Assignors: R2 SOLUTIONS LLC
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing

Definitions

  • a search index of an online search service
  • process a search index of an online search service, to determine a level of popularity of query terms made in a given time period, such as during a given day.
  • popularity determinations are made based on transaction data in a data warehouse, and it can take up to two to three days for the search query data in the data warehouse to be processed and the search index (with information about the popularity level of query terms) to be built and cleansed.
  • the resolution of the popularity determinations may be limited.
  • information is generated indicative of frequency of search terms presented to at least one online search service.
  • event indications indicative of user interaction generally with front end servers, are being provided for persistent storage
  • event indications that are indicative of search events are detected.
  • the detected search event indications are processed and it is determined, based at least in part thereon, by event origin location, frequency data indicative of a frequency of each of a plurality of search terms presented to at least one online search service.
  • An indication of at least some of the frequency data is caused to be associated with indications of event origin locations to which the frequency data corresponds. For example, the frequency data may be displayed superimposed on a map including event origin locations.
  • Processing the detected ones of the search event indications and determining based at least in part thereon, by event origin location, frequency data indicative of a frequency of each of a plurality of search terms presented to the at least one online search service may include updating the determination of frequency data based on newly processed detected search event indications. Updating the determinations of frequency data based on newly processed detected search event indications may, for example, include applying an algorithm that automatically decays frequency values over time.
  • FIG. 1 which does not illustrate the present invention, illustrates an architecture of a system in which front end web servers, including front end web servers handling search events, are producing event data based on incoming user requests, including search queries each comprising at least one search term.
  • FIG. 2 schematically illustrates event data provided to the data collectors are further provided to a data warehouse via a “data highway,” and a filter selects search event data.
  • FIG. 3 illustrates an example architecture of the statistics generation block of FIG. 2 .
  • FIG. 4 illustrates schematically how various arrays are “dumped” to a data structure accessible for display.
  • FIG. 5 illustrates an example of a display that may be generated based on generated statistics.
  • FIG. 6 is a flowchart of a method in accordance with an embodiment of the invention, to cause determination and display of the level of popularity of query terms provided to one or more search services.
  • the inventors have realized that it can be useful for the level of popularity of query terms to be determined relatively quickly. For example, the determination may be useful in the process of marketing the keywords for advertisement targeting and/or other monetization. For example, it may be possible to target a “fresh” keyword or keywords before the market for that keyword is saturated.
  • the inventors have additionally realized that, if the popularity determination can be resolved geographically and/or temporally, this may also provide advantages in marketing a keyword or keywords.
  • a method/system is described to determine high-frequency keywords in a search-stream, with a low latency.
  • the stream may be partitioned geographically (e.g., by city or other event origin location) and/or temporally (e.g., by hour or by time of day such as morning, afternoon, evening, etc.), allowing a user of the determinations to discern geographic and temporal differences in monetizing specific keywords.
  • Search-events from front-end web-servers handling the search queries are processed in real-time.
  • the latency of the frequency determinations may be less than one hour, or even under five minutes.
  • Indications of the high-frequency keywords may be displayed, for example, relative to a map to allow for easy navigation.
  • FIG. 1 which does not illustrate the present invention, illustrates an architecture of a system in which front end web servers FEa 102 a , FEb 102 b , FEc 102 c , . . . , FEx 102 x , including front end web servers handling search events, are producing event data 105 based on incoming user requests 103 , including search queries each comprising at least one search term.
  • the event data 105 is provided to data collectors DC 1 108 ( 1 ) and DC 2 108 ( 2 ) via paths Pa 106 a , Pb 106 b , Pc 106 c and Pd 106 d .
  • FIG. 1 there may be numerous front end web servers, data collectors and paths; a small number are shown in FIG. 1 and throughout this patent description for simplicity of illustration.
  • the particular paths may be determined according to a path configuration 104 , for example, as described in U.S. patent application Ser. No. 11/734,067, filed on Apr. 11, 2007.
  • U.S. patent application Ser. No. 11/734,067 is incorporated by reference at least for its disclosure of methods to determine path configurations.
  • the data collectors may be, for example, computers or computer systems in one or more data centers.
  • a data center is a collection of machines (data collector machines) that are co-located (i.e., physically proximally-located).
  • the data centers may be geographically dispersed to, for example, minimize latency of data communication between front end web servers and the data collectors.
  • the network connection between machines is typically fast and reliable, as these connections are maintained within the facility itself.
  • Communication between front end web servers and data centers, and among data centers, is typically over public or quasi-public networks (i.e., the internet).
  • the event data provided to the data collectors DC 1 108 ( 1 ) and DC 2 108 ( 2 ) via paths Pa 106 a , Pb 106 b , Pc 106 c and Pd 106 d are further provided to a data warehouse 202 via what may be thought of as a “data highway” 204 .
  • a filter 206 selects events that are from front end web servers that are search web servers.
  • every event may be indicated by an event record that includes fields whose contents characterize the event.
  • an event record may include a field whose contents identify a “host name” or “space id” corresponding to a front end server that generated the event.
  • a “space id” is a unique key that identifies the page contents and category.
  • the contents of these event record fields may thus be highly indicative of whether the event is a search event.
  • Other fields in an event record may include a time stamp, the URL accessed by a user, and an IP address via which a computing device accesses a search service (e.g., a computing device that executes a browser to access the search service).
  • Other fields may be dependent on the type of event such as, for example, a field for a query term if the event is a search event.
  • the data highway 204 is a data pipeline via which a stream of events generated by data producers are provided to data consumers.
  • the pipeline has been denoted as a “highway,” because there are multiple off ramps but, in one example, the pipeline is unidirectional.
  • the highway may comprise multiple stages. Each stage forwards the events toward the data consumers, which in turn can be another stage, so the stages may be chained together. Additionally, each stage may include at least one filter to filter an event based on characteristics of the event.
  • an event filter may be configured to “only give events that have been generated by data producer Y” or “only give events that occurred between 12:30 and 1:00 PM.” Event filters may be combined together using Boolean logic (e.g., give events that come from data producer Y that occurred between 12:30 and 1:00 PM). In general, events that are filtered may also continue along their original path to the data warehouse 202 .
  • statistics are generated ( 208 ) in real time on the basis of some characteristic evidenced by the events. More particularly, statistics are generated to correlate events having particular characteristics with the search query terms presented to the search service. An indication of the generated statistics is caused to be displayed 210 .
  • the statistics are generated based on geographic locations associated with the origins of the events. That is, statistics are generated to correlate events of originating from particular geographic locations or regions with the search query terms of those events.
  • the geographic locations may be determined, for example, by correlating the IP address via which a computing device accesses the search service, as indicated in an event record, to a known or discerned location associated with that IP address.
  • a geographic location associated with an event origination may be determined based on one or more cookies in the event record for that event. For example, for an event corresponding to a logged-in Yahoo! user, the geographic location for that event may be determined based on known demographic information maintained by Yahoo! and corresponding to that logged-in Yahoo! user.
  • FIG. 3 illustrates an example architecture of the statistics generation block 208 of FIG. 2 .
  • the search events are partitioned by geographic location or other characteristic indicated in the search event and which is to be correlated to the search query terms to generate the statistics.
  • the statistics are to be generated to correlate particular geographic locations to the search query terms presented to the search service from those geographic locations, then the events are partitioned by geographic location.
  • a geolocation targeting call to a specialized geolocation program, may be employed to determine the latitude & longitude associated with the search event based on the IP address associated with the search event.
  • the processing of events may be partitioned into distinct disjoint sets to distribute the statistics generation processing.
  • Partitioning based on geography can be useful given that, in general, events from multiple geographic locations are not processed to determine the most popular search terms in any one particular geographic location.
  • the partitioning facilitates scaling of the statistic generation processing for greater numbers of events and/or for additional geographic locations or other event characteristics.
  • Partitions 304 a , 304 b , 304 c , . . . , 304 x generate statistics regarding frequency of search terms correlated to search event characteristics such as geographic location. It is noted that while, in some examples, each partition may handle statistics generation for one or more search event characteristic values (and/or aggregation of search event characteristic values), in general, statistics generation for a particular one or more search event characteristics values (or aggregation of search event characteristic values) is not distributed across multiple partitions. Thus, for example, partition 304 a may generate statistics 306 a 1 , 306 a 2 and 306 a 3 for three respective search event characteristic values (and/or aggregation of search event characteristic values).
  • partition 304 b may generate statistics 306 b 1 and 306 b 2 for two respective search event characteristic values (and/or aggregation of search event characteristic values); partition 304 c may generate statistics 306 c 1 and 306 c 2 for two respective search event characteristic values (and/or aggregation of search event characteristic values); and partition 304 x may generate statistics 306 x for one search event characteristic value (and/or aggregation of search event characteristic values).
  • the statistics 306 a 1 , 306 a 2 and 306 a 3 (generated by partition 304 a ); 306 b 1 and 306 b 2 (generated by partition 304 b ); 306 c 1 and 306 c 2 (generated by partition 304 c ) and 306 x 1 (generated by partition 304 x ) are generated and maintained locally by each respective partition 304 a , 304 b , 304 c , . . . , 304 x .
  • the generated statistics are occasionally (e.g., periodically) “dumped” to a location 308 accessible for display 210 .
  • the statistics generation employs a traffic analysis algorithm that generates, on a rolling basis, an indication of the most popular search query terms based on the events presented to it.
  • the traffic analysis algorithm may be configured to account not only for frequency, but also for temporality, in the statistics generation.
  • the algorithm may be such that frequency values for search query terms automatically decay over time.
  • an array is used by each partition 304 to accumulate statistics regarding frequency of search terms represented by events presented to that partition.
  • each item of the array indicates one search query term and a frequency associated with that search term.
  • the array is of size three and, initially, the items of the array are empty. If the following search term data is sent into the partition:
  • the first three letters will be added (step 1) since, as each of the first three letters is processed, the array is not full yet.
  • the column “current state of array” includes each keyword and the current calculated frequency for that keyword.
  • the star is the moving pointer to a ‘current’ index in the array).
  • the “current” index is to the first item in the array, containing “a.”
  • Step Data already processed current state of array data to be processed 1 ⁇ ‘a’, ‘b’, ‘c’ ⁇ ⁇ *‘a’->1, ‘b’->1, ‘c’->1 ⁇ ⁇ ‘a’, ‘a’, ‘d’, ‘d’, ‘b’ ⁇ 2 ⁇ ‘a’, ‘b’, ‘c’, ‘a’ ⁇ ⁇ *‘a’->2, ‘b’->1, ‘c’->1 ⁇ ⁇ ‘a’, ‘d’, ‘d’, ‘b’ ⁇ 3 ⁇ ‘a’, ‘b’, ‘c’, ‘a’, ‘a’ ⁇ ⁇ *‘a’->3, ‘b’->1, ‘c’->1 ⁇ ⁇ ‘d’, ‘d’, ‘b’ ⁇ 4 ⁇ ‘a’, ‘b’, ‘c’, ‘a’, ‘a’, ‘d’ ⁇ ⁇ ‘a’->2, *‘b’->1, ‘c’->1 ⁇ ⁇ ‘d’, ‘b’ ⁇ 5 ⁇ ‘a’, ‘b’, ‘c’, ‘a’
  • the frequency for “a” is incremented to two at step 2.
  • the third “a” has been processed.
  • the frequency for “a” is incremented to three at step 3.
  • a “d” has been processed. Since the “current” index points to an item in the array that contains “a” and does not contain “d,” the frequency for “a” is decremented and the “current” index is moved to point to the next item in the array.
  • another “d” has been processed. Since decrementing the frequency for “b” (the item to which the “current” index points) results in a frequency of zero for “b,” the “b” is replaced with the “d,” and the “d” is indicated by a frequency of one.’ Furthermore, the “current” index is moved to point to the next item of the array, containing “c.”
  • an additional “b” has been processed. Since the “current” index pointed to “c” with a frequency of one, the “c” is replaced with the “b” and the “b” is indicated by a frequency of one. Furthermore, the “current” index is moved to point to the “a.”
  • the array includes indications of search term frequencies (perhaps weighted in view of the operation of the algorithm that maintains the indications) for a particular geographic location (or, more generally, for a particular characteristic value on which the events were categorized).
  • FIG. 4 illustrates schematically how the various arrays (denoted by reference numerals 406 a 1 , 406 a 2 , and 406 a 3 ; 406 b 1 and 406 b 2 ; 406 c 1 and 406 c 2 ; and 406 x 1 ) are “dumped” to a data structure 408 (e.g., a shared memory hash table) accessible for display.
  • a data structure 408 e.g., a shared memory hash table
  • the data records in the structure 408 each include the query indications and frequency indications (e.g., “a1” may indicate a particular query term and its associated frequency), as well as including an indication of the geographic location the query indications are for and a time corresponding to the record (e.g., the last time a query indication was updated, or the time the data of the record was provided from a partition).
  • the query indications and frequency indications e.g., “a1” may indicate a particular query term and its associated frequency
  • an indication of the geographic location the query indications are for and a time corresponding to the record e.g., the last time a query indication was updated, or the time the data of the record was provided from a partition.
  • FIG. 5 illustrates an example of a display 502 that may be generated based on the generated statistics.
  • the portion 504 of the display 502 graphically indicates (e.g., in a map format) geographic locations for indications of query terms and associated frequencies have been determined.
  • the locations indicated in the portion 504 may be a function of the frequency of query terms for the locations.
  • a user may cause a cursor to hover over the graphic corresponding to a particular location (in the FIG. 5 example, location (a)), which then causes a “bubble” 508 to be displayed providing information about the query terms for that particular location.
  • the information may be, for example, information regarding query terms and corresponding frequency for the particular location.
  • an additional portion 506 may display the query terms for that particular location (e.g., the query terms may be displayed in a scrolling manner in the portion 506 ).
  • FIG. 6 is a flowchart of a method in accordance with an embodiment of the invention, to cause determination and display of the level of popularity of query terms provided to one or more search services.
  • event records are received at data collectors from front end servers.
  • the event records are provided from the data collectors to a data warehouse. This includes filtering the event records for the search events.
  • the filtered search events are partitioned based on geographic location indicated in the search records.
  • each partition generates statistics regarding frequency of the search terms for geographic locations of that partition.
  • display of generated statistics regarding frequency of the search terms is caused for particular ones of the geographic locations. It is noted that the sequencing shown in FIG.
  • the stream may be partitioned geographically (e.g., by city) and/or temporally (e.g., by hour or by time of day such as morning, afternoon, evening, etc.), allowing a user of the determinations to discern geographic and temporal differences, e.g., in monetizing specific keywords.
  • Search-events from front-end web-servers handling the search queries are processed in real-time.
  • the latency of the frequency determinations may be less than one hour, or even under five minutes.
  • Indications of keyword frequency may be displayed, for example, relative to a map to allow for easy navigation.

Abstract

Information is generated indicative of frequency of search terms presented to at least one online search service. As event indications, indicative of user interaction generally with front end servers, are being provided for persistent storage, ones of the event indications that are indicative of search events are detected. The detected ones of the search event indications are processed and it is determined, based at least in part thereon, by location, frequency data indicative of a frequency of each of a plurality of search terms presented to the at least one online search service. An indication of at least some of the frequency data is caused to be associated with indications of locations to which the frequency data corresponds. For example, the frequency data may be displayed superimposed on a map.

Description

BACKGROUND
It is known to process a search index, of an online search service, to determine a level of popularity of query terms made in a given time period, such as during a given day. Conventionally, such popularity determinations are made based on transaction data in a data warehouse, and it can take up to two to three days for the search query data in the data warehouse to be processed and the search index (with information about the popularity level of query terms) to be built and cleansed. Furthermore, the resolution of the popularity determinations (for example, temporally and geographically) may be limited.
SUMMARY
In accordance with an aspect of the invention, information is generated indicative of frequency of search terms presented to at least one online search service. As event indications, indicative of user interaction generally with front end servers, are being provided for persistent storage, event indications that are indicative of search events are detected. The detected search event indications are processed and it is determined, based at least in part thereon, by event origin location, frequency data indicative of a frequency of each of a plurality of search terms presented to at least one online search service. An indication of at least some of the frequency data is caused to be associated with indications of event origin locations to which the frequency data corresponds. For example, the frequency data may be displayed superimposed on a map including event origin locations.
Processing the detected ones of the search event indications and determining based at least in part thereon, by event origin location, frequency data indicative of a frequency of each of a plurality of search terms presented to the at least one online search service may include updating the determination of frequency data based on newly processed detected search event indications. Updating the determinations of frequency data based on newly processed detected search event indications may, for example, include applying an algorithm that automatically decays frequency values over time.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1, which does not illustrate the present invention, illustrates an architecture of a system in which front end web servers, including front end web servers handling search events, are producing event data based on incoming user requests, including search queries each comprising at least one search term.
FIG. 2 schematically illustrates event data provided to the data collectors are further provided to a data warehouse via a “data highway,” and a filter selects search event data.
FIG. 3 illustrates an example architecture of the statistics generation block of FIG. 2.
FIG. 4 illustrates schematically how various arrays are “dumped” to a data structure accessible for display.
FIG. 5 illustrates an example of a display that may be generated based on generated statistics.
FIG. 6 is a flowchart of a method in accordance with an embodiment of the invention, to cause determination and display of the level of popularity of query terms provided to one or more search services.
DETAILED DESCRIPTION
The inventors have realized that it can be useful for the level of popularity of query terms to be determined relatively quickly. For example, the determination may be useful in the process of marketing the keywords for advertisement targeting and/or other monetization. For example, it may be possible to target a “fresh” keyword or keywords before the market for that keyword is saturated. The inventors have additionally realized that, if the popularity determination can be resolved geographically and/or temporally, this may also provide advantages in marketing a keyword or keywords.
In accordance with an aspect, a method/system is described to determine high-frequency keywords in a search-stream, with a low latency. Additionally, the stream may be partitioned geographically (e.g., by city or other event origin location) and/or temporally (e.g., by hour or by time of day such as morning, afternoon, evening, etc.), allowing a user of the determinations to discern geographic and temporal differences in monetizing specific keywords. Search-events from front-end web-servers handling the search queries are processed in real-time. The latency of the frequency determinations may be less than one hour, or even under five minutes. Indications of the high-frequency keywords may be displayed, for example, relative to a map to allow for easy navigation.
FIG. 1, which does not illustrate the present invention, illustrates an architecture of a system in which front end web servers FEa 102 a, FEb 102 b, FEc 102 c, . . . , FEx 102 x, including front end web servers handling search events, are producing event data 105 based on incoming user requests 103, including search queries each comprising at least one search term. The event data 105 is provided to data collectors DC1 108(1) and DC2 108(2) via paths Pa 106 a, Pb 106 b, Pc 106 c and Pd 106 d. In general, there may be numerous front end web servers, data collectors and paths; a small number are shown in FIG. 1 and throughout this patent description for simplicity of illustration. The particular paths may be determined according to a path configuration 104, for example, as described in U.S. patent application Ser. No. 11/734,067, filed on Apr. 11, 2007. U.S. patent application Ser. No. 11/734,067 is incorporated by reference at least for its disclosure of methods to determine path configurations.
The data collectors may be, for example, computers or computer systems in one or more data centers. A data center is a collection of machines (data collector machines) that are co-located (i.e., physically proximally-located). The data centers may be geographically dispersed to, for example, minimize latency of data communication between front end web servers and the data collectors. Within a data center, the network connection between machines is typically fast and reliable, as these connections are maintained within the facility itself. Communication between front end web servers and data centers, and among data centers, is typically over public or quasi-public networks (i.e., the internet).
Referring now to FIG. 2, the event data provided to the data collectors DC1 108(1) and DC2 108(2) via paths Pa 106 a, Pb 106 b, Pc 106 c and Pd 106 d are further provided to a data warehouse 202 via what may be thought of as a “data highway” 204. A filter 206 selects events that are from front end web servers that are search web servers.
For example, every event may be indicated by an event record that includes fields whose contents characterize the event. For example, an event record may include a field whose contents identify a “host name” or “space id” corresponding to a front end server that generated the event. A “space id” is a unique key that identifies the page contents and category. The contents of these event record fields may thus be highly indicative of whether the event is a search event. Other fields in an event record may include a time stamp, the URL accessed by a user, and an IP address via which a computing device accesses a search service (e.g., a computing device that executes a browser to access the search service). Other fields may be dependent on the type of event such as, for example, a field for a query term if the event is a search event.
We now discuss the data highway 204 in greater detail. The data highway 204 is a data pipeline via which a stream of events generated by data producers are provided to data consumers. The pipeline has been denoted as a “highway,” because there are multiple off ramps but, in one example, the pipeline is unidirectional. The highway may comprise multiple stages. Each stage forwards the events toward the data consumers, which in turn can be another stage, so the stages may be chained together. Additionally, each stage may include at least one filter to filter an event based on characteristics of the event. For instance, an event filter may be configured to “only give events that have been generated by data producer Y” or “only give events that occurred between 12:30 and 1:00 PM.” Event filters may be combined together using Boolean logic (e.g., give events that come from data producer Y that occurred between 12:30 and 1:00 PM). In general, events that are filtered may also continue along their original path to the data warehouse 202.
For events determined by the filter 206 (e.g., from the host name or via some other means) to be a search event or highly likely to be a search event, statistics are generated (208) in real time on the basis of some characteristic evidenced by the events. More particularly, statistics are generated to correlate events having particular characteristics with the search query terms presented to the search service. An indication of the generated statistics is caused to be displayed 210.
In the FIG. 2 example, the statistics are generated based on geographic locations associated with the origins of the events. That is, statistics are generated to correlate events of originating from particular geographic locations or regions with the search query terms of those events. The geographic locations may be determined, for example, by correlating the IP address via which a computing device accesses the search service, as indicated in an event record, to a known or discerned location associated with that IP address. As another example, a geographic location associated with an event origination may be determined based on one or more cookies in the event record for that event. For example, for an event corresponding to a logged-in Yahoo! user, the geographic location for that event may be determined based on known demographic information maintained by Yahoo! and corresponding to that logged-in Yahoo! user.
FIG. 3 illustrates an example architecture of the statistics generation block 208 of FIG. 2. In block 302, the search events are partitioned by geographic location or other characteristic indicated in the search event and which is to be correlated to the search query terms to generate the statistics. Thus, for example, if the statistics are to be generated to correlate particular geographic locations to the search query terms presented to the search service from those geographic locations, then the events are partitioned by geographic location. (For example, a geolocation targeting call, to a specialized geolocation program, may be employed to determine the latitude & longitude associated with the search event based on the IP address associated with the search event.) Thus, for example, the processing of events may be partitioned into distinct disjoint sets to distribute the statistics generation processing. Partitioning based on geography can be useful given that, in general, events from multiple geographic locations are not processed to determine the most popular search terms in any one particular geographic location. The partitioning facilitates scaling of the statistic generation processing for greater numbers of events and/or for additional geographic locations or other event characteristics.
Partitions 304 a, 304 b, 304 c, . . . , 304 x generate statistics regarding frequency of search terms correlated to search event characteristics such as geographic location. It is noted that while, in some examples, each partition may handle statistics generation for one or more search event characteristic values (and/or aggregation of search event characteristic values), in general, statistics generation for a particular one or more search event characteristics values (or aggregation of search event characteristic values) is not distributed across multiple partitions. Thus, for example, partition 304 a may generate statistics 306 a 1, 306 a 2 and 306 a 3 for three respective search event characteristic values (and/or aggregation of search event characteristic values). Similarly, partition 304 b may generate statistics 306 b 1 and 306 b 2 for two respective search event characteristic values (and/or aggregation of search event characteristic values); partition 304 c may generate statistics 306 c 1 and 306 c 2 for two respective search event characteristic values (and/or aggregation of search event characteristic values); and partition 304 x may generate statistics 306 x for one search event characteristic value (and/or aggregation of search event characteristic values).
The statistics 306 a 1, 306 a 2 and 306 a 3 (generated by partition 304 a); 306 b 1 and 306 b 2 (generated by partition 304 b); 306 c 1 and 306 c 2 (generated by partition 304 c) and 306 x 1 (generated by partition 304 x) are generated and maintained locally by each respective partition 304 a, 304 b, 304 c, . . . , 304 x. The generated statistics are occasionally (e.g., periodically) “dumped” to a location 308 accessible for display 210.
In accordance with one example, the statistics generation employs a traffic analysis algorithm that generates, on a rolling basis, an indication of the most popular search query terms based on the events presented to it. The traffic analysis algorithm may be configured to account not only for frequency, but also for temporality, in the statistics generation.
As a specific example, the algorithm may be such that frequency values for search query terms automatically decay over time. A simplistic example of one particular implementation is now described. In the example, an array is used by each partition 304 to accumulate statistics regarding frequency of search terms represented by events presented to that partition. In particular, each item of the array indicates one search query term and a frequency associated with that search term. In the example, it is assumed that the array is of size three and, initially, the items of the array are empty. If the following search term data is sent into the partition:
{“a”, “b”, “c”, “a”, “a”, “d”, “d”, “b”}
the first three letters will be added (step 1) since, as each of the first three letters is processed, the array is not full yet. The column “current state of array” includes each keyword and the current calculated frequency for that keyword. The star is the moving pointer to a ‘current’ index in the array). After step 1, the “current” index is to the first item in the array, containing “a.”
Step Data already processed current state of array data to be processed
1 {‘a’, ‘b’, ‘c’} {*‘a’->1, ‘b’->1, ‘c’->1} {‘a’, ‘a’, ‘d’, ‘d’, ‘b’}
2 {‘a’, ‘b’, ‘c’, ‘a’} {*‘a’->2, ‘b’->1, ‘c’->1} {‘a’, ‘d’, ‘d’, ‘b’}
3 {‘a’, ‘b’, ‘c’, ‘a’, ‘a’} {*‘a’->3, ‘b’->1, ‘c’->1} {‘d’, ‘d’, ‘b’}
4 {‘a’, ‘b’, ‘c’, ‘a’, ‘a’, ‘d’} {‘a’->2, *‘b’->1, ‘c’->1} {‘d’, ‘b’}
5 {‘a’, ‘b’, ‘c’, ‘a’, ‘a’, ‘d’, ‘d’} {‘a’->2, ‘d’->1, *‘c’->1} {‘b’}
6 {‘a’, ‘b’, ‘c’, ‘a’, ‘a’, ‘d’, ‘d’, ‘b’} {*‘a’->2, ‘d’->1, ‘b’->1} { }

At step 2, the second “a” has been processed. Since the “current” index is already pointing to an item in the array that contains “a,” the frequency for “a” is incremented to two at step 2. At step 3, the third “a” has been processed. Like at step 2, since the “current” index is already pointing to an item in the array that contains “a,” the frequency for “a” is incremented to three at step 3.
At step 4, a “d” has been processed. Since the “current” index points to an item in the array that contains “a” and does not contain “d,” the frequency for “a” is decremented and the “current” index is moved to point to the next item in the array. At step 5, another “d” has been processed. Since decrementing the frequency for “b” (the item to which the “current” index points) results in a frequency of zero for “b,” the “b” is replaced with the “d,” and the “d” is indicated by a frequency of one.’ Furthermore, the “current” index is moved to point to the next item of the array, containing “c.” At step 6, an additional “b” has been processed. Since the “current” index pointed to “c” with a frequency of one, the “c” is replaced with the “b” and the “b” is indicated by a frequency of one. Furthermore, the “current” index is moved to point to the “a.”
Thus, at any time, the array includes indications of search term frequencies (perhaps weighted in view of the operation of the algorithm that maintains the indications) for a particular geographic location (or, more generally, for a particular characteristic value on which the events were categorized). FIG. 4 illustrates schematically how the various arrays (denoted by reference numerals 406 a 1, 406 a 2, and 406 a 3; 406 b 1 and 406 b 2; 406 c 1 and 406 c 2; and 406 x 1) are “dumped” to a data structure 408 (e.g., a shared memory hash table) accessible for display. In the FIG. 4 example, the data records in the structure 408 each include the query indications and frequency indications (e.g., “a1” may indicate a particular query term and its associated frequency), as well as including an indication of the geographic location the query indications are for and a time corresponding to the record (e.g., the last time a query indication was updated, or the time the data of the record was provided from a partition).
FIG. 5 illustrates an example of a display 502 that may be generated based on the generated statistics. The portion 504 of the display 502 graphically indicates (e.g., in a map format) geographic locations for indications of query terms and associated frequencies have been determined. In some examples, depending on a level of zoom for which the portion 504 is configured, the locations indicated in the portion 504 may be a function of the frequency of query terms for the locations. In the FIG. 5 example, a user may cause a cursor to hover over the graphic corresponding to a particular location (in the FIG. 5 example, location (a)), which then causes a “bubble” 508 to be displayed providing information about the query terms for that particular location. The information may be, for example, information regarding query terms and corresponding frequency for the particular location. Furthermore, an additional portion 506 may display the query terms for that particular location (e.g., the query terms may be displayed in a scrolling manner in the portion 506).
FIG. 6 is a flowchart of a method in accordance with an embodiment of the invention, to cause determination and display of the level of popularity of query terms provided to one or more search services. At step 602, event records are received at data collectors from front end servers. At step 604, the event records are provided from the data collectors to a data warehouse. This includes filtering the event records for the search events. At step 606, the filtered search events are partitioned based on geographic location indicated in the search records. At step 608, each partition generates statistics regarding frequency of the search terms for geographic locations of that partition. At step 610, display of generated statistics regarding frequency of the search terms is caused for particular ones of the geographic locations. It is noted that the sequencing shown in FIG. 6 is not meant to imply that such a sequencing is required, as it should be apparent that some of the processing may occur in parallel and/or asynchronously. For example, the steps may occur in “real time” (e.g., in a pipelined fashion) with little or no batching. In fact, in some examples, there may be more buffering than batching.
We have thus described a method/system to determine frequency of keywords (search query terms) in a search-stream, with a low latency. Additionally, the stream may be partitioned geographically (e.g., by city) and/or temporally (e.g., by hour or by time of day such as morning, afternoon, evening, etc.), allowing a user of the determinations to discern geographic and temporal differences, e.g., in monetizing specific keywords. Search-events from front-end web-servers handling the search queries are processed in real-time. The latency of the frequency determinations may be less than one hour, or even under five minutes. Indications of keyword frequency, may be displayed, for example, relative to a map to allow for easy navigation.

Claims (5)

1. A method of generating information indicative of frequency of search terms presented to at least one online search service, comprising:
processing event indications, indicative of user interaction generally with front-end servers such that some of the event indications are indicative of events that are not search events and some of the event indications are indicative of events that are search events, that are being provided from the front-end servers for persistent storage to detect event indications being provided from the front-end servers for persistent storage that are indicative of search events;
persistently storing the event indications that are being provided from the front-end servers and are being processed to detect event indications that are indicative of search events;
processing the detected search event indications of the event indication being provided from the front-end servers for persistent storage and determining based at least in part thereon, by origin location of the events, frequency data indicative of a frequency of each of a plurality of search terms presented to the at least one online search service; and
causing an indication of at least some of the frequency data to be associated with indications of event origin locations to which the frequency data corresponds.
2. The method of claim 1, further comprising:
causing a display to be generated based on the association of the indication of at least some of the frequency data with indications of event origin locations to which the frequency data corresponds.
3. The method of claim 2, wherein:
causing a display to be generated based on the association of the indication of at least some of the frequency data with indications of event origin locations to which the frequency data corresponds includes causing the display to be generated with indications of at least some of the frequency data superimposed on a map based on the indications of event origin locations to which the frequency data corresponds.
4. The method of claim 1, wherein:
processing the detected search event indications of the event indication being provided from the front-end servers for persistent storage and determining based at least in part thereon, by event origin location, frequency data indicative of a frequency of each of a plurality of search terms presented to the at least one online search service includes updating the determination of frequency data based on newly processed detected search event indications of the event indication being provided from the front-end servers for persistent storage.
5. The method of claim 4, wherein:
updating the determinations of frequency data based on newly processed detected search event indications of the event indication being provided from the front-end servers for persistent storage includes applying an algorithm that automatically decays frequency values over time.
US11/862,967 2007-09-27 2007-09-27 Real-time search term popularity determination, by search origin geographic location Active US7428522B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US11/862,967 US7428522B1 (en) 2007-09-27 2007-09-27 Real-time search term popularity determination, by search origin geographic location
US12/189,723 US9946801B2 (en) 2007-09-27 2008-08-11 Real-time search term popularity determination, by search origin geographic location

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/862,967 US7428522B1 (en) 2007-09-27 2007-09-27 Real-time search term popularity determination, by search origin geographic location

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/189,723 Continuation US9946801B2 (en) 2007-09-27 2008-08-11 Real-time search term popularity determination, by search origin geographic location

Publications (1)

Publication Number Publication Date
US7428522B1 true US7428522B1 (en) 2008-09-23

Family

ID=39764218

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/862,967 Active US7428522B1 (en) 2007-09-27 2007-09-27 Real-time search term popularity determination, by search origin geographic location
US12/189,723 Expired - Fee Related US9946801B2 (en) 2007-09-27 2008-08-11 Real-time search term popularity determination, by search origin geographic location

Family Applications After (1)

Application Number Title Priority Date Filing Date
US12/189,723 Expired - Fee Related US9946801B2 (en) 2007-09-27 2008-08-11 Real-time search term popularity determination, by search origin geographic location

Country Status (1)

Country Link
US (2) US7428522B1 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090089280A1 (en) * 2007-09-27 2009-04-02 Yahoo! Inc. Real-time search term popularity determination, by search origin geographic location
US20090132165A1 (en) * 2007-10-30 2009-05-21 Saab Ab Method and arrangement for determining position of vehicles relative each other
US20090182725A1 (en) * 2008-01-11 2009-07-16 Microsoft Corporation Determining entity popularity using search queries
US20090222438A1 (en) * 2008-02-29 2009-09-03 Nokia Corporation And Recordation Form Cover Sheet Method, system, and apparatus for location-aware search
US20090300043A1 (en) * 2008-05-27 2009-12-03 Microsoft Corporation Text based schema discovery and information extraction
US20100145954A1 (en) * 2008-12-05 2010-06-10 Microsoft Corporation Role Based Search
US20110137811A1 (en) * 2009-12-07 2011-06-09 Cn Softnet Inc. Network based real estate transaction portal system and method
US20110258017A1 (en) * 2010-04-15 2011-10-20 Ffwd Corporation Interpretation of a trending term to develop a media content channel
US8073850B1 (en) * 2007-01-19 2011-12-06 Wordnetworks, Inc. Selecting key phrases for serving contextually relevant content
US20120197752A1 (en) * 2009-10-22 2012-08-02 Ebay Inc. System and method for automatically publishing data items associated with an event
US8954860B1 (en) 2012-08-27 2015-02-10 Google Inc. Method and apparatus for generating and displaying tourist maps
US10698963B2 (en) 2015-05-26 2020-06-30 Lead Stories, LLC System and method for monitoring internet activity
US11337177B2 (en) 2020-09-23 2022-05-17 Glowstik, Inc. System and method for generating amorphous dynamic display icons
US11449567B2 (en) * 2019-07-30 2022-09-20 Baidu Online Network Technology (Beijing) Co., Ltd. Method and apparatus for detecting regional event based on search engine, and storage medium

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9785718B2 (en) 2011-07-22 2017-10-10 Nhn Corporation System and method for providing location-sensitive auto-complete query
KR101344913B1 (en) * 2011-07-22 2013-12-26 네이버 주식회사 System and method for providing automatically completed query by regional groups
US20150169596A1 (en) * 2013-02-19 2015-06-18 Google Inc. Determining event origin
WO2017188926A1 (en) * 2016-04-25 2017-11-02 Google Inc. Allocating communication resources via information technology infrastructure

Citations (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6202023B1 (en) 1996-08-22 2001-03-13 Go2 Systems, Inc. Internet based geographic location referencing system and method
US20030004781A1 (en) * 2001-06-18 2003-01-02 Mallon Kenneth P. Method and system for predicting aggregate behavior using on-line interest data
US6757740B1 (en) 1999-05-03 2004-06-29 Digital Envoy, Inc. Systems and methods for determining collecting and using geographic locations of internet users
US20040199498A1 (en) * 2003-04-04 2004-10-07 Yahoo! Inc. Systems and methods for generating concept units from search queries
US20040225647A1 (en) 2003-05-09 2004-11-11 John Connelly Display system and method
US20040249700A1 (en) * 2003-06-05 2004-12-09 Gross John N. System & method of identifying trendsetters
US20040249713A1 (en) * 2003-06-05 2004-12-09 Gross John N. Method for implementing online advertising
US20040260600A1 (en) * 2003-06-05 2004-12-23 Gross John N. System & method for predicting demand for items
US20040260688A1 (en) * 2003-06-05 2004-12-23 Gross John N. Method for implementing search engine
US20040267604A1 (en) * 2003-06-05 2004-12-30 Gross John N. System & method for influencing recommender system
US20050004903A1 (en) 2002-03-15 2005-01-06 Fujitsu Limited Regional information retrieving method and regional information retrieval apparatus
US20050033803A1 (en) 2003-07-02 2005-02-10 Vleet Taylor N. Van Server architecture and methods for persistently storing and serving event data
US20050050215A1 (en) * 2000-02-04 2005-03-03 Yahoo!, Inc. Systems and methods for predicting traffic on internet sites
US20050102259A1 (en) * 2003-11-12 2005-05-12 Yahoo! Inc. Systems and methods for search query processing using trend analysis
US20050246358A1 (en) * 2004-04-29 2005-11-03 Gross John N System & method of identifying and predicting innovation dissemination
US20050246391A1 (en) * 2004-04-29 2005-11-03 Gross John N System & method for monitoring web pages
US20060010029A1 (en) * 2004-04-29 2006-01-12 Gross John N System & method for online advertising
US20060074870A1 (en) * 2004-09-30 2006-04-06 Microsoft Corporation Query graphs
US20060122994A1 (en) * 2004-12-06 2006-06-08 Yahoo! Inc. Automatic generation of taxonomies for categorizing queries and search query processing using taxonomies
US20060123014A1 (en) 2004-12-07 2006-06-08 David Ng Ranking Internet Search Results Based on Number of Mobile Device Visits to Physical Locations Related to the Search Results
US20060167896A1 (en) * 2004-12-06 2006-07-27 Shyam Kapur Systems and methods for managing and using multiple concept networks for assisted search processing
US7146416B1 (en) * 2000-09-01 2006-12-05 Yahoo! Inc. Web site activity monitoring system with tracking by categories and terms
US20070050353A1 (en) * 2005-08-31 2007-03-01 Ekberg Christopher A Information synthesis engine
US20070162379A1 (en) * 2005-12-21 2007-07-12 Ebay Inc. Computer-implemented method and system for managing keyword bidding prices
US20070255701A1 (en) * 2006-04-28 2007-11-01 Halla Jason M System and method for analyzing internet content and correlating to events

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7194454B2 (en) * 2001-03-12 2007-03-20 Lucent Technologies Method for organizing records of database search activity by topical relevance
US7698479B2 (en) * 2002-05-08 2010-04-13 British Telecommunications Public Limited Company User interface to a data storage system and rule store
JP2006065395A (en) * 2004-08-24 2006-03-09 Fujitsu Ltd Hyper link generating device, hyper link generating method, and hyper link generating program
US7680775B2 (en) * 2005-12-13 2010-03-16 Iac Search & Media, Inc. Methods and systems for generating query and result-based relevance indexes
US7620634B2 (en) * 2006-07-31 2009-11-17 Microsoft Corporation Ranking functions using an incrementally-updatable, modified naïve bayesian query classifier
US7881984B2 (en) * 2007-03-30 2011-02-01 Amazon Technologies, Inc. Service for providing item recommendations
US7672937B2 (en) * 2007-04-11 2010-03-02 Yahoo, Inc. Temporal targeting of advertisements
US7873904B2 (en) * 2007-04-13 2011-01-18 Microsoft Corporation Internet visualization system and related user interfaces
US7693823B2 (en) * 2007-06-28 2010-04-06 Microsoft Corporation Forecasting time-dependent search queries
US7685099B2 (en) * 2007-06-28 2010-03-23 Microsoft Corporation Forecasting time-independent search queries
US7693908B2 (en) * 2007-06-28 2010-04-06 Microsoft Corporation Determination of time dependency of search queries
US7689622B2 (en) * 2007-06-28 2010-03-30 Microsoft Corporation Identification of events of search queries
US7685100B2 (en) * 2007-06-28 2010-03-23 Microsoft Corporation Forecasting search queries based on time dependencies
US7428522B1 (en) * 2007-09-27 2008-09-23 Yahoo! Inc. Real-time search term popularity determination, by search origin geographic location
US20090292677A1 (en) * 2008-02-15 2009-11-26 Wordstream, Inc. Integrated web analytics and actionable workbench tools for search engine optimization and marketing

Patent Citations (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6202023B1 (en) 1996-08-22 2001-03-13 Go2 Systems, Inc. Internet based geographic location referencing system and method
US6757740B1 (en) 1999-05-03 2004-06-29 Digital Envoy, Inc. Systems and methods for determining collecting and using geographic locations of internet users
US20050050215A1 (en) * 2000-02-04 2005-03-03 Yahoo!, Inc. Systems and methods for predicting traffic on internet sites
US7146416B1 (en) * 2000-09-01 2006-12-05 Yahoo! Inc. Web site activity monitoring system with tracking by categories and terms
US20030004781A1 (en) * 2001-06-18 2003-01-02 Mallon Kenneth P. Method and system for predicting aggregate behavior using on-line interest data
US20050004903A1 (en) 2002-03-15 2005-01-06 Fujitsu Limited Regional information retrieving method and regional information retrieval apparatus
US20040199498A1 (en) * 2003-04-04 2004-10-07 Yahoo! Inc. Systems and methods for generating concept units from search queries
US7051023B2 (en) * 2003-04-04 2006-05-23 Yahoo! Inc. Systems and methods for generating concept units from search queries
US20040225647A1 (en) 2003-05-09 2004-11-11 John Connelly Display system and method
US20040249713A1 (en) * 2003-06-05 2004-12-09 Gross John N. Method for implementing online advertising
US20040249700A1 (en) * 2003-06-05 2004-12-09 Gross John N. System & method of identifying trendsetters
US20040260688A1 (en) * 2003-06-05 2004-12-23 Gross John N. Method for implementing search engine
US20060004704A1 (en) * 2003-06-05 2006-01-05 Gross John N Method for monitoring link & content changes in web pages
US20040267604A1 (en) * 2003-06-05 2004-12-30 Gross John N. System & method for influencing recommender system
US20040260600A1 (en) * 2003-06-05 2004-12-23 Gross John N. System & method for predicting demand for items
US20050033803A1 (en) 2003-07-02 2005-02-10 Vleet Taylor N. Van Server architecture and methods for persistently storing and serving event data
US20050102259A1 (en) * 2003-11-12 2005-05-12 Yahoo! Inc. Systems and methods for search query processing using trend analysis
US20050246358A1 (en) * 2004-04-29 2005-11-03 Gross John N System & method of identifying and predicting innovation dissemination
US20050246391A1 (en) * 2004-04-29 2005-11-03 Gross John N System & method for monitoring web pages
US20060010029A1 (en) * 2004-04-29 2006-01-12 Gross John N System & method for online advertising
US20060074870A1 (en) * 2004-09-30 2006-04-06 Microsoft Corporation Query graphs
US20060167896A1 (en) * 2004-12-06 2006-07-27 Shyam Kapur Systems and methods for managing and using multiple concept networks for assisted search processing
US20060122994A1 (en) * 2004-12-06 2006-06-08 Yahoo! Inc. Automatic generation of taxonomies for categorizing queries and search query processing using taxonomies
US20060123014A1 (en) 2004-12-07 2006-06-08 David Ng Ranking Internet Search Results Based on Number of Mobile Device Visits to Physical Locations Related to the Search Results
US20070050353A1 (en) * 2005-08-31 2007-03-01 Ekberg Christopher A Information synthesis engine
US20070162379A1 (en) * 2005-12-21 2007-07-12 Ebay Inc. Computer-implemented method and system for managing keyword bidding prices
US20070255701A1 (en) * 2006-04-28 2007-11-01 Halla Jason M System and method for analyzing internet content and correlating to events

Non-Patent Citations (25)

* Cited by examiner, † Cited by third party
Title
Beitzel, S.M., E.C. Jensen, A. Chowdhury, D. Grossman and O. Freider "Hourly Analysis of a Very Large Topically Categorized Web Query Log", Proceedings of the 27<SUP>th </SUP>Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, Jul. 25-29, 2004, pp. 321-328. *
Beitzel, S.M., E.C. Jensen, A. Chowdhury, O. Frieder and D. Grossman "Temporal Analysis of a Very Large Topically Categorized Web Query Log", Journal of the American Society for Information Science and Technology, vol. 58, No. 2, Nov. 22, 2006, pp. 166-178. *
Chaney, D. "Private Metrics: An Eye to the Keyhole", MediaPost Publications, downloaded from publications.mediapost.com, Jan. 2001. *
Chellapilla, K. and D.M. Chickering "Improving Cloaking Detection Using Search Query Popularity and Monetizability", Proceedings of the 2<SUP>nd </SUP>International Workshop on Adversarial Information Retrieval on the Web, Aug. 10, 2006. *
Gish et al., "Geographical Statistics and Characteristics of P2P Query Strings," School of Electrical Engineering, Tel-Aviv University, Israel, http://research.microsoft.com/workshops/IPTPS2007/papers/shakedGishTankelShavitt.pdf.
Google "Google Press Center: 2002 Year-End Zeitgeist", downloaded from www.google/com/press/zeitgeist.html, Feb. 7, 2003. *
Google "Google Press Center: Zeitgeist", downloaded from www.google.com/press/intl-zeitgeist.html, Feb. 8, 2006. *
Google "Google Trends: About Google Trends", downloaded from www.google.com/intl/en/trends/about.html, Aug. 10, 2006. *
Google "Google Trends: cathartic", downloaded from www.google.com/trends, Nov. 8, 2007. *
Klemm, A., C. Lindemann, M.K. Vernon and O.P. Waldhorst "Characterizing the Query Behavior in Peer-to-Peer File Sharing Systems", Proceedings of the 4<SUP>th </SUP>ACM SIGCOMM Conference on Internet Measurement (IMC'04), Oct. 25-27, 2004, pp. 55-67. *
Lamm, S.E. and D.A. Reed "Real-Time Geographic Visualization of World Wide Web Traffic", Computer Networks and ISDN Systems, vol. 28, No. 7, May 1996, pp. 1457-1468. *
Lamma et al., "Real-time geographic visualization of World Wide Web traffic," Source: Computer Networks and ISDN Systems, vol. 28, No. 7, May 1996 , pp. 1457-1468(12). Department of Computer Science, University of Illinois, Urbana, IL, Netscape Communications Corporation, Mountain View, CA, http://www.sciencedirect.com/science?<SUB>-</SUB>ob=ArticleURL&<SUB>-</SUB>udi=B6TYT-3XY8PKJ-1R&<SUB>-</SUB>user=10&<SUB>-</SUB>coverDate=05%2F31%.
Myllymaki and Kaufman, "High-Performance Spatial Indexing for Location-Based Services," International World Wide Web Conference archive, Proceedings of the 12th international conference on World Wide Web table of contents, Budapest, Hungary, Session: Information retrieval 2 table of contents, pp. 112-117, Year of Publication: 2003, ISBN:1-58113-680-3.
Otsuka, S., M. Toyoda, J. Hira and M. Kitsuregawa "Extracting User Behavior by Web Communities Technology on Global Web Logs", in Database and Expert Systems Applications, vol. 3180/2004, 2004, pp. 957-968. *
Pipes, A. "Yahoo! Buzzlist versus Google Trends", Read/WriteWeb, downloaded from www.readwriteweb.com, Aug. 2, 2007. *
Pramudiono, I., T. Shintani, K. Takahashi and M. Kitsuregawa "User Behavior Analysis of Location Aware Search Engine", Proceedings of the 3<SUP>rd </SUP>International Conference on Mobile Data Management (MDM'02), Jan. 8-11, 2002. *
Saleh, O. and M. Hefeeda "Modeling and Caching of Peer-to-Peer Traffic", Simon Fraser University, School of Computing Science, Technical Report TR-2006-11, May 2006. *
Spink, A., H. Partridge and B.J. Jansen "Sexual and Pornographic Web Searching: Trends Analysis", First Monday, vol. 11, No. 9, Sep. 2006. *
Spink, A., S. Ozmutla, H.C. Ozmutla and B.J. Jansen "U.S. Versus European Web Searching Trends", SIGIR Forum, vol. 36, No. 2, Fall 2002, pp. 32-38. *
Stanger, N. "The View from the Chathams: Geovisualization of Web Site Hits using Google Earth(TM)", Proceedings of the 18<SUP>th </SUP>Annual Colloquium of the Spatial Information Research Centre, University of Otago, Dunedin, New Zealand, Nov. 6-7, 2006. *
Watters and Amoudi, "GeoSearcher: Geospatial ranking of search engine results," Proceedings of the American Society for Information Science and Technology, vol. 39, Issue 1, pp. 409-416, Published Online: Jan. 31, 2005, http://www3.interscience.wiley.com/cgi-bin/abstract/109882614/.
Yahoo! "The Most Searched Term on Yahoo! Canada-Yahoo! Canada", downloaded from ca.buzz.yahoo.com, Apr. 6, 2006. *
Yahoo! "Yahoo! Buzz Index Frequently Asked Questions", downloaded from buzz.yahoo.com/faq, Mar. 31, 2006. *
Yahoo! "Yahoo! Buzz Index-World Weekly", downloaded from buzz.yahoo.com/world, Aug. 9, 2002. *
Yahoo! "Yahoo! Launches Yahoo! Buzz Index for Brand Marketers", press release, Oct. 30, 2000. *

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10176495B2 (en) 2007-01-19 2019-01-08 Tamiras Per Pte. Ltd., Llc Selection of keyword phrases for providing contextually relevant content to users
US8909639B2 (en) 2007-01-19 2014-12-09 Rademacher Processing L.L.C. Selection of keyword phrases for providing contextually relevant content to users
US9418374B2 (en) 2007-01-19 2016-08-16 Tamiras Per Pte. Ltd., Llc Selection of keyword phrases for providing contextually relevant content to users
US8073850B1 (en) * 2007-01-19 2011-12-06 Wordnetworks, Inc. Selecting key phrases for serving contextually relevant content
US8209333B2 (en) 2007-01-19 2012-06-26 Wordnetworks, Inc. System for using keyword phrases on a page to provide contextually relevant content to users
US20090089280A1 (en) * 2007-09-27 2009-04-02 Yahoo! Inc. Real-time search term popularity determination, by search origin geographic location
US9946801B2 (en) * 2007-09-27 2018-04-17 Excalibur Ip, Llc Real-time search term popularity determination, by search origin geographic location
US20090132165A1 (en) * 2007-10-30 2009-05-21 Saab Ab Method and arrangement for determining position of vehicles relative each other
US8909652B2 (en) * 2008-01-11 2014-12-09 Microsoft Corporation Determining entity popularity using search queries
US20090182725A1 (en) * 2008-01-11 2009-07-16 Microsoft Corporation Determining entity popularity using search queries
US20130268482A1 (en) * 2008-01-11 2013-10-10 Microsoft Corporation Determining entity popularity using search queries
US8402031B2 (en) * 2008-01-11 2013-03-19 Microsoft Corporation Determining entity popularity using search queries
US7966306B2 (en) * 2008-02-29 2011-06-21 Nokia Corporation Method, system, and apparatus for location-aware search
US20090222438A1 (en) * 2008-02-29 2009-09-03 Nokia Corporation And Recordation Form Cover Sheet Method, system, and apparatus for location-aware search
US7930322B2 (en) * 2008-05-27 2011-04-19 Microsoft Corporation Text based schema discovery and information extraction
US20090300043A1 (en) * 2008-05-27 2009-12-03 Microsoft Corporation Text based schema discovery and information extraction
US8407218B2 (en) 2008-12-05 2013-03-26 Microsoft Corporation Role based search
US20100145954A1 (en) * 2008-12-05 2010-06-10 Microsoft Corporation Role Based Search
US20120197752A1 (en) * 2009-10-22 2012-08-02 Ebay Inc. System and method for automatically publishing data items associated with an event
US9495442B2 (en) * 2009-10-22 2016-11-15 Ebay Inc. System and method for automatically publishing data items associated with an event
US20110137811A1 (en) * 2009-12-07 2011-06-09 Cn Softnet Inc. Network based real estate transaction portal system and method
US20110258017A1 (en) * 2010-04-15 2011-10-20 Ffwd Corporation Interpretation of a trending term to develop a media content channel
US8954860B1 (en) 2012-08-27 2015-02-10 Google Inc. Method and apparatus for generating and displaying tourist maps
US10698963B2 (en) 2015-05-26 2020-06-30 Lead Stories, LLC System and method for monitoring internet activity
US11681764B2 (en) 2015-05-26 2023-06-20 Lead Stories, LLC System and method for monitoring internet activity
US11449567B2 (en) * 2019-07-30 2022-09-20 Baidu Online Network Technology (Beijing) Co., Ltd. Method and apparatus for detecting regional event based on search engine, and storage medium
US11337177B2 (en) 2020-09-23 2022-05-17 Glowstik, Inc. System and method for generating amorphous dynamic display icons
US11956751B2 (en) 2020-09-23 2024-04-09 Glowstik, Inc. System and method for generating amorphous dynamic display icons

Also Published As

Publication number Publication date
US9946801B2 (en) 2018-04-17
US20090089280A1 (en) 2009-04-02

Similar Documents

Publication Publication Date Title
US7428522B1 (en) Real-time search term popularity determination, by search origin geographic location
US10063636B2 (en) Analyzing requests for data made by users that subscribe to a provider of network connectivity
US10121169B2 (en) Table level distributed database system for big data storage and query
JP6420507B2 (en) System and method for synchronizing data associated with voice calls via dynamically assigned virtual telephone numbers
JP6165734B2 (en) System and method for indirectly classifying computers based on usage
JP5072160B2 (en) System and method for estimating the spread of digital content on the World Wide Web
US10304086B2 (en) Techniques for estimating demographic information
US11303694B2 (en) Method and system to process navigation information
KR100908982B1 (en) Intelligent information provision system and method
CN102314488B (en) Methods and apparatus to obtain anonymous audience measurement data from network server data for particular demographic and usage profiles
US8291073B2 (en) System and method for associating a geographical location with an internet protocol address
CN108549569B (en) Method and equipment for searching information in application program
KR20150130282A (en) Intelligent platform for real-time bidding
US7739266B2 (en) System and method for associating a geographic location with an internet protocol address
US20110015992A1 (en) Estimating statistics for online advertising campaigns
US8775941B1 (en) System for monitoring and reporting deviations of real-time analytics data from expected analytics data
TWI752303B (en) Method and device for establishing marketing information delivery platform
WO2014022231A1 (en) Location retargeting system for online advertising
CN111597449B (en) Candidate word construction method and device for search, electronic equipment and readable medium
US20210133227A1 (en) Access points for maps
CN114513488B (en) Resource access method, device, computer equipment and storage medium
US20190095536A1 (en) Method and device for content recommendation and computer readable storage medium
CN111966887A (en) Dynamic caching method and device, electronic equipment and storage medium
US20030160609A9 (en) Method and facility for storing and indexing web browsing data
CN107888388B (en) Charging method and system for network acceleration service

Legal Events

Date Code Title Description
AS Assignment

Owner name: YAHOO| INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:RAGHUNATHAN, VIJAY;REEL/FRAME:019891/0433

Effective date: 20070926

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: EXCALIBUR IP, LLC, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:YAHOO| INC.;REEL/FRAME:038383/0466

Effective date: 20160418

AS Assignment

Owner name: YAHOO| INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:EXCALIBUR IP, LLC;REEL/FRAME:038951/0295

Effective date: 20160531

AS Assignment

Owner name: EXCALIBUR IP, LLC, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:YAHOO| INC.;REEL/FRAME:038950/0592

Effective date: 20160531

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 12

AS Assignment

Owner name: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT, NEW YORK

Free format text: PATENT SECURITY AGREEMENT;ASSIGNORS:ACACIA RESEARCH GROUP LLC;AMERICAN VEHICULAR SCIENCES LLC;BONUTTI SKELETAL INNOVATIONS LLC;AND OTHERS;REEL/FRAME:052853/0153

Effective date: 20200604

AS Assignment

Owner name: R2 SOLUTIONS LLC, TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:EXCALIBUR IP, LLC;REEL/FRAME:053459/0059

Effective date: 20200428

AS Assignment

Owner name: PARTHENON UNIFIED MEMORY ARCHITECTURE LLC, TEXAS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:STARBOARD VALUE INTERMEDIATE FUND LP;REEL/FRAME:053654/0254

Effective date: 20200630

Owner name: TELECONFERENCE SYSTEMS LLC, TEXAS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:STARBOARD VALUE INTERMEDIATE FUND LP;REEL/FRAME:053654/0254

Effective date: 20200630

Owner name: SAINT LAWRENCE COMMUNICATIONS LLC, TEXAS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:STARBOARD VALUE INTERMEDIATE FUND LP;REEL/FRAME:053654/0254

Effective date: 20200630

Owner name: NEXUS DISPLAY TECHNOLOGIES LLC, TEXAS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:STARBOARD VALUE INTERMEDIATE FUND LP;REEL/FRAME:053654/0254

Effective date: 20200630

Owner name: AMERICAN VEHICULAR SCIENCES LLC, TEXAS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:STARBOARD VALUE INTERMEDIATE FUND LP;REEL/FRAME:053654/0254

Effective date: 20200630

Owner name: LIFEPORT SCIENCES LLC, TEXAS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:STARBOARD VALUE INTERMEDIATE FUND LP;REEL/FRAME:053654/0254

Effective date: 20200630

Owner name: MONARCH NETWORKING SOLUTIONS LLC, CALIFORNIA

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:STARBOARD VALUE INTERMEDIATE FUND LP;REEL/FRAME:053654/0254

Effective date: 20200630

Owner name: LIMESTONE MEMORY SYSTEMS LLC, CALIFORNIA

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:STARBOARD VALUE INTERMEDIATE FUND LP;REEL/FRAME:053654/0254

Effective date: 20200630

Owner name: MOBILE ENHANCEMENT SOLUTIONS LLC, TEXAS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:STARBOARD VALUE INTERMEDIATE FUND LP;REEL/FRAME:053654/0254

Effective date: 20200630

Owner name: SUPER INTERCONNECT TECHNOLOGIES LLC, TEXAS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:STARBOARD VALUE INTERMEDIATE FUND LP;REEL/FRAME:053654/0254

Effective date: 20200630

Owner name: BONUTTI SKELETAL INNOVATIONS LLC, TEXAS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:STARBOARD VALUE INTERMEDIATE FUND LP;REEL/FRAME:053654/0254

Effective date: 20200630

Owner name: CELLULAR COMMUNICATIONS EQUIPMENT LLC, TEXAS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:STARBOARD VALUE INTERMEDIATE FUND LP;REEL/FRAME:053654/0254

Effective date: 20200630

Owner name: STINGRAY IP SOLUTIONS LLC, TEXAS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:STARBOARD VALUE INTERMEDIATE FUND LP;REEL/FRAME:053654/0254

Effective date: 20200630

Owner name: R2 SOLUTIONS LLC, TEXAS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:STARBOARD VALUE INTERMEDIATE FUND LP;REEL/FRAME:053654/0254

Effective date: 20200630

Owner name: INNOVATIVE DISPLAY TECHNOLOGIES LLC, TEXAS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:STARBOARD VALUE INTERMEDIATE FUND LP;REEL/FRAME:053654/0254

Effective date: 20200630

Owner name: UNIFICATION TECHNOLOGIES LLC, TEXAS

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:STARBOARD VALUE INTERMEDIATE FUND LP;REEL/FRAME:053654/0254

Effective date: 20200630

Owner name: ACACIA RESEARCH GROUP LLC, NEW YORK

Free format text: RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:STARBOARD VALUE INTERMEDIATE FUND LP;REEL/FRAME:053654/0254

Effective date: 20200630

AS Assignment

Owner name: R2 SOLUTIONS LLC, TEXAS

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 053654 FRAME 0254. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST GRANTED PURSUANT TO THE PATENT SECURITY AGREEMENT PREVIOUSLY RECORDED;ASSIGNOR:STARBOARD VALUE INTERMEDIATE FUND LP;REEL/FRAME:054981/0377

Effective date: 20200630

AS Assignment

Owner name: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT, NEW YORK

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 052853 FRAME: 0153. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNOR:R2 SOLUTIONS LLC;REEL/FRAME:056832/0001

Effective date: 20200604