The present invention relates to an advanced search engine. The advanced search engine may include a client component for monitoring an end-user's browsing activity, a remote server (may comprise one or more computers) for storing and processing data received from the client component, and a module that process web pages and serves search results to end-users. The advanced search engine may collect web pages for keywords of proven interest, fetch web pages requested by end-users, generate snippets or abstracts of the web pages, eliminate duplicate web pages, rank the importance of the web pages, and provide relevant web pages or links to web pages in response to an end-user search request for information regarding one or more keywords, for example. Particular aspects of the present invention are described in the claims, specification and drawings.

Patent
   8255413
Priority
Aug 19 2004
Filed
Aug 19 2005
Issued
Aug 28 2012
Expiry
Mar 09 2025

TERM.DISCL.
Extension
82 days
Assg.orig
Entity
Large
11
827
all paid
22. A computer-readable storage medium having stored thereon computer-executable instructions that configure a computing device on execution to:
receive, from a client-side behavior watching module operating on a computer system, recent navigation information regarding recent navigation behavior on the computer system, said navigation information including behavioral data and a keyword;
check the keyword against a list of commercial terms;
based at least in part on the check, determine whether the keyword is a commercial keyword;
if the keyword is determined to be a commercial keyword:
assign the keyword a keyword id; and
generate a first data structure that includes the keyword id, the behavioral data, and a domain id that corresponds to a domain of a search location;
rank links associated with the keyword with results of other navigation behavior; and
preferentially provide higher ranked commercial links in response to relevant search criteria.
23. A computer-readable storage medium having stored thereon computer-executable instructions that configure a computing device on execution to:
collect recent navigation behavior information regarding recent navigation behavior, wherein the recent navigation behavior information collected includes:
identification of documents electronically accessed;
categorization of the documents electronically accessed into various categories;
an indication of when documents in the various categories were electronically accessed; and
data sufficient to identify a conversion from an online purchase or registration in response to an advertisement;
submit at least a summary of the recent navigation behavior information along with a query including a keyword to one or more servers with a search engine, the summary including identification of the conversion in the data sufficient to identify a conversion; and
in response to said submitting, receive from the search engine a list of results biased to an interest category corresponding to the submitted recent navigation behavior information and ranked using results from multiple client-side behavior watching modules on other computer systems, wherein the list of results comprises higher ranked commercial links in response to relevant search criteria of the query if the keyword is associated with the conversion.
21. A method of resolving ambiguity in a keyword search term submitted to a search engine, the method comprising:
receiving, from a client-side behavior watching module operating on a computer system, recent navigation information, including a keyword and behavioral data, regarding recent navigation behavior on the computer system;
checking the keyword against a list of commercial terms;
determining whether the keyword is commercial;
if the keyword is determined to be commercial:
assigning the keyword a keyword id;
generating a first data structure that includes the keyword id, the behavioral data, and a domain id that corresponds to a domain of a search location; and
loading the first data structure into a first section of a data warehouse that is associated with commercial keywords;
if the keyword is determined to be non-commercial:
assigning the keyword an other id;
generating a second data structure that includes the other id, the behavioral data, and a domain id that corresponds to a domain of a search location; and
loading the second data structure into a second section of a data warehouse that is associated with non-commercial keywords;
ranking links associated with the keyword with results from client-side behavior watching modules on other computer systems; and
preferentially providing higher ranked commercial links in response to relevant search criteria.
13. A method of supplementing a search request with information that reflects recent navigation behavior among documents accessible via a network, the method comprising:
(A) operating a client-side behavior watching module on a computer system to collect recent navigation behavior information regarding recent navigation behavior, wherein the recent navigation behavior information collected includes:
(i) identification of documents electronically accessed;
(ii) categorization of the documents electronically accessed into various categories;
(iii) an indication of when documents in the various categories were electronically accessed; and
(iv) data sufficient to identify a conversion from an online purchase or registration in response to an advertisement;
(B) submitting at least a summary of the recent navigation behavior information along with a query including a keyword to one or more servers with a search engine, the summary including identification of the conversion in the data sufficient to identify a conversion; and
(C) in response to said submitting in (B), receiving from the search engine a list of results biased to an interest category corresponding to the submitted recent navigation behavior information and ranked using results from multiple client-side behavior watching modules on other computer systems, wherein the list of results comprises higher ranked commercial links in response to relevant search criteria of the query if the keyword is associated with the conversion.
1. A method of resolving ambiguity in a keyword search term submitted to a search engine, the method comprising:
(A) receiving, from a client-side behavior watching module operating on a computer system, recent navigation information regarding recent navigation behavior on the computer system, said navigation information including behavioral data and at least one keyword;
(B) checking the at least one keyword against a list of commercial terms;
(C) based at least in part on said checking in (B), determining whether the at least one keyword is a commercial keyword;
(D) if the at least one keyword is determined in (C) to be a commercial keyword:
(d1) assigning the at least one keyword a keyword id;
(d2) generating a first data structure that includes the keyword id, the behavioral data, and a domain id that corresponds to a domain of a search location; and
(d3) loading the first data structure into a first section of a data warehouse that is associated with commercial keywords;
(E) if the at least one keyword is not determined in (C) to be a commercial keyword:
(e1) assigning the at least one keyword an other id;
(e2) generating a second data structure that includes the other id, the behavioral data, and a domain id that corresponds to a domain of a search location; and
(e3) loading the second data structure into a second section of a data warehouse that is associated with non-commercial keywords;
(F) ranking links associated with the at least one keyword with results from client-side behavior watching modules on other computer systems; and
(G) preferentially providing higher ranked commercial links in response to relevant search criteria.
2. The method of claim 1, wherein the recent navigation information is categorized by interest categories and by recency of behavior.
3. The method of claim 1, wherein the recent navigation information includes data regarding accessing documents that are not all associated with a particular server-side behavior data collection network.
4. The method of claim 3, wherein the documents are web pages and the server-side behavior data collection network is an advertising network.
5. The method of claim 1, wherein the keyword is derived from context of a selection action.
6. The method of claim 1, further comprising assigning the keyword another keyword id if the keyword is determined to be noncommercial.
7. The method of claim 1, further comprising:
identifying a conversion associated with an online purchase or registration made in response to an advertisement; and
using the conversion as a factor in ranking the links.
8. The method of claim 1, further comprising:
determining that the keyword search term is submitted from a heavy searcher using the collected information; and
weighting the results from the client-side behavior watching module more heavily when ranking links because the keyword search term is submitted from a heavy searcher.
9. The method of claim 1, further comprising:
determining that the keyword search term is submitted among a high degree of involvement in a particular category using the collected information; and
weighting the results from the client-side behavior watching module more heavily when ranking links associated with the particular category because the keyword search term is submitted among a high degree of involvement in the particular category.
10. The method of claim 1 wherein the client-side behavior watching module is browser independent.
11. The method of claim 1 wherein the client-side behavior watching module is separate from a web browser.
12. The method of claim 1 wherein the client-side behavior watching module runs independently of browser programs on the computer system.
14. The method of claim 13, further including the behavior watching module filtering the documents accessed and categorizing the indication of when the categories were accessed.
15. The method of claim 13, wherein the keyword is derived from context of a selection action.
16. The method of claim 13 wherein the list of results is generated based, at least in part, on whether or not the keyword corresponds to a commercial keyword.
17. The method of claim 16 further comprising:
determining whether or not the keyword corresponds to a commercial keyword.
18. The method of claim 13 wherein the client-side behavior watching module is browser independent.
19. The method of claim 13 wherein the client-side behavior watching module is separate from a web browser.
20. The method of claim 13 wherein the client-side behavior watching module runs independently of browser programs on the computer system.

This application claims the benefit of U.S. provisional Patent Application Nos. 60/603,140 entitled “Method and Apparatus for Responding to End-User Request for Information” by Westover et al. filed on Aug. 19, 2004; 60/637,684 entitled “Method and Device Publishing Cross-Network User Behavioral Data” by Wohlers et al. filed on Dec. 20, 2004; 60/662,680 entitled “Method and Device for Publishing Behavioral Observations to Customers” by Eagle et al. filed on Mar. 17, 2005; and 60/660,798 entitled “Method and Apparatus for Responding to End-User Requests for Information” by Westover et al. filed on Mar. 11, 2005. This application continues-in-part the disclosure of U.S. patent application Ser. No. 11/015,583 entitled “Search Engine for a Computer Network” by Anthony G. Martin filed on Dec. 17, 2004. These identified applications are incorporated by reference for all purposes.

This application is related to the contemporaneously filed U.S. patent application Ser. No. 11/207,589 entitled “Method and Apparatus for Responding to End-User Request for Information—Collecting,” filed on Aug. 19, 2005 and issued as U.S. Pat. No. 7,444,358 on Oct. 28, 2008, and U.S. patent application Ser. No. 11/207,592, entitled “Method and Apparatus for Responding to End-User Request for Information—Ranking”, also filed on Aug. 19, 2005, and issued as U.S. Pat. No. 7,836,009 on Nov. 16, 2010.

The present invention relates to an advanced search engine. The advanced search engine may include a client component for monitoring an end-user's browsing activity, a remote server (may comprise one or more computers) for storing and processing data received from the client component, and a module that process web pages and serves search results to end-users. The advanced search engine may collect web pages for keywords of proven interest, fetch web pages requested by end-users, generate snippets or abstracts of the web pages, eliminate duplicate web pages, rank the importance of the web pages, and provide relevant web pages or links to web pages in response to an end-user search request for information regarding one or more keywords, for example. Technical problems solved, measures used and results obtained are discussed below.

One approach to search engines, taken by Google, is to organize the world's information and make it universally accessible and useful. Another approach, once taken by Dogpile, is to have a meta-search engine aggregate the results of other search engines. These approaches create a great haystack of results. For instance, the keyword “cheap travel” returns about 18,000,000 results from Google, about 85,800,000 from Yahoo and 68,377,619 from MSN, as of summer 2005!

Much work has been done to float the “needles” to the top of the results haystack, to devise methods of ranking links returned in response to a query. Google's published patent applications propose, in their titles, to use local inter-connectivity, article information, location awareness and other factors to decide on the position of results. Yahoo, Overture and Microsoft also have worked to refine their presentation of results.

In any set of information, a search term is sometimes not enough to determine what results are sought. In one sense, the search term may be ambiguous, as extensively discussed in Bharat et al., “Generating User Information for Use in Targeted Advertising”, US 2005/0131762 A1 published Jun. 16, 2005 and in Carrasco et al., “Disambiguation of Search Phrases Using Interpreation Clusters”, US 2005/0015366 A1 published Jan. 20, 2005. The term “jaguar” might refer to cars, animals, a football team, or an operating system. Even if a term were unambiguous, different users might prefer to access different information. For instance, teenage travelers, business travelers and luxury travelers look for different travel arrangements and accommodations, potentially using similar search terms.

It is desirable to return the most relevant results, whether in response to a search or, more generally, on an information feed. The growing number of documents published on web sites (and of documents accessible on private servers) invites development of alternative or improved technology to quickly return relevant results responsive to users' queries. In effect, to find the 50 or 100 most relevant web sites for a particular user whose keyword is “cheap travel” and effectively summarize them for the user. This further invites development of technologies that personalize the information returned, whether content, sponsored content or advertising, based on the interests of the user.

FIG. 1 is a schematic diagram of an example computer that may be used in various embodiments.

FIG. 2 shows a schematic diagram of a computing environment in which this technology may operate.

FIG. 3 schematically illustrates the tracking of a conversion process.

FIG. 4 depicts a high level block diagram of components that can function together to produce a search engine that personalizes sponsored and non-sponsored information delivery.

FIG. 5 is an example of a cookie or data record that reports a URL clicked.

FIG. 6 is an example of a cookie that stores the most recent commercial keyword of interest.

FIG. 7 is an example of summary data maintained by the behavior watcher that may be written to persistent memory.

FIG. 8 illustrates a bit string further summarized by category.

FIG. 9 illustrates buckets that may be applied to recency of using search words, clicking through, entering URL destinations or other indications of user interest.

FIG. 10 illustrates buckets that can be applied to frequency of visits.

FIG. 11 illustrates how a category ID can be associated with both the category name and a revenue priority.

FIG. 12 compares the insight that a behavior watching module on a user's machine gives regarding web surfing with the limited view that a server can achieve.

FIG. 13 depicts a web page highly relevant to the keyword “cars”.

FIG. 14 is a counter example of a page weakly relevant to “cars”.

FIG. 15 juxtaposes the results for “cars” from Yahoo!, msn Search and Google with an embodiment of the search engine described herein.

FIG. 16, illustrates user differentiation using results from a behavior watching module.

FIG. 17 depicts traffic to a particular domain, from a particular search engine, by keyword.

FIG. 18 shows an example of a web spider that may be implemented by a Java application operating in a Linux environment.

FIG. 19 provides data regarding the importance of recent behavior in response to banner ads, measured by click through rates.

FIG. 20 depicts how the window scoring routine begins with the first word of text within the document.

The following detailed description is made with reference to the figures. Preferred embodiments are described to illustrate, not to limit the scope of the claims. Those of ordinary skill in the art will recognize a variety of equivalent variations on the description that follows. Persons of ordinary skill in the art will recognize, however, that the embodiments described can be practiced without one or more of the specific details. In other instances, well-known details are not shown or described to avoid obscuring aspects of the embodiment.

Being computer-related, it can be appreciated that the components disclosed herein may be implemented in hardware, software, or a combination of hardware and software e.g., firmware). Software components may be in the form of computer readable program code stored in a computer-readable storage medium, such as memory, mass storage device, or removable storage device. For example, a computer readable medium may comprise computer-readable program code for performing the function of a particular component. Likewise, computer memory may be configured to include one or more components, which may then be executed by a processor. Components may be implemented separately in multiple modules or together in a single module.

Embodiments and aspects of embodiments described below can be applied to solve various technical problems. One problem applies to a large network: how to monitor and usefully aggregate patterns of communication among users, search engines and documents accessed. In one scenario, the users are surfing the Internet at widely disbursed personal computers; the search engines include Baidu, Google, Yahoo! and MSN; the documents are pages posted on web sites around the world. In another, employees use an enterprise intranet with an enterprise search engine to locate reference documents exposed on workgroup servers. Addressing these problems may involve positioning a behavior observing module where it can monitor the communication channels in use and report observations to a server, preferably without disrupting the users' routines. In one embodiment, the behavior observing module may run on the user's personal computer (such as a desktop, laptop or handheld computer or media center device). The module can observe both communications and the status of the user's machine when the communications take place. For example, what search terms and results did a user follow to a particular web site? The module can achieve distributed processing and substantially reduce the resources required to aggregate communication behavior by filtering reports and categorically encoding activity. It may report observations to the server as resources are available or when a user browses to an affiliated domain. As part of the ordinary uploading of cookies to domains accessed, observation cookies can be transmitted to the server. The server can aggregate reported patterns of communication. One technical result is receiving reports from communication monitors positioned across a large network and aggregating patterns, including the status or state of individual computers when communications took place. In turn, the aggregated patterns of communications can be used to pre-organize information for retrieval or publication, in anticipation of a query or contact.

A related technical problem is how to organize over-abundant electronic records based on the current and recent status of a particular terminal connected to a network, to enhance the relevance of the first records presented to a user. The over-abundant electronic records may come from web sites world wide, such as the web sites for “jaguar.” Or, they may be documents stored on workgroup servers. They are over-abundant in the sense that they are too numerous to display on a user's screen without repeatedly pressing “page down” or the like. The current and recent status of the terminal, preferably associated with a particular user, may include web sites visited within the last 24 hours (or some other period) before a search query was submitted. Or, it may include a history of documents retrieved from workgroup servers. Either type of activity may be preprocessed and categorically classified. The period for reporting terminal status may precede a query or request for a personalized electronic journal that selects and filters the information based on the current and recent status of the terminal. The technical method again involves a behavior watching module running on the user's computer. In this embodiment, the module summarizes terminal status, publishes the summary to an electronic record (e.g., a cookie) and communicates the record to a search engine or other site that the user contacts. Reporting categorical summaries of status or activity distributes processing and reduces the need for server-based resources. The search engine uses the information, for instance, to determine what sense of “jaguar” is of interest? A highly involved auto category user who searches for “jaguar” would get Jaguar auto related links, while a person with no relevant category involvement would get a mix of auto, animal, etc. links. Category profiles may be developed to further categorize a user's interests. A new parent in the suburbs might be recognized from content accessed and be assigned to a different category for home accessories or cars than a single gen-X 20-something person. Life change events also might be recognized, such as marriage, home buying or parenthood. Like the “jaguar” example, for a “travel Italy” inquiry, the search engine might determine the style of travel that interests the user and organize the over-abundant electronic records accordingly. The technical result is respond to a query or contact based on an electronic report of the status or recent activity of a terminal, selecting from over-abundant electronic records a particular set of records that are most likely relevant to the current and recent status of the terminal.

Web-wide behavioral targeting differs substantially from site-side behavioral targeting. Practicing site-side behavioral targeting, a group of affiliated sites attempt to identify commercial behaviors. The sites typically serve ads, such as portals and news sites. Messages are displayed on the affiliated sites, responsive to behavior that is recognized from visits to the affiliated sites. The results of site-side behavioral targeting are better than non-behaviorally targeted campaigns, but depend on insight that can be gained from a narrow portion of user's behavior, as illustrated by FIG. 12, which is described below. Web-wide behavioral targeting, in contrast to site-side, can identify commercial surfing behavior and, optionally, non-commercial surfing behavior of interest, across all sites, even sites to do not accept advertising. This is significant because 90% of commercial Web activity takes place at sites or on pages that do not display advertising. Therefore, portals see less than 10% of user's total commercial activity, as measured by page views. Non-portal publishers see less than 3% of their users' total commercial activity. A behavior watching module may simplify the relationship with web site operators and allow messages to be displayed across a larger network of publishers than participate in site-side behavioral targeting. Web-wide behavioral targeting produces better results than site-side behavioral targeting.

