IP Library Granted Patent US 12675712
Granted Patent B2
US 12675712 · App. 17/370,729 · Granted Jul 7, 2026

Identity graphing for network genomes

Inventors: Thomas J. Holloran (Castle Rock, CO); Derik B. Johnson (Erie, CO)
Assignee: Charter Communications Operating, LLC
G06N5/04G06N20/00
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 12675712
App. No.
17/370,729
Granted
Jul 7, 2026
Kind
B2
Abstract

Various embodiments include methods and devices for identity graphing of network genomes. Embodiments may include processing a node data set having unstructured node identifiers (IDs), determining potential node IDs from the node data set, determining node counts based on the potential node IDs, and classifying probabilities of accuracy of the node counts via a node count machine learning classifier model. Embodiments may further include classifying probabilities of accuracy of node IDs via a node ID machine learning classifier model. Embodiments may further include generating a data structure associating at least a first node ID of the classified node IDs with a network equipment ID. Embodiments may further include associating a classified probability accuracy of the first node ID with the first node ID.

Claims (78)

1 . A method for identity graphing of network genomes of an internet network by a processor of a computing device, comprising:

receiving, from a cable modem internet network, a node data set having unstructured node identifiers (IDs) for nodes of the internet network, the node data set further including cable modem termination systems (CMTS) IDs and media access control (MAC) domain IDs, wherein the CMTS IDs are associated with both the MAC domain IDs and the node IDs, wherein the unstructured node IDs include character strings that contain node identification errors of at least one of duplication, mismapping, inconsistency, or misformatting;

determining potential node IDs from the node data set;

determining node counts based on the potential node IDs;

classifying probabilities of accuracy of the node counts via a node count machine learning classifier model, wherein the machine learning classifier model is trained through a multi-stage process comprising:

training multiple candidate classifier models;

grading each candidate model against a performance metric that comprises at least one of Area Under Curve (AUC) or Root Mean Square Error (RMSE);

selecting a subset of the candidate models based on the grading for further evaluation using cross-validation;

selecting a highest-performing candidate model from the subset based on the performance metric; and

validating the highest-performing candidate on holdout data not previously encountered by the model as the node count machine learning classifier model; and

generating a representation of a topography of the internet network based on the probabilities of accuracy of the node counts, wherein the representation associates each node ID with a corresponding CMTS ID and a MAC domain ID, and

wherein generating the representation includes removing node IDs from the node data set based on the classified probabilities of accuracy to correct the node identification errors.

2 . The method of claim 1 , further comprising classifying probabilities of accuracy of node IDs via a node ID machine learning classifier model, wherein generating the representation of the topography of the internet network based on the probabilities of accuracy of the node counts further comprises generating the representation of the topography of the internet network based on the probabilities of the node IDs.

3 . The method of claim 2 , wherein generating the representation of the topography of the internet network based on the probabilities of accuracy of the node counts and the probabilities of the accuracy of node IDs comprises generating a data structure associating at least a first node ID of the node IDs for which the probabilities of accuracy of the node IDs are classified with a network equipment ID.

4 . The method of claim 3 , wherein generating the data structure comprises associating a classified probability accuracy of the first node ID with the first node ID.

5 . The method of claim 3 , wherein generating the data structure comprises associating a timestamp with the first node ID,

the method further comprising updating the data structure by associating at least a second node ID with the network equipment ID and a second timestamp.

6 . The method of claim 3 , wherein the network equipment ID comprises a cable modem termination system ID and a media access control domain ID.

7 . The method of claim 2 , further comprising scoring a quality of a node ID as selection for a node using a combination of Levenshtein string distance calculations and Vincenty or Haversine physical distance calculations applied to a geographic location descriptor associated with the node ID in the data structure.

8 . The method of claim 1 , further comprising:

determining character counts of characters of the unstructured node IDs; and

determining potential delimiters of the unstructured node IDs, wherein determining the potential node IDs from the node data set comprises parsing the potential node IDs comprising consecutive characters between potential delimiters in the unstructured node IDs.

9 . The method of claim 1 , further comprising generating clusters of the potential node IDs based on character length via a machine learning clustering model, wherein labels of the clusters are associated with counts of potential node IDs based on character length, and wherein determining the node counts based on the potential node IDs comprises determining the node counts based on clusters of the potential node IDs.

10 . A computing device, comprising a processor configured with executable instructions configured to cause the processor to perform operations comprising:

