# Patent

## Title
Method for providing content to an internet user based on the user's demonstrated content preferences

## Abstract

A method of providing content from an internet server to an internet user based on the user's internet navigation history. The method begins with the step of installing a profile decoder, including a profile library, on the server. The profile decoder maps server content to content categories contained in the profile library. The server then receives a communication from a user then in internet communication with the server, at least a portion of that communication including an encrypted summary of user navigation history. The server then processes the user communication in the profile decoder to identify user content preferences by matching user content preferences with available server content, employing the profile server. Finally, the server provides content to the user based on the user's identified preferences.

## Background
RELATED APPLICATION
This application claims the benefit of U.S. Provisional Patent Application No. 60/662,680, entitled “Method and Device for Publishing Behavioral Observations to Customers” filed on 17 Mar. 2005 by Scott Eagle, Marc Silverberg, Scott VanDeVelde, Craig Zeldin, David Goulden, Eric McKinlay and Dominic Bennett. That application is incorporated by reference for all purposes.


BACKGROUND OF THE INVENTION
The present invention relates generally to the field of market research, and in particular, it relates to the use of user behavior to define content offered to that user.
The technique of gathering information about consumer behavior on the internet was set out in commonly-owned U.S. patent application Ser. No. 11/226,066, entitled “Method and Device for Publishing Cross-Network User Behavioral Data” filed on 14 Sep. 2005. (the “'066” application), published as U.S. Patent Publication No. 2006-0136528 A1 on Jun. 22, 2006, issued Apr. 6, 2010 as U.S. Pat. No. 7,693,863. That application is incorporated by reference herein for all purposes.
The technique of the '066 Application teaches how information about user behavior on the internet can be gathered. In sum, that application teaches that a behavior module can reside on a user computer, which module can observe and record user behavior in terms of keystrokes, mouse clicks and so on. Also, the behavior module can also observe information about websites visited by the user. In conjunction with software incorporated into the behavior module, data about the web site or web page can be analyzed and the site categorized into one of a set of categories defined by the behavior module. Information identifying the category, as well as information about the user's navigation behavior, such as the when the site was visited, how much time was spent there, and what the user did, can also be gathered by the behavior module. Finally, the behavior module can summarize the information and compact it into a form suitable for transmission, such the form generally known as a “cookie.”
What is not taught by the '066 application, and not seen in the art, is an understanding of how to employ such information to provide content to a user based on what that user wants to see. It remains to the present invention to provide such functionality to the art.
SUMMARY OF THE INVENTION
An aspect of the present invention is a method of providing content from an internet server to an interne user based on the user's interne navigation history. The method begins with the step of installing a profile decoder, including a profile library, on the server. The profile decoder maps server content to content categories contained in the profile library. The server then receives a communication from a user then in internet communication with the server, at least a portion of that communication including an encrypted summary of user navigation history. The server then processes the user communication in the profile decoder to identify user content preferences by matching user content preferences with available server content, employing the profile server. Finally, the server provides content to the user based on the user's identified preferences.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a process according to an embodiment of the present invention.
FIG. 2 depicts the operation of a user computer to produce a behavior profile according to an embodiment of the present invention.
FIG. 3 illustrates a process for mapping host category information to an internet content provider's information schema.
FIG. 4 illustrates the information flow in an embodiment of the present invention.
FIG. 5 illustrates user screen generated by an internet content provider, based on information communicated from the behavior tracking module resident on the user computer.



DETAILED DESCRIPTION
The following detailed description is made with reference to the figures. Preferred embodiments are described to illustrate the present invention, not to limit its scope, which is defined by the claims. Those of ordinary skill in the art will recognize a variety of equivalent variations on the description that follows.
An embodiment of the process by which the present invention can provide integrated content to a user is illustrated in FIG. 1. As seen there, the process involves the interaction between three entities, a host company 12, a user 14 and an internet source 16. The first entity develops and provides the software employed in the remainder of the process and cooperates in the process operation. The user can be any entity making use of the internet, most often an individual. The last entity is a source of content on the internet. Such sources fall into several groups, based on the orientation of the internet site being operated. One type is an internet website oriented to a single company or product, such as CNN or Ford. Another type is a website that serves as a retail operation, such as PC Connection or Amazon. A third type operates a portal, which serves as a gateway to other content, examples of which are Yahoo! or Lycos. A final distinct type of site is the search-oriented site, such as Google or Alta Vista. Other sites are hybrids of these types, or are in the act of morphing from one type to another.
All of these website types, however, generally seek to attract and hold users' attention, whether to sell products or to promote user presence on the site and exposure to advertising on the site. It has been found by the assignee of the present invention that improved information about user preferences can be derived directly from user behavior, as set out in the '066 Application. The disclosure of that application sets out the use of a behavior tracking module, resident on a user computer, which records user actions as well as information concerning the website being visited.
Such behavior tracking modules are developed by the host company and then installed on user computers, as shown in step 102. on the user computer, the module tracks user actions on the internet, as seen in step 104, and then summarizes that behavior in step 106.
As shown in FIG. 2, a behavior tracking module can collect and summarize data on the range of user behavior on the internet. In the example shown, the user has engaged in interactive activities, such as posting photographs online, as well as reading about a number of subject areas, such as movie reviews, pregnancy and home/food/health issues. In addition, the module can draw inferences from certain behaviors. If one visits a number of sites featuring a single product, for example, the module infers that the user is shopping for that item.
The module summarizes the behavior data into a profile 22, encrypts the profile to ensure security, and prepares it for transmission. Such a transmission can take a number of forms. The '066 Application focused on the well-known medium of cookies, which are widely employed for this purpose, but a number of other formats are available. A drawback of cookies is that space is limited, and standard formats permit only a limited amount of data. That drawback can be overcome by substituting direct internet communication, utilizing email facilities such as SNMP.
In parallel with deployment of behavior tracking modules to user computers, the host company develops and deploys custom profile library software for internet source providers, as seen in FIG. 1, step 108. That software is deployed directly to an internet source provider's server, in step 110. This software bridges the systems used by the host for categorizing subject matter (as explained in the '066 Application) and the system employed by the internet source provider for organizing its own content or products. Step 112 calls for the custom profile library to map content from the provider system to the library.
The mapping process is shown more clearly in FIG. 3. There, category information from the host company is shown in column 24. As can be seen, for example, digital photography is classified by the host company as category 1453, movie reviews as category 3756, as so on. Column 28 shows the way that the provider organizes content. That organization can take a number of forms, but here it is a hierarchical, index format, with digital photography, for example, being indexed under the Business and Economy general subject, and then into Shopping and Services, followed by Photography, and then Digital. The custom profile library maps these two organizations to each other, as shown in column 26. The technical implementation of such a mapping operation can be entirely conventional, with the result that step 112, FIG. 1, produces a library that is prepared to accept category information based on the schema adopted by the host company, and instantly associate that information with content stored on the provider server.
FIG. 4 depicts the operations that occur when a user 50 having a resident behavior tracking module 52 logs onto an internet provider server 56 having a host profile library 58 running on the same. As part of the logon handshake routine, the user computer sends an encrypted message 54 to the server. This message can take the form of a cookie or another form of message, as discussed above.
The server profile library processes the user message (FIG. 1, step 114) and it identifies content of interest to the user, based on the user's recent behavior. Just as the method of the '066 Application presents a long step from conventional market research, in terms of the precision of the data offered, the present invention takes that another distance by trimming the time factor almost to real time. Indeed, this method offers the possibility that the user could come directly from a series of sites on which she was shopping for, say an SUV. The profile library can identify that pattern and is prepared to offer the user content geared to exactly that behavior.
FIG. 5 illustrates how a portal website could take advantage of the information provided by the system of the present invention. Based on the knowledge gained from the message transmission, the provider can offer a user screen 60 on which the menu block 62 is oriented toward automobile, movie and health information. The personalized block 64 is aimed specifically at such content, and the “buzz log” portion is aimed at pregnancy-related subjects. An SUV advertisement 68 is positioned on the right side of the screen, as is a “marketplace” section featuring digital cameras.
It is important to note that the high degree of personalization achieved by the screen 60 is not the result of user settings, a process that is invariably cumbersome and thus seldom actually kept up to date. Rather, this customization is a direct result of user behavior. Indeed, it is highly probably that at least some of the customization stems directly from user actions taken at the site immediately preceding logon to the present site. A content provider cannot ask for information more timely or accurate than that.
In addition to the information provided in the materials submitted and incorporated by reference, one should understand that cookies are reproduced in a manner accessible to a customer directly. In the prior disclosure, a method was taught of publishing information using cookies. The attached material depicts the cookies being accessible by particular customers. Cookies could simultaneously be created that are available for the network sponsoring the behaviour watching module and for the customer. The file names of the cookies need to be different, in order for the ITEF standard handling of the cookies to serve them when the customer's URL is accessed, in addition to when the sponsor's URL is accessed. Alternatively, cookies could be generated for customers on demand, when the behaviour watching module or another module cooperating with the behaviour watching module senses that a customer URL is being invoked. This can be done quickly enough that the cookies will be accessible during the back and forth of HTML resolutions.
Incorporated by reference to illustrate the technology applied in this application are several previously filed applications. These include:

    Anthony G. Martin, Generation of Keywords for Searching in a Computer Network, filed on Dec. 8, 2004, Ser. No. 11/006,933.
    Scott G. Eagle, David L. Goulden, Anthony G. Martin, Eugene A. Veteska, Method And Apparatus For Displaying Messages In Computer Systems, filed on May 21, 2002, Ser. No. 10/152,204, issued as U.S. Pat. No. 7,069,515 on Jun. 27, 2006.
    Jeff McFadden and David Goulden, Methods And Apparatus For Posting Messages On Documents Delivered Over A Computer Network, filed on Oct. 17, 2003, Ser. No. 60/512,605.
    Dominic Bennett, Matt Westover, and Dan Hu, Techniques For Analyzing The Performance Of Websites, filed on Nov. 4, 2003, Ser. No. 10/700,820.
    Jeff McFadden and David Goulden, Methods And Apparatus For Posting 40 Messages On Documents Delivered Over A Computer Network, filed on Oct. 17, 2003, Ser. No. 60/512,605.
    Jeffrey McFadden, David Goulden, and Eugene A. Veteska, Methods And Apparatus For Posting Messages On Documents Delivered Over A Computer Network, filed on Sep. 28, 2004, Ser. No. 10/951,669.
    Jeffrey McFadden, Scott G. Eagle, David L. Goulden, and Anthony G. Martin, Optimization of Advertising Campaigns on Computer Networks, filed on Oct. 17, 2003, Ser. No. 60/512,607.
    Jeffrey McFadden, Scott G. Eagle, David L. Goulden, and Anthony G. Martin, Optimization of Advertising Campaigns on Computer Networks, filed on Mar. 2, 2004, Ser. No. 10/790,892.
    Anthony G. Martin, System and Methods for Using Continuous Messaging Units in a Network Architecture, filed on Jun. 17, 2002, Ser. No. 10/174,403, issued as U.S. Pat. No. 7,219,139 on May 15, 2007.
    Anthony G. Martin, System, Method and Computer Program Product for Presenting Information to the User Utilizing Historical Information about the User, filed on Jan. 25, 2002, Ser. No. 10/057,413, issued as U.S. Pat. No. 7,181,488 on Feb. 20, 2007.
    Anthony G. Martin, Presentation of Information to End-users, filed on Jan. 25, 2002, Ser. No. 10/061,107.
    Robert W. Wohlers et al., Method And Device Publishing Cross-Network User Behavioral Data, filed Dec. 20, 2004, Ser. No. 60/637,684.


