SDN and an Object-Oriented Data Model

Terry Slattery
Principal Architect

An Object-Oriented data model will be critical to SDN.

Why is an Object-Oriented Data Model Important?

I’ve started to learn about a variety of SDN APIs. Cisco’s ACI (Application Centric Infrastructure) was the starting point. One of the first documents I found is Network Programmability with Cisco Application Centric Infrastructure. At least ACI, and I assume the other SDN developments, is using an object-oriented data model for network configuration. This makes a lot of sense.

Consider a network as the top object. It is composed of various hardware elements (routers, switches, and firewalls, etc.) and software functions (network protocols, filters, etc.). Each of these elements is composed of sub-elements. In the case of hardware, there are modules and interfaces. Routing protocols have peers or even multiple instances of routing protocols. Controlling and configuring the network based on these objects makes a lot of sense.

The above document also talks about the Management Information Tree (MIT). Remember the SNMP MIB (Management Information Base)? Well, the MIT is the same thing, only applied to ACI. It is a tree structure, just like the SNMP MIB. This guarantees that each object appears only once and that there is a unique name for accessing that object. The MIT name for each object is used by the REST (Representational State Transfer) API, with either XML or JSON encoding. [Note: XML and JSON use very similar representations of objects and supporting both makes a lot of sense.] I certainly hope that the teams that are working on the data model for QoS make it simpler than the Class-Based-QOS MIB that we had with SNMP.

It’s Déjà vu All Over Again

Seeing the object-oriented data model brought back memories of thinking about network management many years ago. I had a revelation, as I’m sure many other NMS developers have had, that networks should be represented by an object-oriented data model. The hierarchy of elements within a network just feel like that model would be best. I never had the opportunity to explore the idea any further.


I think that using an object-oriented data model will help us create new abstractions that simplify how we think about networks. We network folk are going to have to start learning about XML, JSON, object-oriented data models, and object-oriented programming. This will allow us to better communicate with software developers who are going to be building a lot of the future SDN control systems.

Leave a Reply


Nick Kelly

Cybersecurity Engineer, Cisco

Nick has over 20 years of experience in Security Operations and Security Sales. He is an avid student of cybersecurity and regularly engages with the Infosec community at events like BSides, RVASec, Derbycon and more. The son of an FBI forensics director, Nick holds a B.S. in Criminal Justice and is one of Cisco’s Fire Jumper Elite members. When he’s not working, he writes cyberpunk and punches aliens on his Playstation.


Virgilio “BONG” dela Cruz Jr.

CCDP, CCNA V, CCNP, Cisco IPS Express Security for AM/EE
Field Solutions Architect, Tech Data

Virgilio “Bong” has sixteen years of professional experience in IT industry from academe, technical and customer support, pre-sales, post sales, project management, training and enablement. He has worked in Cisco Technical Assistance Center (TAC) as a member of the WAN and LAN Switching team. Bong now works for Tech Data as the Field Solutions Architect with a focus on Cisco Security and holds a few Cisco certifications including Fire Jumper Elite.


John Cavanaugh

CCIE #1066, CCDE #20070002, CCAr
Chief Technology Officer, Practice Lead Security Services, NetCraftsmen

John is our CTO and the practice lead for a talented team of consultants focused on designing and delivering scalable and secure infrastructure solutions to customers across multiple industry verticals and technologies. Previously he has held several positions including Executive Director/Chief Architect for Global Network Services at JPMorgan Chase. In that capacity, he led a team managing network architecture and services.  Prior to his role at JPMorgan Chase, John was a Distinguished Engineer at Cisco working across a number of verticals including Higher Education, Finance, Retail, Government, and Health Care.

He is an expert in working with groups to identify business needs, and align technology strategies to enable business strategies, building in agility and scalability to allow for future changes. John is experienced in the architecture and design of highly available, secure, network infrastructure and data centers, and has worked on projects worldwide. He has worked in both the business and regulatory environments for the design and deployment of complex IT infrastructures.