IP Library Granted Patent US 9,356,871
Granted Patent B2
US 9,356,871 · App. 13/842,774 · Granted May 31, 2016

Programmable management engine for networks

Inventors: Jan Medved (San Jose, CA); Andrew McLachlan (San Jose, CA); David Ward (San Jose, CA); David Meyer (San Jose, CA)
Assignee: Cisco Technology, Inc.
H04L47/122H04L41/0609H04L43/16H04L41/0686H04L43/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 9,356,871
App. No.
13/842,774
Granted
May 31, 2016
Kind
B2
Abstract

A network node may contain a virtual software-defined networking (SDN) switch and a local a management engine (e.g., a software application) for generating performance metrics based on received management plane traffic. Specifically, the virtual SDN switch may identify and forward received management plane traffic to the local management engine. In turn, the management engine evaluates the management plane traffic to generate performance metrics without forwarding the management plane packets to the remote SDN controller. The management engine may compare the metrics to one or more thresholds to determine the current state or health of the data paths in a network. If a threshold is exceeded, the management engine may transmit an alert to the virtual SDN switch to perform a corrective action—e.g., using a backup data path after the primary data path fails.

Claims (44)

1. A method comprising:

receiving management plane traffic at a software-defined networking (SDN) switch on a network device in a computer network;

forwarding the management plane traffic from the SDN switch to a management engine executing on a processor in the network device,

generating, at the management engine, one or more performance metrics associated with the computer network based on the management plane traffic;

receiving, at the SDN switch, a management plane packet from the management engine;

forwarding the management plane packet to a neighboring device in the computer network; and

performing data plane traffic switching using an application-specific integrated circuit (ASIC) that is separate from the processor.

2. The method of claim 1 , further comprising:

separating the management plane traffic from received data plane traffic based on comparing a packet field in the management plane traffic to a SDN rule contained in the SDN switch.

3. The method of claim 1 , wherein the SDN switch comprises a table containing a plurality of SDN rules, each of the SDN rules comprising a packet field and a corresponding action to be performed by the SDN switch if a received packet matches the packet field.

4. The method of claim 1 , further comprising:

comparing the one or more performance metrics to respective thresholds using the management engine; and

upon determining that the at least one metric exceeds one of the respective thresholds, issuing an alert from the management engine to the SDN switch to perform a corrective action.

5. The method of claim 4 , wherein, in response to the alert, the SDN switch updates a group table such that data previously assigned a first virtual port of a primary data link is assigned to a second virtual port of a backup data link.

6. The method of claim 1 , wherein both the SDN switch and the management engine are communicatively coupled to a SDN controller located remotely from the network device, wherein the control plane of the network device is abstracted and shared by a plurality of network devices in the computer network, wherein the SDN controller is capable of managing and configuring the shared control plane of the plurality of network devices remotely.

7. The method of claim 1 , wherein the management engine is a software application and is at least one of an operations, administration, and management (OAM) engine and quality-of-service (QoS) engine, and wherein the network device is an Ethernet switch configured as a multiprotocol label switching transport profile (MPLS-TP) node.

8. A computer program product comprising:

computer code that receives management plane traffic at a software-defined networking (SDN) switch on a network device in a computer network;

computer code that forwards the management plane traffic from the SDN switch to a management engine executing on a processor in the network device;

computer code that generates, at the management engine, one or more performance metrics associated with the computer network based on the management plane traffic;

computer code that receives, at the SDN switch, a management plane packet from the management engine;

computer code that forwards the management plane packet to a neighboring device in the computer network; and

computer code that performs data plane traffic switching using an application-specific integrated circuit (ASIC) that is separate from the processor, wherein the computer code is stored in a non-transitory computer storage medium.

9. The computer program product of claim 8 , further comprising:

computer code that separates the management plane traffic from received data plane traffic based on comparing a packet field in the management plane traffic to a SDN rule contained in the SDN switch.

10. The computer program product of claim 8 , wherein the SDN switch comprises a table containing a plurality of SDN rules, each of the SDN rules comprising a packet field and a corresponding action to be performed by the SDN switch if a received packet matches the packet field.

11. The computer program product of claim 8 , further comprising:

computer code that compares the one or more performance metrics to respective thresholds in the management engine; and

computer code that, upon determining that the at least one metric exceeds one of the respective thresholds, issues an alert from the management engine to the SDN switch to perform a corrective action.

12. The computer program product of claim 11 , wherein, in response to the alert, the SDN switch updates a group table such that data previously assigned a first virtual port of a primary data link is assigned to a second virtual port of a backup data link.

13. The computer program product of claim 8 , wherein both the SDN switch and the management engine are communicatively coupled to a SDN controller located remotely from the network device, wherein the control plane of the network device is abstracted and shared by a plurality of network devices in the computer network, wherein the SDN controller is capable of managing and configuring the shared control plane of the plurality of network devices remotely.

14. A network device, comprising:

an application-specific integrated circuit (ASIC) configured to perform data plane traffic switching;

a management engine configured to generate one or more performance metrics associated with a computer network;

a supplemental processor configured to execute the management engine, wherein the supplemental processor is based on an instruction set architecture (ISA);

an SDN switch configured to receive management plane traffic from a first neighboring device in the computer network and forward the management plane traffic to the management engine,

wherein the SDN switch is configured to receive a management plane packet from the management engine and forward the management plane packet to a second neighboring device in the SDN enabled environment.

15. The network device of claim 14 , wherein the SDN switch is configured to separate the management plane traffic from received data plane traffic based on comparing a packet field in the management plane traffic to a SDN rule contained in the SDN switch.

16. The network device of claim 14 , wherein the supplemental processor is connected to the network device via one of a blade and an expansion card.

17. The network device of claim 14 , wherein the SDN switch comprises a table containing a plurality of SDN rules, each of the SDN rules comprising a packet field and a corresponding action to be performed by the SDN switch if a received packet matches the packet field.

18. The network device of claim 14 , wherein the management engine is further configured to:

compare the one or more performance metrics to respective thresholds; and

upon determining that the at least one metric exceeds one of the respective thresholds, issue an alert to the SDN switch to perform a corrective action.

19. The network device of claim 18 , wherein, in response to the alert, the SDN is configured to update a group table such that data previously assigned a first virtual port of a primary data link is assigned to a second virtual port of a backup data link.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2013
From: MEDVED, JAN; MCLACHLAN, ANDREW; WARD, DAVID; MEYER, DAVID
To: CISCO TECHNOLOGY, INC.
Reel/Frame 030198/0667 →
Continuity (1)
Related Publication 20140280834A1 · Sep 18, 2014