Referring now to FIG. 1, there is shown a schematic diagram of an example computer that may be used in various embodiments. Depending on its configuration, the computer shown in the example of FIG. 1 may be employed as a client computer, a server computer, or other data processing device. The computer of FIG. 1 may have less or more components to meet the needs of a particular application. As shown in FIG. 1, the computer may include a processor 101, such as those from the Intel Corporation, Advanced Micro Devices or IBM, for example. The computer may have one or more buses 103 coupling its various components. The computer may include one ore more input devices 102 (e-g., keyboard, mouse), a computer-readable storage medium (CRSM) 105 (e.g., floppy disk, CD-ROM), a CRSM reader 104 (e.g., floppy drive, CD-ROM drive), a display monitor 109 (e.g., cathode ray tube, flat panel display), a communications interface 106 (e.g., network adapter, modem) for coupling to a network, one or more data storage devices 107 (e.g., hard disk drive, optical drive, FLASH memory), and a main memory 108 (e.g., RAM). Software embodiments may be stored in a computer-readable storage medium 105 forwarding into a data storage device 107 or main memory 108. Software embodiments in main memory 108 may be executed by processor 101. In the example of FIG. 1, main memory 108 is shown as having a behavior watching and message delivery program 120, which is further described below. Behavior watching and message delivery program 120 and other programs in main memory 108 may be loaded from a computer-readable storage medium 105, a data storage device 107, or over the Internet by way of communications interface 106, for example. Behavior watching and message delivery program 120 and other programs in main memory 108 may be executed by processor 101.

FIG. 2 shows a schematic diagram of a computing environment in which this technology may operate. In the example of FIG. 2, the computing environment includes one or more web server computers 160 (i.e., 160-1, 160-2, ..., 160-n), one or more client computers 110, one or more message server computers 140, and other computers not specifically shown. In the example of FIG. 2, a client computer 110 communicates with server computers (e.g., a web server computer or a message server computer) over the Internet. As such, arrows 201 denote Internet connections in this example. Intermediate nodes such as gateways, routers. bridges, Internet service provider networks, public-switched telephone networks, proxy servers, firewalls, and other network components are not shown for clarity.

A client computer 110 is typically, but not necessarily, a personal computer such as those running the Microsoft Windows™ operating system, far example. A consumer may employ a suitably equipped client computer 110 to get on the Internet and access computers coupled thereto. For example, a client computer 110 may be used to access web pages from a web sever computer 160.

A web server computer 160 may be a server computer hosting a website, which comprises web pages designed to attract consumers surfing on the Internet. A web server computer 160 may include web pages supporting advertisements, downloadable computer programs, products available for online purchase, and so on. As can be appreciated, a website may be on one or more server computers.

A message server computer 140 may include the functionalities of a web server computer 160. In one embodiment, a message server computer 140 further includes a database 170 and a search engine 650. Database 170 may be a commercially available database, such as those available from the Oracle Corporation. Database 170 may store client data received from behavior watching and message delivery programs 120 running in client computers 110. The client data may be transmitted from a client computer 110 to message server computer 140 in a data packet 121. The client data may include navigation and behavioral data obtained by a behavior watching and message delivery program 120 by monitoring a consumer's on-line activities. In the example of FIG. 2, message server computer 140 is shown as communicating with one client computer 110 for clarity of illustration. In practice, message server computer 140 receives data packets 121 containing client data from a plurality of client computers 110, each of which has a behavior watching and message delivery program 120. A message server computer 140 may also include downloadable computer programs and files for supporting, updating, and maintaining software components on a client computer 110.

Web server computers 160 and message server computers 140 are typically, but not necessarily, server computers such as those available from Sun Microsystems, Hewlett-Packard, or International Business Machines. A client computer 110 may communicate with a web server computer 160 or a message server computer 140 using client-sever protocol. It is to be noted that client-server computing is well known in the art and will not be further described here.

As shown in FIG. 2, a client computer 110 may include a web browser 112 and a behavior watching and message delivery program 120. Web browser 112 may be a commercially available web browser or web client. In one embodiment, web browser 112 comprises the Microsoft Internet Explorer.TM. web browser. A web browser allows a consumer on a client computer to access a web page. In the example of FIG. 2, web browser 112 is depicted as displaying a web page 313 from a web server computer 160, A web page, such as web page 113, has a corresponding address referred to as a “URL” (Uniform Resource Locator), Web browser 112 is pointed to the URL of a web page to receive that web page in client computer 110. Web browser 112 may be pointed to a URL by entering the URL at an address window of web browser 112, or by clicking a link 203 (ie., 203-1, 203-2, . . . , 203-n) pointed to that URL, for example.

In one embodiment, behavior watching and message delivery program 120 is downloadable from a message server computer 140 or a web server computer 160. Behavior watching and message delivery program 120 may be downloaded to a client computer 110 in conjunction with the downloading of another computer program. For example, behavior watching and message delivery program 120 may be downloaded to client computer 110 along with a utility program 181 that is provided free of charge or at a reduced cost. Utility program 181 may be a wallet or calendar program, for example. Utility program 181 may be provided to a consumer in exchange for the right to deliver advertisements to that consumer's client computer 110 via behavior watching and message delivery program 120. In essence, revenue from advertisements delivered to the consumer helps defray the cost of creating and maintaining the utility program. Behavior watching and message delivery program 120 may also be provided to the consumer along with free or reduced cost access to an online service, for example.

Behavior watching and message delivery program 120 is a client-side program in that it is stored and run in a client computer 110. Behavior watching and message delivery program 120 may comprise computer readable program code for displaying advertisements in a client computer 110 and for monitoring the online activity of a consumer on the client computer 110. It is to be noted that the mechanics of monitoring a consumer's online activity, such as determining where a consumer is navigating to the URL of web pages received in client computer 110, the domain names of websites visited by the consumer, what the consumer is typing on a web page, what keyword the consumer is providing to a search engine, whether the consumer clicked on a link or an advertisement, when the consumer activates a mouse or keyboard, and the like, is, in general, known in the art and not a further described here. For example, behavior watching and message delivery program 120 may learn of consumer online activities by receiving event notifications from web browser 112.

Behavior watching and message delivery program 120 may record the consumer's online activity for reporting to message server computer 140. The recorded consumer online activity is also referred to as “client data,” and provided to message server computer 140 using data packets 121. Message server computer 140 may use the client data to provide targeted advertisements to the consumer. Message server computer 140 may include the advertisement or data for displaying the advertisement in a message unit 141. In the example of FIG. 2, the targeted advertisement is labeled as advertisement 116 and displayed in a presentation vehicle 115. Presentation vehicle 115 may be a pop-under, pop-up, separate browser window, custom browser window, or other means for displaying an advertisement on a computer screen. Techniques for delivering advertisements to client computers using a client-side program are also disclosed in commonly-owned U.S. application Ser. No. 10/152,204, entitled “Method and Apparatus for Displaying Messages in Computer Systems,” filed on May 21, 2002 by Scott G. Eagle, David L. Goulden, Anthony G. Martin, and Eugene A. Veteska, issued June 27, 2006 as U.S. Pat. No. 7,069,515, which is incorporated herein by reference in its entirety.

As will be more apparent below, behavior watching and message delivery programs are primarily used to obtain client data far building a search engine index, not necessarily to display presentation vehicles in a client computer 110, That is, a behavior watching and message delivery program does not necessarily have to display advertisements in a client computer 110. This is advantageous in that consumers may be allowed to obtain a free or reduced cost utility program 181 (or other benefits) without having to see advertisements from the provider or sponsor of the utility program.

FIG. 3 schematically illustrates the tracking of a conversion process. A “conversion” occurs when a consumer makes an online purchase or registration in response to an advertisement presented to her. As will be more apparent below, the embodiments may use conversion as a factor in ranking a keyword-link combination. In the example of FIG. 3, web pages 202 (i.e., 202-1, 202-2, . . . ) may be sequentially displayed in the same or separate windows of web browser 112. Each web page 202 includes a page identifier 210 (i.e., 210-1, 210-2, 210-3 . . . , 210-4, 210-5), which may be a URL. Behavior watching and message delivery program 120 records the URLs of web pages 202 viewed by the consumer as well the amount of time the consumer spent with each web page as navigation data. For purposes of the present disclosure, the web pages “viewed” by consumers are those web pages received in client computers. In the example of FIG. 3, navigation data 627 comprises log entries 117 (i.e., 117-1, 117-2, . . . , 117-n). Each log entry 117 includes a machine ID anonymously identifying the client computer 110 (or the consumer), a page identifier, and a time stamp indicating when the log entry 417 was made. The time stamps between log entries 117 provide an estimate of the amount of time the consumer spent viewing the indicated web page. A log entry 117 may be created for each web page 202 viewed by the consumer. For example, a log entry 117-1 may be created when the consumer clicks oh a link 501 to receive web page 202-2. In client computer 110, a log entry 117-2 may be created when the consumer receives web page 202-3 in client computer 110, and so on.

In the example of FIG. 3, web page 202-2 is also referred to as a “landing page” because it is the web page directly pointed to by an advertisement having a link in web page 202-1. A website that sells products on line may also have a “confirmation page” 202-5. A confirmation page is a web page provided to the consumer to confirm a just completed online purchase. Alternatively, a confirmation page may involve confirmed submission of registration information. A website may have “intermediate pages” 202-3, 202-4, and so on between a landing page 202-2 and a confirmation page 202-5. An intermediate page may be an online product catalog, shopping cart, and other types of web pages. The page identifiers of landing and confirmation pages of popular or partner websites may be stored in database 170 of message server computer 140, the page identifiers of the landing and confirmation pages may be compared to those in navigation data 627 of client computers 110 to determine the number of consumers making online purchases from a particular web page. As can be appreciated, web pages from which consumers make purchases may be highly relevant, and may thus be deemed a consumer preferred page. Techniques for monitoring consumer purchase behavior are also disclosed in commonly-owned U.S. application Ser. No. 10/464,419, entitled “Generation of Statistical Information in a Computer Network,” filed by David L. Goulden and Dominic Bennett on Jun. 17, 2003, published Dec. 23, 2004 as U.S. Pub. No. 2004-0260744, and issued July 15, 2008 as U.S. Pat. No. 7,401,140, which is incorporated herein by reference in its entirety.

Process Flow

FIG. 4 is a high level block diagram of components that can function together to produce a search engine that personalizes sponsored and non-sponsored information delivery. As background, behavior watching modules currently capture behavioral web-navigation information on over 40 million machines in the U.S. and abroad. The information collected will expand and be adapted as needed. This navigational behavior information is currently used to power web-wide GMT ad vehicles (e.g., pop-ups and slide-unders) as well as power many data-rich applications that give unique insights into consumer behavior across the web. The behavior watching module has the ability to see the entire search life-cycle, from observing the initial keyword entered, to the resultant links displayed, to post-click metrics including dwell times, pages viewed, repeat visits, and post-click purchases or registrations. By aggregating a user's behavior, category profiles and life change events can be determined. User sophistication with search engine usage and degree of category involvement can be determined over time. Using this information, one can select and re-rank the search results, filtered by humans who requested the searches, not by bots.

Data Collection

Web usage statistics are collected (407) using behavior watching modules (120) for users searching on selected search engines across the Internet or an enterprise intranet. The modules send back information related to their searches and how effective their searches were on each particular search engine for each particular keyword. The information is captured in a database, which is loaded daily or at some other concurrent frequency. Information available includes what the user saw and how they responded. URLs seen by the user may be displayed in algorithmic or natural sections the results. Pertinent information available for a single search term includes machine id, keyword, search engine where search was performed, resultant URLs, algorithmic URLs, bidded URLs, paid inclusion URLs, whether or not a URL was clicked, number of pages viewed, dwell time, repeat visits and user metrics such as category involvement and search engine sophistication.

Some statistics from U.S. users can bring to life the analytical reach of data collection and ranking. The one million most frequently used keywords presently account for just more than half of the searches conducted on the major search engines, 53% of the searches. The 10,000 most frequent searches account for 38%. The distribution of keywords entered as searches can be represented by a Zipf distribution, which plots as a straight line on a graph with logarithmic scale on both axes. See, e.g., Jacob Nielson, “Diversity is Power for Specialized Sites”, Alertbox (Jun. 16, 2003) accessed Aug. 13, 2005 at http://www.useit.com/alertbox/20030616.html. It is estimated that 2,000 behavior watching modules will generate enough data to rank the 10,000 most frequent searches. A larger group of behavior watching modules will cover the most frequent searches. A base of 40 million behavior watching modules may capture 30 billion rows of data per month, filtered from 150 billion page views observed. Among the page views observed, on the order of 8 billion commercial events per month are noted, including more than 2.5 million purchases. These numbers and even a passing familiarity with statistics should excite the reader to aggregating the intelligence and behavior of a multiplicity of searchers, and presenting by popular acclaim the most significant web sites on the first page of results from a search engine. A search engine that uses aggregated consumer behavior is well-positioned to rate the authority and popularity of pages/documents as responsive to a search request.

FIGS. 5-11 are examples of data records or cookies that can communicate information from the behavior watching module to a ranking and link-following server and to a search engine that produces personalized results. FIG. 5 is an example of a cookie or data record that reports a URL clicked. A keyword 501, time stamp 502 and list of one or more URLs selected by the user 503 are conveyed, for instance in a cookie when a user reaches a web site affiliated with one of the servers or in a data record when the behavior watching module reports activity, independently of Internet surfing behavior. Additional data regarding conversion status, return conversion status, rank in a list that a user saw, etc. can be included in such a cookie or data record.

FIG. 6 is an example of a cookie from that stores the most recent commercial keyword of interest. This may be the most recent commercial keyword of interest from a search or a keyword associated with a URL or click-through. More than one recent commercial keyword of interest may be stored in one or more cookies, following the example of FIG. 6. One attribute or field of this cookie is the version of the crumb 602. Another is the time written 604, which may be expressed in seconds from 1970 to the time the cookie is written. A commercial flag 606 may be used to categorize the keyword type, for instance between key words that are of current commercial interest and key words that are for sale. The keyword may be included 608, either in text or as a shorthand code. A character set 610 such as UFT-8 may be included to assist with decoding of the keyword 608. This may be important in international settings.

FIG. 7 is an example of summary data maintained by the behavior watcher 120 that may be written to persistent memory 122. In this example, a category ID 802 is a shorthand for a particular category. Bins are allocated for a current period 702, such as a day. The periods may be of equal length for different lengths. In one embodiment, a bit string implements the bins. A history of 60 days may be implemented by 60 bits plus storage for a category ID. Each bin corresponds to a particular time segment. A bit flag indicates whether there was activity 704 related to the category during the particular time segment. At a regular time corresponding to the shortest period represented by any bin, the bit string is updated. Data are shifted into older bins, making room in the most recent bin. Data regarding recent activity is summarized into the most recent bin, labeled zero in the figure. If bins represent unequal amounts of time, special provisions are made at the boundaries between shorter and longer time bins, either algorithmically or by allocating additional storage. For instance, activity during any one-hour segment during a preceding day may result in setting the bit flag in a day-long time segment. The day-long time segment is flag “0” only if the hour segment flag at midnight is “0” when the midnight update takes place. This is an example of an algorithmic provision at the boundary between a one-hour segment and a day-long segment. Alternatively, storage may be allocated for bins to record number of visits in a particular time segment. This may significantly increase the amount of storage required, without necessarily changing how a reported-behavior aware server 132 responds. Compact storage is preferred when there are hundreds of categories and the practical limit for the size of a cookie is 2K to 4K bytes. Cookies can be sent to a server that archives user activity data. The user activity data can be used for analysis or targeting of ads. A bit string can be further summarized by category, shown in FIGS. 8-10.

FIG. 9 illustrates buckets that may be applied to recency of using search words, clicking through, entering URL destinations or other indications of user interest. The most recent visit is recorded by membership in a particular bucket. One of 15 or 16 buckets can be identified with four bits. In the figure, the buckets are of unequal length. A single, most recent visit record such as illustrated by FIG. 6 or an entry kept in memory can be used to assign a category to a particular bucket.

FIG. 19 provides data regarding the importance of recent behavior in response to banner ads, measured by click through rates. A user who had behavior within the last hour in an advertising category was 30 times as likely to respond to a banner ad as one with no behavior over the last 7 days in the category. Behavior in the last hour, two hours or three hours has been observed to generate a huge increase in responsiveness to banner ads. Even behavior within the last seven days correlates strongly with a user's interest. Preferably, the selection of recency bucket sizes reflects the observed power of recent behavior illustrated by the figure.

FIG. 10 illustrates buckets that can be applied to frequency of visits. When the bit string of FIG. 7 is organized by days, activity in a category can be assigned to buckets of different visit frequencies, such as 0, 1, 2, 3, 4 or 5, 6 to 10, 11 to 30, or 31 to 60 days out of the last 60 days in which the user indicated interest. The number of bits set in the bit string is counted and summarized using this categorization.

With the categorical coding of recency and frequency in mind, we turn to FIG. 8. A single cookie may record data for many category IDs 802. For each category ID, three or more metrics of user interest may be recorded. One or more recency categories 804 can be recorded. The recording of recency can be applied to key words submitted to search engines or to other kinds of user behavior, described above. One or more frequency categories 806 can be recorded, applied to key words submitted or other kinds of user behavior. Banner clicks 808 can be separately categorized by recency, frequency or both. The comments in data column 810 are editorial comments to explain the data in the table and are not part of the data. Category ID 98409 experienced heavy and recent user interest. Category ID 65625 experienced heavy user interest last month. Category ID 68530 experienced light, recent user interest. Category 147374 experienced light activity last month, which probably also should be reflected by a nonzero value under frequency 806.

The behavior watcher module 120 preferably sorts the category history information in FIG. 8 so that the most important categories are listed first. Alternatively, the system could leave the category sorting to the reported-behavior responsive server 132. As illustrated in FIG. 11, a category ID 1102 can be associated with both the category name 1104 and a revenue priority 1106. It may be useful to sort category history information by revenue priority 1106, especially if only a portion of the client-sided user behavior data is transmitted to a reported-behavior responsive server 132.

The statistics returned regarding web usage may or may not distinguish between commercial and non-commercial keyword searches. This distinction is made at the time of loading into the database where keywords are checked against the ever-changing list of commercial terms, for instance, terms bidded by Overture. If a keyword is determined to be commercial, then it is assigned a keyword id, which may be compatible with the Overture keyword id list. If the keyword is not deemed commercial, then another id is assigned in the data loading process.

These two types of data (commercial and non-commercial) are loaded into separate sections of a data warehouse. At the time of a new search engine loading run, keyword data is extracted from both the commercial and non-commercial tables. The results are joined and unique keyword ids are assigned from a master table. A keyword can sometimes be found in both the commercial and non-commercial contexts. For instance, if the commercial nature of a keyword is tied to whether it's being bidded upon, a keyword which is not commercial today may become a commercial tomorrow, if it receives a bid. This duality of keywords creates non-unique keyword ids as the same keyword may have both a keyword id created by a bidding process and a second one created through the load process. To eliminate this, it is preferred to create and-maintain a single unique keyword id for every keyword. This list is updated when new keywords are discovered, and assigns existing ids to keywords already in the system.

