Separation of control plane functions using virtual machines in network device

US8953439B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-8953439-B1
Application numberUS-201213732114-A
CountryUS
Kind codeB1
Filing dateDec 31, 2012
Priority dateDec 31, 2012
Publication dateFeb 10, 2015
Grant dateFeb 10, 2015

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques are described for separating control plane functions in a network device using virtual machines. The techniques include initializing multiple virtual machine instances in a control unit of a standalone router, and running different control processes for the router in each of the virtual machines. For example, in a root system domain (RSD)-protected system domain (PSD) system, a control unit of the standalone router may support a RSD virtual machine (VM) and one or more PSD VMs configured to form logical devices and execute logically separate control processes without requiring physically separate, hardware-independent routing engines to form the PSDs. Each of the RSD VM and PSD VMs includes a separate kernel, an operating system, and control processes for the logical device. When a software failure occurs in the PSD VM, the PSD VM may perform a software failover without affecting the operation of the RSD VM.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method comprising: initializing a first virtual machine in a control unit of a network device that operates as a logically separate routing engine assigned to one or more packet forwarding components of the network device to form a logical device, the first virtual machine including a first kernel with a first guest operating system, and a first set of control processes for the logical device; initializing a second virtual machine in the control unit of the network device that operates as a routing engine for the network device, the second virtual machine including a second kernel with a second guest operating system, and a second set of control processes for the network device that map assignments of the packet forwarding components to the first virtual machine; performing storage disk input/output operations with the second guest operating system included in the second virtual machine for data generated by the first set of control processes in the first virtual machine; and when a software failure occurs in the first virtual machine in the control unit, performing a failover of the first virtual machine without affecting the second virtual machine. 2. The method of claim 1 , wherein at least one of the first and second virtual machines executes a chassis management process, further comprising: emulating hardware of the network device in the one of the first and second virtual machines; and managing the packet forwarding components of the network device via the emulated hardware in the one of the first and second virtual machines using the chassis management control process. 3. The method of claim 2 , wherein emulating the hardware in the one of the first and second virtual machines generates a hypervisor bypass to provide control over the hardware to the guest operating system in the one of the first and second virtual machines. 4. The method of claim 1 , further comprising: executing, with the first virtual machine, a first chassis management process to manage the packet forwarding components for the logical device, and a first routing control process to control routing functionality for the logical device; and executing, with the second virtual machine, a second chassis management process to manage the packet forwarding components for the network device, and a second routing control process to control routing functionality for the network device. 5. The method of claim 1 , further comprising initializing a third virtual machine in the control unit of the network device that operates as a chassis manager, the third virtual machine including a third kernel with a third guest operating system, and a chassis management process for the network device and the logical device. 6. The method of claim 5 , further comprising: executing, with the first virtual machine, a first chassis shell process to facilitate management of the packet forwarding components for the logical device via the chassis management process in the third virtual machine, and a first routing control process to control routing functionality for the logical device; and executing, with the second virtual machine, a second chassis shell process to facilitate management of the packet forwarding components for the network device via the chassis management process in the third virtual machine, and a second routing control process to control routing functionality for the network device. 7. The method of claim 1 , wherein the first virtual machine and the second virtual machine are initialized by a hypervisor running on hardware of the network device. 8. The method of claim 1 , further comprising performing storage disk input/output operations with the second guest operating system included in the second virtual machine for data generated by the second set of control processes. 9. The method of claim 1 , further comprising moving the data generated by the first set of control processes from the first virtual machine to the second virtual machine for the storage disk input/output operations using a host operating system in the control unit of the network device. 10. The method of claim 1 , further comprising migrating at least one of the first virtual machine and the second virtual machine to an external physical routing engine connected to the network device. 11. The method of claim 1 , further comprising communicating data between the first virtual machine and the second virtual machine via one of a shared memory, a shared network interface, a bridge or tap device, and a virtual distributed switch included in the control unit of the network device. 12. The method of claim 1 , further comprising: setting up interfaces in the packet forwarding components assigned to the first virtual machine with a chassis management process executed in the first virtual machine via the first kernel of the first virtual machine; maintaining routing and forwarding information for the logical device with a routing control process executed in the first virtual machine; and installing forwarding tables in the packet forwarding components assigned to the first virtual machine via the first kernel of the first virtual machine. 13. The method of claim 1 , further comprising: initializing a third virtual machine in the control unit of the network device that operates as a chassis manager, the third virtual machine including a third kernel with a third guest operating system, and a chassis management process for the network device and the logical device; setting up interfaces in the packet forwarding components assigned to the first virtual machine with the chassis management process via the third kernel of the third virtual machine; communicating interface information to a routing control process executed in the first virtual machine; based on the interface information, maintaining routing and forwarding information for the logical device with the routing control process in the first virtual machine; and installing forwarding tables in the packet forwarding components assigned to the first virtual machine via the first kernel of the first virtual machine. 14. A network device comprising: a control unit including a processor configured to: initialize a first virtual machine that operates as a logically separate routing engine assigned to one or more packet forwarding components of the network device to form a logical device, the first virtual machine including a first kernel with a first guest operating system, and a first set of control processes for the logical device, initialize a second virtual machine that operates as a routing engine for the network device, the second virtual machine including a second kernel with a second guest operating system, a second set of control processes for the network device and to map assignments of the packet forwarding components to the first virtual machine, and a disk input/output manager configured to perform storage disk input/output operations with the second guest operating system for data generated by the first set of control processes in the first virtual machine, and when a software failure occurs in the first virtual machine, perform a failover of the first virtual machine without affecting the second virtual machine; and a forwarding engine including the packet forwarding components connected to the control unit. 15. The network device of claim 14 , wherein at least one of the first and second virtual machines executes a chassis management process; wherein the processor emulates hardware of the network device in the one of the first and second virtual machines; and wherein the chass

Assignees

Inventors

Classifications

  • involving virtual machines · CPC title

  • Performing the actions predefined by failover planning, e.g. switching to standby network elements · CPC title

  • by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure · CPC title

  • Restarting or rejuvenating · CPC title

  • Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US8953439B1 cover?
Techniques are described for separating control plane functions in a network device using virtual machines. The techniques include initializing multiple virtual machine instances in a control unit of a standalone router, and running different control processes for the router in each of the virtual machines. For example, in a root system domain (RSD)-protected system domain (PSD) system, a contr…
Who is the assignee on this patent?
Juniper Networks Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/1484. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 10 2015 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).