IP Library Granted Patent US 8,768,928
Granted Patent B2
US 8,768,928 · App. 13/411,725 · Granted Jul 1, 2014

Document object model (DOM) based page uniqueness detection

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 8,768,928
App. No.
13/411,725
Granted
Jul 1, 2014
Kind
B2
Abstract

DOM based unique ID generation, including receiving a hypertext markup language (HTML) page at a computer, and identifying HTML page elements in response to the receiving, the HTML page elements comprising parent nodes, the parent nodes comprising child nodes. The method further comprising processing each of the HTML page elements, the processing comprising: grouping the child nodes by parent node into a group of child nodes, detecting patterns in the group of child nodes in response to the grouping, reducing the group of child nodes to text strings in response to the detecting, storing the text strings as text values in the parent nodes, and generating a unique identifier (ID) of the HTML page in response to the processing.

Claims (51)

1. A method comprising:

receiving a hypertext markup language (HTML) page at a computer;

identifying HTML page elements in response to the receiving, the HTML page elements comprising parent nodes, the parent nodes comprising child nodes;

processing each of the HTML page elements, the processing comprising:

grouping the child nodes by parent node into a group of child nodes;

detecting patterns in the group of child nodes in response to the grouping;

reducing the group of child nodes to text strings in response to the detecting; and

storing the text strings as text values in the parent nodes;

wherein the processing of each of the HTML page elements results in the HTML page elements being expressed as a single root node, said single root node comprising a single text string, which includes text patterns in parent nodes for each of the child nodes; and

in response to the processing, generating a unique identifier (ID) of the HTML page from the single root node and the single text string, wherein the generating is performed in a repeatable manner such that subsequent processing of the same single root node and the single text string produces the same unique identifier.

2. The method of claim 1 , wherein the processing further comprises sorting the group of child nodes in response to the reducing.

3. The method of claim 2 , wherein the HTML page comprises a visible page, the visible page comprising moveable HTML page elements, the moveable HTML page elements configured to occupy any location on the visible page, and the unique ID of the HTML page is the same for all locations of the moveable HTML page elements on the visible page.

4. The method of claim 1 , wherein the HTML page comprises content being generated dynamically.

5. The method of claim 1 , wherein the HTML page comprises a uniform resource locator (URL), and the unique ID of the HTML page is the same for a plurality of HTML pages, the plurality of HTML pages each comprising a different URL.

6. The method of claim 1 , further comprising filtering HTML page elements in response to the identifying, the filtering removing the child nodes and the parent nodes that meet filter criteria, the filter criteria comprising one or more of:

extensible markup language path language instructions;

regular expression instructions; and

a list of html nodes.

7. The method of claim 1 , wherein the unique identifier is independent of menu items, advertisements, or any other content specific elements of the HTML page.

8. The method of claim 1 , wherein the unique identifier is independent of visual content of the HTML page.

9. A method comprising:

receiving a webpage at a computer;

identifying page elements in response to the receiving, the page elements comprising parent nodes, the parent nodes comprising child nodes;

processing each of the page elements to express the page elements as a single root node, said single root node comprising a single text string, which includes text patterns in parent nodes for each of the child nodes; and

generating a unique identifier of the webpage in response to the processing, wherein the unique identifier is not same as a uniform resource locator of the webpage from the single root node and the single text string, wherein the generating is performed in a repeatable manner such that subsequent processing of the same single root node and the single text string produces the same unique identifier.

10. The method of claim 9 , further comprising sorting the group of child nodes in response to the reducing.

11. The method of claim 9 , wherein the webpage comprises content being generated dynamically.

12. The method of claim 11 , wherein the webpage comprises a visible page, the visible page comprising moveable page elements, the moveable page elements configured to occupy any location on the visible page, and the unique identifier of the webpage is the same for all locations of the moveable page elements on the visible page.

13. The method of claim 9 , wherein the webpage comprises the uniform resource locator, and the unique identifier of the webpage is the same for a plurality of webpages, the plurality of webpages each comprising a different uniform resource locator.

14. The method of claim 9 , further comprising filtering the page elements in response to the identifying, the filtering removing the child nodes and the parent nodes that meet filter criteria, the filter criteria comprising one or more of:

extensible markup language path language instructions;

regular expression instructions; and

a list of html nodes.

15. A computer program product comprising a non-transitory computer readable storage medium having computer usable program code digitally encoded therewith, the computer usable program code comprising:

computer usable program code stored in a non-transitory storage medium operable to receive a hypertext markup language (HTML) page at a computer;

computer usable program code stored in a non-transitory storage medium operable to identify HTML page elements in response to the receiving, the HTML page elements comprising parent nodes, the parent nodes comprising child nodes;

computer usable program code stored in a non-transitory storage medium operable to process each of the HTML page elements, the processing comprising:

grouping the child nodes by parent node into a group of child nodes;

detecting patterns in the group of child nodes in response to the grouping;

reducing the group of child nodes to text strings in response to the detecting; and

storing the text strings as text values in the parent nodes;

wherein execution of the computer usable code to process of each of the HTML page elements results in the HTML page elements being expressed as a single root node, said single root node comprising a single text string, which includes text patterns in parent nodes for each of the child nodes; and

computer usable program code stored in a non-transitory storage medium operable to generate, in response to the processing, a unique identifier of the HTML page from the single root node and the single text string, wherein the generating is performed in a repeatable manner such that subsequent processing of the same single root node and the single text string produces the same unique identifier.

16. The computer program product of claim 15 , wherein the processing further comprises sorting the group of child nodes in response to the reducing.

17. The computer program product of claim 15 , wherein the HTML page comprises content being generated dynamically.

18. The computer program product of claim 17 , wherein the HTML page comprises a visible page, the visible page comprising moveable HTML page elements, the moveable HTML page elements configured to occupy any location on the visible page, and the unique ID of the HTML page is the same for all locations of the moveable HTML page elements on the visible page.

19. The computer program product of claim 15 , wherein the HTML page comprises a uniform resource locator, and the unique identifier of the HTML page is the same for a plurality of HTML pages, the plurality of HTML pages each comprising a different uniform resource locator.

20. The computer program product of claim 15 , further comprising computer usable program code stored in a non-transitory storage medium operable to filter HTML page elements in response to the identifying, the filtering removing the child nodes and the parent nodes that meet filter criteria, the filter criteria comprising one or more of:

extensible markup language path language instructions;

regular expression instructions; and

a list of html nodes.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2022
From: DAEDALUS BLUE LLC
To: TERRACE LICENSING LLC
Reel/Frame 058902/0482 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2022
From: DAEDALUS BLUE LLC
To: TERRACE LICENSING LLC
Reel/Frame 058895/0322 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2020
From: DAEDALUS GROUP, LLC
To: DAEDALUS BLUE LLC
Reel/Frame 051737/0191 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: DAEDALUS GROUP, LLC
Reel/Frame 051710/0445 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: DAEDALUS GROUP LLC
Reel/Frame 051032/0784 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: DAEDALUS GROUP LLC
Reel/Frame 051018/0649 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2012
From: AYOUB, KHALIL; ALY, HOSAM; WALSH, JASON
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 027805/0972 →