IP Library Granted Patent US 10,269,048
Granted Patent B2
US 10,269,048 · App. 14/585,783 · Granted Apr 23, 2019

Xpath related and other techniques for use in native advertisement placement

Inventors: Stergios Stergiou (East Palo Alto, CA); Herve Marcellini (Menlo Park, CA); Sreenivasulu Jaladanki (San Ramon, CA)
Assignee: Excalibur IP, LLC
G06Q30/0277G06F17/227H04L67/02
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,269,048
App. No.
14/585,783
Granted
Apr 23, 2019
Kind
B2
Abstract

Techniques are provided that include obtaining a Document Object Model of an HTML document. A configuration XPath is obtained identifying, as of a configuration time, a node within the Document Object Model as a native advertisement placement candidate container. Additional information is obtained regarding native advertisement placement candidate containers within the Document Object Model, and an injection XPath, identifying a node within the Document Object Model as a native advertisement placement candidate container, is generated at an injection time, subsequent to the configuration time, based on the configuration XPath and the additional information. The additional information may include information regarding at least one of a title element, description element and image element identified by a user as being associated with native advertisement placement candidate containers. Generating the injection XPath may include removing a numerical identifier from one or more tags of the configuration XPath.

Claims (40)

1. A system comprising one or more processors and a non-transitory storage medium comprising program logic for execution by the one or more processors, the program logic comprising:

a native advertisement placement engine that:

obtains a Document Object Model of an HTML document;

obtains a configuration XPath identifying, as of a configuration time, a node within the Document Object Model as a native advertisement placement candidate container;

obtains additional information regarding native advertisement placement candidate containers within the Document Object Model; and

generates an injection XPath identifying a node within the Document Object Model as a native advertisement placement candidate container at an injection time, subsequent to the configuration time, based on a determination of whether the Document Object Model of the HTML document as of the configuration time is identical to the Document Object Model of the HTML document as of the injection time, the configuration XPath and the additional information.

2. The system of claim 1 , wherein generating the injection XPath includes removing a numerical identifier from one or more tags of the configuration XPath.

3. The system of claim 1 , wherein the additional information includes information regarding at least one of a title element, description element and image element identified by a user as being associated with native advertisement placement candidate containers.

4. The system of claim 1 , wherein generating the injection XPath includes adding an XPath suffix S to the configuration XPath.

5. The system of claim 4 , wherein the XPath suffix S is a subpath of at least one of a title node, description node and image node of the Document Object Model, or a subset thereof.

6. The system of claim 1 , wherein generating the injection XPath includes determining whether a tag of the configuration XPath includes an id attribute.

7. The system of claim 1 , wherein generating the injection XPath includes determining whether a unique Cascading Style Sheet (CSS) class exists over sibling nodes of a tag of the configuration XPath, the sibling nodes having a same tag name as the tag.

8. The system of claim 1 , wherein the HTML document is a dynamically loaded document.

9. The system of claim 1 , wherein the HTML document is a document that changes when served to different types of devices.

10. A method comprising:

obtaining a Document Object Model of an HTML document;

obtaining a configuration XPath identifying, as of a configuration time, a node within the Document Object Model as a native advertisement placement candidate container;

obtaining additional information regarding native advertisement placement candidate containers within the Document Object Model; and

generating an injection XPath identifying a node within the Document Object Model as a native advertisement placement candidate container at an injection time, subsequent to the configuration time, based on a determination of whether the Document Object Model of the HTML document as of the configuration time is identical to the Document Object Model of the HTML document as of the injection time, the configuration XPath and the additional information, wherein the additional information includes information regarding at least one of a title element, description element and image element identified by a user as being associated with native advertisement placement candidate containers, and wherein generating the injection XPath includes removing a numerical identifier from one or more tags of the configuration XPath.

11. The method of claim 10 , wherein generating the injection XPath includes adding an XPath suffix S to the configuration XPath.

