IP Library Granted Patent US 12,346,788
Granted Patent B2
US 12,346,788 · App. 17/369,760 · Granted Jul 1, 2025

Systems and methods for gauging differences between network configurations

Inventors: Vinay Sawal (Fremont, CA); Jayanth Kumar Reddy Perneti (Bangalore, IN); Sithiqu Shahul Hameed (Chennai, IN)
Assignee: DELL PRODUCTS L.P.
G06N3/04G06F40/126G06F40/166G06N3/08
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 12,346,788
App. No.
17/369,760
Granted
Jul 1, 2025
Kind
B2
Abstract

Presented herein are embodiments that use a language model to embed or encode configuration elements (e.g., commands, prompts, etc.) into dense, latent representations that incorporate semantic and contextual information. Using a trained language model, a configuration for a network device may be converted into a set of configuration path sentences. Given a first set of encoded configuration path sentences for a first configuration and a second set of encoded configuration path sentences for a second configuration, these two sets may be compared to gauge a degree of difference between the two sets. In one or more embodiments, an Optimal Transport method with Wasserstein distance metric may be used to obtain a comparison value that gauges difference between the two configurations. In one or more embodiments, the comparison valuation may be labeled or classified by comparing the comparison value to one or more pre-defined thresholds.

Claims (56)

1. A processor-implemented method for gauging difference between two configurations, the method comprising:

encoding, using a trained neural network language model, each configuration path sentence from a first set of configuration path sentences related to a first configuration into a first set of representations, in which the trained neural network language model converts the configuration path sentence into the representation;

encoding, using a trained neural network language model, each configuration path sentence from a second set of configuration path sentence related to a second configuration into a second set of representations, in which the trained neural network language model converts the configuration path sentence into the representation;

for the first set of representations, generating a first difference matrix, which represents pair-wise comparisons between each representation in the first set of representations and every other representation in the first set of representations;

for the second set of representations, generating a second difference matrix, which represents pair-wise comparisons between each representation in the second set of representations and every other representation in the second set of representations;

generating a comparison valuation using a comparison technique to gauge difference between the first difference matrix with the second difference matrix;

correlating the comparison valuation to a configuration difference label; and

causing one or more actions to be taken based upon the correlated configuration difference label.

2. The processor-implemented method of claim 1 wherein the first set of configuration path sentences and the second set of configuration path sentences are obtained by performing steps comprising:

generating a configuration path sentence corresponding to a valid path of a first configuration tree for the first configuration, in which the valid path spans from a root node in the first configuration tree to a terminal or end node in the first configuration tree and a token is inserted in the configuration path sentence when an input is expected; and

generating a configuration path sentence corresponding to a valid path of a second configuration tree for the second configuration, in which the valid path spans from a root node in the second configuration tree to a terminal or end node in the second configuration tree and a token is inserted in the configuration path sentence when an input is expected.

3. The processor-implemented method of claim 2 wherein:

the trained neural network language model that converts the configuration path sentence of the first set of configuration path sentences into the representation is a same trained neural network language model that converts the configuration path sentence of the second set of configuration path sentences into the representation.

4. The processor-implemented method of claim 1 wherein the comparison technique is a Wasserstein distance-based Optimal transport to obtain a minimum cost mapping between the first and second difference matrices.

5. The processor-implemented method of claim 1 wherein the comparison valuation is a scalar value.

6. The processor-implemented method of claim 5 further comprising:

correlating the comparison valuation to a configuration difference label based upon the scalar value and a set of one or more threshold values; and

identifying one or more actions corresponding to the correlated configuration difference label.

7. The processor-implemented method of claim 1 further comprising:

responsive to a number of elements in the first difference matrix being different than a number of elements in the second difference matrix, filling whichever difference matrix has fewer elements with filler elements so that each difference matrix has the same number of elements.

8. An information handling system comprising:

one or more processors; and

a non-transitory computer-readable medium or media comprising one or more sets of instructions which, when executed by at least one of the one or more processors, causes steps to be performed comprising:

encoding, using a trained neural network language model, each configuration path sentence from a first set of configuration path sentences related to a first configuration into a first set of representations, in which the trained neural network language model converts the configuration path sentence into the representation;

encoding, using a trained neural network language model, each configuration path sentence from a second set of configuration path sentence related to a second configuration into a second set of representations, in which the trained neural network language model converts the configuration path sentence into the representation;

for the first set of representations, generating a first difference matrix, which represents pair-wise comparisons between each representation in the first set of representations and every other representation in the first set of representations;

for the second set of representations, generating a second difference matrix, which represents pair-wise comparisons between each representation in the second set of representations and every other representation in the second set of representations; and

generating a comparison valuation using a comparison technique to gauge difference between the first difference matrix with the second difference matrix.

9. The information handling system of claim 8 wherein the first set of configuration path sentences and the second set of configuration path sentences are obtained by performing steps comprising:

generating a configuration path sentence corresponding to a valid path of a first configuration tree for the first configuration, in which the valid path spans from a root node in the first configuration tree to a terminal or end node in the first configuration tree and a token is inserted in the configuration path sentence when an input is expected; and

generating a configuration path sentence corresponding to a valid path of a second configuration tree for the second configuration, in which the valid path spans from a root node in the second configuration tree to a terminal or end node in the second configuration tree and a token is inserted in the configuration path sentence when an input is expected.

10. The information handling system of claim 9 wherein

the trained neural network language model that converts the configuration path sentence of the first set of configuration path sentences into the representation is a same trained neural network language model that converts the configuration path sentence of the second set of configuration path sentences into the representation.

11. The information handling system of claim 8 wherein the comparison technique is a Wasserstein distance-based Optimal transport to obtain a minimum cost mapping between the first and second difference matrices.

12. The information handling system of claim 8 wherein the comparison valuation is a scalar value.

13. The information handling system of claim 12 wherein the non-transitory computer-readable medium or media further comprises one or more sets of instructions which, when executed by at least one of the one or more processors, causes steps to be performed comprising:

correlating the comparison valuation to a configuration difference label based upon the scalar value and a set of one or more threshold values; and

identifying one or more actions corresponding to the correlated configuration difference label.

14. The information handling system of claim 8 wherein the non-transitory computer-readable medium or media further comprises one or more sets of instructions which, when executed by at least one of the one or more processors, causes steps to be performed comprising:

responsive to a number of elements in the first difference matrix being different than a number of elements in the second difference matrix, filling whichever difference matrix has fewer elements with filler elements so that each difference matrix has the same number of elements.

15. A non-transitory computer-readable medium or media comprising one or more sequences of instructions which, when executed by at least one processor, causes steps to be performed comprising:

encoding, using a trained neural network language model, each configuration path sentence from a first set of configuration path sentences related to a first configuration into a first set of representations, in which the trained neural network language model converts the configuration path sentence into the representation;

encoding, using a trained neural network language model, each configuration path sentence from a second set of configuration path sentence related to a second configuration into a second set of representations, in which the trained neural network language model converts the configuration path sentence into the representation;

for the first set of representations, generating a first difference matrix, which represents pair-wise comparisons between each representation in the first set of representations and every other representation in the first set of representations;

for the second set of representations, generating a second difference matrix, which represents pair-wise comparisons between each representation in the second set of representations and every other representation in the second set of representations; and

generating a comparison valuation using a comparison technique to gauge difference between the first difference matrix with the second difference matrix.

16. The non-transitory computer-readable medium or media of claim 15 wherein the first set of configuration path sentences and the second set of configuration path sentences are obtained by performing steps comprising:

generating a configuration path sentence corresponding to a valid path of a first configuration tree for the first configuration, in which the valid path spans from a root node in the first configuration tree to a terminal or end node in the first configuration tree and a token is inserted in the configuration path sentence when an input is expected; and

generating a configuration path sentence corresponding to a valid path of a second configuration tree for the second configuration, in which the valid path spans from a root node in the second configuration tree to a terminal or end node in the second configuration tree and a token is inserted in the configuration path sentence when an input is expected.

17. The non-transitory computer-readable medium or media of claim 16 wherein:

the trained neural network language model that converts the configuration path sentence of the first set of configuration path sentences into the representation is a same trained neural network language model that converts the configuration path sentence of the second set of configuration path sentences into the representation.

