IP Library Granted Patent US 10,445,089
Granted Patent B2
US 10,445,089 · App. 15/626,028 · Granted Oct 15, 2019

Hitless upgrades of a container of a network element

Inventors: Sudip Regmi (Fremont, CA); Udayakumar Srinivasan (Fremont, CA); Kenneth James Duda (Menlo Park, CA); Anirban Sinha (Vancouver, CA)
Assignee: Arista Networks, Inc.
G06F8/656G06F8/61G06F8/65G06F9/4411G06F9/45533G06F17/509H04L41/082H04L41/145H04L41/20H04L67/34G06F8/60G06F9/455G06F16/951G06F2217/04H04L43/50H04L67/20
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 10,445,089
App. No.
15/626,028
Granted
Oct 15, 2019
Kind
B2
Abstract

A method and apparatus of a network element that hitlessly upgrades a network element operating system of a network element is described. In an exemplary embodiment, the network element hitlessly upgrades the network element operating system by instantiating a second container and starts a second set of processes using a second image of the network element operating system in the second container. In addition, the network element executes a first image of the network element operating system as a first set of processes in a first container. The network element additionally synchronizes state data between the first set of processes and the second set of processes. Furthermore, the network element sets the second set of processes as managing a plurality of hardware tables, and stops the first set of processes within the first container.

Claims (57)

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to hitlessly upgrade a network element operating system of the network element, the method comprising:

receiving a second image for a network element operating system, wherein a first image of the network element operating system is executing in the control plane of the network element as a first set of processes in a first container and

the network element operating system controls processing of control plane data, and manages

a plurality of hardware tables by programming the plurality of hardware tables with hardware table updates;

instantiating a second container for the second image in the control plane of the network element,

starting a second set of processes using at least the second image in the second container,

synchronizing state data between the first set of processes and the second set of processes,

setting the second set of processes as managing the plurality of hardware tables, and

stopping the first set of processes within the first container.

2. The machine-readable medium of claim 1 , wherein the state data is stored in a database process executing in a third container.

3. The machine-readable medium of claim 1 , wherein the state data is stored in shared memory.

4. The machine-readable medium of claim 1 , wherein a container is namespace instance of an operating-system level virtualization.

5. The machine-readable medium of claim 1 , wherein the network element includes a host operating system.

6. The machine-readable medium of claim 5 , wherein vendors of the network element operating system and the host operating system are different.

7. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to hitlessly upgrade a network element operating system of the network element, the method comprising:

receiving a second image for a network element operating system, wherein a first image of the network element operating system is executing in the control plane of the network element as a first set of processes in a first container and the network element operating system controls processing of control plane data, programming of at least one of a plurality of hardware tables for the network element, and managing of the at least one of the plurality of hardware tables;

stopping the first set of processes;

instantiating a second container for the second image in the control plane of the network element;

starting a second set of processes using at least the second image in the second container; and

setting the second set of processes as programming and managing the at least one of the plurality of hardware tables.

8. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to hitlessly upgrade a component of a network element operating system, the method comprising:

receiving a second image for a component of the network element operating system, wherein a first image of the network element operating system component is executing in the control plane of the network element as a first set of processes in a first container, components of the network element operating system are executing as a third set of processes in at least one other container, and the network element operating system controls processing of control plane data, programming of a plurality of hardware tables for the network element, and managing of the plurality of hardware tables;

instantiating a second container for the second image in the control plane of the network element;

starting a second set of processes using at least the second image in the second container;

synchronizing state data between the first set of processes and the second set of processes;

setting the second set of processes as managing the functionality of the component; and

stopping the first set of processes within the first container.

9. The machine-readable medium of claim 8 , wherein each of the processes in the first, second, and third set of processes is selected for the group consisting of a routing agent, a policy agent, fan agent, light emitting diode agent, temperature sensor agent, database process, management processes, and process manager.

10. The machine-readable medium of claim 8 , wherein a routing agent is selected from the group consisting of a Border Gateway Protocol agent, Open Shortest Path First routing agent, multicast routing agent, and Routing Information Base Agent.

11. The machine-readable medium of claim 8 , wherein the state data is stored in a database process executing in a fourth container.

12. The machine-readable medium of claim 8 , wherein the state data is stored in shared memory.

13. The machine-readable medium of claim 8 , wherein a container is namespace instance of an operating-system level virtualization.

14. The machine-readable medium of claim 8 , wherein the network element includes a host operating system.

15. The machine-readable medium of claim 14 , wherein the vendors of the network element operating system and the host operating system are different.

16. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to hitlessly upgrade a component of a network element operating system, the method comprising:

receiving a second image for a component of the network element operating system, wherein a first image of the network element operating system component is executing in the control plane of the network element as a first set of processes in a first container, other components of the network element operating system are executing as a third set of processes in at least one other container, and the network element operating system controls processing of control plane data, programming of a plurality of hardware tables for the network element, and managing of the plurality of hardware tables;

stopping the first set of processes;

instantiating a second container for the second image in the control plane of the network element;

starting a second set of processes using at least the second image in the second container; and

setting the second set of processes as managing the functionality of the component.

17. A method to hitlessly upgrade a network element operating system of the network element, the method comprising:

receiving a second image for a network element operating system, wherein a first image of the network element operating system is executing in the control plane of the network element as a first set of processes in a first container and the network element operating system controls processing of control plane data, programming of a plurality of hardware tables for the network element, and managing of the plurality of hardware tables;

instantiating a second container for the second image in the control plane of the network element;

starting a second set of processes using at least the second image in the second container;

synchronizing state data between the first set of processes and the second set of processes;

setting the second set of processes as programming and managing the plurality of hardware tables; and

stopping the first set of processes within the first container.

18. The method of claim 17 , wherein the state data is stored in a database process executing in a third container.

19. The method of claim 17 , wherein a container is namespace instance of an operating-system level virtualization.

20. The method of claim 17 , wherein the network element includes a host operating system.

21. A method to hitlessly upgrade a component of a network element operating system, the method comprising:

receiving a second image for a component of the network element operating system, wherein a first image of the network element operating system component is executing in the control plane of the network element as a first set of processes in a first container, other components of the network element operating system are executing as a third set of processes in at least one other container, and the network element operating system controls processing of control plane data, programming of a plurality of hardware tables for the network element, and managing of the plurality of hardware tables;

instantiating a second container for the second image in the control plane of the network element;

starting a second set of processes using at least the second image in the second container;

synchronizing state data between the first set of processes and the second set of processes;

setting the second set of processes as managing the functionality of the component; and

stopping the first container.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2017
From: REGMI, SUDIP; SRINIVASAN, UDAYAKUMAR; DUDA, KENNTH JAMES; SINHA, ANIRBAN
To: ARISTA NETWORKS, INC.
Reel/Frame 042770/0082 →
Continuity (2)
Provisional Application 62465121 · Feb 28, 2017
Related Publication 20180246715A1 · Aug 30, 2018
Cited By (1)
US 12,613,687