12. The method of claim 11 , wherein the XPath suffix S is a subpath of at least one of a title node, description node and image node of the Document Object Model, or a subset thereof.

13. The method of claim 10 , wherein generating the injection XPath includes determining whether a tag of the configuration XPath includes an id attribute.

14. The method of claim 10 , wherein generating the injection XPath includes determining whether a unique Cascading Style Sheet (CSS) class exists over sibling nodes of a tag of the configuration XPath, the sibling nodes having a same tag name as the tag.

15. The method of claim 10 , wherein the HTML document is a dynamically loaded document.

16. The method of claim 10 , wherein the HTML document is a document that changes when served to different types of devices.

17. A non-transitory computer readable storage medium or media tangibly storing computer program logic capable of being executed by a computer processor, the program logic comprising:

native advertisement placement engine logic for:

obtaining a Document Object Model of an HTML document;

obtaining a configuration XPath identifying, as of a configuration time, a node within the Document Object Model as a native advertisement placement candidate container;

obtaining additional information regarding native advertisement placement candidate containers within the Document Object Model; and

generating an injection XPath identifying a node within the Document Object Model as a native advertisement placement candidate container at an injection time, subsequent to the configuration time, based on a determination of whether the Document Object Model of the HTML document as of the configuration time is identical to the Document Object Model of the HTML document as of the injection time, the configuration XPath and the additional information, wherein the additional information includes information regarding at least one of a title element, description element and image element identified by a user as being associated with native advertisement placement candidate containers, and wherein generating the injection XPath includes removing a numerical identifier from one or more tags of the configuration XPath.

18. The native advertisement placement engine logic of claim 17 , wherein generating the injection XPath includes adding an XPath suffix S to the configuration XPath.

19. The native advertisement placement engine logic of claim 17 , wherein generating the injection XPath includes determining whether a tag of the configuration XPath includes an id attribute.

20. The native advertisement placement engine logic of claim 17 , wherein generating the injection XPath includes determining whether a unique Cascading Style Sheet (CSS) class exists over sibling nodes of a tag of the configuration XPath, the sibling nodes having a same tag name as the tag.

21. A system comprising one or more processors and a non-transitory storage medium comprising program logic for execution by the one or more processors, the program logic comprising:

a native advertisement placement engine that:

obtains a Document Object Model of an HTML document;

obtains a configuration XPath identifying, as of a configuration time, a node within the Document Object Model as a native advertisement placement candidate container;

obtains additional information regarding native advertisement placement candidate containers within the Document Object Model; and

generates an injection XPath identifying a node within the Document Object Model as a native advertisement placement candidate container at an injection time, subsequent to the configuration time, based on the configuration XPath and the additional information.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 052853 FRAME: 0153. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 29, 2021
From: R2 SOLUTIONS LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 056832/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 053654 FRAME 0254. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST GRANTED PURSUANT TO THE PATENT SECURITY AGREEMENT PREVIOUSLY RECORDED. Recorded Dec 30, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: R2 SOLUTIONS LLC
Reel/Frame 054981/0377 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jul 8, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
Reel/Frame 053654/0254 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2020
From: EXCALIBUR IP, LLC
To: R2 SOLUTIONS LLC
Reel/Frame 053459/0059 →
PATENT SECURITY AGREEMENT Recorded Jun 5, 2020
From: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MERTON ACQUISITION HOLDCO LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 052853/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038950/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2016
From: EXCALIBUR IP, LLC
To: YAHOO! INC.
Reel/Frame 038951/0295 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038383/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2015
From: STERGIOU, STERGIOS; MARCELLINI, HERVE; JALADANKI, SREENIVASULU
To: YAHOO! INC.
Reel/Frame 035043/0632 →
Continuity (3)
Continuation In Part 14252529 · Apr 14, 2014
Provisional Application 61970503 · Mar 26, 2014
Related Publication 20150278883A1 · Oct 1, 2015