Programmatically diagnosing a software defined network

a software defined network and programming technology, applied in the field of programming diagnostics of software defined networks, can solve the problems of becoming increasingly difficult for a single person to debug a network virtualization platform and find the culprit component, and it is just as difficult to find the right developer than to resolve the bug itself, and the search and correlating of log files is laborious

US10778550B2Active Publication Date: 2020-09-15NICIRA
3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
US · United States
Patent Type
Patents(United States)
Current Assignee / Owner
Publication Date
2020-09-15

Smart Images

  • Figure 1
    Figure 1
  • Figure 2
    Figure 2
  • Figure 3
    Figure 3
Patent Text Reader

Abstract

A method of diagnosing a software-defined network is provided. The method determines an observed plurality of network control events from a set of network control event messages. Each network control event message includes a unique identifier and is used for configuring a network configuration entity on a network component. The method, from a description of an expected configuration of the network, determines an expected plurality of network control events. The method backtraces the observed control events from the current configuration of the network to determine whether the expected network control events have occurred. The method identifies a network component as the source of fault when the network component receives an input set of network control events that matches a set of expected network events but does not produce a set of output network control events that match a set of network control events.
Need to check novelty before this filing date? Find Prior Art

Description

BACKGROUND

[0001] A network virtualization platform is a platform that is used to configure and deploy networking topologies for a software-defined network. A virtualization platform is a complex product that includes many software components residing on different physical machines. For a simple network feature, often a number of components need to work collaboratively. As a result, it has become increasingly difficult for a single person to debug a network virtualization platform and find the culprit component when the configured network behaves incorrectly.

[0002] A problem often encountered by developers, testers, and field engineers in debugging a software-defined network is to quickly perform analysis and correctly identify the problem area when an issue is reported or a network feature does not work as expected. Traditionally, each network component developer strategically implements some log entries and may provide some cheat sheet to explain how to interpret those log entries du...

Examples

Embodiment Construction

[0020]Some embodiments provide a network backtrace tool that is used to quickly identify the problematic component(s) when a problem occurs in a software-defined network. The tool provides correlated view of any network entity across the entire software-defined network. The tool also examines sequences of network control events and the interactions between network components to identify the cause of missing or erroneous events in the network. The tool identifies the missing or erroneous events and interaction for any network configuration outcome.

[0021]I. Network Backtrace Tool for Debugging a Software-Defined Network

[0022]Some embodiments provide a network-wide view of configured network entities. The tool also identifies the missing or erroneous events and interactions for any network configuration outcome. The functionality of the network components is typically defined at three logical levels of management plane, control plane, and data plane. The data plane handles the forwardi...