receiving, from a cable modem internet network, a node data set having unstructured node identifiers (IDs) for nodes of an internet network, the node data set further including cable modem termination system (CMTS) IDs and media access control (MAC) domain IDs, wherein the CMTS IDs are associated with both the MAC domain IDs and the node IDs, wherein the unstructured node IDs include character strings that contain node identification errors of at least one of duplication, mismapping, inconsistency, or misformatting;

determining potential node IDs from the node data set;

determining node counts based on the potential node IDs;

classifying probabilities of accuracy of the node counts via a node count machine learning classifier model, wherein the node count machine learning classifier model is trained through a multi-stage process comprising:

training multiple candidate classifier models;

grading each candidate model against a performance metric that comprises at least one of Area Under Curve (AUC) or Root Mean Square Error (RMSE);

selecting a subset of the candidate models based on the grading for further evaluation using cross-validation;

selecting a highest-performing candidate model from the subset based on the performance metric; and

validating the highest-performing candidate on holdout data not previously encountered by the model as the node count machine learning classifier model; and

generating a representation of a topography of the internet network based on the probabilities of accuracy of the node counts, wherein the representation associates each node ID with a corresponding CMTS ID and MAC domain ID, and

wherein generating the representation includes removing node IDs from the node data set based on the classified probabilities of accuracy to correct the node identification errors.

11 . The computing device of claim 10 , wherein the processor is configured with executable instructions configured to cause the processor to perform operations further comprising classifying probabilities of accuracy of node IDs via a node ID machine learning classifier model, wherein generating the representation of the topography of the internet network based on the probabilities of accuracy of the node counts further comprises generating the representation of the topography of the internet network based on the probabilities of accuracy of the node IDs.

12 . The computing device of claim 11 , wherein the processor is configured with executable instructions configured to cause the processor to perform operations such that generating the representation of the topography of the internet network based on the probabilities of accuracy of the node counts and the probabilities of the accuracy of node IDs comprises generating a data structure associating at least a first node ID of the node IDs for which the probabilities of the accuracy of the node IDs are classified with a network equipment ID.

13 . The computing device of claim 12 , wherein the processor is configured with executable instructions configured to cause the processor to perform operations such that generating the data structure comprises associating a classified probability accuracy of the first node ID with the first node ID.

14 . The computing device of claim 12 , wherein:

the processor is configured with executable instructions configured to cause the processor to perform operations such that generating the data structure comprises associating a timestamp with the first node ID; and

the processor is configured with executable instructions configured to cause the processor to perform operations further comprising updating the data structure by associating at least a second node ID with the network equipment ID and a second timestamp.

15 . The computing device of claim 12 , wherein the processor is configured with executable instructions configured to cause the processor to perform operations such that the network equipment ID comprises a cable modem termination system ID and a media access control domain ID.

16 . The computing device of claim 11 , wherein the processor is configured with executable instructions configured to cause the processor to perform operations further comprising scoring a quality of a node ID as selection for a node using a combination of Levenshtein string distance calculations and Vincenty or Haversine physical distance calculations applied to a geographic location descriptor associated with the node ID in the data structure.

17 . The computing device of claim 10 , wherein the processor is configured with executable instructions configured to cause the processor to perform operations further comprising:

determining character counts of characters of the unstructured node IDs; and

determining potential delimiters of the unstructured node IDs, wherein determining the potential node IDs from the node data set comprises parsing the potential node IDs comprising consecutive characters between potential delimiters in the unstructured node IDs.

18 . The computing device of claim 10 , wherein the processor is configured with executable instructions configured to cause the processor to perform operations further comprising generating clusters of the potential node IDs based on character length via a machine learning clustering model wherein labels of the clusters are associated with counts of potential node IDs based on character length, wherein determining the node counts based on the potential node IDs comprises determining the node counts based on clusters of the potential node IDs.

19 . A non-transitory processor-readable medium having stored thereon processor-executable instructions configured to cause a processing device to perform operations comprising:

receiving, from a cable modem internet network, a node data set having unstructured node identifiers (IDs) for nodes of an internet network, the node data set further including cable modem termination system (CMTS) IDs and media access control (MAC) domain IDs, wherein the CMTS IDs are associated with both the MAC domain IDs and the node IDs, wherein the unstructured node IDs include character strings that contain node identification errors of at least one of duplication, mismapping, inconsistency, or misformatting;

