US2015229709A1PendingUtilityA1

Automation and programmability for software defined networking systems

Assignee: CISCO TECH INCPriority: Mar 15, 2013Filed: Apr 21, 2015Published: Aug 13, 2015
Est. expiryMar 15, 2033(~6.6 yrs left)· nominal 20-yr term from priority
G06F 9/54H04L 67/10H04L 41/40H04L 41/342H04L 41/5096H04L 41/0803G06F 9/541
47
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

System, method, and computer program product to perform an operation comprising providing, to a software defined networking (SDN) application executing on a first network element, of a plurality of network elements in a network, an application program interface (API) to abstract access to: (i) a plurality of ingress interfaces of the first network element, (ii) a plurality of egress interfaces of the first network element, and (iii) a routing information base (RIB) of the first network element, wherein each of the plurality of network elements comprise a plurality of ingress interfaces, a plurality of egress interfaces, and a RIB, receiving a request from the SDN application invoke a function of the API to apply the function to the first network element, and applying the function to the first network element through the API.

Claims

exact text as granted — not AI-modified
We claim: 
     
         1 . A computer implemented method, comprising:
 providing, to a software defined networking (SDN) application executing on a first network element, of a plurality of network elements in a network, an application program interface (API) to abstract access to: (i) a plurality of ingress interfaces of the first network element, (ii) a plurality of egress interfaces of the first network element, and (iii) a routing information base (RIB) of the first network element, wherein each of the plurality of network elements comprise a plurality of ingress interfaces, a plurality of egress interfaces, and a RIB;   receiving a request from the SDN application invoke a function of the API to apply the function to the first network element; and   applying the function to the first network element through the API.   
     
     
         2 . The method of  claim 1 , wherein the function specifies to modify the RIB of the first network element, wherein modifying the RIB of the first network element comprises overriding a routing logic in the RIB of the first network element to route the data packet. 
     
     
         3 . The method of  claim 2 , wherein the routing logic specifies to forward the data packet through a first one of the plurality of egress interfaces of the first network element, wherein the modified routing logic specifies to forward the data packet through a second one of the plurality of egress interfaces of the first network element. 
     
     
         4 . The method of  claim 1 , wherein the function specifies to independently modify each individual one of: (i) a preprocessing operation on a data packet performed by the ingress interfaces of the first network element, (ii) the RIB of the first network element, (iii) a post processing operation on the data packet performed by the egress interfaces of the first network element, and (iv) at least one of the properties of at least one of the ingress interfaces, egress interfaces, and RIBs of the first network element. 
     
     
         5 . The method of  claim 4 , wherein the preprocessing operation and the post processing operation comprise applying at least one networking function to the data packet. 
     
     
         6 . The method of  claim 5 , wherein modifying a selected one of the preprocessing operation and the post processing operation comprises at least one of: (i) adding a new network function of the selected one of the preprocessing operation and the post processing operation, (ii) removing an existing network function from the selected one of the preprocessing operation and the post processing operation, and (iii) modifying the existing network function of the selected one of the preprocessing operation and the post processing operation. 
     
     
         7 . The method of  claim 1 , wherein the SDN application is executed by each of the plurality of network elements, wherein the APIs are provided by each of the plurality of network elements. 
     
     
         8 . The method of  claim 1 , wherein the SDN application is executed by a computing device external to the first network element and communicably coupled to the network, wherein the computing device is not a network element, wherein the network comprises a software defined network (SDN). 
     
     
         9 . A system, comprising:
 one or more computer processors; and   a memory containing a program, which when executed by the processors, performs an operation comprising:
 providing, to a software defined networking (SDN) application executing on a first network element, of a plurality of network elements in a network, an application program interface (API) to abstract access to: (i) a plurality of ingress interfaces of the first network element, (ii) a plurality of egress interfaces of the first network element, and (iii) a routing information base (RIB) of the first network element, wherein each of the plurality of network elements comprise a plurality of ingress interfaces, a plurality of egress interfaces, and a RIB; 
 receiving a request from the SDN application invoke a function of the API to apply the function to the first network element; and 
 applying the function to the first network element through the API. 
   
     
     
         10 . The system of  claim 9 , wherein the function specifies to modify the RIB of the first network element, wherein modifying the RIB of the first network element comprises overriding a routing logic in the RIB of the first network element to route the data packet. 
     
     
         11 . The system of  claim 10 , wherein the routing logic specifies to forward the data packet through a first one of the plurality of egress interfaces of the first network element, wherein the modified routing logic specifies to forward the data packet through a second one of the plurality of egress interfaces of the first network element. 
     
     
         12 . The system of  claim 9 , wherein the function specifies to independently modify each individual one of: (i) a preprocessing operation on a data packet performed by the ingress interfaces of the first network element, (ii) the RIB of the first network element, (iii) a post processing operation on the data packet performed by the egress interfaces of the first network element, and (iv) at least one of the properties of at least one of the ingress interfaces, egress interfaces, and RIBs of the first network element. 
     
     
         13 . The system of  claim 12 , wherein the preprocessing operation and the post processing operation comprise applying at least one networking function to the data packet. 
     
     
         14 . The system of  claim 13 , wherein modifying a selected one of the preprocessing operation and the post processing operation comprises at least one of: (i) adding a new network function of the selected one of the preprocessing operation and the post processing operation, (ii) removing an existing network function from the selected one of the preprocessing operation and the post processing operation, and (iii) modifying the existing network function of the selected one of the preprocessing operation and the post processing operation. 
     
     
         15 . The system of  claim 9 , wherein the SDN application is executed by each of the plurality of network elements, wherein the APIs are provided by each of the plurality of network elements. 
     
     
         16 . The system of  claim 9 , wherein the SDN application is executed by a computing device external to the first network element and communicably coupled to the network, wherein the computing device is not a network element, wherein the network comprises a software defined network (SDN). 
     
     
         17 . A computer program product to orchestrate software defined networking (SDN) applications, comprising:
 a computer-readable storage medium having computer-readable program code embedded therewith, the computer-readable program code executable to perform an operation comprising:
 providing, to a software defined networking (SDN) application executing on a first network element, of a plurality of network elements in a network, an application program interface (API) to abstract access to: (i) a plurality of ingress interfaces of the first network element, (ii) a plurality of egress interfaces of the first network element, and (iii) a routing information base (RIB) of the first network element, wherein each of the plurality of network elements comprise a plurality of ingress interfaces, a plurality of egress interfaces, and a RIB; 
 receiving a request from the SDN application invoke a function of the API to apply the function to the first network element; and 
 applying the function to the first network element through the API. 
   
     
     
         18 . The computer program product of  claim 15 , wherein the function specifies to modify the RIB of the first network element, wherein modifying the RIB of the first network element comprises overriding a routing logic in the RIB of the first network element to route the data packet. 
     
     
         19 . The computer program product of  claim 16 , wherein the routing logic specifies to forward the data packet through a first one of the plurality of egress interfaces of the first network element, wherein the modified routing logic specifies to forward the data packet through a second one of the plurality of egress interfaces of the first network element. 
     
     
         20 . The computer program product of  claim 19 , wherein the function specifies to independently modify each individual one of: (i) a preprocessing operation on a data packet performed by the ingress interfaces of the first network element, (ii) the RIB of the first network element, (iii) a post processing operation on the data packet performed by the egress interfaces of the first network element, and (iv) at least one of the properties of at least one of the ingress interfaces, egress interfaces, and RIBs of the first network element.

Join the waitlist — get patent alerts

Track US2015229709A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.