Some preprocessing may be performed by the behavior watching module to simplify the URLs reported. URLs are unwrapped and cleaned in a separate process. URLs are often wrapped by search engines to enable the serving search engine to track clicks on served URLs. There are many different forms of URL wrapping. For example, a wrapped URL from yahoo.com might be: http://rds.yahoo.com/S=2766679/K=bmw/v=2/SID=w/1=WS1/R=2/SS=100040736/H=1/SHE=0/*-http://www.bmwmotorcycles.com/. Unwrapping the URL produces http://www.bmwmotorcycles.com

From the server's perspective, the process begins with receipt (401) of behavioral information. The server uses whatever information it receives. From the user's perspective, the behavior watching module will report its observations and the user will receive search results ordered aggregating the user's information with others and/or will receive personalized to the user's recent behavior.

De-duping may also occur at the URL level. Information for two URLs which are identical is aggregated into one single URL. If two URLs differ even slightly however, (e.g., by a slash) then the two distinct versions are kept and another attempt at de-duplication is made as described below, for instance, using a combination of title and generated snippet.

Conversion data can be associated to a specific search by an algorithm that ties a search URL click to a specific conversion event, which occurred within a predetermined window. Usage and conversion data are matched for advertiser domains (URLs) that have clicks at the machine id, query time, advertiser domain level. For a particular machine with a click on a particular advertiser domain, if a conversion stat is observed within a predetermined window, then the conversion is attributed to that search click. If the conversion falls outside of the predetermined window, then the search click is not attributed.

For machine id-advertiser domain pairs that have a conversion stat attributed, subsequent future conversions are attributed as repeat conversions. These attributes also may be carried along and are available for use by a ranking algorithm (404). Metrics included with search data include number of visits, time spent (dwell time) and pages viewed.

Domain event data are joined to user data (with conversion metrics) at the machine id-advertiser domain level across sources, for combining search behavior for U.S. machines at google.com, msn.com, and yahoo.com. These results are put into time series order within machine id and advertiser domain. Domain events which occur within a predetermined time period following a search click are assigned as post-click metrics for that search click on that particular advertiser domain. If post-click metrics cannot be assigned to a particular search-click, the record is thrown out.

Several of the domain event data elements are subject to inaccuracies manifested in the client-sent stats. Both time spent and pages viewed are occasionally misreported, and at other times, accurately reported, but in need of logically driven limits to be imposed.

Time spent can be misrepresented by machines having bad or inaccurate clocks. It can be accurately represented but in need of caps in such a case when a machine is left on a particular domain for an extended period of time. In order to cap outliers and to maintain a reasonable threshold for time spent on a site post click, a time limit of 30 minutes has been employed. A cap for pages viewed has also been implemented and set at 5. Other time and pages viewed caps may be substituted. These caps can be implemented on the behavior watching client side or after data are received at a host. In addition, user activity can be monitored by the behavior watching module so that extended periods of inactivity are not counted as dwell time.