18. The non-transitory computer-readable medium or media of claim 15 wherein the comparison technique is a Wasserstein distance-based Optimal transport to obtain a minimum cost mapping between the first and second difference matrices.

19. The non-transitory computer-readable medium or media of claim 15 wherein the comparison valuation is a scalar value.

20. The non-transitory computer-readable medium or media of claim 19 wherein the non-transitory computer-readable medium or media further comprises one or more sets of instructions which, when executed by at least one of the one or more processors, causes steps to be performed comprising:

correlating the comparison valuation to a configuration difference label based upon the scalar value and a set of one or more threshold values; and

identifying one or more actions corresponding to the correlated configuration difference label.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (058014/0560) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0473 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057931/0392) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0382 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057758/0286) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 061654/0064 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 058014/0560 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057758/0286 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057931/0392 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2021
From: SAWAL, VINAY; PERNETI, JAYANTH KUMAR REDDY; SHAHUL HAMEED, SITHIQU
To: DELL PRODUCTS L.P.
Reel/Frame 057180/0790 →
Priority Claims (1)
IN 202111024965 · Jun 4, 2021 · national
Continuity (1)
Related Publication 20220391662A1 · Dec 8, 2022
References Cited (15)
US 20150101047A1 · Sridhara · 2015 [cited by examiner]
US 20200142949A1 · Liao · 2020 [cited by examiner]
US 20210243210A1 · Bernardi · 2021 [cited by examiner]
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding, Devlin et al, 2019 (Year: 2019). [cited by examiner]
Stop Using JSON Config Files, Barral, https://medium.com/trabe/stop-using-json-config-files-ab9bc55d82fa, 2020 (Year: 2020). [cited by examiner]
Devlin et al., “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding,” arXiv preprint arXiv:1810.04805, 2019. (16pgs). [cited by applicant]
Alvarez-Melis & Jaakkola, “Gromov-Wasserstein Alignment of Word Embedding Spaces,” Proc. of the 2018 Conf. on Empirical Methods in Natural Language Processing, 2018. (10pgs). [cited by applicant]
“Dell EMC Smartfabric Director,” Dell EMC SmartFabric Director Spec Sheet, Nov. 2020, [online], [Retrieved Jul. 19, 2023]. Retrieved from Internet <URL: https://usermanual.wiki/m/7640f0a83666b1f59fd0a9ed73d59ba7eed78828… [cited by applicant]
Borman et al., “gRPC Network Management Interface (gNMI),” [online], [Retrieved Jul. 26, 2023]. Retrieved from Internet <URL: https://github.com/openconfig/reference/blob/master/rpc/gnmi/gnmi-specification.md> (34 pgs). [cited by applicant]
“BERT,” Wikipedia, [online], [Retrieved Jul. 19, 2023]. Retrieved from Internet <URL: https://en.wikipedia.org/wiki/BERT_(language_model)> (4pgs). [cited by applicant]
“Wasserstein distance,” Wikipedia, [online], [Retrieved Jul. 19, 2023]. Retrieved from Internet <URL: https://en.wikipedia.org/wiki/Wasserstein_metric> (9pgs). [cited by applicant]
Pedram Ataee, “How to Compute Sentence Similarity Using BERT and Word2Vec,” [online], [Retrieved Jul. 26, 2023]. Retrieved from Internet <URL: https://towardsdatascience.com/how-to-compute-sentence-similarity-using-bert… [cited by applicant]
Venkata Dikshit, “BERT for unsupervised tasks,” [online], [Retrieved Jul. 26, 2023]. Retrieved from Internet <URL: https://medium.com/ether-labs/bert-for-unsupervised-text-tasks-fa6e9ce5d133> Published in ETHER Labs, Ju… [cited by applicant]
Gergely Nemeth, “Bleu-BERT-y: Comparing sentence scores,” [online], [Retrieved Jul. 26, 2023]. Retrieved from Internet <URL: https://towardsdatascience.com/bleu-bert-y-comparing-sentence-scores-307e0975994d> Published i… [cited by applicant]
“K-means Clustering,” Wikipedia, [online], [Retrieved Jul. 19, 2023]. Retrieved from Internet <URL: https://en.wikipedia.org/wiki/K-means_clustering> (13 pgs). [cited by applicant]