IP Library Granted Patent US 8,738,656
Granted Patent B2
US 8,738,656 · App. 12/861,736 · Granted May 27, 2014

Method and system for processing a group of resource identifiers

Inventor: Evan R. Kirshenbaum (Mountain View, CA)
Assignee: Hewlett-Packard Development Company, L.P.
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,738,656
App. No.
12/861,736
Filed
Aug 23, 2010
Granted
May 27, 2014
Kind
B2
Examiner
VU, BAI DUC
Art Unit
2165
USPC
707/797
Abstract

The present disclosure provides a computer-implemented method of processing a group of resource identifiers. The method includes generating a node candidate based on a resource identifier, wherein the node candidate includes a component corresponding to a portion of the resource identifier according to a dimension of specificity. The method also includes adding the lattice node candidate to a corpus lattice based on whether a matching corpus node corresponding to the node candidate is already included in the corpus lattice. The corpus lattice includes corpus nodes corresponding to a plurality of resource identifiers. The method also includes generating a pruned corpus lattice by a process that includes determining that a child node in the corpus lattice is compatible with a parent node of the child node and removing the child node from the corpus lattice. The method also includes generating an output file corresponding to the pruned URL lattice.

Claims (56)

1. A method, comprising:

generating a node candidate in a system memory based on a resource identifier, wherein the node candidate includes a component corresponding to a portion of the resource identifier according to a dimension of specificity;

adding the node candidate to a corpus lattice in the system memory based, at least in part, on whether a matching corpus node corresponding to the node candidate is already included in the corpus lattice; wherein the corpus lattice includes corpus nodes corresponding to a plurality of resource identifiers;

generating a pruned corpus lattice by a process comprising determining that a child corpus node in the corpus lattice is compatible with a parent corpus node of the child corpus node and removing the child corpus node from the corpus lattice, wherein the child corpus node is compatible with the parent corpus node if a first data set associated with the child corpus node and a second data set associated with the parent corpus node do not conflict; and

generating an output data structure corresponding to the pruned corpus lattice.

2. The method of claim 1 , wherein the first and second data sets each include a data field name and a field state corresponding to the data field name, wherein the field state indicates a probability that the data field name is of a target class with respect to the corresponding corpus node.

3. The method of claim 2 , wherein the first and second data sets are determined to be compatible if no data field name corresponds to a field state of “strong positive” in one of the first and second data sets and to “strong negative” in the other of the first and second data sets.

4. The method of claim 1 , wherein the first and second data sets include a plurality of data field names and an occurrence count for each of the plurality of data field names; wherein the occurrence count corresponds to a number of times that the corresponding data field name appears in a group of URLs corresponding to a respective corpus node; and wherein the occurrence count is used to determine an importance level for the data field with respect to the respective corpus node.

5. The method of claim 4 , wherein the first and second data sets are determined to be compatible based on a comparison of the importance levels determined for the data fields of the child corpus node and the importance levels determined for the data fields of the parent corpus node.

6. The method of claim 1 , wherein:

the resource identifier comprises a Uniform Resource Locator (URL);

the node candidate includes a second component corresponding to a second portion of the resource identifier according to a second dimension of specificity; and

the dimension of specificity comprises a host of the URL and the second dimension of specificity comprises a path of the URL.

7. The method of claim 1 , wherein adding the node candidate comprises:

identifying a first, unexpanded, corpus node as a parent of a second corpus node corresponding with the node candidate;

adding as a child node of the first corpus node a node corresponding to an extension of the first corpus node along a dimension of specificity; and

marking the first corpus node as an expanded node.

8. The method of claim 1 , wherein generating the output data structure comprises generating an information table usable by a URL recognizer to identify a search term in a query field of a newly encountered URL.

9. The method of claim 1 , wherein generating the output data structure comprises generating a case usable by a training system to develop a classifier, wherein the case includes a plurality URLs.

10. The method of claim 1 , further comprising:

receiving a first resource identifier matching a pattern corresponding to a first corpus node in the pruned corpus lattice;

identifying, based on the output data structure, a rule applicable to the first resource identifier;

receiving a second resource identifier matching a pattern corresponding to the first corpus node; and

