Software-Defined Networking (SDN) is a new paradigm in programming the behavior of computer networks. It opens possibilities for offering novel services and implementing existing functions more efficiently. SDN uses a concept of a logically centralized controller that remotely manages the behavior of multiple infrastructure elements in the network. SDN controllers must make decisions about provisioning network services based on a multitude of technical and business factors drawn from the semantically rich data describing the configuration of various resources in the network. SERPENT (Semantically Enabled Programmable NeTworked systems) will develop novel mechanisms for efficiently handling this data and enabling a new approach to SDN controller design that is based on using queries on this data, same as many web applications today are built using queries on large relational databases. By allowing efficient processing and amortization of computationally complex steps across multiple queries and the integration of many types of query constraints, our project will allow to create complex controller behaviors that fuse together information from multiple sources and combine structural and semantic descriptions of resources in a seamless way – something that would be critical for future datacenter and wide-area networks.
We plan to bring the approach of ontological query answering via query rewriting and of solving path problems using a path algebra framework into a unified model that will allow queries with both ontological (semantic) and navigational constraints. The second major component will be developing the algorithmic and optimization framework for answering complex networking queries over this unified model. SERPENT will enable query optimization in two ways: (a) problems can be solved in two phases with the heavy lifting done in one phase producing an output that can be reused for many problems in a much more efficient second phase. This is similar to traditional query optimization where expensive preprocessing is employed to compute indexes, statistics which are then used to enable efficient query processing. Using this approach for example, the subgraph isomorphism problem which is known to be NP Hard has been made to have efficient practical implementations. (b) design and development of efficient representation and indexing structures for the output of the preprocessing phase and algorithms for exploiting the representations and data structures for efficient query processing. We will show how these query mechanisms that allow to express both structural and semantic path constraints are used to create novel SDN controllers by incorporating them into existing SDN controllers and evaluating them.
This project is run in collaboration with NCSU’s COUL group and is funded by the NSF with grants CNS-1526964 and CNS-1526113.