determining potential node IDs from the node data set;

determining node counts based on the potential node IDs;

classifying probabilities of accuracy of the node counts via a node count machine learning classifier model, wherein the machine learning classifier model is trained using network management software data and human-generated node data through a multi-stage process comprising:

training multiple candidate classifier models;

grading each candidate model against a performance metric that comprises at least one of Area Under Curve (AUC) or Root Mean Square Error (RMSE);

selecting a subset of the candidate models based on the grading for further evaluation using cross-validation;

selecting a highest-performing candidate model from the subset based on the performance metric; and

validating the highest-performing candidate on holdout data not previously encountered by the model as the node count machine learning classifier model; and

generating a representation of a topography of the internet network based on the probabilities of accuracy of the node counts, wherein the representation associates each node ID with a corresponding CMTS ID and MAC domain ID, and

wherein generating the representation includes removing node IDs from the node data set based on the classified probabilities of accuracy to correct the node identification errors.

20 . The non-transitory processor-readable medium of claim 19 , wherein the stored processor-executable instructions are configured to cause the processing device to perform operations further comprising classifying probabilities of accuracy of node IDs via a node ID machine learning classifier model, wherein generating the representation of the topography of the internet network based on the probabilities of accuracy of the node counts further comprises generating the representation of the topography of the internet network based on the probabilities of accuracy of the node IDs.

21 . The non-transitory processor-readable medium of claim 20 , wherein the stored processor-executable instructions are configured to cause the processing device to perform operations such that generating the representation of the topography of the internet network based on the probabilities of accuracy of the node counts and the probabilities of accuracy of the node IDs comprises generating a data structure associating at least a first node ID of the node IDs for which the probabilities of the accuracy of the node IDs are classified with a network equipment ID.

22 . The non-transitory processor-readable medium of claim 21 , wherein the stored processor-executable instructions are configured to cause the processing device to perform operations such that generating the data structure comprises associating a classified probability accuracy of the first node ID with the first node ID.

23 . The non-transitory processor-readable medium of claim 21 , wherein:

the stored processor-executable instructions are configured to cause the processing device to perform operations such that generating the data structure comprises associating a timestamp with the first node ID; and

the stored processor-executable instructions are configured to cause the processing device to perform operations further comprising updating the data structure by associating at least a second node ID with the network equipment ID and a second timestamp.

24 . The non-transitory processor-readable medium of claim 21 , wherein the stored processor-executable instructions are configured to cause the processing device to perform operations such that the network equipment ID comprises a cable modem termination system ID and a media access control domain ID.

25 . The non-transitory processor-readable medium of claim 20 , wherein the stored processor-executable instructions are configured to cause the processing device to perform operations further comprising scoring a quality of a node ID as selection for a node using a combination of Levenshtein string distance calculations and Vincenty or Haversine physical distance calculations applied to a geographic location descriptor associated with the node ID in the data structure.

26 . The non-transitory processor-readable medium of claim 19 , wherein the stored processor-executable instructions are configured to cause the processing device to perform operations further comprising:

determining character counts of characters of the unstructured node IDs; and

determining potential delimiters of the unstructured node IDs, wherein determining the potential node IDs from the node data set comprises parsing the potential node IDs comprising consecutive characters between potential delimiters in the unstructured node IDs.

27 . The non-transitory processor-readable medium of claim 19 , wherein the stored processor-executable instructions are configured to cause the processing device to perform operations further comprising generating clusters of the potential node IDs based on character length via a machine learning clustering model wherein labels of the clusters are associated with counts of potential node IDs based on character length, wherein determining the node counts based on the potential node IDs comprises determining the node counts based on clusters of the potential node IDs.

28 . The method of claim 1 , wherein the node count machine learning classifier model maps the potential node IDs into groups corresponding to true positives, true negatives, false positives, and false negatives, and determines proportional indicators of the classifications in each group, and the proportional indicators of the true positive and true negative groups increase relative to the false positive group and the false negative group.

29 . The method of claim 28 , wherein the node count machine learning classifier model represents the classifications in a quadrant mapping, in which

a first quadrant corresponds to true negatives,

a second quadrant corresponds to false positives,

a third quadrant corresponds to false negatives,

a fourth quadrant corresponds to true positives, and

wherein proportional indicators of the classifications in each quadrant are represented as circles, larger circles indicating a greater number of classifications in that quadrant and smaller circles indicating a lesser number of classifications.