IP Library › Granted Patent US 10,657,558
Granted Patent B1
US 10,657,558 · App. 15/596,775 · Granted May 19, 2020

System and method for using a plurality of different data sources to control displayed content

Inventors: Paul Mather Lindsay (Atlanta, GA); Douglas A. Scher (Boca Raton, FL); Charles Currin (Marietta, GA); Arvid Tchivzhel (Sandy Springs, GA); Kenneth E. Irwin, Jr. (Dawsonville, GA)
Assignee: Mather Economics, LLC
G06Q30/0254G06Q30/0277
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,657,558
App. No.
15/596,775
Granted
May 19, 2020
Kind
B1
Abstract

A first set of electronic information is logged to a remotely located data store, including a user identifier, primary content, secondary content, and user interaction with the primary content and the secondary content. A second set of electronic information is received from a data source other than the user device, the second set of electronic information being related to the same user identifier as the user identifier of the first set of electronic information. Behavioral data is created for the user identifier based on at least the logged first set of electronic information and the second set of electronic information. A subsequently displayed container is controlled or modified based on the behavioral data.

Claims (52)

1. A system for using a plurality of different data sources to control displayed content, one of the data sources being related to electronic information presented to a user on a display of a user device via a software application that receives the electronic information from an electronic network, the display being a container of (i) primary content rendered from a content provider, and (ii) secondary content, at least a portion of the secondary content provided from a source other than the content provider, the system comprising:

(a) a remotely located server including:

(i) a data store containing the plurality of data sources, and

(ii) ancillary data that is at least partially derived from a third party data source other than the user device;

(b) computer code executing on a processor of the user device configured to log a first set of electronic information to the remotely located data store, the first set of electronic information including electronic information that identifies or indicates:

(i) a user identifier,

(ii) the primary content,

(iii) the secondary content, and

(iv) user interaction with the primary content and the secondary content;

(c) a local cache in the user device configured to:

(i) receive updates of the ancillary data from the remotely located server, and

(ii) maintain metrics of local user activity, at least a portion of the metrics of local activity being used for making user data updates to the remotely located server;

(d) computer code executing on the processor of the remotely located server configured to instruct the user device to change the time period until a next scheduled local cache update occurs based, in part, on the user data updates provided by the user's browser when the user's browser contacts the remotely located server based on a currently scheduled local cache update, thereby providing dynamic scheduling of the local cache updates via the change in the time period;

(e) computer code executing on a processor of the remote server configured to receive the ancillary data, wherein a user identifier is associated with the ancillary data, the user identifier associated with the ancillary data being related to the same user identifier of the first set of electronic information;

(f) computer code executing on the processor of the remote server configured to create behavioral data for the user identifier based on at least the logged first set of electronic information and the ancillary data;

(g) computer code executing on the processors of the user device and remote server configured to control or modify a subsequently displayed container based on the behavioral data; and

(h) computer code executing on the processors of the user device and remote server configured to use a paywall to control access to the primary content in the subsequently displayed container, the paywall including a set of rules that are defined based on at least the ancillary data.

2. The system of claim 1 wherein the secondary content includes internet advertising.

3. The system of claim 1 wherein the primary content includes news content.

4. The system of claim 1 further comprising:

(i) computer code executing on the processor of the remote server configured to define an upload schedule for logging the first set of electronic information to the remotely located data store.

5. The system of claim 1 wherein the user identifier associated with the first set of electronic information and a user identifier associated with the ancillary data are different user identifiers, the system further comprising:

(i) computer code executing on the processor of the remote server configured to use a device graph to correlate the user identifiers to a common user.

6. The system of claim 1 wherein the computer code executing on the processor of the user device is a scripting language.

7. The system of claim 1 wherein the software application is a browser.

8. The system of claim 1 wherein the software application is a mobile app.

9. A method for using a plurality of different data sources to control displayed content, one of the data sources being related to electronic information presented to a user on a display of a user device via a software application that receives the electronic information from an electronic network, the display being a container of (i) primary content rendered from a content provider, and (ii) secondary content, at least a portion of the secondary content provided from a source other than the content provider, the method comprising:

(a) providing a remotely located server including:

(i) a data store containing the plurality of data sources, and

(ii) ancillary data that is at least partially derived from a third party data source other than the user device;

(b) logging a first set of electronic information to the remotely located data store using computer code executing on a processor of the user device, the first set of electronic information including electronic information that identifies or indicates:

(i) a user identifier,

(ii) the primary content,

(iii) the secondary content, and

(iv) user interaction with the primary content and the secondary content;

(c) providing a local cache in the user device configured to:

(i) receive updates of the ancillary data from the remotely located server, and

(ii) maintain metrics of local user activity, at least a portion of the metrics of local activity being used for making user data updates to the remotely located server;

(d) instructing the user device, using computer code executing on the processor of the remotely located server, to change the time period until a next scheduled local cache update occurs based, in part, on the user data updates provided by the user's browser when the user's browser contacts the remotely located server based on a currently scheduled local cache update, thereby providing dynamic scheduling of the local cache updates via the change in the time period;

(e) receiving the ancillary data using computer code executing on a processor of the remote server, wherein a user identifier is associated with the ancillary data, the user identifier associated with the ancillary data being related to the same user identifier of the first set of electronic information;

(f) creating behavioral data, using computer code executing on the processor of the remote server, for the user identifier based on at least the logged first set of electronic information and the ancillary data;

(g) controlling or modifying a subsequently displayed container based on the behavioral data using computer code executing on the processors of the user device and remote server; and

(h) using a paywall to control access to the primary content in the subsequently displayed container, using computer code executing on the processors of the user device and remote server, the paywall including a set of rules that are defined based on at least the ancillary data.

10. The method of claim 9 wherein the secondary content includes internet advertising.

11. The method of claim 9 wherein the primary content includes news content.

12. The method of claim 9 further comprising:

(i) defining an upload schedule for logging the first set of electronic information to the remotely located data store, using the computer code executing on the processor of the remote server.

13. The method of claim 9 wherein the user identifier associated with the first set of electronic information and a user identifier associated with the ancillary data are different user identifiers, the method further comprising:

(i) using a device graph, using the computer code executing on the processor of the remote server, to correlate the user identifiers to a common user.

14. The method of claim 9 wherein the computer code executing on the processor of the user device is a scripting language.

15. The method of claim 9 wherein the software application is a browser.

16. The method of claim 9 wherein the software application is a mobile app.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2017
From: LINDSAY, PAUL MATHER; SCHER, DOUGLAS A.; CURRIN, CHARLES; TCHIVZHEL, ARVID; IRWIN, KENNETH E., JR.
To: MATHER ECONOMICS, LLC
Reel/Frame 043086/0276 →
Cited By (2)
US 12,386,930 US 12,499,477