Embodiments
1. A method of publishing behavioral data from a client computer via a network to an authorized domain using a cookie, including: observing cross-network user behavior data using a behavior watching module operating on a user's computer, wherein the cross-network user behavior includes accessing web sites that are not all associated with a particular user behavior data collection network, and further includes at least one of a mouse click-through, enter keystroke or other selection action and at least one keyword derived from context of the selection action; summarizing by subject category for a multiplicity of subject categories the observed cross-network user behavior data using a behavior, summarizing module, including deriving a categorical metric of the user's degree of interest in the subject category from the observed cross-network user behavior data; and publishing the summarized cross-network behavior data from the behavior summarizing module to a memory structure, wherein the memory structure is accessible via a network to a server at an authorized domain when the user uses the network to access the authorized domain; and wherein the authorized domain is a customer domain registered with a sponsor of the behavior watching module.
2. The method of embodiment 1, wherein the publishing is periodic.
3. The method of embodiment 1, wherein the publishing is on demand, when access to the customer domain is detected.
4. A method of publishing behavioral data from a client computer via a network to an authorized domain, including: summarizing observed cross-network user behavior data using a behavior summarizing module operating on a user's computer, wherein the observed cross-network user behavior includes accessing web sites that are not all associated with a particular user behavior data collection network, and further includes at least one of a mouse click-through, enter keystroke or other selection action by the user and at least one keyword derived from context of the selection action; wherein the summarizing includes deriving a categorical metric of the user's degree of interest in subject categories, from the observed cross-network user behavior data, for a multiplicity of subject categories; and publishing the summarized cross-network user behavior data from the behavior summarizing module to a memory structure, wherein the memory structure becomes accessible via a network to a server at an authorized domain when the user uses the network to access the authorized domain; and wherein the authorized domain is a customer domain registered with a sponsor of the behavior watching module.
5. The method of embodiment 4, further including prioritizing a multiplicity of subject categories, selecting a plurality of the multiplicity of subject categories, and publishing the summarized cross-network behavior data for the plurality of subject categories to a single memory structure.
6. The method of embodiment 4, further including observing the cross-network user behavior data using a behavior watching module operating on the user's computer.
7. The method of embodiment 4, wherein the cross-network behavioral data includes visits to a plurality of web sites or selections of banner ads that are not all associated with a particular behavioral data collection network. [portal, virtual storefront, content provider].
8. The method of embodiment 5, wherein the cross-network behavioral data includes behavioral data corresponding to a plurality of visits to web sites or selections of banner ads that are not all associated with a particular behavioral data collection network.
9. The method of embodiment 4, wherein the cross-network behavioral data includes behavioral data corresponding to a plurality of visits to web sites or selections of banner ads that are accessed using a plurality of browsers.
10. The method of embodiment 4, wherein publishing takes place on a periodic basis.
11. The method of embodiment 4, wherein publishing takes place on an update basis, after one or more web sites have been visited or one or more banner ads have been selected.
12. The method of embodiment 4, further including receiving at the user's computer advertising targeted using the summarized cross-network user behavior data published to the memory structure that became accessible when the user used the network to access the authorized domain.
13. A method of publishing behavioral data collected by a behavior watching module operating on a user's computer, including: summarizing cross-network user behavior data recorded to [persistent] memory, the summarizing including, for a multiplicity of subject categories, deriving any one or more of (1) categorizing recency of visiting a web site in the subject category by evaluating a most recent visit time-date indicator, (2) categorizing frequency of user visits to web sites in the subject category by rolling up indicators of visits during ten or more discrete time segments [non-overlapping; daily], which discrete time segments were recorded on a rolling basis [bit string; rolled daily], (3) categorizing recency of selections of a banner ad to obtain additional information in the subject category by evaluating a most recent visit time-date indicator, (4) categorizing frequency of user selections of a banner ad to obtain additional information in the subject category by rolling up indicators of visits during ten or more discrete time segments, which discrete time segments are tracked on a rolling basis; publishing the summarized cross-network behavior data from a behavior summarizing module to a memory structure that becomes accessible via a network to a server at an authorized domain when the user uses the network to access the authorized domain; and wherein the authorized domain is a customer domain registered with a sponsor of the behavior watching module.
14. The method of embodiment 13, further including prioritizing a multiplicity of subject categories, selecting a plurality of the multiplicity of subject categories, and publishing the summarized cross-network behavior data for the plurality of subject categories to a single memory structure.
15. The method of embodiment 13, further including observing the cross-network user behavior data using a behavior watching module operating on a user's computer.
16. The method of embodiment 13, wherein the cross-network behavioral data includes visits to a plurality of web sites or selections of banner ads that are not all associated with a particular behavioral data collection network. [portal, virtual storefront, content provider].
17. The method of embodiment 14, wherein the cross-network behavioral data includes behavioral data corresponding to a plurality of visits to web sites or selections of banner ads that are not all associated with a particular behavioral data collection network.
18. The method of embodiment 13, wherein the cross-network behavioral data includes behavioral data corresponding to a plurality of visits to web sites or selections of banner ads that are accessed using a plurality of browsers.
19. The method of embodiment 13, wherein publishing takes place on a periodic basis.
20. The method of embodiment 13, wherein publishing takes place on an update basis, after one or more web sites have been visited or one or more banner ads have been selected.
21. The method of embodiment 13, further including receiving at the user's computer advertising targeted using the summarized cross-network user behavior data published to the memory structure that became accessible when the user used the network to access the authorized domain.
22. A device operating as part of a user's computer, the device including: a cookies storage area of memory; a persistent memory distinct from the cookies storage area; logic operating as part of the user's computer, without requiring the user to specifically invoke the logic, the logic having access to the cookies storage area and to the distinct persistent memory; a communications channel connected to a network; the logic adapted to receive through the communications channel identifications of favored cookies that should be backed up, automatically back up the favored cookies from the cookies storage area to the distinct persistent memory; automatically detect that at least one particular favored cookie has been deleted or damaged; and automatically restore at least part of the particular favored cookie to the cookies storage area using the data from the distinct persistent memory.
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. 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.

## Claims

1. A method comprising the steps of:
(A) storing content on a server system, the content being accessible on said server system according to a first system of organization;
(B) obtaining a profile library on the server system, the profile library using a second system of organization of content categories, distinct from said first system of organization of content categories, said profile library providing a mapping from the second system of organization of content categories to the first system of organization of content categories;
(C) using the profile library to generate a map between the second system of organization and the first system of organization;
(D) receiving, at the server system, a communication from a user computer in communication with the server system, at least a portion of the communication representing a summary of user navigation history on the user computer, the summary having been generated by a behavior tracking module on the user computer, and the summary including information organized according to the second system of organization of content categories;
(E) in response to said receiving in (D), the server system:
(e1) mapping at least some of the information from the second system of organization of content categories to the first system of organization of content categories, said mapping using the map from said second system of organization of content categories to said first system of organization of content categories, said mapping producing mapped information;
(e2) selecting particular available content by the server system based at least in part on the mapped information, said particular content being selected from available content on the server system organized according to the first system of content categories; and
(e3) sending the particular available content to the user computer.

2. The method of claim 1, wherein the profile library contains a list of categories describing selected types of content.

3. The method of claim 1 wherein receiving a communication includes receiving a cookie containing encrypted text.

4. The method of claim 1, wherein the selecting step includes matching category information contained in the user communication with mapped category and content associations generated in the profile library.

5. A method comprising:
(A) storing content on a server system, the content being accessible on said server system according to a first system of organization of content categories;
(B) obtaining at the server system a profile library containing a list of categories, the list of categories being based on a second system of organization of content categories, said second system of organization being distinct from said first system of organization;
(C) installing the profile library on the server system;
(D) using the profile library on the server system to generate a map between the second system of organization of content categories and the first system of organization of content categories;
(E) receiving, by the server system, a communication from a user computer, the communication comprising a cookie containing an encrypted summary of user navigation history generated by a behavior tracking module on the user computer, the summary including information based on the second system of organization of content categories;
(F) in response to said receiving in (E),
(f1) the server system using the profile library to map the information from the second system of organization of content categories to mapped information according to the first system of organization of content categories;
(f2) selecting particular available content by the server system based on the mapped information; and
(f3) sending the particular available content to the user.

6. The method of claim 1 wherein the step (B) of obtaining comprises:
(b1) obtaining a profile library on the server system; and
(b2) using the profile library to generate the map between a second system of organization of content categories to said first system of organization of content categories.

7. The method of claim 1 wherein the communication comprising the summary of user navigation history is received in encrypted form.

8. The method of claim 1 wherein the communication comprising the summary of user navigation history is a cookie containing the summary.

9. The method of claim 1 wherein the server system is part of an internet source.

