Supporting programmability for arbitrary events in a software defined networking environment
First Claim
1. A network device on which network events are processed in a software-defined networking (SDN)-enabled network, the network device comprising:
- one or more computer processors;
a traffic management component comprising forwarding logic and a network control plane of a shared network infrastructure;
an event monitor component; and
a memory storing a container, independent from the traffic management component and the event monitor component, the container providing an execution space on the network device for hosting a first custom SDN application of a user of the network device;
wherein the event monitor component, when executed by the one or more computer processors, performs an operation comprising;
identifying a definition for a custom network event that is defined by the user of the network device, wherein the definition specifies;
(i) an identifier of the custom network event;
(ii) an event type of the custom network event; and
(iii) one or more functions to execute in the execution space of the container in response to occurrences of the custom network event;
wherein the custom network event comprises a compound of distinct network events;
registering a callback function of the first custom SDN application, whereby the first custom SDN application is notified of occurrences of the custom network event;
upon detecting an occurrence of the custom network event, invoking the registered callback function of the first custom SDN application, whereupon the first custom SDN application is configured to cause execution of the one or more functions specified in the definition of the custom network event, wherein invoking the registered callback function includes transmitting the identifier and event type of the custom network event to the first custom SDN application, wherein the network device comprises a first network device; and
propagating the custom network event from the first custom SDN application to a second custom SDN application in an absence of any registered callback function of the second custom SDN application, by publishing the custom network event via the network control plane of the shared network infrastructure to a second network device executing the second custom SDN application;
wherein the first network device is one of a switch and a router.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are disclosed for using arbitrary criteria to define events occurring within a network infrastructure, as well and techniques for detecting and responding to the occurrence of such custom events. Doing so allows a collection of networking elements (switches, routers, etc.) to perform a variety of distributed functions from within the network itself to respond to custom events. Further, because custom events are published across the network, multiple network elements can communicate and respond to the same event. Thus, unlike currently available event management systems, custom events (and responding applications) can be used to create and coordinate software defined networking within a common network infrastructure.
-
Citations
24 Claims
-
1. A network device on which network events are processed in a software-defined networking (SDN)-enabled network, the network device comprising:
-
one or more computer processors; a traffic management component comprising forwarding logic and a network control plane of a shared network infrastructure; an event monitor component; and a memory storing a container, independent from the traffic management component and the event monitor component, the container providing an execution space on the network device for hosting a first custom SDN application of a user of the network device; wherein the event monitor component, when executed by the one or more computer processors, performs an operation comprising; identifying a definition for a custom network event that is defined by the user of the network device, wherein the definition specifies;
(i) an identifier of the custom network event;
(ii) an event type of the custom network event; and
(iii) one or more functions to execute in the execution space of the container in response to occurrences of the custom network event;
wherein the custom network event comprises a compound of distinct network events;registering a callback function of the first custom SDN application, whereby the first custom SDN application is notified of occurrences of the custom network event; upon detecting an occurrence of the custom network event, invoking the registered callback function of the first custom SDN application, whereupon the first custom SDN application is configured to cause execution of the one or more functions specified in the definition of the custom network event, wherein invoking the registered callback function includes transmitting the identifier and event type of the custom network event to the first custom SDN application, wherein the network device comprises a first network device; and propagating the custom network event from the first custom SDN application to a second custom SDN application in an absence of any registered callback function of the second custom SDN application, by publishing the custom network event via the network control plane of the shared network infrastructure to a second network device executing the second custom SDN application; wherein the first network device is one of a switch and a router. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-implemented method for processing network events on a network device in a software-defined networking (SDN)-enabled network, the computer-implemented method comprising:
-
launching, in a container independent from a traffic management component and an event monitor component of the network device, a first custom SDN application of a user of the network device, wherein the container provides an execution space on the network device, wherein the network device is one of a switch and a router, wherein the traffic management component comprises forwarding logic and a network control plane of a shared network infrastructure; identifying a definition of a custom network event that is defined by the user of the network device, wherein the definition specifies;
(i) an identifier of the custom network event;
(ii) an event type of the custom network event; and
(iii) one or more functions to execute in the execution space of the container in response to occurrences of the custom network event;
wherein the custom network event comprises a compound of distinct network events;registering, by the event monitor component, a callback function of the first custom SDN application, whereby the application is notified of occurrences of the custom network event; upon detecting an occurrence of the custom network event by the event monitor component, invoking, by one or more computer processors when executing the event monitor component, the registered callback function of the first custom SDN application, whereupon the first custom SDN application is configured to cause execution of the one or more functions specified in the definition of the custom network event, wherein invoking the registered callback function includes transmitting the identifier and event type of the custom network event to the first custom SDN application, wherein the network device comprises a first network device; and propagating the custom network event from the first custom SDN application to a second custom SDN application in an absence of any registered callback function of the second custom SDN application, by publishing the custom network event via the network control plane of the shared network infrastructure to a second network device executing the second custom SDN application. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer-readable storage medium storing instructions executable to perform an operation for processing network events on a network device in a software-defined networking (SDN)-enabled network, the operation comprising:
-
launching, in a container independent from a traffic management component and an event monitor component of the network device, a first custom SDN application of a user of the network device, wherein the container provides an execution space on the network device, wherein the network device is one of a switch and a router, wherein the traffic management component comprises forwarding logic and a network control plane of a shared network infrastructure; identifying a definition of a custom network event that is defined by the user of the network device, wherein the definition specifies;
(i) an identifier of the custom network event;
(ii) an event type of the custom network event; and
(iii) one or more functions to execute in the execution space of the container in response to occurrences of the custom network event;
wherein the custom network event comprises a compound of distinct network events;registering, by the event monitor component, a callback function of the first custom SDN application, whereby the first custom SDN application is notified of occurrences of the custom network event; upon detecting an occurrence of the custom network event by the event monitor component, invoking, by one or more computer processors when executing the event monitor component, the registered callback function of the first custom SDN application, whereupon the first custom SDN application is configured to cause execution of the one or more functions specified in the definition of the custom network event, wherein invoking the registered callback function includes transmitting the identifier and event type of the custom network event to the first custom SDN application, wherein the network device comprises a first network device; and propagating the custom network event from the first custom SDN application to a second custom SDN application in an absence of any registered callback function of the second custom SDN application, by publishing the custom network event via the network control plane of the shared network infrastructure to a second network device executing the second custom SDN application. - View Dependent Claims (20, 21, 22, 23, 24)
-
Specification