IP Library › Granted Patent US 12,407,571
Granted Patent B2
US 12,407,571 · App. 18/446,555 · Granted Sep 2, 2025

Achieving consistency in overlay data models transactions with a network device

Inventors: Charanjith Kunduru (Cupertino, CA); Roman Olegovich Chertov (San Jose, CA); Itthichok Jangjaimon (San Jose, CA)
Assignee: Arista Networks, Inc.
H04L41/082
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,407,571
App. No.
18/446,555
Granted
Sep 2, 2025
Kind
B2
Abstract

Systems and methods for reducing processing resources required for configuration updates in a network device by segregating configuration updates into a first set of direct updates and a second set of updates that require CLI commands. The first set of updates are to vendor-neutral configuration objects that are isomorphically mapped to corresponding native configuration objects. The second set of updates are to vendor-neutral configuration objects that are not isomorphically mapped to corresponding native configuration objects. The first set of updates is forwarded to a configuration agent, which applies them to the configuration stored in the system database. CLI commands that are generated for the second set of updates are forwarded to the configuration agent, which parses them and applies corresponding updates to the system database. The system database confirms successful updates to a configuration module which then updates its own vendor-neutral configuration information.

Claims (20)

1. A method for updating configuration data in a network device, the method comprising:

receiving, by a configuration module of the network device, a configuration set request from a configuration client, wherein the configuration set request includes updates to a plurality of vendor-neutral configuration objects of a vendor-neutral configuration data model maintained in memory at the network device by the configuration module;

determining, by the configuration module,

a first subset of the updates that modify ones of the vendor-neutral configuration objects, wherein the modified ones of the vendor-neutral configuration objects are isomorphically mapped to corresponding native configuration objects of a system database maintained in memory of the network device, and

a second subset of the updates that modify ones of the vendor-neutral configuration objects, wherein the ones of the vendor-neutral configuration objects modified by the second subset are not isomorphically mapped to corresponding native configuration objects of the system database;

generating, by the configuration module, a set of CLI commands corresponding to the second set of the updates, wherein the set of CLI commands are adapted to modify native configuration objects of the system database to effect the second set of updates when executed; and

forwarding, by the configuration module, the first subset of the updates and the generated CLI commands to a configuration agent of the network device.

2. The method of claim 1 , wherein determining the first subset of the updates and the second subset of the updates comprises, for each of the updates:

identifying a path prefix for the update;

determining whether the prefix matches one of a set of native path prefixes; and

if the prefix matches one of the native path prefixes, determining that the update is in the first subset of the updates and otherwise determining that the update is in the second subset of the updates.

3. The method of claim 2 , wherein:

determining whether the prefix matches one of the set of native path prefixes comprises determining whether the prefix is included in a mapping of prefixes to native path prefixes;

in response to determining that the update is in the first subset of the updates, replacing the prefix with the corresponding native path prefix; and

in response to determining that a vendor-neutral configuration object name of the update is different from a native configuration object name of the corresponding mapped native path, translating the vendor-neutral configuration object name of the update to the native configuration object name.

4. The method of claim 1 , further comprising, in response to receiving the configuration set request, initiating a set session, wherein the configuration module is prevented from accepting a new configuration set request while a current set session is in progress.

5. The method of claim 4 , further comprising, in response to the configuration module receiving notifications that all updates associated with the configuration set request have been received, terminating the set session.

6. The method of claim 1 , further comprising receiving, by the configuration module, one or more get requests while the set session is pending and, in response to the one or more get requests, providing current values for requested configuration objects.

7. The method of claim 6 , wherein the current values for the requested configuration objects are provided without regard to whether corresponding updates have been applied to the configuration objects.

8. The method of claim 1 , further comprising, in response to receiving confirmation of successful updating of a configuration in a system database, updating the plurality of vendor-neutral configuration objects of the vendor-neutral configuration data model according to the configuration in the system database.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2023
From: KUNDURU, CHARANJITH; CHERTOV, ROMAN OLEGOVICH; JANJAIMON, ITTHICHOK
To: ARISTA NETWORKS, INC.
Reel/Frame 065516/0878 →
Continuity (1)
Related Publication 20250055755A1 · Feb 13, 2025
References Cited (9)
US 7577726B1 · Conard · 2009 [cited by examiner]
US 9369431B1 · Kirby · 2016 [cited by examiner]
US 10200248B1 · Jiang · 2019 [cited by examiner]
US 10326657B1 · A · 2019 [cited by examiner]
US 10382265B1 · Anburose · 2019 [cited by examiner]
US 10558542B1 · A · 2020 [cited by examiner]
US 20170339002A1 · Sigoure · 2017 [cited by examiner]
US 20190334807A1 · Clark · 2019 [cited by examiner]
US 20230292184A1 · Barac · 2023 [cited by examiner]