10. The method of claim 9 wherein the internet source is selected from one or more of the sources comprising:
an internet web site of a company or product;
an internet web site for a retail operation;
an internet web site operating as a portal to other content;
a search-oriented internet site.

11. The method of claim 1 wherein the summary of user navigation history in the communication received in (D) comprises a first multiple subject categories according to said second system of organization of content categories.

12. The method of claim 11, wherein the mapped information comprise a second multiple subject categories according to said first system of organization of content categories, said second multiple subject categories corresponding to said first multiple subject categories.

13. The method of claim 5 wherein the server system is part of an internet source.

14. The method of claim 13 wherein the internet source is selected from one or more of the sources comprising:
an internet web site of a company or product;
an internet web site for a retail operation;
an internet web site operating as a portal to other content;
a search-oriented internet site.

15. The method of claim 5 wherein the summary of user navigation history in the communication received in (E) comprises a first multiple subject categories according to said second system of organization of content categories.

16. The method of claim 15, wherein the mapped information comprise a second multiple subject categories according to said first system of organization of content categories, said second multiple subject categories corresponding to said first multiple subject categories.

17. A method comprising the steps of:
(A) storing content on a server system of an internet source, the content being accessible on said server system according to a source server-specific system of organization;
(B) providing a profile library on the server system, the profile library using a host-specific system of organization of content categories, distinct from said source server-specific system of organization of content categories, said profile library providing a mapping from the host-specific system of organization of content categories to the source server-specific system of organization of content categories;
(C) receiving, at the server system, a communication from a user computer in communication with the server system, at least a portion of the communication representing a summary of user navigation history generated by a behavior tracking module on the user computer, the summary having been generated by a behavior tracking module on the user computer, and the summary including information organized according to the host-specific system of organization of content categories, said information including multiple subject categories of said host-specific system of organization of content categories;
(D) in response to said receiving in (C), the server system:
(d1) mapping at least some of the information from the host-specific system of organization of content categories to the source server-specific system of organization of content categories, said mapping using the profile library to map from said host-specific system of organization of content categories to said source server-specific system of organization of content categories, said mapping producing mapped information comprising multiple subject categories of said source server-specific system of organization of content categories;
(d2) selecting particular available content by the server system based at least in part on the multiple subject categories of said source server-specific system of organization of content categories, said particular content being selected from available content on the server system organized according to the source server-specific system of content categories; and
(d3) sending the particular available content to the user computer.

18. The method of claim 17 wherein the internet source is selected from one or more of the sources comprising:
an internet web site of a company or product;
an internet web site for a retail operation;
an internet web site operating as a portal to other content;
a search-oriented internet site.