US2020013086A1PendingUtilityA1
Selecting advertisements for users via a targeting database
Est. expiryNov 23, 2030(~4.4 yrs left)· nominal 20-yr term from priority
G06Q 30/0256G06Q 30/0255G06Q 30/0269G06Q 30/0261
67
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A data processing system collects messages to create user profiles for users of user devices. The messages are collected from various systems and include data regarding user events on user devices. The user profiles are stored in a targeting database. In response to a request for information corresponding to a user device, a user profile is identified using data from the request and information from the profile is provided to the requester.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
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;
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 is performed by a sort and rotate filtering algorithm based on business rules and user context,
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; 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 a first layer of the two or more layers of advertisements retrieved from a first advertisement database and a second set of one or more advertisements corresponding to a second layer of the two or more layers of advertisements retrieved from a second advertisement database, 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; and 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.
2 . The method of claim 1 , wherein the first user profile includes search data from a plurality of prior search requests of the first user, and the search data is obtained from at least two of the plurality of messages.
3 . The method of claim 1 , sending the final set of advertisements for display on the user device.
4 . The method of claim 1 , wherein the data from the first user profile comprises user context and location data, and the two or more layers of advertisements are generated using the user context and location data.
5 . The method of claim 1 , wherein the respective server is a search engine server, and the first user event data includes search terms submitted by a first user.
6 . The method of claim 1 , wherein the receiving the plurality of messages comprises receiving the plurality of messages via the listener process of the data processing system, and the method further comprising queuing at least two of the plurality of messages m a message queue.
7 . The method of claim 6 , further comprising pulling messages from the message queue, wherein the storing the plurality of user profiles comprises storing information from the messages in the database.
8 . The method of claim 6 , wherein each of the plurality of messages includes an event corresponding to a user device, and each of the plurality of messages is sent from its respective server by user datagram protocol broadcasting.
9 . The method of claim 1 , wherein the user device is a mobile device, the request includes a user identifier, and the identifying comprises using the user identifier to identify the first user profile.
10 . The method of claim 9 , wherein the user identifier is a subscriber identifier corresponding to the mobile device.
11 . The method of claim 1 , further comprising:
receiving data from a first server, the data corresponding to user information collected by the first server; and updating the plurality of user profiles, including the first user profile, in the database using the data from the first server; and sending a matching user profile to a third-party from the server system based on receiving a user identifier matching a user profile.
12 . A non-transitory computer-readable storage medium for tangibly storing thereon computer-readable instructions, the instructions causing a server system to:
process 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; collect 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; create and update by listener process instructions 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;
store, 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; fulfill 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;
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;
wherein the fulfill of the advertisement demand 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;
select 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 a first layer of two or more layers of advertisements retrieved from a first advertisement database and a second set of one or more advertisements corresponding to a second layer of two or more layers of advertisements retrieved from the second advertisement database, 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; and transmit 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.
13 . The storage medium of claim 12 , wherein the user device is a mobile device, the request includes a user identifier, the identifying comprises using the user identifier to identify the first user profile, and wherein the instructions further causing the server system to:
display the final set of advertisements on the user device.
14 . The storage medium of claim 13 , wherein the first user profile includes search data from a plurality of prior search requests of a first user, and the search data is obtained from at least two of the plurality of messages.
15 . A data processing system comprising:
a server system comprising memory, a database system storing a plurality of user profiles, and at least one processor coupled to access the memory, the server system configured to:
process 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;
collect 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;
create and update by listener process executing on the targeting server system instructions 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;
store, by a targeting server system, the plurality of user profiles in the targeting database system, the 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;
fulfill 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;
identifying and accessing the second user profile from the second real-time database data store using data from 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,
wherein the fulfill of the advertisement demand is independent of accessing the first user profile;
rank 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;
select 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 a first layer of two or more layers of advertisements retrieved from a first advertisement database and a second set of one or more advertisements corresponding to second layer of two or more layers of advertisements retrieved from a second advertisement database, 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; and
transmit 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.
16 . The system of claim 15 , wherein each of the plurality of messages includes an event corresponding to a user device, each of the plurality of messages is sent from its respective server by user datagram protocol broadcasting, and the server system is further configured to:
pull messages from the message queue in order to store information obtained from the messages in the database.
17 . The system of claim 16 , wherein the first user profile includes search data from a plurality of prior search requests of a first user, and the search data is obtained from at least two of the plurality of messages.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.