Source: http://www.freshpatents.com/-dt20120202ptan20120030191.php
Timestamp: 2013-06-20 08:25:20
Document Index: 307089385

Matched Legal Cases: ['§119', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'art=20', 'art-20', 'art=1']

Analysis And Reporting Of Collected Search Activity Data Over Multiple Search Engines n/a views for this patent on FreshPatents.comupdated 06/14/13
Patents sorted by company.	02/02/12 | Class 707 Monitor | RSS | Prev - Next | Industry/Agents/Inventors
Analysis and reporting of collected search activity data over multiple search engines Abstract: A tracking system passively tracks and records searches conducted by actual search engine users. The recorded data for each search event preferably includes the search query submitted, the search engine used, the search result item (e.g., web page) selected, the position (e.g., page number) of this item, and the user's IP address. The collected data is aggregated and analyzed to generate data regarding the search queries used to locate and access particular destinations (e.g., web pages and sites). This data may be used for various purposes, such as (1) to generate reports showing, e.g., how users reach a particular destination from different search engines and geographic locations, (2) to select content to display on a destination page, such that the content is relevant to search queries commonly used to locate that page, and (3) to update the database of one search engine to reflect searches conducted on other search engines. ...
Inventors: Richard Kazimierz Zwicky, Todd William Hooge, Matthew DunnUSPTO Applicaton #: #20120030191 - Class: 707711 (USPTO) - 02/02/12 - Class 707 Related Terms: Page Passively Query Reporting Reports Search Search Engine Search Engines The Patent Description & Claims data below is from USPTO Patent Application 20120030191, Analysis and reporting of collected search activity data over multiple search engines.
This application is a continuation of U.S. patent application Ser. No. 11/454,305 filed Jun. 16, 2006 and claims the benefit under 35 U.S.C. §119(e) of U.S. Provisional Application No. 60/731,243, filed Oct. 31, 2005; U.S. Provisional Application No. 60/703,901, filed Aug. 1, 2005; and U.S. Provisional Application No. 60/690,914, filed Jun. 16, 2005, the entire disclosures of which are hereby incorporated by reference.
This application is related to co-pending application Ser. No. 11/454,298 filed Jun. 16, 2006, to copending application Ser. No. 11/454,299 filed Jun. 16, 2006; and to copending application Ser. No. 11/454,628 filed Jun. 16, 2006. Each of which is hereby incorporated by reference in its entirety.
One problem with using such automated tools is that they tend to produce inaccurate or misleading results. The lack of quality of the results is typically due to one or more of the following: (1) the search results are based on predefined search queries, which may or may not be representative of actual search queries in common usage; (2) the search results can vary based on a user\'s, and thus the automated tools, geographic location; (3) the search results can vary based on the server reached, and the quality of the index used by the particular server; (4) the search results can vary based on when the search engine had last been updated; and (5) the results are “moment in time” snapshots, and do not indicate variations during any time period between one search and the next. Another problem with using such automated tools is that they increase the load on the search engine system. In fact, some search engine operators have published terms of service prohibiting the use of such tools.
A tracking system passively tracks and records searches conducted by actual search engine users. The recorded data for each search event preferably includes the search query submitted, the search engine used, the search result item (e.g., web page) selected, the position (e.g., search result page number) of this item, and the user\'s IP address. The collected data is aggregated and analyzed to generate data regarding the search queries used to locate and access particular destinations (e.g., web pages and sites). This data may be used for various purposes, such as (1) to generate reports showing, e.g., how users reach a particular destination from different search engines and geographic locations, (2) to select content to display on a destination page, such that the content is relevant to search queries commonly used to locate that page, and (3) to update the database of one search engine to reflect searches conducted on other search engines.
As used herein, the term “user” denotes a human that is operating a user computing device, and not, for example, a computer program or “bot” operating a computer to mimic a user, and not a computing device of a search engine, web site, or other content provider\'s site. The user computing devices can be any type of user device that can be used to conduct searches over a network, such as, but not limited to, a personal or laptop computer, a hand held computer, a set top box for a TV, a personal digital assistant (PDA), or a mobile telephone. These computing devices can be coupled to a network via wired and/or wireless techniques. Typically, these devices run web browser software such as Microsoft® Internet Explorer or Mozilla Firefox, and access the Internet via an Internet Service Provider (ISP). The skilled artisan will appreciate that the principles and advantages described herein will also be applicable to viewer applications other than browsers.
FIG. 1 C illustrates an example of data flow among various entities with a browser-executable component 148 providing tracking information, and represents one of the passive methods that may be used to collect search event data. FIG. 1C illustrates a search engine site 108, a user computing device 106, a web site 140, and a tracking system 120. The web site 140 includes a web server 102 for providing access to a repository 142 of web pages. At least one of these web pages includes a reference or “tag” (e.g., a short JavaScript sequence) that causes browsers to load the browser-executable tracking component 148 when the web page is loaded. Such tags may be included in any number of the site\'s web pages (e.g., in the HTML document of such web pages). Including the tag in a given web page enables the tracking system to track searches in which the user/searcher clicks through to that web page. A web page that includes such a tag is referred to herein as a tracking-enabled page, and the associated web site is referred to as a tracking enabled site.
The data is generally represented in columns. A first table 202 includes the search queries (listed under “Phrase”) for a first search engine, a second table 204 includes the search queries for a second search engine, and a third table 206 includes the search queries for a third search engine. In the illustrated actual example, the first search engine is the Google™ search engine, the second search engine is Yahoo le search, and the third search engine is MSN® search.
The report separately lists the search queries used by search engine users to locate and click through to a particular destination or group of destinations, which in this example is a particular web site (collection of web pages) <www.marketingshift.com>. The report can also be constrained for an individual web page. The report also includes statistical data associated with these search queries. The queries and statistical data are shown separately for each of three search engines, which are the Google™ Yahoo !® search, and MSN® search in this example. Each search engine in this example is operated by separate business entity, and uses its own algorithms to rank search results for display.
The first table 202 indicates that the top four search queries used by users to select the web page via the first search engine were “oracle layoffs” with 923 hits, “should i put these pictures of us on myspace or facebook?” [sic] with 572 hits, “oracle layoff” with 567 hits, and “AIM virus” with 439 hits. Other search query results are also shown. The second table 204 indicates that the top four search queries for the second search engine were “myspace aim virus fix” with 296 hits, “oracle layoffs” with 203 hits, “myspace virus” with 192 hits, and “oracle layoff” with 78 hits. The third table 206 indicates that “Exxon Mobile” [sic] with 135 hits, “msn account” with 52 hits, “MYSPACE VIRUS” with 48 hits, and “international cxt” tied with “oracle layoffs” with 41 hits. These tables can readily be compared to identify behavioral differences between the users of different search engines. A column with the heading “H” indicates the highest page position that the referral came from, i.e., if users selected a corresponding link from any of pages 1, 3, and 6, the value under “H” would be 1. A column with the heading “L” indicates the lowest page position used by a user to select a corresponding link to the referred-to page. For example, if a user selected a link from the 63\'rd page, a value of “63” would appear under the heading for “L.” A column with the heading “A” indicates the average of H and L. A median value can also be used. A column with the heading “K” indicates the page position used to select a link by the last visitor, that is, the most recent user visiting the tracked page (or tracked pages), arrived at your web site from {parameter} (search engine/phrase/country etc). This can be useful when, for example, a particular page has not been accessed in a while. A column with the heading # indicates the number of referrals with the particular constraints invoked. In the illustrated example, each table 202, 204, 206 is constrained to a particular search engine, and each row of the table to a particular search query. A column with the heading “%” indicates the percentage for the particular search query versus all of the search queries of the table (only the tops of which are shown in FIG. 2). The constraints can be further selected or “drilled down” as will be described later in connection with FIGS. 9A-9G. In one embodiment, the reporting generator 128 permits further selection of data by any of the headings indicated in table 202.
In the configuration illustrated in FIG. 3A, the user of the user computing device 106 selects a link from the search results page for the desired web page of the web server 102. The user may also select other search results pages from the search engine for a selection further down in a list prior to selecting the link for the desired web page. After selecting the link, the previous search results page becomes the “referer” or HTTP referer, which is also referenced herein as “referring web page.” See, for example, RFC 2616 (spelling referrer as referer). Typically, the user\'s browser sends an HTTP request for the referred-to web page, and also sends header information for the HTTP referer when requesting the referred-to web page from the web server 102.
The web server 102 providing the web page typically receives the Uniform Resource Identifier (URI), which can be a Uniform Resource Locator (URL) or web address of the search results page, by reading the HTTP referer header sent by the user\'s browser. This information can be stored in a web server access log for later analysis. As will be described later in connection with examples that follow the description of FIGS. 3A to 3E, the URL of the search results page can be decoded to extract the search query entered by the user, the identity of the search engine 108, and an indication of the ranking of the web page within the search results. Other information, such as the IP address of the user computing device 106, cookie information, IP routing information, the IP address of the search engine, and the like, can be captured if available and desired.
In the configuration illustrated in FIG. 3B, the user selects a link from the search results page for the desired web page of the web servers 102. The browser of the user computing device 106 then requests the referred-to web page from the web server 102, which then collects the search query, the search engine information, and optionally other information such as the user computer\'s IP address, routing information, search engine IP address, and the like, and sends the information to the data collection server 302. Other web server 102 can also provide information to the data collection server 302.
An advantage of the configuration illustrated in FIG. 3B is that the search query and the search engine information can be retrieved from the HTTP referer information and without execution of particular software on the user computing device 106. This can be an advantage as some users object to software, such as toolbars, on their computers, and because some users have browser-execution of certain software, such as JavaScript software, disabled in their browsers. However, browser executable code or other software can also be used to provide the information to the web server 102. A predetermined hierarchical prioritization can also be used in the data collection server 302, when, for example, more than one device, such as user computing device, server, node or the like, sends information about the same transaction to the data collection server 302. The information from the web server 102 can be sent to the data collection server 302 substantially in real time or can be sent in batches. For example, in many cases, the HTTP referer information is maintained in a web site\'s log file, also known as a web server access log or a transaction log.
In the configuration illustrated in FIG. 3C, via the user computing device 106; the user selects a link from the search results page for the desired web page of the web server 102. A typical web server 102 maintains some form of server access log. However, many applications that generate web server access logs do not store comprehensive data in the web server access logs, which can limit the amount of analysis that can be performed on the captured data. A browser-executable tracking component 148 can be used to create a supplemental web server access log that contains information such as search queries, search engine identification, IP addresses of users, and the like. The log can be generated by, for example, generating one or more files of delimited text of the transactions. The web server 102 collects the search query and the search engine information from the user computer 106, and stores the information in a database. The techniques described in connection with FIG. 3B can be used to collect the search query and the search engine information, as well as other information as applicable. In one embodiment, the web server 102 analyzes data in a hierarchical manner, such as, a JavaScript component is sent to the user computing. device 106, and if information is not returned from the JavaScript component, the web site collects and uses the HTTP referer information. The process of determining which data to use does not have to be performed in real time.
var log_string =“;
var log_w=‘w’+‘r’+\'i′+‘t’+‘e’;
Other code can be included to, for example, report the IP address, to report the URL of the referred-web page, to ensure that only one copy of the code executes, and/or to handle multiple frames and different types of browsers. In addition, the browser-executable tracking component 148 may be configured to create a cookie on the user computing device that can be used to efficiently detect repeat visits to a particular tracking-enabled web page from the same referrer. This feature may be used, for example, to detect repeat visits that occur when a user clicks through to a destination page, then uses the browser\'s “back” button to return to the search results page, and then clicks through to the same destination page again. Such detected revisits can be ignored (not recorded in the data store 122) or discounted.
After the referer URL is retrieved 402, the process proceeds to identify the search engine used (404), the search query submitted (406), and the position (e.g., search results page number) of the selected link in the search results listing (408). These determinations can be made indirectly by analysis of the referer URL as will be demonstrated in the following examples. The information from the referer URL can also be combined with additional information, such as the time and date of the access of the web page, the IP address of the user. The IP address can be used to identify the user\'s geographical location. See, for example, <http://www.iana.org/ipaddress/ip-addresses.htm>.
It will be understood that when a user is accessing the Internet through a proxy server, the IP address and geographical location will correspond to that of the proxy server. For most purposes, such as marketing purposes, the approximate geographical location will typically be close enough to be useful. In one embodiment, IP addresses that are determined to correspond to proxy servers are recognized, such as, for example, an IP address for a large dial-up ISP, and the records corresponding to the proxy servers can be filtered from geographical location-based reports. In one embodiment, the user computing device\'s machine address is tracked. For example, a geographical location can be associated with a machine address of a user computing device 106 that uses a proxy server.
http://www.google.ca/search?hlen&q=goodniteirene&btnG=Search&meta=cr%3DcountryCA.
http://wvvw.google.ca/search?q=good+nite+irene&hl=en&lr=&start=20&sa=N&filter=0.
In Example 1, the referred-to (destination) web page can be determined to have been in the top 10 of Google\'s results for the particular search query, as the URL does not indicate a change in the default number of 10 listings per page and it can be determined that the URL was the first page. Search engine results can also vary depending on the geographical location determined for the user computing device 106 and the particular search engine\'s site. The “http://www.google.cd” portion refers to the referring site, which is Google\'s Canadian search site. The “search?” indicates that the referer is a result of a search on Google\'s web site. The “hl=en” portion indicates that the language is English, the “q=goodniteirene” portion indicates the search query submitted, the “btnG=Search” portion indicates the search button triggered the query, and the “meta=cr%3DcountryCA” refers to the region where the search engine site is located.
In Example 2, the referred-to web page was listed on page 3, and should be in the top 30 search results, as opposed to, for example, a directory listing. A “start-20” indicates page 3 of the search results. An “lr” is the “location range” indicating location on page 2 of the search results. Using 20 for page 2 allows for further definition in the future: i.e., 21 would be the first result on page 2 of the search results, etc. The “filter=0” portion specifies the filters that have been preset by the end user, such as, for example, “no adult content.”
tab-web-t&fl=0&x=wrt>.
<http://search.yahoo.com/search?p=goodniteirene&sm=Yah00%21+Search&toggle=1&ei-U TF-8&xargs=0&pstart=1&fr=FP-tab-web-t&b=11>.
<http://search.msn.com/results.aspx?q=go odniteirene&first=11&count=1 O&FORM=P ERE>
<http://msxml.excite.com/info.xcite/search/web/goodniteirene/21/20/2/40/0/1/1/1/1/-/-/-/on3%253A1117819743567%253A0%253A/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/goodniteirene/-/1/-/-/-/-/-/-/-/-/-/-/O>.
<http://search.lycos.com/default.asp?loc=searchbox&tab=web&query=good+nite+irene&sub mit.x=0&submit.y=0&submit=image>.
FIG. 5 is a flowchart that illustrates a process implemented by the data collection server 302 for collecting search activity data from a user computing device 106 that has or is in the process of loading a tracking-enabled web page. It is assumed in this example that the tracking-enabled destination page is loaded as the result of the user\'s selection of this page from a search result listing. The process begins by receiving 502 a request from a user computing device 106 for the executable code 148 referenced within the referred-to page. For example, the web page can include a reference to the browser-executable tracking component 148 on the data collection server 302. The reference can be relatively simple, as illustrated by the following example using JavaScript code: <script type=“text/j avascri pt” src=“http://log.enquisite.com/log.js?id=enquisite”></script>. This causes the browser to request the browser-executable tracking component 148 (named log.js) from a server operating as the data collection server 302 (from the server addressed at log.equisite.com in this example). The external referencing of the browser-executable tracking component 148 permits updates to be made relatively easily (without having to update each tracking-enabled web page). While tracking information, such as the URL for the HTTP referer and the URL of the web page that is being tracked, can be collected by the data collection server 302 when providing the external browser-executable component 148, it is preferably not collected at that time for reasons that will be discussed below.
The browser-executable tracking code 148 executes when the web page is loaded and each time that the web page is reloaded. However, if the external browser-executable tracking component 148 (external script) has already been fetched by the browser, then the browser could retrieve the external browser-executable tracking component. 148 for subsequent reloads of the page or even loads of other web pages with the same referenced external browser-executable component 148 from a browser cache and without having to download the external browser-executable component 148 from the data collection server 302. In this case, then the data collection server 302 would not receive a request for information and would therefore not collect tracking information.
A more robust solution is described. After the browser-executable component 148 is loaded by the browser (either by being embedded in the web page or externally referenced), it is executed as the page loads. If the page is reloaded, it will also re-execute. In one embodiment, the browser-executable tracking component 148 has instructions for requesting a uniquely-named resource (unique to the browser) from the data collection server 302. For example, randomization techniques, such as random numbers or characters, can be appended to the name of a file. In another example, an incrementing count is appended to the name of a file. The browser then sends a request for the file from the data collection server 302. Since the filename is unique each time the browser-executable component 148 is executed, a local copy of the file is not available in the browser\'s cache. This forces the browser to retrieve the file from the data collection server 302, which then receives the request (506) for the file. While the filename may be random, the data collection server 302 can be configured to generate a file with the requested filename. Upon receiving the request (506) for the file from the browser, the data collection server 302 can then determine the IP address corresponding to the browser, the URL for the referred-to web page, the URL for the referring web page, and the like (508).
The data collection server 302 then receives and stores the search event information from execution of the browser-executable tracking component 148 (blocks 508 and 510 in FIG. 5). The browser-executable tracking component 148 can provide the information in a variety of ways. For example, the browser-executable tracking component 148 can provide raw URL information. The browser-executable tracking component 148 can provide the data collection server 302 with information, such as, but not limited to, the URL for the referring web page and the URL of the selected web page. The URL of the referring web page can then be deconstructed by the data collection server 302, either as the data arrives or later in a batch process, to provide, for example, the search query, the search engine used, and the like, as described earlier—in connection with Examples 1-10. In another embodiment, the browser-executable tracking component 148 sends pre-processed information, such as the search query, the search engine used, etc., already parsed from the browser. The extracted search event data elements are ultimately stored in the data store 122 in a format that is amenable to efficient data analysis and mining, together with an event timestamp.
Download full PDF for full patent description/claims.You can also Monitor Keywords and Search for tracking patents relating to this Analysis and reporting of collected search activity data over multiple search engines patent application.Patent Applications in related categories: 20130151501 - Index-side synonym generation - Methods, systems, and apparatus, including computer programs encoded on computer storage media, for index-side synonym expansion are disclosed. Some implementations include actions of obtaining a token sequence for a resource, wherein each token in the token sequence comprises one or more characters. The actions also include selecting a token from ...
How KEYWORD MONITOR works... a FREE service from FreshPatents1. Sign up (takes 30 seconds). 2. Fill in the keywords to be monitored. 3. Each week you receive an email with patent applications related to your keywords. Start now! - Receive info on patent apps like Analysis and reporting of collected search activity data over multiple search engines or other areas of interest.###
Previous Patent Application:System, method and apparatus for tracking digital content objectsNext Patent Application:Dynamically joined fast search views for business objectsIndustry Class:Data processing: database and file management or data structures###Design/code © 2013 FreshContext LLC/Freshpatents.com.Patent data source: patents published by the United States Patent and Trademark Office (USPTO)Information published here is for research/educational purposes only (and in conjunction with our Keyword Monitor) and is not meant to be used in place of the full USPTO patent document/images or a comprehensive patent archive search. Complete official applications are on file at the USPTO and may contain additional data/images. FreshPatents.com is not affiliated with or endorsed by the USPTO or firms/individuals or products/designs/ideas related to listed patents and there may be applicable trademarks or servicemarks within the documents.FreshPatents.com Support - Terms & ConditionsThank you for viewing the Analysis and reporting of collected search activity data over multiple search engines patent info.- - - AAPL - Apple, BA - Boeing, GOOG - Google, IBM, JBL - Jabil, KO - Coca Cola, MOT - Motorla
Results in 1.09723 seconds Other interesting Freshpatents.com categories: