IP Library Granted Patent US 10,817,663
Granted Patent B2
US 10,817,663 · App. 15/173,552 · Granted Oct 27, 2020

Dynamic native content insertion

Inventors: Ryan Weald (San Francisco, CA); Michael Jensen (San Francisco, CA)
Assignee: Sharethrough Inc.
G06F40/186G06F40/14G06Q30/0277H04L67/42
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,817,663
App. No.
15/173,552
Granted
Oct 27, 2020
Kind
B2
Abstract

Approaches, techniques, and mechanisms are disclosed for automatically inserting supplemental items into documents. According to an embodiment, a first request is received, comprising document information that identifies a particular document. A target repeated structure type, to which a group of items in the particular document conform, is identified within the particular document. Based on the target repeated structure type, a template is generated. A new content item is generated by applying descriptive metadata that describes the new content item to the template. The new content item conforms to the target repeated structure type. The new content item is inserted in the particular document at an insertion point before or after a particular content item that conforms to the target repeated structure type.

Claims (59)

1. A computing system comprising one or more computing devices, the one or more computing devices having one or more processors configured to implement:

a distribution component, configured to distribute item insertion initiating instructions to clients at which web pages will be displayed, the item insertion initiating instructions configured to cause the clients to send requests to a server to insert supplemental items into the web pages;

a repeating structure type identification component configured to identify repeated structure types, within the web pages, each of the repeated structure types comprising one or more Hyper Text Markup Language (“HTML”) elements that are repeated within a corresponding one of the web pages in accordance with a pattern;

a template generation component configured to generate supplemental item templates based on the repeated structure types identified within the web pages;

an item selector component, configured to select, from the supplemental items, particular supplemental items to insert in the web pages based on the requests;

one or more supplemental item renderers configured to generate rendered supplemental items based on inserting particular descriptive metadata from the particular supplemental items selected by the item selector component into particular supplemental item templates;

one or more item insertion components configured to insert the rendered supplemental items into the web pages between content items that conform to the respectively identified repeated structure types.

2. The system of claim 1 , further comprising:

a template cache configured to store, in one or more memories, the supplemental item templates;

a template loader component, at the server, configured to select the particular supplemental item templates from the template cache based on document identifying information associated with the requests.

3. The system of claim 1 , wherein the item insertion initiating instructions are JavaScript instructions found in or referenced by the web pages.

4. The system of claim 1 , wherein the one or more item insertion components are configured to insert the rendered supplemental items into the web pages by sending insertion JavaScript instructions to the clients, the insertion JavaScript instructions, when executed by the clients, causing the clients to locate particular points within the web pages and insert the rendered supplemental items at the particular points.

5. The system of claim 1 , wherein the one or more supplemental item renderers are configured to generate the rendered supplemental items by sending rendering JavaScript instructions to the clients, the clients configured to execute the rendering JavaScript instructions, the rendering JavaScript instructions, when executed by the clients, causing the clients to insert the particular descriptive metadata into the particular supplemental item templates.

6. The system of claim 1 , wherein the repeating structure type identification component is configured to identify the repeated structure types based on using a machine learning algorithm to select target repeated structure types from multiple candidate repeated structure types within the web pages.

7. A method comprising:

distributing item insertion initiating instructions to clients at which web pages will be displayed, the item insertion initiating instructions configured to cause the clients to send requests to a server to insert supplemental items into the web pages;

identifying repeated structure types within the web pages, each of the repeated structure types comprising one or more Hyper Text Markup Language (“HTML”) elements that are repeated within a corresponding one of the web pages in accordance with a pattern;

generating supplemental item templates based on the repeated structure types identified within the web pages;

selecting, from the supplemental items, particular supplemental items to insert in the web pages based on the requests;

generating rendered supplemental items based on inserting particular descriptive metadata from the particular supplemental items into particular supplemental item templates;

inserting the rendered supplemental items into the web pages between content items that conform to the respectively identified repeated structure types.

8. The method of claim 7 , further comprising:

storing, in a template cache comprising one or more memories, the supplemental item templates;

selecting the particular supplemental item templates from the template cache based on document identifying information associated with the requests.

9. The method of claim 7 , wherein the item insertion initiating instructions are JavaScript instructions found in or referenced by the web pages.

10. The method of claim 7 , wherein inserting the rendered supplemental items into the web pages comprises sending insertion JavaScript instructions to the clients, the insertion JavaScript instructions, when executed by the clients, causing the clients to locate particular points within the web pages and insert the rendered supplemental items at the particular points.

11. The method of claim 7 , wherein generating the rendered supplemental items comprises sending rendering JavaScript instructions to the clients, the clients configured to execute the rendering JavaScript instructions, the rendering JavaScript instructions, when executed by the clients, causing the clients to insert the particular descriptive metadata into the particular supplemental item templates.

12. The method of claim 7 , wherein identifying the repeated structure types is based on using a machine learning algorithm to select target repeated structure types from multiple candidate repeated structure types within the web pages.

13. One or more non-transitory computer-readable media storing instructions that, when executed by one or more computing devices, cause:

distributing item insertion initiating instructions to clients at which web pages will be displayed, the item insertion initiating instructions configured to cause the clients to send requests to a server to insert supplemental items into the web pages;

identifying repeated structure types within the web pages, each of the repeated structure types comprising one or more Hyper Text Markup Language (“HTML”) elements that are repeated within a corresponding one of the web pages in accordance with a pattern;

generating supplemental item templates based on the repeated structure types identified within the web pages;

selecting, from the supplemental items, particular supplemental items to insert in the web pages based on the requests;

generating rendered supplemental items based on inserting particular descriptive metadata from the particular supplemental items into particular supplemental item templates;

inserting the rendered supplemental items into the web pages between content items that conform to the respectively identified repeated structure types.

14. The one or more non-transitory computer-readable media of claim 13 , wherein the instructions, when executed by the one or more computing devices, cause:

storing, in a template cache comprising one or more memories, the supplemental item templates;

selecting the particular supplemental item templates from the template cache based on document identifying information associated with the requests.

15. The one or more non-transitory computer-readable media of claim 13 , wherein the item insertion initiating instructions are JavaScript instructions found in or referenced by the web pages.

16. The one or more non-transitory computer-readable media of claim 13 , wherein inserting the rendered supplemental items into the web pages comprises sending insertion JavaScript instructions to the clients, the insertion JavaScript instructions, when executed by the clients, causing the clients to locate particular points within the web pages and insert the rendered supplemental items at the particular points.

17. The one or more non-transitory computer-readable media of claim 13 , wherein generating the rendered supplemental items comprises sending rendering JavaScript instructions to the clients, the clients configured to execute the rendering JavaScript instructions, the rendering JavaScript instructions, when executed by the clients, causing the clients to insert the particular descriptive metadata into the particular supplemental item templates.

18. The one or more non-transitory computer-readable media of claim 13 , wherein identifying the repeated structure types is based on using a machine learning algorithm to select target repeated structure types from multiple candidate repeated structure types within the web pages.

19. The one or more non-transitory computer-readable media of claim 13 ,

wherein the server is a server hosted on a third-party domain, different from domains from which the web pages are served;

wherein the item insertion initiating instructions include instructions to insert tracking document containers within the web pages;

wherein the tracking document containers are configured to load a tracking document from the server or another server on the third-party domain;

wherein the requests include third-party-domain-specific identifiers loaded via the tracking document.

20. The one or more non-transitory computer-readable media of claim 13 , further comprising selecting the particular supplemental items or insertion points for the rendered supplemental items based on one or more of: client identification information associated with the requests or user identification information associated with the requests, the client identification information or user identification information received in given requests from a given client being the same across web pages from different domains.

21. The system of claim 1 ,

wherein the server is a server hosted on a third-party domain, different from domains from which the web pages are served;

wherein the item insertion initiating instructions include instructions to insert tracking document containers within the web pages;

wherein the tracking document containers are configured to load a tracking document from the server or another server on the third-party domain;

wherein the requests include third-party-domain-specific client identifiers loaded via the tracking document.

22. The system of claim 1 , wherein the item selector component is configured to select the particular supplemental items, or the one or more item insertion components are configured to select the insertion points for the rendered supplemental items, based on one or more of: client identification information associated with the requests, or user identification information associated with the requests, the client identification information or user identification information received in given requests from a given client being the same across web pages from different domains.

23. The method of claim 7 ,

wherein the server is a server hosted on a third-party domain, different from domains from which the web pages are served;

wherein the item insertion initiating instructions include instructions to insert tracking document containers within the web pages;

wherein the tracking document containers are configured to load a tracking document from the server or another server on the third-party domain;

wherein the requests include third-party-domain-specific client identifiers loaded via the tracking document.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Jun 11, 2024
From: BANK OF MONTREAL
To: SHARETHROUGH INC.
Reel/Frame 067695/0601 →
SECURITY INTEREST Recorded May 10, 2022
From: SHARETHROUGH INC.
To: BANK OF MONTREAL
Reel/Frame 059887/0134 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2022
From: SHARETHROUGH USA, INC.
To: SHARETHROUGH INC.
Reel/Frame 059756/0226 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ADDRESS OF ASSIGNEE PREVIOUSLY RECORDED AT REEL: 059568 FRAME: 0609. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 14, 2022
From: SHARETHROUGH INC.
To: SHARETHROUGH USA, INC.
Reel/Frame 059704/0891 →
CHANGE OF NAME Recorded Mar 31, 2022
From: SHARETHROUGH INC.
To: SHARETHROUGH USA, INC.
Reel/Frame 059568/0609 →
SECURITY INTEREST Recorded Mar 3, 2021
From: SHARETHROUGH INC.
To: BANK OF MONTREAL
Reel/Frame 055480/0710 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2016
From: WEALD, RYAN; JENSEN, MICHAEL
To: SHARETHROUGH INC.
Reel/Frame 039089/0880 →
Continuity (5)
Continuation In Part PCTUS2014056399 · Sep 18, 2014
Continuation 14095163 · Dec 3, 2013
Continuation 15173552
Continuation In Part 14144079 · Dec 30, 2013
Related Publication 20160283460A1 · Sep 29, 2016
Cited By (4)
US 12,387,236 US 12,511,473 US 12,536,561 US 12,574,340