Software defined network controller
AssigneeJuniper Networks, Inc.
InventorsNitin Bahadur, Kenneth E. Gray
Life of this patent
Estimating the term…
Abstract
An extensible software defined network (SDN) controller is described that provides an application-aware framework that enable a variety of different user applications to communicate with the controller and that allows the controller to automatically configure devices in a network based on the needs of the applications. For example, the controller includes a plurality of different northbound interfaces that enable a variety of different user applications to communicate with the controller. The controller also includes multiple southbound protocols for configuring and enabling functionality in network devices based on the communications with the user applications.
Claims25
A software-defined network (SDN) controller that manages a network of one or more network devices, the SDN controller comprising:
- a memory;
- one or more processors in communication with the memory;
- one or more databases configured to store network topology information and network state information for the network devices;
- a plurality of network device protocol interfaces comprising a path computation element protocol (PCEP) adapter and a software-defined networking protocol adapter, wherein each of the network device protocol interfaces is configured to exchange state information with at least one of the network devices, wherein the state information comprises at least one of network topology information and network device state information;
- one or more application interfaces configured to receive, from applications, requests for application-specific network configurations;
- a plurality of core modules operable by the one or more processors and configured to receive the requests for application-specific network configurations from the one or more application interfaces, and compute respective network configurations to conform the network topology and network device states to satisfy the requests, wherein the plurality of core modules comprises a path computation engine to compute a path for the network topology and a software-defined networking controller core module;
- and
- one or more core applications operable by the one or more processors and configured to receive the respective network configurations from the plurality of core modules, generate network device state information to implement the computed network configurations, and use respective ones of the plurality of network device protocol interfaces to program the network device state information to the network devices to program the network configurations in the network, wherein the one or more core applications comprise a path provisioning module, wherein the path provisioning module controls the PCEP adapter to provide an indication of the path to a head-end network device of the path, and wherein one or more of the core applications uses the software-defined networking protocol adapter to map a data stream to the path.
A method comprising:
- storing, by one or more databases of a software-defined network (SDN) controller that manages a network of one or more network devices, network topology information and network state information for the network devices;
- exchanging, with at least one of the network devices and by a plurality of network device protocol interfaces of the SDN controller, state information comprising at least one of network topology information and network device state information, the plurality of network device protocol interfaces comprising a path computation element protocol (PCEP) adapter and a software-defined networking protocol adapter;
- receiving, by one or more application interfaces of the SDN controller and from applications, requests for application-specific network configurations;
- providing the requests for application-specific network configurations from the one or more application interfaces to a plurality of core modules of the SDN controller, wherein the plurality of core modules comprises a path computation engine to compute a path for the network topology and a software-defined networking controller core module;
- computing, by the plurality of core modules of the SDN controller, respective network configurations to conform the network topology and network device states to satisfy the requests;
- providing, by the plurality of core modules of the SDN controller, the computed network configurations to one or more core applications of the SDN controller;
- and
- generating, by one or more core applications of the SDN controller, network device state information to implement the computed network configurations and to use the network device protocol interfaces to program the respective ones of the plurality of network device state information to the network devices to program the network configurations in the network, wherein the one or more core applications comprise a path provisioning module, wherein the path provisioning module controls the PCEP adapter to provide an indication of the path to a head-end network device of the path, and wherein one or more of the core applications uses the software-defined networking protocol adapter to map a data stream to the path.
A computer-readable storage medium encoded with instructions that, when executed by at least one processor of a computing device, cause the at least one processor:
- store, by a software-defined network (SDN) controller that manages a network of one or more network devices, network topology information and network state information for the network devices;
- exchange, with at least one of the network devices and by a plurality of network device protocol interfaces of the SDN controller, state information comprising at least one of network topology information and network device state information, the plurality of network device protocol interfaces comprising a path computation element protocol (PCEP) adapter and a software-defined networking protocol adapter;
- receive requests, by one or more application interfaces of the SDN controller and from applications, for application-specific network configurations;
- provide the requests for application-specific network configurations from the one or more application interfaces to a plurality of core modules of the SDN controller;
- compute, by the plurality of core modules, network configurations to conform the network topology and network device states to satisfy the requests, wherein the plurality of core modules comprises a path computation engine to compute a path for the network topology and a software-defined networking controller core module;
- provide the computed network configurations, by the plurality of core modules of the SDN controller, to one or more core applications;
- and
- generate, by the one or more core applications of the SDN controller, network device state information to implement the computed network configurations and to use respective ones of the plurality of the network device protocol interfaces to program the network device state information to the network devices to program the network configurations in the network, wherein the one or more core applications comprise a path provisioning module, wherein the path provisioning module controls the PCEP adapter to provide an indication of the path to a head-end network device of the path, and wherein one or more of the core applications uses the software-defined networking protocol adapter to map a data stream to the path.
Dependencies are inferred from the claim text.