identifying, based on the output data structure, the rule as being applicable to the second resource identifier.

11. The method of claim 1 , wherein the child corpus node is compatible with the parent corpus node if a state of a first data field in the first data set does not conflict with a state of a first data field in the second data set.

12. A computer system, comprising:

a processor that is configured to execute machine-readable instructions; and

a memory device that stores instruction modules that are executable by the processor, the instruction modules comprising:

a node candidate generator, configured to generate a node candidate based on a resource identifier, wherein the node candidate includes a component corresponding to a portion of the resource identifier according to a dimension of specificity;

a lattice generator configured to add the node candidate to a corpus lattice based, at least in part, on whether a matching corpus node corresponding to the node candidate is already included in the corpus lattice; wherein the corpus lattice includes corpus nodes corresponding to a plurality of resource identifiers;

a lattice pruner configured to generate a pruned corpus lattice by a process comprising determining that a child corpus node in the corpus lattice is compatible with a parent corpus node of the child corpus node and removing the child corpus node from the corpus lattice, wherein the child corpus node is compatible with the parent corpus node if a first data set associated with the child corpus node and a second data set associated with the parent corpus node do not conflict; and

an output generator configured to generate an output data structure corresponding to the pruned corpus lattice.

13. The computer system of claim 12 , wherein the first and second data sets each include a data field name and a field state corresponding to the data field name, wherein the field state indicates a probability that the data field name is of a target class with respect to the corresponding corpus node.

14. The computer system of claim 12 , wherein:

the resource identifier comprises a Uniform Resource Locator (URL);

the node candidate includes a second component corresponding to a second portion of the resource identifier according to a second dimension of specificity; and

the dimension of specificity comprises a host of the URL and the second dimension of specificity comprises a path of the URL.

15. The computer system of claim 12 , wherein the lattice generator is configured to add the node candidate to the corpus lattice by a process comprising:

identifying a first, unexpanded, corpus node as a parent of a second corpus node corresponding with the node candidate;

adding as a child node of the first corpus node a node corresponding to an extension of the first corpus node along a dimension of specificity; and

marking the first corpus node as an expanded node.

16. The computer system of claim 12 , wherein the child corpus node is compatible with the parent corpus node if a state of a first data field in the first data set does not conflict with a state of a first data field in the second data set.

17. A non-transitory computer readable medium, comprising code configured to direct a processor to:

generate a node candidate based on a resource identifier, wherein the node candidate includes a component corresponding to a portion of the resource identifier according to a dimension of specificity;

add the node candidate to a corpus lattice based, at least in part, on whether a matching corpus node corresponding to the node candidate is already included in the corpus lattice; wherein the corpus lattice includes corpus nodes corresponding to a plurality of resource identifiers;

generate a pruned corpus lattice by a process comprising determining that a child corpus node in the corpus lattice is compatible with a parent corpus node of the child corpus node and removing the child corpus node from the corpus lattice, wherein the child corpus node is compatible with the parent corpus node if a first data set associated with the child corpus node and a second data set associated with the parent corpus node do not conflict; and

generate an output data structure corresponding to the pruned corpus lattice.

18. The non-transitory computer readable medium of claim 17 , wherein:

the resource identifier comprises a Uniform Resource Locator (URL);

the node candidate includes a second component corresponding to a second portion of the resource identifier according to a second dimension of specificity; and

the dimension of specificity comprises a host of the URL and the second dimension of specificity comprises a path of the URL.

19. The non-transitory computer readable medium of claim 17 , comprising code configured to direct a processor to:

identify a first, unexpanded, corpus node as a parent of a second corpus node corresponding with the node candidate;

add as a child node of the first corpus node a node corresponding to an extension of the first corpus node along a dimension of specificity; and

mark the first corpus node as an expanded node.

20. The non-transitory computer readable medium of claim 17 , wherein the child corpus node is compatible with the parent corpus node if a state of a first data field in the first data set does not conflict with a state of a first data field in the second data set.

Assignments (8)
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 →
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 →
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 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2010
From: KIRSHENBAUM, EVAN R.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. COMPANY
Reel/Frame 025236/0372 →
Continuity (1)
Related Publication 20120047180A1 · Feb 23, 2012