When data are joined and aggregated at the machine-id, keyword, and URL level, the resulting data structure may include: machine-id, keyword, keyword_id, URL, URL_ID, domainid (corresponds to the domain of the URL), clicks, dwell_per_click, pages_per click, conversions_per_click, rank_position (from search results list viewed by the user). Optionally, only keywords of predetermined interest (402 may be processed. For instance, keywords having commercial interest, such as bidded keywords, may be processed.

Outliers optionally may be removed (403), to avoid scoring anomalies. One example of an outlier is a link that is returned only once by a search engine and followed with enthusiasm by the user when was returned. A single strong sample point can give a link an unbeatable average score. A link that appeared just before a keyword was rescored could potentially be ranked in the top position for that keyword on the basis of a single sample! Accordingly, one example of optionally removing outliers is to not rank links unless they have been followed a predetermined number of times. For instance, if a link has not been selected by users and followed at least 10 or 100 times, it might remain unranked until its activity level reached the predetermined level or threshold

Ranking Algorithm

A URL ranking algorithm (404) has been developed to identify and rank links for any given keyword. Many variations on combining the aggregated observations have merit, as discussed below. One combination uses URL click rate and dwell time metrics (time spent at the domain and/or number of pages viewed), to select and rank URLs.

Optionally, user responses can be normalized for the position of a URL in a search result set. Position produces an inherent bias in URL click data for search results, which may be desirable or not. URLs occupying higher ranks gamer higher clicks. In order to account for this bias, a normalization algorithm was developed to put clicks on links in disparate positions on equal footing.

Data is aggregated for each position and average click through rates, average time spent, and average pages viewed are calculated. For each rank position (1-n), there are at least three average aggregate measures of that position's importance: click through rate, time spent and pages viewed. Normalization of these measures can be expressed as:

Pages Viewed Inflation Factor for Position n = Avg Pages Viewed ( Position 1 ) Avg Pages Viewed ( Position n ) Dwell Time Inflation Factor for Position n = Avg Dwell Time ( Position 1 ) Avg Dwell Time ( Position n ) Pages Viewed Inflation Factor for Position n = Avg Pages Viewed ( Position 1 ) Avg Pages Viewed ( Position n )
This embodiment calculates and ranks top URLs for any keyword (404) based upon observed user metrics.

This embodiment may re-rank results based upon a time share metric, which corresponds to an individual machine's percentage vote. The algorithm takes into account user web surfing patterns and effectively places users on equal voting for relevant links. The premise is that a user has a certain amount of time which is spent on a site post a search click. These times are totaled to form the individual user's total time value which was spent viewing sites post search clicks. Percentages of the total time are then calculated for each URL click made by that particular user, resulting in a time fraction vote.

In using this methodology, users who in general spend less time surfing the Web have the same voting power as users who tend to spend longer amounts of time. This evens the playing field across all categories. Alternatively, other embodiments may take into account other factors which make up an individual user's profile. Users identified as category experts may have a higher vote. For example, a user highly involved in the electronics category may have his vote count more for links clicked than a user who is new to the category. The voting blocks may take place within a particular category, and not across all categories as a whole.

The following detailed computational example applies to a specific keyword-URL pair through the aggregation and cleansing process.

Links in higher positions garner higher clicks and hence possess higher click through rates. It follows that users also tend to spend longer amounts of time and view more pages at URLs occupying these higher ranks. In order to account for this bias, a normalization process is applied.

Average clicks, average dwell time, and average pages viewed are calculated for each position regardless of keyword or URL combinations. These numbers are shown below as Position Averages. Average fraction clicks, dwell time and page views are also shown for this keyword, URL combination. These average fractions correspond to the percentage of each metric devoted by all machines to each keyword, URL, position grouping.

Position Position Position Average
Average Average Average Average Average Fraction
Share of Share of Share of Fraction Fraction Page
Kwd URL POS Clicks Dwell Time Page Views Clicks Dwell Time Views
01 101 1 0.15 0.14 0.18 .25 .14 .08
01 101 3 0.13 0.12 0.15 .21 .17 .09
01 101 7 0.09 0.11 0.1 .32 .18 .11

Inflation factors are calculated for each position and applied to the appropriate observed metrics, normalizing them for position. The normalizing equation:

Inflation Factor For Position n = Average ( Position 1 ) Average ( Position n )

Clicks, dwell time, and page views in lower positions are factored up by the appropriate inflation factor observed for that particular position. In the example below, the average fraction dwell time for position 7 pre-normalization was 0.32. After the application of the inflation factor, the average fraction dwell time was 0.53. This number is now a normalized dwell time.

Clicks Dwell Time Page Views
Inflation Inflation Inflation
Factor For Factor For Factor For Normalized Normalized Normalized
Kwd URL POS Position n Position n Position n Clicks Dwell Time Page Views
01 101 1 1.00 1.00 1.00 0.25 0.14 0.08
01 101 3 1.15 1.17 1.20 0.24 0.20 0.11
01 101 7 1.67 1.27 1.80 0.53 0.23 0.20

Weighted averages are calculated for each metric at each position, and totals are calculated across the positions for clicks, and all of the weighted average fraction measurements; clicks, time and page views.

Over time, with new reports of web usage from behavior watching modules, URLs for a particular keyword will adjust their positions. A URL in position 1 this week may be in position 7 the next. Adjusting for position is therefore a cleanup and adjustment process.

Weighted Weighted Weighted
Average Average Average
Absolute Fraction Fraction Fraction
Kwd URL POS Clicks Clicks Time Page Views
01 101 1 155 38.75 21.70 12.40
01 101 3 124 30.05 24.59 13.39
01 101 7 98 52.27 22.45 19.40
01 101 ALL 377 121.06 68.74 45.20

The final result is the Weighted Average of Normalized Totals for Keyword 01, URL 101, at any position. Computed for every keyword, URL combination a single score is calculated for each metric needed for the ranking algorithm. These metrics are now normalized for position, and for multiple rank occurrences.

Weighted Weighted Weighted
Average Average Average
Absolute Fraction Fraction Fraction
KWD URL POS Clicks Clicks Time Page Views
01 101 ANY 377 0.32 0.18 0.12

Ranks for scoring can be based on time that a user spends viewing pages on the domain. The information received from the behavior watching module may limit the maximum amount of time that will be assigned for any viewing session or it may track the user's behavior, such as window navigation between programs, mouse clicks or mouse movement, and disregard periods of inactivity when calculating dwell time.

Ranking may ignore links that were selected by users less than a predetermined number of times, which may be predetermined as a fixed number or a function of traffic for the keyword or category. Ignoring outlier links may avoid giving a high ranking to a link that was rarely presented by the search engines and followed only once or twice.

Ranks for scoring also can be based on a combination of click through rate, dwell time and the number of pages or documents viewed after following the link. Combining these factors, in some instances one of the factors will dominate: all or more than two thirds of the ranking weight may be assigned to just one of click through rate, dwell time or number of pages or documents viewed. Alternatively, they may be equally weighted, plus or minus 10%, or the factors may be assigned weighting ratios of approximately 2-1-1, plus or minus 10%, so that one factor is given approximately half of the combined weighting.

Another factor that can be used in ranking is return visits. If the user returns to the domain within a predetermined time after leaving it or within a predetermined number of navigation events, the user's return to the site can be assigned significance. Return to the site may reflect a favorable impression after considering other sites.

Conversion from browser to buyer or registered lead can considered to be particularly worthwhile as a factor. Again, conversion may include both a purchase in the domain and a registration. In some instances, such as car or home purchases, registration may be more realistic measure, because the purchase may be impractical or infrequently completed at a web site. Return conversion also may be taken into account.

Results may be segregated for analysis by search engine and ranks scored. Then, the separate rank scores may be combined into an overall ranking.

Statistical or other analysis can be applied within categories or keywords to determine which combination of ranking factors best attracts users to follow a link responsive to a search. It is anticipated that ranking information will be used differently among categories of keywords. Time spent will be important in the auto is category. Conversions will be much more important music downloads category.

Optionally, click segmentation bands may be applied. These bands give precedence to URLs with high numbers of clicks. Employing these bands may improve the resultant links on selected algorithms.

Segmentation bands are identified based upon total clicks received by a particular URL. For instance:

URLs for a particular keyword are first put into the appropriate segmentation band. Once the band is identified, these URLs are set in descending order by rank score.

A predetermined number of links, such as the top 15 links (4XX), may be selected for data collection, to be followed by a spider engine (4XX).

Three tables are generated as output from the rank process:

Keyword table (KEYWORDID, KEYWORD)
URL table (DOMAINID, URL_ID, URL)
Rank Table (keyword, URL, rank)

Following Links

Traditional crawling programs at other search engines (ex: Slurp at Yahoo!, Googlebot at Google, MSNBot at MSN) crawl the entire web in search of relevant pages to index to be used in determining the rank order of links to display for a given keyword. The embodiment disclosed here, in contrast, is given a succinct number of URLs to crawl, which may optionally be selected (405) from links reported by the behavior watching module. These links are pre-ranked, hence this information retrieval process needs not determine the relative importance of a given URL from its connections to others, but rather to obtain the best possible descriptive information from the URL.

This embodiment takes a specific set of URLs and performs several specific tasks: It strips out all HTML tags and returns first 100k or another predetermined chunk of the text on the page to a file. It takes and stores a mapping from the text object's value into a uniform scalar space to be used as a text signature or text fingerprint. It calculates an MD5 or other fingerprint of the document (with or without html tags). It calculates a summary count of the characters within the text extracted from the document.

This method may be implemented by a Java application which operates in a Linux environment as illustrated by FIG. 18. The application (1811) is a brokered one which allows for a large and scalable number of threads to run simultaneously across multiple Linux servers. In the current configuration, each Linux server (1821, 1822) can handle up to 10 spider instances (1831-33, 1834-36). Each spider in turn runs 200 worker threads (1841-43, 1844-46). At capacity, this configuration is able to spider 800 links a second.

Total threads working for a single broker can be arrived at by the following equation: With i number of spiders each having j number of workers (threads):

Total threads for i # of Spiders : i = 1 n ( j = 1 n worker j )

The dual-broker model (1821, 1822) can segregate keywords by keyword velocity. General keywords are funneled through a robust, heavy duty version of the ranking algorithm. Fast moving keywords (e.g., news, current events) can be processed through a nimble, express version of the ranking algorithm, which uses less history. Keyword velocity is a measure of how quickly the popularity of a keyword changes. The highest velocity keywords can be selected by comparing the number of keyword searches in the last 24 hours (day 0) against the 24 hours before that (day-1). A different time span, such as four or eight hours, can be used, of course. How far the ratio day 0/day-1 varies from “1” is the keyword velocity. If the ratio is less than 1, the keyword is becoming less popular, “old news.” If the ratio is much more than 1, the keyword may relate to a new story. Generally, a predetermined number of relatively high velocity keywords are re-indexed at a predetermined interval or as resources permit. In one embodiment, the top 10,000 keywords are re-indexed each day. While one metric of keyword velocity or volatility has been described, variations are anticipated.

The heavy duty version handles the ranked keyword URL pairs. These ranked keywords URL pairs are made available through an Oracle table on a database. The URL_TABLE includes: DOMAINID, URLID, URL, LENGTH, SIGNATURE_H, SIGNATURE_T, SPIDER_DATE and HOST

The DOMAINID, URLID, and URL fields are populated from a reference database prior to following the links. After the link-following process for a specific URL, the LENGTH, SIGNATURE_H, SIGNATURE_T, SPIDERDATE, and HOST fields are written back to the database.

Brokers use Java Database Connectivity (JDBC) to connect in to the Oracle database. The broker accesses the URL_TABLE from the ranking-process. The broker makes a request for 1/100th of the total number of domains which are available in the URL table for which SPIDER_DATE is null. All URLs associated with these domains are extracted by the broker where they are grouped by domain. Individual spider boxes talk to the Broker via Remote Method Invocation (RMI) requesting URLs for domains 1,000 domains at a time. Domains are then passed from the spider to a worker who takes all of the URLs associated with its domain and operates upon those URLs.

URLs are passed to the workers grouped by domain in order to accommodate generally accepted crawling or link following practices so as not to swamp domains with thousands of requests simultaneously. It is a generally accepted practice to not access a single domain with more than one request at a time. The link following process (406) respects this generally accepted principle by assigning each worker all URLs associated with a given domain.

The link following process (406) is a robust, scalable, application which fetches content and calculates statistics from a specific URL. Once a worker receives a domain and its associated URLs, it accesses that URL using HTTP protocols. If a good response code is received, a link following worker goes to work on that page. The worker receives a 200 response code (status OK) more than 98% of the time. If the page returns an HTTP code indicating a redirect (codes 301, 302, 303 and 307), further action must be taken by the worker or system in order to obtain information about that URL. A worker will follow up to 5 redirects from an initial URL before abandoning. Once the worker reaches an end point, the following tasks take place: Acquire HTTP return code from the URL. If a good response code is acquired: Identify title meta tag if available; calculate an MD5 fingerprint of the entire document (both HTML and text); parse HTML from the page; and write back first 1,000 k of text to disk.

Once the content is parsed and written back to the disk, a subsequent operator takes over. This operator makes several calculations used for the document fingerprint and writes those and other statistics back to the Oracle database. The system writes back the following fields to Oracle: URL_TABLE, DOMAINID, URLID, URL, LENGTH, SIGNATURE_H, SIGNATURE_T, SPIDER_DATE and HOST.

LENGTH is a count of characters in the text of the document (first 1,000 k). This feature can be used for de-duping URLs later in the process (408). SIGNATURE_H is the MD5 hash code signature. SIGNATURE_T is a CRC32 checksum code of the text (first 1000 k). SPIDER_DATE indicates the date and time that the particular URL was accessed. HOST pertains to which spider machine stored the text of the URL.

The following system may create three different measures designed to aid in document de-duplication (409). This de-duplication process aims at identifying documents that are identical or very similar within a given keyword result set. In a prior step not separately shown, URLs are de-duped at the URL level. Easily identified duplicates such as two occurrences of the exact same URL are eliminated. The system attempts to eliminate URLs that do not appear to point to the same page, but in fact do. In one embodiment, mathematical signatures (fingerprints) are taken for each URL and compared to other URLs within a given keyword result set. Three exemplary signatures are a length signature, an MD5 signature and a CRC32 checksum. Other signatures may be substituted.

For the length signature, the character length of the text document is calculated. This measure aids in the de-duping process to aid in giving context to a page which has been identified as a duplicate. For instance, if two sites show identical MD5 and CRC32 signatures, but have very disparate URLs, the signature is analyzed. If the length signature is low, meaning the page is small, it is likely that these two URLs share, for instance, a standard warning screen as would be found prior to entering an adult content site.

An MD5 signature typically is a way to verify data integrity. The MD5 algorithm takes as input a message of arbitrary length and produces as output a 128-bit “fingerprint” or “message digest” of the input. The MD5 algorithm is intended for digital signature applications, where a large file must be “compressed” in a secure manner. The system computes an MD5 signature for the entire document, reducing the identity comparison process to a 128-bit comparison, for instance.

A CRC32 checksum generates the cyclic redundancy checksum polynomial of 32-bit lengths. This is usually used to validate the integrity of data being transmitted. The CRC is a “digital fingerprint” of a file, With CRC32 you can “melt down” a huge 20 MB (or even much bigger) file to have a small, handy reference to it, a single 32-bit number like 7d9c42fb (hexadecimal notation) which reflects the entire contents of this huge file. The system computes a CRC32 signature of the text of the document, giving insights into the text content of the page.

Another signature that can be calculated and used is Rabin's fingerprinting algorithm, for instance Broeder's implementation, which produces a compact checksum.

Any of the checksums or fingerprints can be applied to the whole document, the whole document less HTML tags stripped away, the selected chunk of the document that is cached, the title and snippets or some other predetermined excerpt from the document. More or less than 1,000 k of the document can be used.

The process completes a run for a particular URL with data being written to an Oracle database and a spider box. The Oracle database receives fingerprint information (length, MD5, crc32), spider date/time, and host location information written to URL_TABLE and a spider date/time stamp written to KEYWORD table. The spider box receives files for data links that it followed: URL, title (if it was obtained during the initial fetch from the URL) and text of the document (first 1,000 k) to be used for snippet generation. The text contains elements of the meta description and the body of the document

Snippet Generation

A snippet generation process generates titles and snippets for display (407). The snippet process takes a keyword phrase and URL combination, comes up with the best title describing that URL, and creates the best snippet (i.e., abstract, description) for that URL outlining in a 200 character space the information contained in the URL that pertains to the keyword. Snippet generation follows the link following process. Snippets are created from the text of the document retrieved from the chosen URL.

The keyword “somec bicycles” produces the following sample text for display:

Upland Sports Group: Somec Bicycle Frames
... is a mystique to Italian bicycles; an aura born of precision, innovative
materials and artistry. Societa Mecchanica, better known
as Somec, has contributed to ...
www.uplandsg.com/somec/ - 12k - Aug 17, 2004 - Cached - Similar pages

In this example, the title is “Upland Sports . . . Frames”. The snippet is the two lines following the title. The URL is on the bottom line.

Titles are usually generated from the title of the page retrieved when a link is followed. Most sites annotate the title of the page for search engines through the use of HTML meta tags. A tag identifying the title is present on over 97% of all URLs.

In the 3% of URLs for which the HTML tags do not supply a title, the process composes a title. If there is text available for the URL, the process takes the first approximately 70 characters of text (respecting word boundaries) and creates a title. If there was no text generated from the URL, the domain name is stripped from the URL (all information between www and .com) and displayed as the title.

Snippet generation is a mix of art and science. The process creates snippets leveraging mathematical equations and linguistic science. In one embodiment, snippets can be comprised of 1 single sub-snippet, or up to 3 sub-snippets separated by ellipses (. . . ). A scoring algorithm decides which sub-snippets when combined (or not in the case of a single sub-snippet) produce the best score.

The snippet scoring algorithm is a multi-step process which scores various portions of the document's text. In four parts, it includes keyword tokenization, window scoring, window trading and final determination.

Keyword tokenization is applied because keywords are not always single words. Keywords are often multi-word phrases. The process tokenizes or single outs individual words within a phrase. Identifying individual word tokens typically includes searching for word separators such as spaces, periods, commas, or colon/semicolons. Once the tokenization of the keyword phrase is complete, the window scoring routine can commence.

In one version of window scoring, windows of three different sizes are calculated within the text of the document, for instance, for sub-snippet of lengths 200 characters, 100 characters and 66 characters. FIG. 20 depicts how the window scoring routine begins with the first word of text (2003) within the document(2001). In the first case, the window spans 200 characters. This window receives a score based upon several metrics. Once the score is calculated, the window moves 1 character to the right and calculates another score for the next window. Alternatively, the window may move one word to the right, aligning either the window start or window end with word boundaries. This process iterates (2004, 2005) until a score for the final window is obtained. Intelligence may be built into the algorithm to eliminate the need to compute the score for each entire window, but rather add the additional information to the previous window's score and subtract the information which was lost in the move.

When the process is complete, there may exist:

i windows of length 200 (where i=document length−200)

j windows of length 100 (where j=document length−100)

k windows of length 66 (where k=document length−66)

Window scoring may be based on one or more metrics, such as the number of unique tokens found within the window, the total number of tokens found within the window, and/or the longest string of tokens found within the window. A formula for each window is computed from a combination of these metrics and assigned to that window.

In the case where there is one 200 character snippet, the window with the highest score is chosen. The two highest scoring windows of length 100 are chosen for the two sub-snippet model. The three highest scoring windows of length 66 are chosen for the three sub-snippet model.

The best scores are calculated for each model (1, 2, or 3 sub-snippets). A final algorithm may be applied when 2 or 3 windows are eligible for a snippet. If the global window score can be increased by one window giving up characters to another, then that action is seen as a gain and it is taken. If the global window score cannot be raised in this manner, the snippets are used without trading.

The output from snippet generation may include 5 different scores: Score of single sub-snippet model; score of non-traded two sub-snippet model; score of traded two sub-snippet model; score of the non-traded three sub-snippet model; and/or score of the traded three sub-snippet model. Of these, the single highest score is chosen and that sub-snippet model is applied to that keyword, URL combination.

For a sample keyword=“red dog run”, the following steps may be followed:

Step 1: Tokenize keyword into three tokens:

Token1 = red
Token2 = dog
Token3 = run

Step 2a: Locate instances of the tokens within the text document

-------red----------dog--------dog---------
-----run-------red----------red-------------
-------red-dog-run---------dog-----------
---run----red-------run----run------------

Step 2b: Score the windows and identify the top ones. In this example, the three sub-snippet model, the best 3 windows were calculated.

-------red----------dog--------dog---------
[------run------red--]--------red-------------  (1)
---[----red-dog-run--]-------dog-----------  (2)
--run-----[-red-----run---]-run------------  (3)

Step 3: Allow for trading to occur. In this case, if window I can give up some of the non-token containing characters within it's left edge to window 3. This allows window 3 to expand and include the final token ‘run’, increasing the overall global score of the snippet.

-------red----------dog--------dog---------
------[run------red--]--------red-------------  (1)
---[----red-dog-run--]-------dog-----------  (2)
---run-----[-red-----run----run]------------  (3)

In an alternative embodiment, the snippet generation process may involve the creation of an approximately 200 byte field used as a descriptor for the associated link. Snippet generation takes place post spidering and is created from the complete text of the document associated with the chosen URL or at least the portion of the document stored.

Personalization (410) and Ranking

Within the ranking algorithm, there is the ability to select anonymous users who, based upon their behavioral profile, would have their votes for particular categories of links count more than other users.

Users who are heavy searchers (based upon their observed search behavior) would have their votes count more on links that they click more than the votes of novice searchers on that same link. In this way, the search experts would help produce more relevant ranking results.

Similarly, users who are highly involved in a particular category would have their votes count higher in that category than users who have no involvement in that category. Using behavior watching modules, one can identify users who are highly involved in various categories such as digital cameras, fantasy sports, or automobiles. For example, a user identified as being highly involved in the digital camera category would have his vote count more for links he clicked after a search for ‘Cannon G3’ than a user who is new to the category searching on that same keyword.

Identification of a user's category involvement status also drives personalization. A user with a high degree of involvement in a particular category would get different results from a user identified as less involved. This personalized results serving would require the presence of a cookie like object available on a particular machine. This lifestyle cookie would provide the search engine with a behavioral profile of the user, obtained from the users category navigational patterns. These category specific navigational patterns would be obtained from information contained in a categorization structure that also can be used for targeted advertising. For commercial purposes, a budget category or likely budget can be inferred from sites visited. Visitors to IKEA and Target are likely to have a different budget for apparel than visitors to Sachs Fifth Avenue or Bloomingdale's. Similarly, Hyatt Hotels are in a different budget category than youth hostels.

Personalization based on observed communications is much more powerful than user-entered customization, because research shows that only 8-14 percent of users manually personalized their content. Personalization highly correlates with pages viewed at a domain: users who personalize have been reported to view 130 percent more pages at the domain than users who do not personalize.

Sometimes different behavioral profiles can be leveraged to make a difference in search results (411). Other times, differences between two users' behavioral profiles does not help in the context of a particular search keyword.

Some examples are helpful. First, an ambiguous search terms example: A highly involved auto category user who searches for “jaguar” would get more Jaguar auto related links than jaguar animal related links as compared to a normal mix of auto and animal related links for someone with no identifiable category involvement. Identification and usage of these behaviorally profiles could slant results, without completely replacing results. In the example above, the auto category involved user could get 100% auto results, or just a larger percentage of auto results than found among popular websites.

Next, a sub-category identification example: Three users search for the keyword “rental, car”. Three separate sets of results come up, each personalized for the users. Each user has a particular behavioral profile obtained from their past navigational patterns observed within the travel category. These behaviors are readily identifiable from the observed communications.

User 1: Frequent business traveler—his rental car results would be slanted toward the business traveler car rental results, possibly more about frequent rental points, etc.

User 2: Budget traveler—his rental car results would be slanted toward the budget traveler; rent-a-wreck type results, specials on sub-compact cars etc.

User 3: Luxury Traveler—his rental car results would be slanted toward the high-end luxury traveler; sports car rentals, classic car rentals, etc.

FIG. 12 compares the insight that a behavior watching module on a user's machine gives regarding web surfing with the limited view that a server can achieve. These statistics were generated to compare what a Yahoo! server knows about user behavior, compared to what the behavior watching module sees. The x-axis 1202 identifies categories of web sites. The y-axis is a relative scale, with Yahoo! server observation scaled to “1”. In each stack, Yahoo! 1203 has a visibility of 1. The behavior watching module has a relative score 1204 that is higher and varies strongly between categories. This surprising degree of difference strongly distinguishes the on-machine behavior watching module from visibility that even a widely used search engine with many affiliated sites can achieve.

FIG. 13 depicts a web page highly relevant to the keyword “cars”. Applying a ranking algorithm, the CarsDirect home page scores 97 of 100. Factors used to calculate this score can be categorized by initial visit metrics, subsequent visit metrics and user level metrics. Observing users' response to this site being listed in search results of various search engines responsive to the keyword “cars”, the behavior watching module observed a click through rate of 12 percent. An average user viewed five pages at this web site, following the initial link, before they left the site. The average user spent 55 seconds looking at the pages and the conversion rate, here a registration more likely than a purchase, was 80 percent. On subsequent occasions, within a predetermined time after the search or the first visit, an average returnee viewed 15 pages and spent 300 seconds on the site. Returnees registered with a conversion rate by 15 percent. Among users following this link for this keyword, category (e.g., car category) involvement was high, ranked “Expert”. Search engine usage was “Maven”, indicating that common users were more frequent than computer experts. For this category, among U.S. users, the geographic location of the web site was important. Bet sites in the U.S. were more interesting to users (e.g., car buyers) than overseas web sites.

FIG. 14 is a counter example of a page weakly relevant to “cars”. The title of this article matches the keyword, but the click through rate and other metrics indicate that users considered this page much less relevant to searching for “cars” than the CarsDirect home page. The calculated relevancy score for this page is only 11.

FIG. 15 juxtaposes the results for “cars” from Yahoo!, MSN Search and Google with an embodiment of the search engine described herein. Using a relevancy index, this embodiment produces more relevant search results. The relevancy index is the ranking score, which reflects users' responses to links in search result lists. The relative scores are this embodiment 864, MSN 598, Google 524 and Yahoo! 487. This significantly improved score strongly distinguishes the use of an on-machine behavior watching module and the aggregate of a multitude of users from the ranking algorithms of the leading search engines.

FIG. 16 illustrates user differentiation using results from a behavior watching module. A large sample of user behavior, particularly shopping in the apparel category, is reported in this figure. Users were classified in nine boxes along attributes of amount of browsing in the category (1601) and degree of loyalty (1602) to a particular web domain (alternatively, to a vendor, brand or other category). Amount of browsing was classified as light, medium or heavy. One quarter of users were in each of the heavy and medium usage categories and the remaining half in the light usage category. Loyalty is classified as loyal, a switcher among sources or loyal to competitors. The 3-by-3 arrangement of attributes produces nine boxes. Among loyal shoppers, about one million unique observations were made. The heavy users had a higher click through rate when a particular result was displayed in response to a search, the rate being 7.90%, compared to 5.40% for medium users and just 3.00% for light users. After a click-through event, heavy users converted to purchase or registration at a rate of 8.00%, compared to 7.20% for medium users and 6.50% for light users. Not surprisingly, there are more switchers and competitive loyal unique observations than for the particular domain observed. Personalization of content, such as ads, may depend on which of the nine boxes the user fits. For instance, a loyal, heavy user will get a different message (a la frequent flier programs) than a medium to light switcher. A competitor-loyal heavy user might get a trial offer that would be completely misdirected to a loyal user. The strategy for advertising a heavy, loyal user is to insulate them from competitors. For medium to light loyal users, the strategy may target up-selling and cross-selling. For heavy to medium switchers, the objective is to increase share. Heavy to medium competitive loyal users are targeted for acquisition. Light switchers and light competitive loyal users may be ignored, to focus advertising resources.

Return visit data from the behavior watching module can assist an advertiser in measuring the effectiveness of a particular ad. User differentiation by box can further be associated with selection of ads and evaluation of ad effectiveness.

Cross-browsing of users also can be reported. Users can be selected by follow-through, for instance all click-throughs or all users with conversions. The users with a conversion at a particular domain (or vendor or brand, for instance) can be rated by the frequency of their visits to competitors' domains (or vendors or brands).

FIG. 17 depicts traffic to a particular domain, from a particular search engine, by keyword. This information may be useful to a company devising ads and also when bidding on keywords for sponsored content positioning on search engine result pages. Data from the behavior watching module can yield impressions, click, click-through rate, conversion rate and position on the search engine's results page.

Some Particular Embodiments

The present invention may be practiced as a method or device adapted to practice the method. The same method can be viewed from the perspective of a user at their terminal or personal computer or on the server side, collecting information from users. The invention may be an article of manufacture such as media impressed with logic to carry out computer-assisted method.

A device embodiment, from the user perspective, may be embodied in a module running on the user's computer and collecting behavioral observations, coupled to a server that responds to the behavioral observations with information personalized to the user.

While the present invention is disclosed by reference to the preferred embodiments and examples detailed above, it is understood that these examples are intended in an illustrative rather than in a limiting sense. Computer-assisted processing is implicated in the described embodiments. Accordingly, the present invention may be embodied in methods aggregating of communication patterns, pre-processing links responsive to keyword searches, responding to keyword searches using aggregated communication patterns to rank the responsive links, and responding to keyword searches using recent and current navigation information systems to resolve ambiguities and/or personalize responses based on user characteristics. Other embodiments, as devices, include logic and resources to carry out thes methods. As systems, still other embodiments include behavior watching modules on terminals, servers that process or respond to the behavioral data, or both. Other embodiments include media impressed with logic to carry out the methods, data streams impressed with logic to carry out the methods, or computer-accessible services that carry out the methods. It is contemplated that modifications and combinations will readily occur to those skilled in the art, which modifications and combinations will be within the spirit of the invention and the scope of the following claims.

A further embodiment is a method resolving ambiguity in a keyword search terms submitted by user to a search engine. This method includes receiving, from a behavior watching module operating on the user's computer, information regarding the user's recent navigation behavior. The navigation behavior includes accessing documents that are not all associated with a particular server-side behavior data collection network and further includes at least one of a mouse click-through, enter key stroke or other selection action and at least one keyword derived from context of the selection action. The server determines a plurality of interest categories to which the search term plausibly belongs and selects among the plurality of interest categories using the recent navigation information.

One aspect of the behavior watching modules operation is that it may categorize behaviors by interest categories and recency. The documents accessed may be web pages and the server-side behavior data collection network may be an advertising network.

From this perspective of the behavior watching module, this embodiment may be practiced as a method of supplementing a search request with information that reflects a user's recent navigation behavior among documents accessible via a network. This method includes operating a behavior watching module on the users computer, collecting information regarding the users recent navigation behavior. The recent navigation behavior information includes at least identifying documents electronically accessed by the user; categorizing the documents accessed; and indicating when documents in the categories were accessed. The behavior watching module submits at least a summary of the recent navigation behavior information along with a query to one or more servers including a search engine. The user receives from the search engine a set of results by asked to an interest category corresponding to the submitted recent navigation behavior information. Alternatively, the user may receive from the search engine a set of results by us to a budget category corresponding to the submitted recent navigation behavior information. More generally, any category that can be discerned from the recent navigation behavior can be reflected in a bias of search engine results received in response to the query.

Another embodiment is a method of personalizing content in response to a keyword search term submitted by a user to a search engine. As with the disambiguation method above, this method includes receiving, from a behavior watching module operating on the user's computer, information regarding the user's recent navigation behavior. The navigation behavior includes accessing documents that are not all associated with a particular server-side behavior data collection network and further includes at least one of a mouse click-through, enter key stroke or other selection action and at least one keyword derived from context of the selection action. The server determines a plurality of likely budget categories to which results belong and selects among the likely budget categories using the recent navigation information.

For embodiments using recent navigation behavior, the navigation behavior may reflect recent navigations, including navigations with in the last hour and the last day. Alternatively, it may include recent navigations within periods of time determined to correlate to user responsiveness to information. The user navigation information may be summarized into interest categories were likely budget categories when it is received or after it is received. More generally, any category that can be discerned from the recent navigation behavior can be reflected in a bias of search engine results received in response to the query.

The embodiments and various aspects of the embodiments described above may be practiced as a machine readable memory including instructions to carry out the methods and aspects of methods described or a data stream including the machine-readable instructions. Further, a device may include one or more servers, personal computers or other computer devices having logic and resources adapted to practice the methods and aspects of methods described.

Bennett, Dominic, Paczkowski, Remigiusz K.

Patent Priority Assignee Title
10148805, May 30 2014 SMITH MICRO SOFTWARE, LLC System and method for mobile device control delegation
10289735, Apr 27 2010 Microsoft Technology Licensing, LLC Establishing search results and deeplinks using trails
10560324, Mar 15 2013 SMITH MICRO SOFTWARE, LLC System and method for enabling user device control
10750006, May 30 2014 SMITH MICRO SOFTWARE, LLC System and method for mobile device control delegation
10942979, Aug 29 2018 International Business Machines Corporation Collaborative creation of content snippets
11017047, Apr 27 2010 Microsoft Technology Licensing, LLC Establishing search results and deeplinks using trails
8589390, Apr 10 2008 Kabushiki Kaisha Toshiba; Toshiba Digital Solutions Corporation Data creating apparatus and data creating method
8788260, May 11 2010 Microsoft Technology Licensing, LLC Generating snippets based on content features
8825641, Nov 09 2010 Microsoft Technology Licensing, LLC Measuring duplication in search results
8886745, Apr 07 2008 Qualcomm Incorporated Methods and apparatus for delivering auxiliary data to device
9723022, Jul 10 2013 Cisco Technology, Inc. Domain classification using domain co-occurrence information
Patent Priority Assignee Title
4455083, Aug 24 1981 Method and apparatus for fingerprint verification of identity
4575579, Nov 30 1982 ALCATEL N V , DE LAIRESSESTRAAT 153, 1075 HK AMSTERDAM, THE NETHERLANDS, A CORP OF THE NETHERLANDS Editing arrangement for videotex system with public terminals
4719567, Apr 29 1982 Freescale Semiconductor, Inc Method and apparatus for limiting bus utilization
4775935, Sep 22 1986 Westinghouse Electric Corp. Video merchandising system with variable and adoptive product sequence presentation order
4782449, Apr 17 1986 GLT CORP , A CORP OF DE; GLASSTECH, INC , A DE CORP Position controller for glass sheet processing system
4799146, Jun 29 1984 Texas Instruments Incorporated System for displaying graphic information on video screen employing video display processor
4850007, Jun 25 1987 American Telephone and Telegraph Company; AT&T Bell Laboratories Telephone toll service with advertising
4977594, Oct 14 1986 ELECTRONIC PUBLISHING RESOURCES, INC Database usage metering and protection system and method
5027400, Aug 19 1988 Hitachi Ltd. Multimedia bidirectional broadcast system
5029104, Feb 21 1989 International Business Machines Corporation Prestaging objects in a distributed environment
5093718, Sep 28 1990 ACTIVEVIDEO NETWORKS, INC Interactive home information system
5099420, Jan 10 1989 Bull HN Information Systems Inc.; HONEYWELL BULL INC , A DE CORP Method and apparatus for limiting the utilization of an asynchronous bus with distributed controlled access
5105184, Nov 09 1989 Methods for displaying and integrating commercial advertisements with computer software
5159669, Dec 15 1988 XEROX CORPORATION, A CORP OF NY Automatically creating a second workspace operation record including history data and a unit ID based on a first workspace operation
5165012, Oct 17 1989 COMSHARE, INCORPORATED Creating reminder messages/screens, during execution and without ending current display process, for automatically signalling and recalling at a future time
5196838, Dec 28 1990 Apple Inc Intelligent scrolling
5202961, Jun 08 1990 Apple Inc Sequential information controller
5220420, Sep 27 1990 ACTIVEVIDEO NETWORKS, INC Interactive home information system for distributing compressed television programming
5220516, Feb 21 1989 International Business Machines Corp. Asynchronous staging of objects between computer systems in cooperative processing systems
5220564, Sep 06 1990 AGERE Systems Inc Transmission control for a wireless local area network station
5231499, Feb 11 1991 Ampex Corporation Keyed, true-transparency image information combine
5247517, Oct 20 1989 Novell, Inc. Method and apparatus for analyzing networks
5253341, Mar 04 1991 GLOBAL PATENT HOLDINGS, LLC Remote query communication system
5268963, Jun 09 1992 Audio Digital Imaging Inc. System for encoding personalized identification for storage on memory storage devices
5283639, Oct 23 1989 TECHNOLOGY RIGHTS LICENSING COMPANY, LLC Multiple media delivery network method and apparatus
5283731, Jan 19 1992 EC Corporation Computer-based classified ad system and method
5285442, Sep 29 1990 Kabushiki Kasiha Toshiba Traffic supervisory method and traffic supervisory apparatus
5297249, Oct 31 1990 International Business Machines Corporation Hypermedia link marker abstract and search services
5305195, Mar 25 1992 GERALD AND LEONA R SINGER FAMILY TRUST Interactive advertising system for on-line terminals
5307456, Dec 04 1990 Sony Electronics, INC Integrated multi-media production and authoring system
5313455, Apr 23 1990 KONINKLIJKE KPN N V Transmission system with recording of untransmitted packets
5315580, Sep 28 1990 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Network monitoring device and system
5319455, Sep 28 1990 ACTIVEVIDEO NETWORKS, INC System for distributing customized commercials to television viewers
5321740, Jun 20 1991 GREENVILLE COMMUNICATIONS, LLC Telephone marketing system
5325423, Nov 13 1992 1ST TECHNOLOGY, LLC Interactive multimedia communication system
5325483, Apr 07 1989 Hitachi, Ltd. Image information retrieval network system
5327554, Nov 29 1990 GARNET DIGITAL, LLC Interactive terminal for the access of remote database information
5333237, Oct 10 1989 Hughes Aircraft Company Hypermedia structured knowledge base system
5347632, Jul 15 1988 International Business Machines Corporation Reception system for an interactive computer network and method of operation
5355472, Apr 19 1990 International Business Machines Corporation System for substituting tags for non-editable data sets in hypertext documents and updating web files containing links between data sets corresponding to changes made to the tags
5355501, Mar 09 1990 Apple Inc Idle detection system
5361091, Sep 28 1990 ACTIVEVIDEO NETWORKS, INC Interactive home information system for distributing video picture information to television viewers over a fiber optic telephone system
5361199, Jul 31 1990 Texas Instruments Incorporated Automated procurement system with multi-system data access
5361393, Jan 28 1992 PRODIGY SERVICES CORP Method for improving interactive-screen uploading of accounting data
5367621, Sep 06 1991 INTERNATIONAL BUSINESS MACHINES CORPORATION A CORP OF NEW YORK Data processing method to provide a generalized link from a reference point in an on-line book to an arbitrary multimedia object which can be dynamically updated
5373375, Dec 21 1990 EASTMAN KODAK COMPANY, A CORP OF NJ Metric conversion mechanism for digital images in a hierarchical, multi-resolution, multi-use environment
5392447, Jan 10 1992 Eastman Kodak Compay Image-based electronic pocket organizer with integral scanning unit
5412720, Sep 27 1990 ACTIVEVIDEO NETWORKS, INC Interactive home information system
5418549, Jun 14 1993 INFO ENTERPRISES, INC Resolution compensating scroll bar valuator
5438518, Jan 19 1994 GPS Industries, LLC Player positioning and distance finding system
5442771, Jul 15 1988 International Business Machines Corporation Method for storing data in an interactive computer network
5446919, Feb 20 1990 24 7 REAL MEDIA, INC Communication system and method with demographically or psychographically defined audiences
5469553, Apr 16 1992 Maxtor Corporation Event driven power reducing software state machine
5481741, Apr 14 1986 NATIONAL INSTRUMENTS, INC Method and apparatus for providing attribute nodes in a graphical data flow environment
5483466, Nov 13 1992 Hitachi, Ltd. Client/server system and mail reception/display control method
5491785, Sep 30 1993 Qualcomm Incorporated Information retrieval device for displaying and directly refreshing the display of a dynamically modifiable document
5499340, Jan 12 1994 International Business Machines Corporation Method and apparatus for computer program usage monitoring
5500890, Aug 19 1993 Exxon Research and Engineering Company Point-of-sale system using multi-threaded transactions and interleaved file transfer
5515098, Sep 08 1994 INVIDI Technologies Corporation System and method for selectively distributing commercial messages over a communications network
5515270, Jul 22 1991 WINMORE, INC Technique for correlating purchasing behavior of a consumer to advertisements
5515490, Nov 05 1993 Xerox Corporation Method and system for temporally formatting data presentation in time-dependent documents
5517612, Nov 12 1993 IBM Corporation Device for scaling real-time image frames in multi-media workstations
5524195, May 24 1993 Sun Microsystems, Inc Graphical user interface for interactive television with an animated agent
5524197, Sep 13 1991 Matsushita Electric Industrial Co., Ltd. Workstation for displaying dynamic image with real-time special effects
5530472, Jun 29 1993 WEST UNIFIED COMMUNICATIONS SERVICES, INC Video conference system including a non-reserved video conference capability
5530759, Feb 01 1995 International Business Machines Corporation Color correct digital watermarking of images
5530852, Dec 20 1994 Sun Microsystems, Inc Method for extracting profiles and topics from a first file written in a first markup language and generating files in different markup languages containing the profiles and topics for use in accessing data described by the profiles and topics
5532735, Apr 29 1994 AT&T IPM Corp Method of advertisement selection for interactive service
5541986, Jul 27 1993 Intellectual Ventures II LLC Method and system for automated telecommunications service script consolidation and downloading
5544302, Jun 03 1993 Apple Inc Object-oriented framework for creating and using container objects with built-in properties
5544320, Jan 08 1993 Remote information service access system based on a client-server-service model
5548745, Jan 19 1993 Canon Kabushiki Kaisha Method and apparatus for designating context in a windowing environment
5563804, Mar 10 1995 GOOGLE LLC System for providing closed captioning to an electronic discussion group
5564043, Mar 24 1994 NCR Corporation Launching computer program upon download of data created by program
5572643, Oct 19 1995 INTERNETAD SYSTEMS LLC Web browser with dynamic display of information objects during linking
5579381, Aug 25 1994 Nortel Networks Limited Methods and apparatus for providing suppressed ringing access
5583560, Jun 22 1993 Apple Inc Method and apparatus for audio-visual interface for the selective display of listing information on a display
5583763, Sep 09 1993 Intel Corporation Method and apparatus for recommending selections based on preferences in a multi-user system
5584025, Oct 29 1993 TREN TECHNOLOGIES HOLDING, LLC Apparatus and method for interactive communication for tracking and viewing data
5590046, Oct 31 1990 Boeing Company, the Automated floor panel workcell
5594509, Jun 22 1993 Apple Inc Method and apparatus for audio-visual interface for the display of multiple levels of information on a display
5594779, Jan 12 1995 Verizon Patent and Licensing Inc Mobile audio program selection system using public switched telephone network
5596718, Jul 10 1992 McAfee, LLC Secure computer network using trusted path subsystem which encrypts/decrypts and communicates with user through local workstation user I/O devices without utilizing workstation processor
5602905, Jan 23 1995 On-line communication terminal/apparatus
5604542, Feb 08 1995 Intel Corporation Using the vertical blanking interval for transporting electronic coupons
5606359, Jun 30 1994 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Video on demand system with multiple data sources configured to provide vcr-like services
5608850, Apr 14 1994 Xerox Corporation Transporting a display object coupled to a viewpoint within or between navigable workspaces
5615131, Mar 10 1995 GOOGLE LLC System for providing closed captioning to an electronic discussion group
5615325, Sep 29 1994 Intel Corporation Graphical viewer for heirarchical datasets
5617526, Dec 13 1994 Microsoft Technology Licensing, LLC Operating system provided notification area for displaying visual notifications from application programs
5621456, Jun 22 1993 Apple Inc Methods and apparatus for audio-visual interface for the display of multiple program categories
5627886, Sep 22 1994 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P System and method for detecting fraudulent network usage patterns using real-time network monitoring
5629978, Feb 28 1994 Qwest Communications International Inc Service delivery using broadband
5630081, Sep 07 1995 Intellisync Corporation Connection resource manager displaying link-status information using a traffic light iconic representation
5635979, May 27 1994 Verizon Patent and Licensing Inc Dynamically programmable digital entertainment terminal using downloaded software to control broadband data operations
5638443, Nov 23 1994 CONTENTGUARD HOLDINGS, INC System for controlling the distribution and use of composite digital works
5642484, May 13 1994 Captive Communications, Inc. Pump top advertisement distribution and display system with performance and sales information feedback
5649186, Aug 07 1995 Open Invention Network, LLC System and method for a computer-based dynamic information clipping service
5657450, Nov 15 1995 GOOGLE LLC Method and apparatus for time estimation and progress feedback on distal access operations
5664948, Jul 29 1994 Seiko Instruments Inc Delivery of data including preloaded advertising data
5673322, Mar 22 1996 RAKUTEN, INC System and method for providing protocol translation and filtering to access the world wide web from wireless or low-bandwidth networks
5675510, Jun 07 1995 Comscore, Inc Computer use meter and analyzer
5680562, Jun 11 1993 Apple Inc Computer system with graphical user interface including automated enclosures
5682525, Jan 11 1995 Civix-DDI, LLC System and methods for remotely accessing a selected group of items of interest from a database
5684715, Jun 07 1995 Canon Kabushiki Kaisha Interactive video system with dynamic video object descriptors
5684969, Jun 25 1991 Fuji Xerox Co., Ltd. Information management system facilitating user access to information content through display of scaled information nodes
5701451, Jun 07 1995 GOOGLE LLC Method for fulfilling requests of a web browser
5704017, Feb 16 1996 Microsoft Technology Licensing, LLC Collaborative filtering utilizing a belief network
5706434, Jul 06 1995 INSTANT OBJECTS, INC Integrated request-response system and method generating responses to request objects formatted according to various communication protocols
5706502, Mar 26 1996 Oracle America, Inc Internet-enabled portfolio manager system and method
5708709, Dec 08 1995 Oracle America, Inc System and method for managing try-and-buy usage of application programs
5708780, Jun 07 1995 Soverain IP, LLC Internet server access control and monitoring systems
5710884, Mar 29 1995 Intel Corporation System for automatically updating personal profile server with updates to additional user information gathered from monitoring user's electronic consuming habits generated on computer during use
5710918, Jun 07 1995 GOOGLE LLC Method for distributed task fulfillment of web browser requests
5712979, Sep 20 1995 ULOGIN LLC Method and apparatus for attaching navigational history information to universal resource locator links on a world wide web page
5715453, May 31 1996 PayPal, Inc Web server mechanism for processing function calls for dynamic data queries in a web page
5717860, Sep 20 1995 ULOGIN LLC Method and apparatus for tracking the navigation path of a user on the world wide web
5717923, Nov 03 1994 Intel Corporation Method and apparatus for dynamically customizing electronic information to individual end users
5721827, Oct 02 1996 PERSONAL AUDIO LLC System for electrically distributing personalized information
5721908, Jun 07 1995 GOOGLE LLC Computer network for WWW server data access over internet
5724521, Nov 03 1994 Intel Corporation Method and apparatus for providing electronic advertisements to end users in a consumer best-fit pricing manner
5724556, Apr 14 1995 Oracle International Corporation Method and apparatus for defining and configuring modules of data objects and programs in a distributed computer system
5724567, Apr 25 1994 Apple Inc System for directing relevance-ranked data objects to computer users
5727129, Jun 04 1996 International Business Machines Corporation Network system for profiling and actively facilitating user activities
5727159, Apr 10 1996 HANGER SOLUTIONS, LLC System in which a Proxy-Server translates information received from the Internet into a form/format readily usable by low power portable computers
5734863, Apr 14 1986 National Instruments Corporation Method and apparatus for providing improved type compatibility and data structure organization in a graphical data flow diagram
5737619, Oct 19 1995 INTERNETAD SYSTEMS LLC World wide web browsing with content delivery over an idle connection and interstitial content display
5737739, Dec 19 1995 Xerox Corporation System that accesses a knowledge base by markup language tags
5740252, Oct 13 1995 WYTHAM TECHNOLOGIES LLC Apparatus and method for passing private demographic information between hyperlink destinations
5740549, Jun 12 1995 Meta Platforms, Inc Information and advertising distribution system and method
5742768, Jul 16 1996 Microsoft Technology Licensing, LLC System and method for providing and displaying a web page having an embedded menu
5742905, Sep 19 1994 ACCESS CO , LTD Personal communications internetworking
5745681, Jan 11 1996 Oracle America, Inc Stateless shopping cart for the web
5751956, Feb 21 1996 DISNEY ENTERPRISES, INC Method and apparatus for redirection of server external hyper-link references
5754830, Apr 01 1996 OpenConnect Systems Incorporated Server and web browser terminal emulator for persistent connection to a legacy host system and method of operation
5754938, Nov 29 1994 Pinpoint Incorporated Pseudonymous server for system for customized electronic identification of desirable objects
5754939, Nov 29 1994 Apple Inc System for generation of user profiles for a system for customized electronic identification of desirable objects
5758111, Jul 20 1994 Fujitsu Limited Data processing apparatus for executing data processing using windows displayed on a display apparatus
5758257, Nov 29 1994 Pinpoint Incorporated System and method for scheduling broadcast of and access to video programs and other data using customer profiles
5760767, Oct 26 1995 Sony Corporation; Sony Electronics, INC Method and apparatus for displaying in and out points during video editing
5761601, Aug 09 1993 PREMIER RETAIL NETWORKS, INC Video distribution of advertisements to businesses
5761662, Dec 20 1994 Sun Microsystems, Inc. Personalized information retrieval using user-defined profile
5768508, Apr 15 1996 OROSTREAM LLC Computer network system and method for efficient information transfer
5768510, Jul 01 1996 Oracle America, Inc Object-oriented system, method and article of manufacture for a client-server application enabler system
5781894, Aug 11 1995 Method and system for advertising on personal computers
5787253, May 28 1996 SILKSTREAM CORPORATION Apparatus and method of analyzing internet activity
5787254, Mar 14 1997 International Business Machines Corporation Web browser method and system for display and management of server latency
5793972, May 03 1996 CALLAHAN CELLULAR L L C System and method providing an interactive response to direct mail by creating personalized web page based on URL provided on mail piece
5794210, Dec 11 1995 MYPOINTS COM, INC Attention brokerage
5794259, Jul 25 1996 Lextron Systems, Inc Apparatus and methods to enhance web browsing on the internet
5796952, Mar 21 1997 THE NIELSEN COMPANY US , LLC, A DELAWARE LIMITED LIABILITY COMPANY Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
5801685, Apr 08 1996 GRASS VALLEY US INC Automatic editing of recorded video elements sychronized with a script text read or displayed
5802320, May 18 1995 Sun Microsystems, Inc System for packet filtering of data packets at a computer network interface
5805735, Mar 02 1995 Apple Inc Method and apparatus for compression of digitized image data using variable color fidelity
5805815, Dec 18 1995 AT&T Corp Method and apparatus for providing interim data displays while awaiting of retrieval linked information
5809242, Apr 19 1996 JUNO ONLINE SERVICES, INC Electronic mail system for displaying advertisement at local computer received from remote system while the local computer is off-line the remote system
5809481, Aug 08 1996 BARON, DAVID Advertising method and system
5809512, Jul 28 1995 Matsushita Electric Industrial Co., Ltd. Information provider apparatus enabling selective playing of multimedia information by interactive input based on displayed hypertext information
5812642, Jul 12 1995 Audience response monitor and analysis system and method
5812769, Sep 20 1995 TWINTECH E U II, LIMITED LIABILITY COMPANY Method and apparatus for redirecting a user to a new location on the world wide web using relative universal resource locators
5819047, Aug 30 1996 AT&T Corp Method for controlling resource usage by network identities
5819092, Nov 08 1994 Microsoft Technology Licensing, LLC Online service development tool with fee setting capabilities
5822526, Jun 03 1996 Microsoft Corporation System and method for maintaining and administering email address names in a network
5832502, Jul 02 1996 Microsoft Technology Licensing, LLC Conversation index builder
5835087, Nov 29 1994 Pinpoint Incorporated System for generation of object profiles for a system for customized electronic identification of desirable objects
5835092, Apr 09 1996 RPX Corporation Mechanism for non-linear browsing of diverse information sources
5835722, Jun 27 1996 TW SECURITY CORP ; TRUSTWAVE HOLDINGS, INC System to control content and prohibit certain interactive attempts by a person using a personal computer
5838458, Feb 25 1992 Method and apparatus for linking designated portions of a received document image with an electronic address
5848246, Jul 01 1996 Oracle America, Inc Object-oriented system, method and article of manufacture for a client-server session manager in an interprise computing framework system
5848396, Apr 26 1996 Conversant, LLC Method and apparatus for determining behavioral profile of a computer user
5848397, Apr 19 1996 JUNO ONLINE SERVICES, INC Method and apparatus for scheduling the presentation of messages to computer users
5850352, Mar 31 1995 CALIFORNIA, THE UNIVERSITY OF, REGENTS OF, THE Immersive video, including video hypermosaicing to generate from multiple video views of a scene a three-dimensional video mosaic from which diverse virtual video scene images are synthesized, including panoramic, scene interactive and stereoscopic images
5850433, May 01 1996 Sprint Communication Co. L.P.; BALL, HARLEY R System and method for providing an on-line directory service
5854897, Dec 27 1996 MARSHALL COMMUNICATIONS, LLC Network communications marketing system
5855008, Dec 11 1995 MYPOINTS COM, INC Attention brokerage
5861880, Oct 14 1994 Fuji Xerox Co., Ltd. Editing system for multi-media documents with parallel and sequential data
5861883, May 13 1997 SNAP INC Method and system for portably enabling awareness, touring, and conferencing over the world-wide web using proxies and shared-state servers
5862260, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Methods for surveying dissemination of proprietary empirical data
5862325, Feb 29 1996 Intermind Corporation Computer-based communication system and method using metadata defining a control structure
5864823, Jun 25 1997 HANGER SOLUTIONS, LLC Integrated virtual telecommunication system for E-commerce
5870769, Apr 18 1997 GOOGLE LLC Internet access system and method with active link status indicators
5872850, Jun 30 1995 Microsoft Technology Licensing, LLC System for enabling information marketplace
5875296, Jan 28 1997 Alibaba Group Holding Limited Distributed file system web server user authentication with cookies
5877766, Aug 15 1997 International Business Machines Corporation Multi-node user interface component and method thereof for use in accessing a plurality of linked records
5878231, May 18 1995 Oracle America, Inc System for packet filtering of data packets at a computer network interface
5883955, Jun 07 1995 DIGITAL RIVER, INC On-line try before you buy software distribution system
5884025, May 18 1995 Oracle America, Inc System for packet filtering of data packet at a computer network interface
5886683, Jun 25 1996 Sun Microsystems, Inc Method and apparatus for eyetrack-driven information retrieval
5887133, Jan 15 1997 HEALTH HERO NETWORK, INC System and method for modifying documents sent over a communications network
5890152, Sep 09 1996 QUITO ENTERPRISES, LLC; QUITO ENTERPRISES, INC Personal feedback browser for obtaining media files
5892917, Sep 27 1995 Microsoft Technology Licensing, LLC System for log record and log expansion with inserted log records representing object request for specified object corresponding to cached object copies
5893053, Sep 19 1995 Sony Corporation; Sony Electronics Inc. Computer graphics data recording and playback system with a VCR-based graphic user interface
5893118, Jun 14 1995 EMC IP HOLDING COMPANY LLC Method for managing globally distributed software components
5894554, Apr 23 1996 Microsoft Corporation System for managing dynamic web page generation requests by intercepting request at web server and routing to page server thereby releasing web server to process other requests
5897622, Oct 16 1996 Microsoft Technology Licensing, LLC Electronic shopping and merchandising system
5898434, May 15 1991 Apple Inc User interface system having programmable user interface elements
5901287, Jul 24 1996 TVL LP Information aggregation and synthesization system
5903892, Apr 30 1997 INSOLVENCY SERVICES GROUP, INC ; Procter & Gamble Company, The Indexing of media content on a network
5905492, Dec 06 1996 Microsoft Technology Licensing, LLC Dynamically updating themes for an operating system shell
5905800, Jan 17 1996 Wistaria Trading Ltd Method and system for digital watermarking
5907838, Dec 10 1996 Seiko Epson Corporation Information search and collection method and system
5913040, Aug 22 1995 RPX Corporation Method and apparatus for transmitting and displaying information between a remote network and a local computer
5918012, Mar 29 1996 British Telecommunications plc Hyperlinking time-based data files
5918013, Jun 03 1996 Rovi Technologies Corporation Method of transcoding documents in a network environment using a proxy server
5918014, Dec 27 1995 GOOGLE LLC Automated collaborative filtering in world wide web advertising
5918214, Oct 25 1996 PERKOWSKI, THOMAS J System and method for finding product and service related information on the internet
5920697, Jul 11 1996 Microsoft Technology Licensing, LLC Method of automatic updating and use of routing information by programmable and manual routing information configuration based on least lost routing
5923845, Jul 26 1996 NEC Corporation Integrated electronic information system
5923853, Oct 24 1995 Intel Corporation Using different network addresses for different components of a network-based presentation
5929850, Jul 01 1996 OPENTV, INC Interactive television system and method having on-demand web-like navigational capabilities for displaying requested hyperlinked web-like still images associated with television content
5930446, Apr 08 1995 Sony Corporation Edition system
5930700, Nov 29 1995 GRAEME INVESTMENTS LLC System and method for automatically screening and directing incoming calls
5930801, Mar 07 1997 GOOGLE LLC Shared-data environment in which each file has independent security properties
5931901, Dec 09 1996 TUMBLEWEED HOLDINGS LLC Programmed music on demand from the internet
5931907, Jan 23 1996 SUFFOLK TECHNOLOGIES, LLC Software agent for comparing locally accessible keywords with meta-information and having pointers associated with distributed information
5933811, Aug 20 1996 HEMISPHERE SOLUTIONS N A , L L C System and method for delivering customized advertisements within interactive communication systems
5933832, Sep 10 1997 Kabushiki Kaisha Toshiba Retrieval system for frequently updated data distributed on network
5936679, Aug 24 1995 HITACHI CONSUMER ELECTRONICS CO , LTD Television receiver having multiple communication capabilities
5937037, Jan 28 1998 BROADPOINT COMMUNICATIONS, INC Communications system for delivering promotional messages
5937390, Sep 14 1995 Fujitsu Limited On-line advertising system and its method
5937392, Jul 28 1997 SWITCHBOARD LLC Banner advertising display system and method with frequency of advertisement control
5937411, Nov 21 1997 International Business Machines Corporation Method and apparatus for creating storage for java archive manifest file
5943478, Apr 04 1997 Microsoft Technology Licensing, LLC System for immediate popup messaging across the internet
5944791, Oct 04 1996 Open Invention Network, LLC Collaborative web browser
5946646, Mar 29 1995 FUTUREVISION COM, LLC Interactive advertising system and device
5946664, Jun 30 1995 Sony Corporation Apparatus and method for executing a game program having advertisements therein
5946697, Apr 22 1997 Microsoft Technology Licensing, LLC Rapid transfer of HTML files
5948061, Oct 29 1996 GOOGLE LLC Method of delivery, targeting, and measuring advertising over networks
5951300, Mar 10 1997 HEALTH HERO NETWORK, INC Online system and method for providing composite entertainment and health information
5956693, Jul 19 1996 VERBIND, INC ; SAS INSTITUTE INC Computer system for merchant communication to customers
5956716, Jun 07 1995 Intervu, Inc System and method for delivery of video data over a computer network
5958008, Oct 15 1996 MICRO FOCUS LLC Software system and associated methods for scanning and mapping dynamically-generated web documents
5958015, Oct 29 1996 CA SOFTWARE ISRAEL LTD Network session wall passively listening to communication session, with use of access rules, stops further communication between network devices by emulating messages to the devices
5959621, Dec 06 1996 Microsoft Technology Licensing, LLC System and method for displaying data items in a ticker display pane on a client computer
5959623, Dec 08 1995 Oracle America, Inc System and method for displaying user selected set of advertisements
5960409, Oct 11 1996 WEB TRACKING SOLUTIONS LLC Third-party on-line accounting system and method therefor
5961593, Jan 22 1997 THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT System and method for providing anonymous personalized browsing by a proxy system in a network
5961602, Feb 10 1997 Wistron Corporation Method for optimizing off-peak caching of web data
5961603, Apr 10 1996 Comcast IP Holdings I, LLC Access system and method for providing interactive access to an information source through a networked distribution system
5963909, Dec 06 1995 Verance Corporation Multi-media copy management system
5963915, Feb 21 1996 DISNEY ENTERPRISES, INC Secure, convenient and efficient system and method of performing trans-internet purchase transactions
5966121, Oct 12 1995 Accenture Global Services Limited Interactive hypervideo editing system and interface
5970473, Dec 31 1997 AT&T Corp Video communication device providing in-home catalog services
5974219, Oct 11 1995 Hitachi, Ltd. Control method for detecting change points in motion picture images and for stopping reproduction thereof and control system for monitoring picture images utilizing the same
5974451, Oct 07 1996 BRAEUNER, FALK System and method for distributing bulletins to external computers accessing wide area computer networks
5978807, Sep 30 1997 Sony Corporation; Sony Electronics, Inc. Apparatus for and method of automatically downloading and storing internet web pages
5978833, Dec 31 1996 Intel Corporation Method and apparatus for accessing and downloading information from the internet
5978836, Jul 28 1997 Juniper Networks, Inc Workflow systems and methods
5978841, Mar 07 1997 OATH INC Look ahead caching process for improved information retrieval response time by caching bodies of information before they are requested by the user
5978842, Jan 14 1997 NETMIND TECHNOLOGIES, INC Distributed-client change-detection tool with change-detection augmented by multiple clients
5983227, Jun 12 1997 DIGI PORTAL LLC Dynamic page generator
5983244, Sep 27 1996 International Business Machines Corporation Indicating when clickable image link on a hypertext image map of a computer web browser has been traversed
5983268, Jan 14 1997 NETMIND TECHNOLOGIES, INC Spreadsheet user-interface for an internet-document change-detection tool
5987466, Nov 25 1997 International Business Machines Corporation Presenting web pages with discrete, browser-controlled complexity levels
5987606, Mar 19 1997 Bascom Global Internet Services, Inc. Method and system for content filtering information retrieved from an internet computer network
5991735, Apr 26 1996 Conversant, LLC Computer program apparatus for determining behavioral profile of a computer user
5991799, Dec 20 1996 Comcast Cable Communications Management, LLC Information retrieval system using an internet multiplexer to focus user selection
5995597, Jan 21 1997 E-mail processing system and method
5995943, Apr 01 1996 TVL LP Information aggregation and synthesization system
5996007, Jun 16 1997 PanaLogIn LLC Method for providing selected content during waiting time of an internet session
5996011, Mar 25 1997 Symantec Corporation System and method for filtering data received by a computer system
5999526, Nov 26 1996 THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT Method and apparatus for delivering data from an information provider using the public switched network
5999731, Dec 20 1994 Sun Microsystems, Inc. Bytecode program interpreter apparatus and method with pre-verification of data type restrictions and object initialization
5999740, Nov 08 1996 International Computers Limited Updating mechanism for software
5999912, May 01 1996 TUMBLEWEED HOLDINGS LLC Dynamic advertising scheduling, display, and tracking
6002401, Sep 30 1994 PICTURE PATENTS LLC User definable pictorial interface for accessing information in an electronic file system
6006241, Jan 30 1997 Microsoft Technology Licensing, LLC Production of a video stream with synchronized annotations over a computer network
6006252, Oct 08 1996 GOOGLE LLC System and method for communicating information relating to a network resource
6006265, Apr 02 1998 Tata America International Corporation Hyperlinks resolution at and by a special network server in order to enable diverse sophisticated hyperlinking upon a digital network
6009236, Sep 26 1994 Mitsubishi Denki Kabushiki Kaisha Digital video signal record and playback device and method for giving priority to a center of an I frame
6009409, Apr 02 1997 Alcatel Lucent System and method for scheduling and controlling delivery of advertising in a communications network
6009410, Oct 16 1997 AT&T Corp Method and system for presenting customized advertising to a user on the world wide web
6011537, Jan 27 1997 CXT SYSTEMS, INC System for delivering and simultaneously displaying primary and secondary information, and for displaying only the secondary information during interstitial space
6012083, Sep 24 1996 Ricoh Company Ltd. Method and apparatus for document processing using agents to process transactions created based on document content
6014502, Apr 19 1996 D E SHAW & CO , L P Electronic mail system with advertising
6014638, May 29 1996 Meta Platforms, Inc System for customizing computer displays in accordance with user preferences
6014698, May 19 1997 AT HOME BONDHOLDERS LIQUIDATING TRUST System using first banner request that can not be blocked from reaching a server for accurately counting displays of banners on network terminals
6014711, Aug 29 1997 RPX CLEARINGHOUSE LLC Apparatus and method for providing electronic mail relay translation services
6016509, May 16 1994 Intel Corporation General purpose metering mechanism for distribution of electronic information
6020884, Nov 08 1996 Meta Platforms, Inc System integrating an on-line service community with a foreign service
6023726, Jan 20 1998 Meta Platforms, Inc User configurable prefetch control system for enabling client to prefetch documents from a network server
6025837, Mar 29 1996 Rovi Technologies Corporation Electronic program guide with hyperlinks to target resources
6025886, Aug 20 1996 Hitachi Maxell, Ltd Scene-change-point detecting method and moving-picture editing/displaying method
6026368, Jul 17 1995 Microsoft Technology Licensing, LLC On-line interactive system and method for providing content and advertising information to a targeted set of viewers
6026413, Aug 01 1997 International Business Machines Corporation; IBM Corporation Determining how changes to underlying data affect cached objects
6026433, Mar 17 1997 Red Hat, Inc Method of creating and editing a web site in a client-server environment using customizable web site templates
6026933, May 29 1997 DOREL HOME FURNISHINGS, INC Step stool
6029045, Dec 09 1997 Harmonic, Inc System and method for inserting local content into programming content
6029141, Jun 27 1997 Amazon Technologies, Inc Internet-based customer referral system
6029145, Jan 06 1997 International Business Machines Corporation Software license verification process and apparatus
6029182, Oct 04 1996 Canon Kabushiki Kaisha System for generating a custom formatted hypertext document by using a personal profile to retrieve hierarchical documents
6029195, Nov 29 1994 Pinpoint Incorporated System for customized electronic identification of desirable objects
6035332, Oct 06 1997 NCR Voyix Corporation Method for monitoring user interactions with web pages from web server using data and command lists for maintaining information visited and issued by participants
6047318, Nov 19 1997 GOOGLE LLC Method of downloading java bean files in a network
6047327, Feb 16 1996 Dialogic Corporation System for distributing electronic information to a targeted group of users
6049821, Jan 24 1997 Google Technology Holdings LLC Proxy host computer and method for accessing and retrieving information between a browser and a proxy
6052709, Dec 23 1997 Symantec Corporation Apparatus and method for controlling delivery of unsolicited electronic mail
6052717, Oct 23 1996 F POSZAT HU, L L C Interactive web book system
6052730, Jan 10 1997 BOARD OF TRUSTEES OF THE LELAND STANFORD JUNIOR UNIVERSITY, THE Method for monitoring and/or modifying web browsing sessions
6055572, Jan 20 1998 Meta Platforms, Inc System and method for creating pathfiles for use to predict patterns of web surfaces
6058141, Sep 28 1995 DUPLEXX SOFTWARE, INC ; Digital Bitcasting Corporation Varied frame rate video
6061054, Jan 31 1997 Agilent Technologies Inc Method for multimedia presentation development based on importing appearance, function, navigation, and content multimedia characteristics from external files
6061659, Jun 03 1997 Digital Marketing Communications, Inc. System and method for integrating a message into a graphical environment
6061716, Nov 14 1996 CHARTER COMMUNICATIONS, INC Computer network chat room based on channel broadcast in real time
6065024, Jul 11 1996 International Business Machines Corporation Embedded HTML documents downloaded and displayed simultaneously with primary HTML document
6065056, Jun 27 1996 TW SECURITY CORP ; TRUSTWAVE HOLDINGS, INC System to control content and prohibit certain interactive attempts by a person using a personal computer
6067559, Apr 23 1998 Microsoft Technology Licensing, LLC Server architecture for segregation of dynamic content generation applications into separate process spaces
6067561, Feb 07 1997 U S BANK NATIONAL ASSOCIATION Electronic mail notification system and method within a hybrid network that transmits notifications via a continuous, high-speed channel
6067565, Jan 15 1998 Microsoft Technology Licensing, LLC Technique for prefetching a web page of potential future interest in lieu of continuing a current information download
6070140, Jun 05 1995 Muse Green Investments LLC Speech recognizer
6073105, Jun 13 1997 TELE-PUBLISHING, INC Interactive personals online network method and apparatus
6073167, Mar 18 1997 HANGER SOLUTIONS, LLC Distribution limiter for network messaging
6073241, Aug 29 1996 CBS INTERACTIVE INC Apparatus and method for tracking world wide web browser requests across distinct domains using persistent client-side state
6076166, Jan 17 1997 U S PHILIPS CORPORATION Personalizing hospital intranet web sites
6078916, Aug 01 1997 IAC SEARCH & MEDIA, INC Method for organizing information
6081840, Oct 14 1997 International Business Machines Corporation Two-level content distribution system
6084581, May 10 1996 HUNT, GREGORY WILLIAM Method of creating individually customized videos
6085193, Sep 29 1997 GOOGLE LLC Method and system for dynamically prefetching information via a server hierarchy
6085226, Jan 15 1998 Microsoft Technology Licensing, LLC Method and apparatus for utility-directed prefetching of web pages into local cache using continual computation and user models
6085242, Jan 05 1999 Open Invention Network, LLC Method for managing a repository of user information using a personalized uniform locator
6088731, Apr 24 1998 CREATIVE TECHNOLOGY LTD Intelligent assistant for use with a local computer and with the internet
6091411, Dec 06 1996 Microsoft Technology Licensing, LLC Dynamically updating themes for an operating system shell
6092196, Nov 25 1997 RPX CLEARINGHOUSE LLC HTTP distributed remote user authentication system
6094655, Jun 07 1995 GOOGLE LLC Method of creating and using notes decision capsules
6094677, May 30 1997 GOOGLE LLC Methods, systems and computer program products for providing insertions during delays in interactive systems
6098064, May 22 1998 Cisco Technology, Inc Prefetching and caching documents according to probability ranked need S list
6098065, Feb 13 1997 RPX CLEARINGHOUSE LLC Associative search engine
6101510, Jan 29 1997 Microsoft Technology Licensing, LLC Web browser control for incorporating web browser functionality into application programs
6108637, Sep 03 1996 Comscore, Inc Content display monitor
6108691, May 06 1996 SWITCHBOARD LLC Directory with options for access to and display of email addresses
6108799, Mar 12 1998 TREND MICRO INCORPORATED Automated sample creation of polymorphic and non-polymorphic marcro viruses
6112215, Sep 24 1998 International Business Machines Corporation Database or repetitively used data entries displayable for selection and entry on a variety of user interactive interfaces from sources independent of said database
6112246, Oct 22 1998 MEC MANAGEMENT, LLC System and method for accessing information from a remote device and providing the information to a client workstation
6115680, Jun 07 1995 Comscore, Inc Computer use meter and analyzer
6119098, Oct 14 1997 PATRICE D GUYOT; LAURENT GAUTIER System and method for targeting and distributing advertisements over a distributed network
6119165, Nov 17 1997 Trend Micro, Incorporated Controlled distribution of application programs in a computer network
6122632, Jul 21 1997 CONCENTRIX CVG CUSTOMER MANAGEMENT DELAWARE LLC Electronic message management system
6125388, May 31 1994 TMI SOLUTIONS, LLC System for transporting information objects between a user station and multiple remote sources based upon user modifiable object manifest stored in the user station
6128655, Jul 10 1998 UNILOC 2017 LLC Distribution mechanism for filtering, formatting and reuse of web based content
6128663, Feb 11 1997 WORLDWIDE CREATIVE TECHNIQUES, INC Method and apparatus for customization of information content provided to a requestor over a network using demographic information yet the user remains anonymous to the server
6133912, May 04 1998 V3 SOFTWARE DEVELOPMENT CORPORATION Method of delivering information over a communication network
6133918, Jun 11 1993 Apple Inc Computer system with graphical user interface including drawer-like windows
6134380, Aug 15 1997 Sony Corporation Editing apparatus with display of prescribed information on registered material
6134532, Nov 14 1997 TUMBLEWEED HOLDINGS LLC System and method for optimal adaptive matching of users to most relevant entity and information in real-time
6138146, Sep 29 1997 CLUSTER, LLC; Optis Wireless Technology, LLC Electronic mail forwarding system and method
6138155, Mar 21 1997 THE NIELSEN COMPANY US , LLC, A DELAWARE LIMITED LIABILITY COMPANY Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
6141010, Jul 17 1998 B E TECHNOLOGY, LLC Computer interface method and apparatus with targeted advertising
6144944, Apr 24 1997 ADFORCE, INC , A CORP OF DELAWARE Computer system for efficiently selecting and providing information
6151596, Aug 18 1997 NEC Corporation Information providing system
6154738, Mar 27 1998 PRODUCT ASSOCIATION TECHNOLOGIES, LLC Methods and apparatus for disseminating product information via the internet using universal product codes
6154771, Jun 01 1998 Tata America International Corporation Real-time receipt, decompression and play of compressed streaming video/hypervideo; with thumbnail display of past scenes and with replay, hyperlinking and/or recording permissively intiated retrospectively
6157924, Nov 07 1997 RPX Corporation Systems, methods, and computer program products for delivering information in a preferred medium
6157946, Feb 28 1996 GLOBAL MEDIA ONLINE INC Communication system capable of providing user with picture meeting characteristics of user and terminal equipment and information providing device used for the same
6161112, May 19 1998 International Business Machines Corporation Web page presentation control mechanism and method
6163778, Feb 06 1998 Oracle America, Inc Probabilistic web link viability marker and web page ratings
6167438, May 22 1997 AKAMAI TECHNOLOGIES, INC Method and system for distributed caching, prefetching and replication
6167453, Nov 20 1997 International Business Machines Corporation Method and apparatus for utilizing URLs to specify local or remote java bean repositories
6178443, Dec 20 1996 Intel Corporation Method and apparatus for propagating user preferences across multiple computer environments
6178461, Dec 08 1998 Alcatel Lucent Cache-based compaction technique for internet browsing using similar objects in client cache as reference objects
6182066, Nov 26 1997 International Business Machines Corp.; IBM Corporation Category processing of query topics and electronic document content topics
6182097, May 21 1998 THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT Method for characterizing and visualizing patterns of usage of a web site by network users
6182122, Mar 26 1997 International Business Machines Corporation Precaching data at an intermediate server based on historical data requests by users of the intermediate server
6182133, Feb 06 1998 Microsoft Technology Licensing, LLC Method and apparatus for display of information prefetching and cache status having variable visual indication based on a period of time since prefetching
6183366, Jan 19 1996 BENEFICIAL INNOVATIONS, INC Network gaming system
6185558, Mar 03 1998 A9 COM, INC Identifying the items most relevant to a current query based on items selected in connection with similar queries
6185586, Oct 19 1995 INTERNETAD SYSTEMS LLC Content display during idle time as a user waits for information during an internet transaction
6185614, May 26 1998 ACTIVISION PUBLISHING, INC Method and system for collecting user profile information over the world-wide web in the presence of dynamic content using document comparators
6191782, Aug 30 1996 Panasonic Intellectual Property Corporation of America Terminal apparatus and method for achieving interactive operations by displaying a desired piece of image information at high speed using cache memories, out of a large amount of image information sent in a one-way direction
6192380, Mar 31 1998 Intel Corporation Automatic web based form fill-in
6195622, Jan 15 1998 Microsoft Technology Licensing, LLC Methods and apparatus for building attribute transition probability models for use in pre-fetching resources
6198906, Oct 07 1996 Sony Corporation; Sony Electronics, INC Method and apparatus for performing broadcast operations
6199079, Mar 09 1998 Amazon Technologies, Inc Method and system for automatically filling forms in an integrated network based transaction environment
6202093, Dec 23 1998 International Business Machines Corporation Publish and subscribe data processing with ability to specify a local publication/subscription
6204840, Apr 08 1997 Rovi Technologies Corporation Non-timeline, non-linear digital multimedia composition method and system
6208339, Jun 19 1998 International Business Machines Corporation User-interactive data entry display system with entry fields having distinctive and changeable autocomplete
6216141, Dec 06 1996 Microsoft Technology Licensing, LLC System and method for integrating a document into a desktop window on a client computer
6216212, Aug 01 1997 International Business Machines Corporation Scaleable method for maintaining and making consistent updates to caches
6219676, Aug 06 1999 RPX Corporation Methodology for cache coherency of web server data
6222520, Dec 31 1997 RAKUTEN, INC Information display for a visual communication device
6223215, Sep 22 1998 Sony Corporation; Sony Electronics INC Tracking a user's purchases on the internet by associating the user with an inbound source and a session identifier
6233564, Apr 04 1997 FPX, LLC Merchandising using consumer information from surveys
6237022, Mar 15 1999 Rovi Technologies Corporation System and method for distributing preferenced data over a communications network
6249284, Apr 01 1998 Microsoft Technology Licensing, LLC Directional navigation system in layout managers
6253188, Sep 20 1996 Thomson Newspapers, Inc.; PRODIGY SERVICES CORP Automated interactive classified ad system for the internet
6253208, Mar 31 1998 British Telecommunications public limited company Information access
6266058, Sep 08 1998 Qualcomm Incorporated Apparatus and method for linking browser bars with active documents for a browser
6269361, May 28 1999 R2 SOLUTIONS LLC System and method for influencing a position on a search result list generated by a computer network search engine
6275854, May 15 1998 SAP SE Method and apparatus for detecting actual viewing of electronic advertisements
6279112, Oct 29 1996 Soverain IP, LLC Controlled transfer of information in computer networks
6280043, May 14 1997 Enplas Corporation; KOIKE, YASUHIRO Surface light source device of side light type
6285987, Jan 22 1997 BEH Investments LLC Internet advertising system
6286043, Aug 26 1998 International Business Machines Corp. User profile management in the presence of dynamic pages using content templates
6286045, May 19 1997 AT HOME BONDHOLDERS LIQUIDATING TRUST Information storage and delivery over a computer network using centralized intelligence to monitor and control the information being delivered
6295061, Feb 12 1999 DBM Korea Computer system and method for dynamic information display
6297819, Nov 16 1998 TUMBLEWEED HOLDINGS LLC Parallel web sites
6304844, Mar 30 2000 VERBALTEK, INC Spelling speech recognition apparatus and method for communications
6308202, Sep 08 1998 Microsoft Technology Licensing, LLC System for targeting information to specific users on a computer network
6311194, Mar 15 2000 ALTO DYNAMICS, LLC System and method for creating a semantic web and its applications in browsing, searching, profiling, personalization and advertising
6314451, Jan 26 1999 ANDREAS ACQUISITION LLC Ad controller for use in implementing user-transparent network-distributed advertising and for interstitially displaying an advertisement so distributed
6314457, Apr 21 1999 DESCARTES U S HOLDINGS, INC ; THE DESCARTES SYSTEMS GROUP INC Method for managing printed medium activated revenue sharing domain name system schemas
6317761, Jan 26 1999 ANDREAS ACQUISITION LLC Technique for implementing browser-initiated user-transparent advertising and for interstitially displaying an advertisement, so distributed, through a web browser in response to a user click-stream
6321209, Feb 18 1999 SIMPLE COM INC System and method for providing a dynamic advertising content window within a window based content manifestation environment provided in a browser
6321256,
6324553, Nov 26 1997 International Business Machines Corporation Apparatus and method for the manual selective blocking of images
6324569, Sep 18 1999 Red Hat, Inc Self-removing email verified or designated as such by a message distributor for the convenience of a recipient
6324583, Nov 17 1998 International Business Machines Corp. Method and apparatus for enabling communication between dissimilar protocol stacks
6327574, Jul 07 1998 CALLAHAN CELLULAR L L C Hierarchical models of consumer attributes for targeting content in a privacy-preserving manner
6327617, Nov 27 1995 Microsoft Technology Licensing, LLC Method and system for identifying and obtaining computer software from a remote computer
6332127, Jan 28 1999 MEDIATEK INC Systems, methods and computer program products for providing time and location specific advertising via the internet
6334111, Oct 06 2000 BENEDOR LLC Method for allocating commissions over the internet using tags
6335963, Dec 01 1997 RPX CLEARINGHOUSE LLC System and method for providing notification of a received electronic mail message
6336131, Oct 08 1996 GOOGLE LLC System and method for communicating information relating to a network resource
6338059, Dec 17 1998 International Business Machines Corporation Hyperlinked search interface for distributed database
6338066, Sep 25 1998 Adobe Systems Incorporated Surfaid predictor: web-based system for predicting surfer behavior
6341305, Oct 08 1996 GOOGLE LLC System and method for communicating information relating to a network resource
6347398, Dec 12 1996 Microsoft Technology Licensing, LLC Automatic software downloading from a computer network
6351279, Dec 18 1998 Telefonaktiebolaget L M Ericsson (publ) System and method of providing selected advertisements between subscribers utilizing video telephones
6351745, Feb 28 1996 GLOBAL MEDIA ONLINE, INC Communication system for distributing such message as advertisement to user of terminal equipment
6353834, Nov 14 1996 Mitsubishi Electric Research Laboratories, Inc Log based data architecture for a transactional message queuing system
6356898, Aug 31 1998 International Business Machines Corporation Method and system for summarizing topics of documents browsed by a user
6356908, Jul 30 1999 International Business Machines Corporation Automatic web page thumbnail generation
6360221, Sep 21 1999 GOOGLE LLC Method and apparatus for the production, delivery, and receipt of enhanced e-mail
6366298, Jun 03 1999 NetZero, Inc. Monitoring of individual internet usage
6370527, Dec 29 1998 AT&T Properties, LLC; AT&T INTELLECTUAL PROPERTY II, L P Method and apparatus for searching distributed networks using a plurality of search devices
6377983, Aug 31 1998 International Business Machines Corporation Method and system for converting expertise based on document usage
6378075, Apr 11 1997 MasterCard International Trusted agent for electronic commerce
6381735, Oct 02 1998 Microsoft Technology Licensing, LLC Dynamic classification of sections of software
6381742, Jun 19 1998 Microsoft Technology Licensing, LLC Software package management
6385592, Aug 20 1996 Mineral Lassen LLC System and method for delivering customized advertisements within interactive communication systems
6392668, Nov 12 1999 Kendara, Inc.; KENDARA, INC Client-side system and method for network link differentiation
6393407, Sep 11 1997 ANDREAS ACQUISITION LLC Tracking user micro-interactions with web page advertising
6393415, Mar 31 1999 GOOGLE LLC Adaptive partitioning techniques in performing query requests and request routing
6397228, Mar 31 1999 GOOGLE LLC Data enhancement techniques
6401075, Feb 14 2000 RPX Corporation Methods of placing, purchasing and monitoring internet advertising
6415322, Feb 27 1998 BEH Investments LLC Dual/blind identification
6418440, Jun 15 1999 Alcatel Lucent System and method for performing automated dynamic dialogue generation
6418471, Oct 06 1997 NCR Voyix Corporation Method for recording and reproducing the browsing activities of an individual web browser
6421675, Mar 16 1998 S L I SYSTEMS, INC Search engine
6421724, Aug 30 1999 VERINT AMERICAS INC Web site response measurement tool
6421729, Apr 14 1998 CITICORP CREDIT SERVICES, INC USA System and method for controlling transmission of stored information to internet websites
6434745, Sep 15 1999 D A N JOINT VENTURE III, L P Customized web browsing and marketing software with local events statistics database
6437802, Jul 14 1999 NBCUniversal Media, LLC Throttler for rapid start-up of a broadcast automation system
6438215, Feb 29 2000 RPX CLEARINGHOUSE LLC Method and system for filter based message processing in a unified messaging system
6438578, Jun 12 1996 SMOOTH RIDE, SERIES 53 OF ALLIED SECURITY TRUST I System and method for generating a modified web page in response to an information request from a client computer
6438579, Jul 16 1999 Microsoft Corporation Automated content and collaboration-based system and methods for determining and providing content recommendations
6441832, Nov 28 1996 Sony Corporation Hierarchical processing apparatus and hierarchical processing method for video and audio data
6442529, Nov 17 1998 HANGER SOLUTIONS, LLC Methods and apparatus for delivering targeted information and advertising over the internet
6446128, Dec 01 1997 Apple Inc Site access via intervening control layer
6449657, Aug 06 1999 DOTSTER, INC Internet hosting system
6452612, Dec 18 1998 ParkerVision, Inc Real time video production system and method
6457009, Nov 09 1998 CORRINO HOLDINGS LLC Method of searching multiples internet resident databases using search fields in a generic form
6459440, Jul 15 1999 Google Technology Holdings LLC Method and apparatus for automatic deletion of a pop-up window
6460036, Nov 28 1994 Pinpoint Incorporated System and method for providing customized electronic newspapers and target advertisements
6460042, Jun 04 1998 CollegeNET, Inc. Universal forms engine
6460060, Jan 26 1999 LinkedIn Corporation Method and system for searching web browser history
6466970, Jan 27 1999 Adobe Inc System and method for collecting and analyzing information about content requested in a network (World Wide Web) environment
6477550, Mar 16 1999 JPMORGAN CHASE BANK, N A ; MORGAN STANLEY SENIOR FUNDING, INC Method and system for processing events related to a first type of browser from a second type of browser
6477575, Sep 12 2000 Capital One Services, LLC System and method for performing dynamic Web marketing and advertising
6480837, Dec 16 1999 LinkedIn Corporation Method, system, and program for ordering search results using a popularity weighting
6484148, Feb 19 2000 Apple Inc Electronic advertising device and method of using the same
6487538, Nov 16 1998 ConneXus Corporation Method and apparatus for local advertising
6490722, Mar 30 1999 TIVO SOLUTIONS INC Software installation and recovery system
6493702, May 05 1999 GOOGLE LLC System and method for searching and recommending documents in a collection using share bookmarks
6496931, Dec 31 1998 Lucent Technologies Inc Anonymous web site user information communication method
6499052, Aug 11 1999 OATH INC Electronic commerce system for referencing remote commerce sites at a local commerce site
6502076, Jun 01 1999 NCR Voyix Corporation System and methods for determining and displaying product promotions
6505201, Jun 03 1999 Net Zero, Inc. Apparatus for monitoring individual internet usage
6513052, Dec 15 1999 Uber Technologies, Inc Targeted advertising over global computer networks
6513060, Aug 27 1998 INTERNETSEER COM, INC System and method for monitoring informational resources
6516312, Apr 04 2000 International Business Machine Corporation System and method for dynamically associating keywords with domain-specific search engine queries
6523021, Jul 31 2000 Microsoft Technology Licensing, LLC Business directory search engine
6526411, Nov 15 1999 CEDAR LANE TECHNOLOGIES INC System and method for creating dynamic playlists
6529903, Jul 06 2000 GOOGLE LLC Methods and apparatus for using a modified index to provide search results in response to an ambiguous search query
6539375, Aug 04 1998 Microsoft Technology Licensing, LLC Method and system for generating and using a computer user's personal interest profile
6539424, Nov 12 1999 Time Warner, Inc Restricting deep hyperlinking on the World Wide Web
6564202, Jan 26 1999 GOOGLE LLC System and method for visually representing the contents of a multiple data object cluster
6567850, Oct 28 1998 YODLEE, INC System and method for determining revenue from an intermediary derived from servicing data requests
6567854, Oct 21 1999 VERIZON CORPORATE SERVICES GROUP INC Internet service delivery via server pushed personalized advertising dashboard
6570595, Jun 24 1999 CEDAR LANE TECHNOLOGIES INC Exclusive use display surface areas and persistently visible display of contents including advertisements
6572662, May 15 1998 International Business Machines Corporation; IBM Corporation Dynamic customized web tours
6584479, Jun 17 1998 Xerox Corporation Overlay presentation of textual and graphical annotations
6584492, Jan 20 2000 KLAUSTECH LLC; KLAUSTECH, LLC Internet banner advertising process and apparatus having scalability
6584505, Jul 08 1999 Microsoft Technology Licensing, LLC Authenticating access to a network server without communicating login information through the network server
6594654, Mar 03 2000 VEDASOURCE, LLC Systems and methods for continuously accumulating research information via a computer network
6601041, Jul 17 1995 Microsoft Technology Licensing, LLC Method of providing targeted advertisements to a computer mediated communications network
6601057, Nov 05 1999 DECENTRIX, INC Method and apparatus for generating and modifying multiple instances of an element of a web site
6601100, Jan 27 1999 Adobe Inc System and method for collecting and analyzing information about content requested in a network (world wide web) environment
6604103, Sep 02 1994 GOOGLE LLC System and method for information retrieval employing a preloading procedure
6606652, Jun 30 1998 Microsoft Technology Licensing, LLC System for targeting information to specific users on a computer network
6615247, Jul 01 1999 U S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT System and method for customizing requested web page based on information such as previous location visited by customer and search term used by customer
6622168, Apr 10 2000 Rovi Technologies Corporation Dynamic page generation acceleration using component-level caching
6631360, Nov 06 2000 BJ HUNTER INFORMATION, INC Computer-implementable Internet prediction method
6642944, Jun 11 1993 Apple Inc Computer system with graphical user interface including drawer-like windows
6643696, Mar 21 1997 THE NIELSEN COMPANY US , LLC, A DELAWARE LIMITED LIABILITY COMPANY Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
6665656, Oct 05 1999 Freescale Semiconductor, Inc Method and apparatus for evaluating documents with correlating information
6665838, Jul 30 1999 International Business Machines Corporation Web page thumbnails and user configured complementary information provided from a server
6678731, Jul 08 1999 Microsoft Technology Licensing, LLC Controlling access to a network server using an authentication ticket
6678866, Jun 30 1998 Hakuhodo Inc.; Tyo Productions Inc. Notification information display apparatus notification information display system and recording medium
6681223, Jul 27 2000 International Business Machines Corporation System and method of performing profile matching with a structured document
6681247, Oct 18 1999 HRL Laboratories, LLC Collaborator discovery method and system
6686931, Jun 13 1997 Google Technology Holdings LLC Graphical password methodology for a microprocessor device accepting non-alphanumeric user input
6687737, May 15 1998 ANDREAS ACQUISITION LLC Apparatus and accompanying methods for network distribution and interstitial rendering of information objects to client computers
6691106, May 23 2000 Intel Corporation Profile driven instant web portal
6697825, Nov 05 1999 DECENTRIX, INC Method and apparatus for generating and modifying multiple instances of element of a web site
6701362, Feb 23 2000 MICRO FOCUS LLC Method for creating user profiles
6701363, Feb 29 2000 Adobe Inc Method, computer program product, and system for deriving web transaction performance metrics
6714975, Mar 31 1997 Time Warner, Inc Method for targeted advertising on the web based on accumulated self-learning data, clustering users and semantic node graph techniques
6718365, Apr 13 2000 GOOGLE LLC Method, system, and program for ordering search results using an importance weighting
6721741, Jan 24 2000 BLUEBONNET INTERNET MEDIA SERVICES, LLC Streaming media search system
6721795, Apr 26 1999 OATH INC Data transfer server
6725269, Dec 02 1999 International Business Machines Corporation System and method for maintaining multiple identities and reputations for internet interactions
6725303, Aug 31 2000 AT&T Corp. Method and apparatus for establishing a personalized connection with a network
6741967, Nov 02 1998 Dynatrace LLC Full service research bureau and test center method and apparatus
6757661, Apr 07 2000 NetZero High volume targeting of advertisements to user of online service
6760746, Aug 31 2000 MEC MANAGEMENT, LLC Method, product, and apparatus for processing a data request
6760916, Jan 14 2000 PARKER VISION, INC Method, system and computer program product for producing and distributing enhanced media downstreams
6763379, Oct 14 1999 Intellectual Ventures I LLC System, apparatus and method for presenting and displaying content on a wide area network
6763386, Mar 21 1997 THE NIELSEN COMPANY US , LLC, A DELAWARE LIMITED LIABILITY COMPANY Method and apparatus for tracking client interaction with a network resource downloaded from a server
6771290, Jul 17 1998 B.E. Technology, LLC Computer interface method and apparatus with portable network organization system and targeted advertising
6772200, May 15 1997 Intel Corporation System for providing non-intrusive dynamic content to a client device
6785659, May 15 1998 ANDREAS ACQUISITION LLC Agent-based technique for implementing browser-initiated user-transparent interstitial web advertising in a client computer
6785723, Jun 22 2000 SNAP INC TRACKING THE TRANSMISSION OF WEB DOCUMENTS OR FILES SENT FROM RESOURCE LOCATIONS THROUGH SERVERS ON THE WEB TO CLIENT COMPUTER STATIONS WHICH SEND TRACKED TRANSMISSION CHARACTERISTICS DATA BACK TO SAID SERVERS
6801906, Jan 11 2000 International Business Machines Corporation Method and apparatus for finding information on the internet
6801909, Jul 21 2000 TRIPLEHOP TECHNOLOGIES, INC System and method for obtaining user preferences and providing user recommendations for unseen physical and information goods and services
6826534, Jun 07 1999 HEWLETT-PACKARD DEVELOPMENT COMPANY L P Agent and method for dynamically scheduling publication in an automated document delivery system
6826546, Aug 17 2000 Kioba Processing, LLC Method and system for licensing a copy of a copyright protected work
6827669, May 24 2000 Netpulse, LLC Reliability system for networked exercise equipment
6847969, May 03 1999 STREETSPACE, INC Method and system for providing personalized online services and advertisements in public spaces
6848004, Nov 23 1999 International Business Machines Corporation System and method for adaptive delivery of rich media content to a user in a network based on real time bandwidth measurement & prediction according to available user bandwidth
6850967, Feb 19 2000 HEWLETT-PACKARD DEVELOPMENT COMPANY L P System and method for ensuring transparent sychronization of multiple applications across remote systems
6853982, Mar 29 2001 Amazon Technologies, Inc Content personalization based on actions performed during a current browsing session
6857024, Oct 22 1999 Cisco Systems, Inc System and method for providing on-line advertising and information
6874018, Aug 07 2000 JPMORGAN CHASE BANK, N A ; MORGAN STANLEY SENIOR FUNDING, INC Method and system for playing associated audible advertisement simultaneously with the display of requested content on handheld devices and sending a visual warning when the audio channel is off
6877027, Feb 19 2000 HEWLETT-PACKARD DEVELOPMENT COMPANY L P System and method for providing synchronization verification of multiple applications across remote systems
6880123, May 15 1998 ANDREAS ACQUISITION LLC Apparatus and accompanying methods for implementing a network distribution server for use in providing interstitial web advertisements to a client computer
6882981, Mar 09 1998 Amazon Technologies, Inc Method and system for integrating transaction mechanisms over multiple internet sites
6892181, Sep 08 2000 International Business Machines Corporation System and method for improving the effectiveness of web advertising
6892223, May 22 1998 Bandai Co., Ltd. System and method of displaying information on desktop
6892226, Mar 27 1997 Intel Corporation System for delivery of dynamic content to a client device
6892354, Apr 16 1997 Sony Corporation; Sony Electronics, Inc. Method of advertising on line during a communication link idle time
6904408, Oct 19 2000 Bionet method, system and personalized web content manager responsive to browser viewers' psychological preferences, behavioral responses and physiological stress indicators
6910179, Nov 10 1998 HANGER SOLUTIONS, LLC Method and apparatus for automatic form filling
6934736, Mar 15 2001 Microsoft Technology Licensing, LLC Systems and methods for automatically generating cookies
6938027, Sep 02 1999 International Business Machines Corporation Hardware/software management, purchasing and optimization system
6957390, Nov 30 2000 MEDIACOM NET, LLC Method and apparatus for providing dynamic information to a user via a visual display
6958759, Aug 28 2001 Google Technology Holdings LLC Method and apparatus for preserving, enlarging and supplementing image content displayed in a graphical user interface
6968507, Nov 27 2001 Gula Consulting Limited Liability Company Method and apparatus for defeating a mechanism that blocks windows
6973478, Oct 26 1999 DEUTSCHE BANK AG NEW YORK BRANCH Autonomous local assistant for managing business processes
6976053, Oct 14 1999 MEC MANAGEMENT, LLC Method for using agents to create a computer index corresponding to the contents of networked computers
6976090, Apr 20 2000 Cisco Technology, Inc Differentiated content and application delivery via internet
6990633, Jul 28 2000 Seiko Epson Corporation Providing a network-based personalized newspaper with personalized content and layout
6993532, May 30 2001 Microsoft Technology Licensing, LLC Auto playlist generator
7003734, May 05 2000 ANDREAS ACQUISITION LLC Method and system for creating and displaying images including pop-up images on a visual display
7016887, Jan 03 2001 DASSAULT SYSTEMES AMERICAS CORP Methods and systems of classifying multiple properties simultaneously using a decision tree
7039599, Jun 16 1997 GOOGLE LLC Method and apparatus for automatic placement of advertising
7043526, Oct 08 1996 GOOGLE LLC System and method for communicating information relating to a network resource
7051084, Nov 02 2000 Citrix Systems, Inc. Methods and apparatus for regenerating and transmitting a partial page
7054900, Aug 18 2000 NetZero, Inc.; NETZERO, INC Automatic, profile-free web page recommendation
7065550, Feb 14 2001 Nuance Communications, Inc Information provision over a network based on a user's profile
7069515, May 21 2002 Rovi Technologies Corporation Method and apparatus for displaying messages in computer systems
7076546, Feb 10 1999 International Business Machines Corporation Browser for use in accessing hypertext documents in a multi-user computer environment
7085682, Sep 18 2002 GOOGLE LLC System and method for analyzing website activity
7100111, Apr 02 1999 R2 SOLUTIONS LLC Method and system for optimum placement of advertisements on a webpage
7133924, Mar 08 2000 Music Choice Personalized audio system and method
7136875, Sep 24 2002 GOOGLE LLC Serving advertisements based on content
7149791, Mar 15 2001 Microsoft Technology Licensing, LLC Systems and methods for automatically generating cookies
7155729, Mar 28 2000 Microsoft Technology Licensing, LLC Method and system for displaying transient notifications
7162739, Nov 27 2001 Gula Consulting Limited Liability Company Method and apparatus for blocking unwanted windows
7181415, Apr 07 2000 NetZero, Inc. Targeting of advertisements to users of an online service
7181488, Jun 29 2001 Gula Consulting Limited Liability Company System, method and computer program product for presenting information to a user utilizing historical information about the user
7194425, Jul 08 1999 KANTAR LLC System and method for evaluating and/or monitoring effectiveness of on-line advertising
7254547, Nov 22 1999 Meta Platforms, Inc Dynamically targeting online advertising messages to users
7283992, Nov 30 2001 Microsoft Technology Licensing, LLC Media agent to suggest contextually related media content
7346606, Jun 30 2003 GOOGLE LLC Rendering advertisements with documents having one or more topics using user topic interest
7349827, Sep 18 2002 GOOGLE LLC System and method for reporting website activity based on inferred attribution methodology
7363291, Mar 29 2002 GOOGLE LLC Methods and apparatus for increasing efficiency of electronic document delivery to users
7421432, Dec 15 1999 GOOGLE LLC Hypertext browser assistant
7424708, Sep 11 2000 HANDMARK, INC Method and device for providing/receiving media content over digital network
7451065, Mar 11 2002 GLOBALFOUNDRIES Inc Method for constructing segmentation-based predictive models
7454364, Dec 31 1998 ALMONDNET, INC Method for transacting an advertisement transfer
7464155, Mar 24 2003 Siemens Canada Limited Demographic information acquisition system
7512603, Nov 05 2002 Gula Consulting Limited Liability Company Responding to end-user request for information in a computer network
7630986, Oct 27 1999 STRIPE, INC Secure data interchange
7743340, Mar 16 2000 Microsoft Technology Licensing, LLC Positioning and rendering notification heralds based on user's focus of attention and activity
7844488, Oct 29 1996 GOOGLE LLC Method of delivery, targeting, and measuring advertising over networks
2002122065,
20010011226,
20010029527,
20010030970,
20010032115,
20010037240,
20010037325,
20010037488,
20010044795,
20010047354,
20010049320,
20010049321,
20010049620,
20010049716,
20010051559,
20010053735,
20010054020,
20020002483,
20020002538,
20020004754,
20020007307,
20020007309,
20020007317,
20020008703,
20020010626,
20020010757,
20020010776,
20020016736,
20020019763,
20020019834,
20020023159,
20020026390,
20020032592,
20020035568,
20020038363,
20020040374,
20020042750,
20020046099,
20020049633,
20020052785,
20020052925,
20020053078,
20020054089,
20020055912,
20020057285,
20020059094,
20020059099,
20020065802,
20020068500,
20020069105,
20020073079,
20020077219,
20020078076,
20020078192,
20020087499,
20020087621,
20020091700,
20020091875,
20020094868,
20020099605,
20020099767,
20020099812,
20020099824,
20020103811,
20020107847,
20020107858,
20020111910,
20020111994,
20020112035,
20020112048,
20020116494,
20020120648,
20020123912,
20020128904,
20020128908,
20020128925,
20020152121,
20020152126,
20020152222,
20020154163,
20020156781,
20020156812,
20020169670,
20020169762,
20020170068,
20020171682,
20020175947,
20020194151,
20020198778,
20030004804,
20030005000,
20030005067,
20030005134,
20030011639,
20030014304,
20030014399,
20030018778,
20030018885,
20030023481,
20030023488,
20030023698,
20030028529,
20030028565,
20030028870,
20030032409,
20030033155,
20030040958,
20030041050,
20030046150,
20030050863,
20030052913,
20030074448,
20030088554,
20030105589,
20030110079,
20030110080,
20030115157,
20030120593,
20030120654,
20030131100,
20030135490,
20030135853,
20030154168,
20030171990,
20030172075,
20030176931,
20030182184,
20030195837,
20030195877,
20030206720,
20030208472,
20030220091,
20030221167,
20030229542,
20040002896,
20040024756,
20040030798,
20040044677,
20040068486,
20040073485,
20040078294,
20040095376,
20040098229,
20040098449,
20040117353,
20040133845,
20040162738,
20040162759,
20040163101,
20040163107,
20040167928,
20040181525,
20040181604,
20040193488,
20040210533,
20040225716,
20040247748,
20040249709,
20040249938,
20040254810,
20040267723,
20050015366,
20050021397,
20050027821,
20050027822,
20050033657,
20050038819,
20050080772,
20050086109,
20050091106,
20050091111,
20050097088,
20050102202,
20050102282,
20050125382,
20050131762,
20050132267,
20050149404,
20050155031,
20050182773,
20050187823,
20050203796,
20050204148,
20050216572,
20050222901,
20050222982,
20050240599,
20050273463,
20050283469,
20050289120,
20060015390,
20060026233,
20060031253,
20060053230,
20060136524,
20060136528,
20060136728,
20060235965,
20060253432,
20070016469,
20070038956,
EP631231,
EP822535,
EP1045547,
EP1154611,
EP1207468,
JP11066099,
JP20010222535,
JP2001084256,
JP2001147894,
JP2001312482,
JP2002024221,
JP2002032401,
JP2002073545,
JP2002092284,
JP2002259371,
JP2002334104,
JP2002524782,
JP20030271647,
JP2003058572,
JP2003141155,
JP2003178092,
JP2003242411,
JP2004355376,
JP343825,
WO4434,
WO54201,
WO103028,
WO115052,
WO139024,
WO144992,
WO163472,
WO169929,
WO190917,
WO244869,
WO3010685,
WO9847090,
WO9938321,
WO9944159,
WO9946701,
WO9955066,
WO9959097,
//////////
Executed onAssignorAssigneeConveyanceFrameReelDoc
Aug 19 2005Carhamm Ltd., LLC(assignment on the face of the patent)
Oct 24 2005BENNETT, DOMINICClaria CorporationASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0171890150 pdf
Oct 25 2005PACZKOWSKI, REMIGIUSZ K Claria CorporationASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0171890150 pdf
Apr 14 2008Claria CorporationJELLYCLOUD, INC CHANGE OF NAME SEE DOCUMENT FOR DETAILS 0249060826 pdf
Sep 30 2008JELLYCLOUD, INC JELLYCLOUD ASSIGNMENT FOR THE BENEFIT OF CREDITORS , LLCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0249150414 pdf
Jan 28 2010JELLYCLOUD ASSIGNMENT FOR THE BENEFIT OF CREDITORS , LLCClaria Innovations, LLCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0249270001 pdf
Nov 21 2011Claria Innovations, LLCCARHAMM LTD , LLCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0277080319 pdf
Aug 26 2015CARHAMM LTD , LLCGula Consulting Limited Liability CompanyMERGER SEE DOCUMENT FOR DETAILS 0367680902 pdf
Oct 10 2024Gula Consulting Limited Liability CompanyINTELLECTUAL VENTURES ASSETS 194 LLCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0688670804 pdf
Oct 15 2024INTELLECTUAL VENTURES ASSETS 194 LLCINTEGRAL WIRELESS TECHNOLOGIES LLCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0689200014 pdf
Date Maintenance Fee Events
Jan 25 2016M1551: Payment of Maintenance Fee, 4th Year, Large Entity.
Jan 16 2020M1552: Payment of Maintenance Fee, 8th Year, Large Entity.
Jan 11 2024M1553: Payment of Maintenance Fee, 12th Year, Large Entity.


Date Maintenance Schedule
Aug 28 20154 years fee payment window open
Feb 28 20166 months grace period start (w surcharge)
Aug 28 2016patent expiry (for year 4)
Aug 28 20182 years to revive unintentionally abandoned end. (for year 4)
Aug 28 20198 years fee payment window open
Feb 28 20206 months grace period start (w surcharge)
Aug 28 2020patent expiry (for year 8)
Aug 28 20222 years to revive unintentionally abandoned end. (for year 8)
Aug 28 202312 years fee payment window open
Feb 28 20246 months grace period start (w surcharge)
Aug 28 2024patent expiry (for year 12)
Aug 28 20262 years to revive unintentionally abandoned end. (for year 12)