IP Library Granted Patent US 12701045
Granted Patent B2
US 12701045 · App. 18/426,909 · Granted Aug 4, 2026

Configuration management and version control on a network device

Inventors: Hua Zhong (Los Altos, CA); Diego Alfredo Asturias (Mountain View, CA); Aroun Babu Pandurangan (Dublin, CA)
Assignee: Arista Networks, Inc.
H04L41/0813H04L41/0859
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 12701045
App. No.
18/426,909
Granted
Aug 4, 2026
Kind
B2
Abstract

Particular example embodiments described herein can provide for a system, an apparatus, and a method for providing synchronization for a network device operating in a network environment. Operations may include managing a configuration for the network device by a source control management (SCM) engine configured to track changes in the configuration using a source control management system (SCM) database. The operations may also include synchronizing the configuration between the SCM database and a system database of the network device such that their stored representations of configuration information associated with the network device are substantially the same. In particular embodiments, the SCM engine comprises a Git™ element that allows for one or more differences to a configuration session to be committed with a corresponding full textual representation.

Claims (48)

1 . A method for providing synchronization for a network device operating in a network environment, comprising:

managing a configuration for the network device by a source control management (SCM) engine configured to track changes in the configuration using a SCM database, wherein the SCM engine maintains version history of configuration changes with rollback capability to previous configuration states;

detecting, by the SCM engine, that a system database of the network device is out of sync with configuration information stored in the SCM database;

in response to detecting the out-of-sync condition, initiating bidirectional synchronization between the SCM database and the system database of the network device, wherein the bidirectional synchronization comprises:

(a) updating the SCM database to reflect configuration changes detected in the system database that are not present in the SCM database; and

(b) updating the system database to reflect configuration changes in the SCM database that are not present in the system database, wherein the bidirectional synchronization further includes resolving conflicts between divergent configuration states.

2 . The method of claim 1 , wherein the SCM engine comprises a Git™ element that allows for one or more differences to a configuration session to be committed with a corresponding full textual representation.

3 . The method of claim 1 , further comprising:

tracking a history of a running configuration of the network device using the SCM engine; and

storing a textual representation of the running configuration.

4 . The method of claim 1 , further comprising:

accessing the SCM engine using a graphic user interface (GUI); and

updating the configuration for the network device using the GUI.

5 . The method of claim 1 , wherein the SCM engine is further configured to:

track one or more usernames that commit a change to a configuration session; and

track previous changes to the configuration such that a previous configuration can be recalled.

6 . The method of claim 1 , wherein a plurality of trailers are used to store metadata associated with one or more changes associated with the configuration, and wherein information in the plurality of trailers is added by using a command appended by key value pairs.

7 . The method of claim 1 , wherein the synchronizing occurs after a predetermined synchronization event.

8 . The method of claim 7 , wherein the predetermined synchronization event is a period of time.

9 . The method of claim 7 , wherein the predetermined synchronization event is a number of commands.

10 . The method of claim 7 , wherein the predetermined synchronization event is a period of inactivity.

11 . A method for managing a network device in a network environment, comprising:

updating a configuration for the network device after a configuration session is committed, wherein a source control management (SCM) engine maintains version history of configuration changes with rollback capability to previous configuration states using an SCM database;

detecting, by the SCM engine, that a system database of the network device is out of sync with configuration information stored in the SCM database; and

in response to detecting the out-of-sync condition, initiating bidirectional synchronization between the SCM database and the system database of the network device, wherein the bidirectional synchronization comprises:

(a) updating the SCM database to reflect configuration changes detected in the system database that are not present in the SCM database; and

(b) updating the system database to reflect configuration changes in the SCM database that are not present in the system database, wherein the bidirectional synchronization further includes resolving conflicts between divergent configuration states.

12 . The method of claim 11 , wherein the SCM database is coupled to a Git™ element, and the updating of the configuration is triggered by a synchronization event.

13 . The method of claim 12 , wherein the synchronization event is logged in the system database after a predetermined amount of time.

14 . The method of claim 11 , wherein the updating of the configuration is a single commit to the SCM database and reflective of a plurality of commands associated with the configuration session.

15 . The method of claim 11 , wherein the history of changes to the configuration allows the SCM database to be used to revert to a past configuration.

16 . The method of claim 11 , wherein the SCM database is used to track usernames associated with the history of changes in order to effectuate version control for the configuration.

17 . A system for configuration management and version control on a network device, comprising:

memory;

at least one processor;

a source control management (SCM) engine configured to:

commit, to a system database, configuration sessions to change a configuration, wherein the system database stores native and binary data for the configuration;

track changes corresponding to the configuration using a SCM database, wherein the SCM engine maintains version history of configuration changes with rollback capability to previous configuration states; and

a synchronization engine configured to:

detect that a system database of the network device is out of sync with configuration information stored in the SCM database;

initiate bidirectional synchronization between the SCM database and the system database of the network device in response to detecting the out-of-sync condition, wherein the bidirectional synchronization comprises:

(a) updating the SCM database to reflect configuration changes detected in the system database that are not present in the SCM database; and

(b) updating the system database to reflect configuration changes in the SCM database that are not present in the system database, wherein the bidirectional synchronization further includes resolving conflicts between divergent configuration states.

18 . The system of claim 17 , wherein the SCM engine is a Git™ element configured to use Git™ trailers to store metadata related to the configuration.

19 . The system of claim 17 , wherein a synchronization event causes the SCM engine to synchronize the SCM database with the system database.

20 . The system of claim 17 , wherein the SCM engine is further configured to:

track one or more usernames that commit a change to a configuration session; and

track previous changes to the configuration such that a previous configuration can be recalled.