IP Library Granted Patent US 10,339,207
Granted Patent B2
US 10,339,207 · App. 15/116,857 · Granted Jul 2, 2019

Identifying a functional fragment of a document object model tree

Inventors: Philip Edward Hamer (Alpharetta, GA); Shawn Morgan Simpson (Alpharetta, GA); Stephen Daniel Hardeman (Alpharetta, GA)
Assignee: ENTIT SOFTWARE LLC
G06F17/2211G06F16/957G06F17/2247
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,339,207
App. No.
15/116,857
Filed
Aug 5, 2016
Granted
Jul 2, 2019
Kind
B2
Art Unit
2144
USPC
715/234
Abstract

A functional fragment of a document object model (DOM) tree is identified based on detecting at least one handler associated with at least one corresponding element of the DOM tree. In response to determining that the identified functional fragment matches a previously processed functional fragment, the identified functional fragment is excluded from further processing.

Claims (31)

1. A method comprising:

identifying, by a system including a processor, a functional fragment of a document object model (DOM) tree, the identifying based on detecting plural handlers associated with corresponding elements of the DOM tree and generating signatures for the elements associated with the plural handlers, each handler of the plural handlers to cause execution of executable code;

determining, by the system, whether the identified functional fragment matches a previously processed functional fragment; and

in response to determining that the identified functional fragment matches the previously processed functional fragment, excluding the identified functional fragment from further processing.

2. The method of claim 1 , further comprising generating a key for the identified functional fragment, wherein the determining is based on comparing the key for the identified functional fragment to a key of the previously processed functional fragment.

3. The method of claim 2 , wherein generating the key for the identified functional fragment is based on the signatures for at least a subset of the elements.

4. The method of claim 3 , wherein generating the key for the identified functional fragment is based on applying a function to the signatures for at least the subset of the elements.

5. The method of claim 2 , further comprising comparing a structure of the identified functional fragment with a structure of the previously processed functional fragment, wherein the excluding is further in response to comparing the structures.

6. The method of claim 5 , wherein the comparing the structures comprises comparing a structure of markup language tags of the identified functional fragment with a structure of markup language tags of the previously processed functional fragment.

7. The method of claim 1 , further comprising forming clusters of the elements based on the signatures, wherein each of the clusters includes elements that have matching signatures.

8. The method of claim 1 , wherein generating the signatures comprises generating XPath strings for the elements associated with the plural handlers.

9. The method of claim 1 , wherein excluding the identified functional fragment from the further processing comprises excluding the identified functional fragment from analysis by a web crawler that analyzes dynamic web content.

10. The method of claim 1 , wherein the executable code caused to be executed by each handler of the plural handlers comprises a respective script.

11. The method of claim 1 , wherein the plural handlers are registered with the corresponding elements to be notified of respective events relating to the corresponding elements.

12. A system comprising:

at least one processor to:

identify a functional fragment of a document object model (DOM) tree, the identifying based on detecting event handlers associated with corresponding elements of the DOM tree, the event handlers to invoke respective scripts;

identify a cluster of the elements that have matching signatures;

determine whether the identified functional fragment matches a previously processed functional fragment; and

in response to determining that the identified functional fragment matches the previously processed functional fragment, exclude the identified functional fragment from further processing.

13. The system of claim 12 , wherein the further processing comprises processing of a web crawler.

14. The system of claim 12 , wherein identifying the functional fragment is based on a determination that a lowest common ancestor of the cluster of elements is not a root node of the DOM tree.

15. The system of claim 12 , wherein the identifying of the functional fragment is responsive to the cluster having a number of the elements that have the matching signatures exceeding a threshold.

16. An article comprising at least one non-transitory machine-readable storage medium storing instructions that upon execution cause a system to:

identify event handlers associated with elements of a document object model (DOM) tree, the event handlers to invoke corresponding executable code;

generate signatures for the elements;

discover a functional fragment of the DOM tree based on clustering the elements according to the generated signatures;

determine whether the discovered functional fragment matches a previously processed functional fragment; and

in response to determining that the discovered functional fragment matches the previously processed functional fragment, exclude the discovered functional fragment from processing by a web crawler.

17. The article of claim 16 , wherein the instructions upon execution cause the system to generate a key for the discovered functional fragment based on the signatures of at least a subset of the elements, and wherein determining whether the discovered functional fragment matches the previously processed function fragment uses the key.

18. The article of claim 17 , wherein generating the key for the discovered functional fragment is based on applying a function to the signatures of at least the subset of the elements.

Assignments (8)
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0577 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC)
Reel/Frame 063560/0001 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ARCSIGHT, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0577 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 042746/0130 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2016
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 040752/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2016
From: HAMER, PHILIP EDWARD; SIMPSON, SHAWN MORGAN; HARDEMAN, STEPHEN DANIEL
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 039351/0901 →
Continuity (1)
Related Publication 20170220531A1 · Aug 3, 2017