IP Library Granted Patent US 10,033,827
Granted Patent B2
US 10,033,827 · App. 15/177,101 · Granted Jul 24, 2018

Scalable management of composite data collected with varied identifiers

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,033,827
App. No.
15/177,101
Granted
Jul 24, 2018
Kind
B2
Abstract

Techniques and a system are provided for a profile manager system that stores multiple profiles. These profiles are used by a content selection system to match entities to content for which the entities would be best suitable. The profile manager system allows a content selection system to identify, in response to a request associated with an entity, different pieces of data from different data sources and match the different pieces of data when the difference pieces of data refer to the same entity. The profile manager system may also provide merging of the different pieces of data, when they are matched as referring to the same entity.

Claims (87)

1. A method comprising:

providing a plurality of data stores, each data store storing data about multiple users;

receiving a first request for first content to present on a computing device, wherein the first request includes an identifier; and

in response to receiving the first request:

retrieving, based on the identifier, first user data from a first data store of the plurality of data stores;

requesting, based on the identifier, from a second data store of the plurality of data stores, second user data;

determining response time data that is associated with the second data store of the plurality of data stores;

based on the response time data, determine not to wait for user data from the second data store,

determining, based on the first user data, second content to send to the computing device; and

transmitting the first content and the second content to the computing device;

retrieving, based on the identifier, the second user data from the second data store of the plurality of data stores;

combining the first user data with the second user data to generate combined user data;

in response to receiving a second request for third content to present on a second computing device, wherein the second request includes the identifier:

determining, based on the combined user data, fourth content to send to the second computing device; and

transmitting the third content and the fourth content to the second computing device.

2. The method of claim 1 , further comprising:

storing the combined user data in cache storage prior to receiving the second request;

in response to receiving the second request, retrieving the combined user data from the cache storage.

3. The method of claim 2 , wherein the first request is in response to a request for a first Web page by the computing device.

4. The method of claim 3 , wherein the second request is in response to a request, by the computing device, for a second Web page that is different than the first Web page.

5. The method of claim 1 , wherein the identifier is a first identifier and the step of retrieving the first user data from the first data store and the second user data from the second data store comprises:

determining that the first identifier is associated with a second identifier;

retrieving, based on the first identifier, the first user data from the first data store of the plurality of data stores; and

retrieving, based on the second identifier, the second user data from the second data store of the plurality of data stores;

wherein the combined user data comprises at least a portion of the first user data and the second user data.

6. The method of claim 1 , wherein the identifier is at least one of a social network member identifier, a browser identifier, a device identifier, or a third-party identifier established by a third-party that is different than a party that receives the first request.

7. The method of claim 1 , further comprising:

determining to delete user data pertaining to a particular identifier;

identifying a particular data store of the plurality of data stores; and

removing, from the particular data store, particular user data that is associated with the particular identifier.

8. The method of claim 1 , wherein the first data store stores a first type of data that is not found in the second data store and the second data store stores a second type of data that is not found in the first data store.

9. The method of claim 8 , wherein:

the first type of data includes profile data, and the profile data is provided by each respective user; and

the second type of data includes non-profile data that is derived based on behavior data that indicates online activities in which a subset of the multiple users participate.

10. The method of claim 1 , wherein:

a third data store, in the plurality of data stores, stores user data from a third party that is different than a party that receives the first request.

11. The method of claim 1 , further comprising:

identifying there exists prior combined user data that was generated before receiving the first request;

determining to ignore the prior combined user data; and

after identifying there exists the prior combined user data, determining to combine the first user data with the second user data to generate the combined user data.

12. The method of claim 11 , wherein the prior combined user data was expired when the first request was received.

13. The method of claim 1 , further comprising:

determining that prior combined user data, that was generated before the first request was received, is unusable; and

after determining that the prior combined user data is unusable, determining to combine the first user data with the second user data to generate the combined user data.

14. The method of claim 1 , further comprising before retrieving first user data and before combining the first user data with the second user data, matching a user identifier specific to the first data store with a second user identifier specific to the second data store as being user data for the same user.

15. The method of claim 1 , wherein the first content comprises user-selected content identified by the first request and the second content comprises system-determined content.

16. A system comprising:

a plurality of data stores, each data store storing data about multiple users;

one or more processors;

one or more storage media storing instructions which, when executed by the one or more processors, cause:

receiving a first request for first content to present on a computing device, wherein the first request includes an identifier; and

in response to receiving the first request:

retrieving, based on the identifier, first user data from a first data store of the plurality of data stores;

requesting, based on the identifier, from a second data store of the plurality of data stores, second user data;

determining response time data that is associated with the second data store;

based on the response time data, determine not to wait for user data from the second data store,

determining, based on the first user data, second content to send to the computing device; and

transmitting the first content and the second content to the computing device;

retrieving, based on the identifier, the second user data from the second data store of the plurality of data stores;

combining the first user data with the second user data to generate combined user data;

in response to receiving a second request for third content to present on a second computing device, wherein the second request includes the identifier:

determining, based on the combined user data, fourth content to send to the second computing device; and

transmitting the third content and the fourth content to the second computing device.

17. The system of claim 16 , wherein the instructions, when executed by the one or more processors, further cause:

storing the combined user data in cache storage prior to receiving the second request;

in response to receiving the second request, retrieving the combined user data from the cache storage.

18. The system of claim 17 , wherein the first request is for a first Web page by the computing device.

19. One or more storage media storing instructions which, when executed by one or more processors, cause:

providing a plurality of data stores, each data store storing data about multiple users;

receiving a first request for first content to present on a computing device, wherein the first request includes an identifier; and

in response to receiving the first request:

retrieving, based on the identifier, first user data from a first data store of the plurality of data stores;

requesting, based on the identifier, from a second data store of the plurality of data stores, second user data;

determining response time data that is associated with the second data store of the plurality of data stores;

based on the response time data, determine not to wait for user data from the second data store,

determining, based on the first user data, second content to send to the computing device; and

transmitting the first content and the second content to the computing device;

retrieving, based on the identifier, second user data from the second data store of the plurality of data stores;

combining the first user data with the second user data to generate combined user data;

in response to receiving a second request for third content to present on a second computing device, wherein the second request includes the identifier:

determining, based on the combined user data, fourth content to send to the second computing device; and

transmitting the third content and the fourth content to the second computing device.

20. The one or more storage media storing instructions of claim 19 , wherein the identifier is a first identifier and the instructions which, when executed by one or more processors, further cause:

prior to combining the first user data with the second user data:

determining that the first identifier is associated with a second identifier; and

retrieving, based on the second identifier, particular user data from a particular data store of the plurality of data stores;

wherein the combined user data comprises at least a portion of the particular user data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2017
From: LINKEDIN CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 044746/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2016
From: GORJIARA, BITA; SEETHARAMA, GURURAJ; ZHAO, YIZHEN; CAO, KANCHENG
To: LINKEDIN CORPORATION
Reel/Frame 038870/0140 →