×

Selecting advertisements for users via a targeting database

  • US 10,417,660 B2
  • Filed: 11/23/2010
  • Issued: 09/17/2019
  • Est. Priority Date: 11/23/2010
  • Status: Active Grant
First Claim
Patent Images

1. A method for providing targeted advertisements through the use of a dual architecture database system, the method comprising:

  • processing by a listener process processing at a targeting server system a plurality of messages received by the targeting server system, the plurality of messages including a first message, each message of the plurality of messages being sent from a respective server of a plurality of servers, and the first message including first user event data, where the listener process configures the targeting server system to queue at least two of the plurality of messages and pull the messages from the queue and store;

    collecting from a user device server with the targeting server system a geolocation, detected by a location device, of a user device of the first user;

    creating and updating by the listener process executing on the targeting server system a plurality of user profiles from information in the plurality of messages, the plurality of user profiles each having a user identifier and including;

    a first user profile corresponding to a first user and comprising first information from the first user event data; and

    a second user profile corresponding to the first user and comprising a condensed representative of the first user profile, wherein the second user profile is created based at least in part on a search request received from the user device;

    storing, by a targeting server system, the plurality of user profiles in a targeting database system having a dual architecture, the storing comprising storing the first user profile in a first relational database data store of the dual architecture and storing the second user profile in a second real-time database data store of the dual architecture, wherein the second data store is a key cache for serving the second user profile in real-time;

    fulfilling by an advertising platform server system an advertisement demand at least in part by;

    processing the plurality of messages received by the advertising platform server system to identify a request corresponding to the user device, where the plurality of messages are received through a common application programming interface supported on the advertising platform server system, where the common application programming interface is common for a plurality of publishers;

    identifying and accessing the second user profile from the second real-time database data store using data from the plurality of messages and the request; and

    generating by a sort and rotate process processing at the advertising platform server system, using data from the second user profile, two or more layers of advertisements from a candidate pool of advertisements, where sorting and ranking is performed by a sort and rotate filtering algorithm based on business rules and user context, and wherein a first layer of the two or more layers corresponds to a first advertisement pricing model retrieved from a first advertisement database, and a second layer of the two of more layers corresponds to a second advertisement pricing model retrieved from a second advertisement database;

    wherein the fulfilling is independent of accessing the first user profile;

    ranking by a scoring algorithm processing at the advertising platform server system the two or more layers of advertisements in an order of priority, where the scoring algorithm is based on one or more of cost and historical performance;

    performing by a weighted ad rotation algorithm processing at the advertising platform server system an intermediate sorting process within each of the two or more layers of advertisements, based on an assigned criteria for each of the advertisements, where the assigned criteria is based on one or more of a points score fixed sort and a relative spending weighted sort;

    selecting by the advertising platform server system a final set of advertisements from the two or more layers of advertisements in accordance with the order of priority and the intermediate sorting process, the final set of advertisements comprising a first set of one or more advertisements corresponding to the first advertisement pricing model and a second set of one or more advertisements corresponding to the second advertisement pricing model, the first set and the second set of advertisements selected based at least in part on (a) the detected geolocation of the user device and (b) one or more user preferences determined from the second user profile;

    performing by the advertising platform server system a final sort on the final set of advertisements according to predetermined configuration level business rules by use of a configuration mechanism;

    transmitting to the user device visible content by the advertising platform server system representative of the final set of advertisements configured for display to a display device of the user device in accordance with the final sort to thereby enable the first user to interact with the final set of advertisements via the display device;

    recording by a logging process processing at the adverting platform server system interaction data of the first user with the final set of advertisements and associating the interaction data with the first user profile; and

    performing by a tracking process processing at the advertising platform server system one or more analytical operations on data from the first user profile and in response to performing the one or more analytical operations, updating the second user profile.

View all claims
  • 15 Assignments
Timeline View
Assignment View
    ×
    ×