Server architecture and methods for persistently storing and serving event data
First Claim
1. A web site system, comprising:
- a web server system that is responsive to requests from online users by generating and returning web pages, wherein the web server system includes one or more applications the generate personalized content for recognized users based on browse histories of such users; and
an event history server that persistently stores event data descriptive of events that occur during browsing sessions of each of a plurality of users of the web server system, and makes such event data available in real time to the one or more applications to facilitate personalization of web pages for the users;
wherein the event history server implements a query interface through which the one or more applications can retrieve the event data of a given user by event type and by event time of occurrence.
2 Assignments
0 Petitions
Accused Products
Abstract
A web site system includes an event history server system that persistently stores event data reflective of events that occur during browsing sessions of web site users, and makes such data available to other applications and services in real time. The server system may, for example, be used to record information about every mouse click of every recognized user, and may also be used to record other types of events such as impressions and mouse-over events. The event data of a particular user may be retrieved from the server system based on event type, event time of occurrence, and various other criteria. In one embodiment, the server system includes a cache layer that caches event data by session ID, and includes a persistent storage layer the persistently stores the event data by user ID. Also disclosed are various application features that may be implemented using the stored event data.
-
Citations
45 Claims
-
1. A web site system, comprising:
-
a web server system that is responsive to requests from online users by generating and returning web pages, wherein the web server system includes one or more applications the generate personalized content for recognized users based on browse histories of such users; and
an event history server that persistently stores event data descriptive of events that occur during browsing sessions of each of a plurality of users of the web server system, and makes such event data available in real time to the one or more applications to facilitate personalization of web pages for the users;
wherein the event history server implements a query interface through which the one or more applications can retrieve the event data of a given user by event type and by event time of occurrence. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. An event history server, comprising:
-
a plurality of storage layer servers that persistently store, and provide real-time access to, event data descriptive of browsing events that occur during web browsing sessions of users, wherein the storage layer servers store the event data in an indexed form in association with corresponding user IDs, and are implemented as mirrors of each other such that client requests for persistently stored event data can be serviced by any one of the storage layer servers; and
a plurality of cache layer servers that serve as intermediaries between the storage layer servers and clients of the event history server, wherein each cache layer server stores cached event data within a respective cache and uses the cached event data to respond to queries from the clients. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A method of processing a search query from a user, comprising, on a server system that is remote from the user:
-
executing the search query to generate a query result, wherein the query result comprises URLs of web pages that are responsive to the search query;
for at least one of the URLs, querying a server to determine whether event data stored for said user indicates that the user previously accessed the URL; and
if the event data indicates that the user previously accessed the URL, including within a search results page an annotation indicating to the user that the URL was previously accessed. - View Dependent Claims (25, 26, 27, 28, 29)
-
-
30. A system that provides functionality for conducting Internet searches, the system comprising:
-
a search application that is responsive to search queries from users by generating and returning search results pages listing search result URLs of external web pages that are responsive to such search queries; and
a server that records user-specific data indicative of the search result URLs selected by users during browsing of the search result pages;
wherein the search application accesses the server to determine whether specific search result URLs have previously been accessed by a user who is conducting a search, and incorporates into the search results pages indications of which search result URLs were previously accessed, whereby users are notified of. search result URLs they have previously accessed. - View Dependent Claims (31, 32, 33, 34, 35)
-
-
36. A method of providing browse-history-based personalization of search results, the method comprising:
-
maintaining event history data indicative of search result URLs selected by a user during browsing of search results pages;
generating a user-specific Bloom filter that reflects a plurality of the search result URLs selected by the user as indicated within said event history data;
in response to an occurrence of a given URL within a result of a search query submitted by the user, determining whether the user previously accessed the given URL at least in part by analyzing the user-specific Bloom filter; and
when the user is determined to have previously accessed the given URL, personalizing a search results page for the user with an indication that the user previously accessed the given URL. - View Dependent Claims (37, 38, 39, 40, 41)
-
-
42. A method of providing browse-history-based content personalization, the method comprising:
-
maintaining a browse history describing a user'"'"'s interactions with a web site;
generating a user-specific Bloom filter that represents a plurality of events included within the user'"'"'s browse history;
determining whether a particular event exists within the browse history of the user at least in-part by analyzing said Bloom filter; and
personalizing a web page for the user such that the web page reflects whether the particular event exists within the browse history of the user. - View Dependent Claims (43, 44, 45)
-
Specification