IP Library Patent Application 13687584
Patent Application
App. No. 13/687,584

GENERATING A GENERALIZED UNIFORM RESOURCE IDENTIFIER

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 None
App. No.
13/687,584
Abstract

Examples disclosed herein relate to generating a generalized uniform resource identifier (URI). Examples include generating a generalized URI for a given URI. In examples disclosed herein, the generalized URI may include a generic value. Also, in examples disclosed herein, the generalized URI may include the generic value in a segment position corresponding to a variable segment position of the given URI.

Claims (42)

1 . A non-transitory machine-readable storage medium encoded with instructions executable by a processing resource of a computing device to:

identify, as a variable segment position of a plurality of uniform resource identifiers (URIs), a segment position common to each of the URIs and having a threshold number of different values in the plurality of URIs;

generate a generalized URI for a given one of the URIs, the generalized URI including a generic value in a segment position corresponding to the variable segment position of the given URI; and

provide, to a data aggregator, a report associating the generalized URI with performance information related to the given URI.

2 . The storage medium of claim 1 , wherein the performance information includes a server request latency for a server request comprising the given URI.

3 . The storage medium of claim 1 , wherein a segment following the generic value in the generalized URI is equivalent to a segment following the variable segment position in the given URI.

4 . The storage medium of claim 1 , wherein the instructions to identify comprise instructions to:

determine whether a given node of a plurality of nodes of a prefix tree has the threshold number of child nodes, wherein the prefix tree represents at least some of the URIs and each of the plurality of nodes represents a segment of at least one of the URIs.

5 . The storage medium of claim 4 , wherein the instructions to identify further comprise instructions to:

in response to a determination that the given node has the threshold number of child nodes, replace the child nodes of the given node with a generic node matching any segment value.

6 . The storage medium of claim 5 , wherein the instructions to generate comprise instructions to:

concatenate at least the values associated with each node in a path of the prefix tree representing the given URI, to form the generalized URI, the path including the generic node, wherein the generic node is associated with the generic value.

7 . A system comprising:

a determination engine to determine whether a given node of a plurality of nodes of a prefix tree has a threshold number of child nodes, wherein the prefix tree represents at least some of a plurality of uniform resource identifiers (URIs) and each of the plurality of nodes represents a segment of at least one of the URIs;

a collapse engine to, in response to a determination that the given node has the threshold number of child nodes, collapse the child nodes of the given node into a generic node matching any segment value and representing a variable segment position of the URIs; and

a generation engine to generate, based on the prefix tree with the generic node, a generalized URI for a particular one of the URIs, the generalized URI including the generic value in a segment position corresponding to the variable segment position of the particular URI.

8 . The system of claim 7 , further comprising:

an output engine to provide, to a data aggregator, a report associating the generalized URI with performance information related to the particular URI.

9 . The system of claim 7 , wherein:

the determination engine is further to determine whether another node of the prefix tree has another threshold number of child nodes, wherein the given node and the other node are at different levels of the prefix tree, and the threshold number is different than the other threshold number; and

the collapse engine is further to, in response to a determination that the other node has the other threshold number of child nodes, collapse the child nodes of the other node into another generic node matching any segment value.

10 . The system of claim 7 , wherein:

the determination engine is further to determine whether another node of the prefix tree has another threshold number of child nodes, wherein the given node and the other node are at the same level of the prefix tree, and the amount of the other threshold number is based on at least a value of the other node; and

the collapse engine is further to, in response to a determination that the other node has the other threshold number of child nodes, collapse the child nodes of the other node into another generic node matching any segment value.

11 . The system of claim 7 , further comprising:

a segment engine to divide the particular URI into a plurality of segments; and

a match engine to, as part of a traversal of the prefix tree, compare the respective segments of the particular URI to nodes along a path of the prefix tree,

wherein the match engine is to determine that a respective one of the segments matches a respective node of the prefix tree if either a value of the respective node is equivalent to a value of the respective segment or the respective node is a generic node.

12 . The system of claim 7 , wherein:

after the collapse of the child nodes of the given node, each child node of each of the collapsed nodes is a child node of the generic node;

the collapse engine is further to merge any child nodes having equivalent values among the child nodes of another one of the nodes of the prefix tree; and

the collapse engine is further to collapse the child nodes of the other node, if the other node has the threshold number of child nodes after the merging of any child nodes having equivalent values.

13 . A method comprising:

determining, with a determination engine, that a current node of a plurality of nodes of a prefix tree has a threshold number of child nodes, wherein the prefix tree represents at least some of a plurality of uniform resource identifiers (URIs) and each of the plurality of nodes represents a segment of at least one of the URIs;

in response to the determination, collapsing the child nodes of the current node into a generic node associated with a generic value and representing a variable segment position of the URIs;

generating a generalized URI for a particular one of the URIs based on a path of the prefix tree representing the particular URI, wherein the path includes the generic node and the generalized URI includes the generic value in a segment position corresponding to the variable segment position of the particular URI; and

providing, to a data aggregator, a report associating the generalized URI with performance information related to the particular URI.

14 . The method of claim 13 , further comprising:

determining that the current node has no child node matching a current segment of the particular URI; and

adding a new node to the prefix tree as a child of the current node, the new node having a value equivalent to a value of the current segment, wherein the determining that the current node has the threshold number of child nodes occurs after adding the new node.

15 . The method of claim 14 , further comprising:

after collapsing the child nodes, determining whether a next segment of the particular URI, following the current segment, matches any child node of the generic node.

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 Feb 25, 2020
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 052010/0029 →
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 29, 2012
From: FINDEISEN, PIOTR; HAEUPTLE, MICHAEL
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 029377/0172 →