Patent ID: 9660877
Date: 2017-05-23
CPC Classifications: H04L

Claim:
1. A method comprising: at a software defined network (SDN) controller, receiving from one or more applications one or more requests for services to be performed by one or more of multiple network devices that communicate with the SDN controller by different SDN protocols; storing, for each SDN protocol, one or more libraries of primitives for communicating with corresponding ones of the multiple network devices in accordance with a corresponding SDN protocol so as to provide an abstraction that hides details of the different SDN protocols from the one or more applications; mapping, in a services abstraction layer that resides between a Northbound layer exposed to the one or more applications and a Southbound layer exposed to the multiple network devices, the requests for services to appropriate ones of the different SDN protocols to fulfill the services of the requests, wherein the mapping includes, for each request for services: generating a feature request from the request for services based on a service-to-feature-registry; storing information that maps network device capability based features to multiple plugins each for one of the different SDN protocols; and dynamically selecting one of the multiple plugins based on a feature contained in the feature request to a given network device or set of network devices; sending from the SDN controller to the respective one or more of the multiple network devices control messages according to appropriate ones of the different SDN protocols; receiving responses from the one or more of the multiple network devices, each response indicating a failure or a success for a corresponding request; and associating failures and successes of the responses with appropriate ones of the requests across the different SDN protocols, and forwarding the responses to appropriate ones of the one or more applications.