Hoy en día, mientras que la mayoría de los proveedores de aparatos programables de red se basan en OpenFlow, existe un número de soluciones fragmentadas para el plano de control en redes definidas por software (SDN – Software Defined Networks) propietarias. Así, los desarrolladores de aplicaciones de red tienen que volver a codificar sus soluciones cada vez que se encuentran con una infraestructura de red basada en un controlador diferente. Más aún, diferentes desarrolladores de redes adoptan soluciones distintas al nivel de los lenguajes de programación del plano de control abstracto (por ejemplo, Frenetic, Procera), lo que lleva a un código fuente para programas de red que no es reutilizable o compartible.
A pesar de tener al OpenFlow como candidato para crear una interfaz estándar entre el controlador y la infraestructura de red, el inter-funcionamiento entre diferentes controladores y dispositivos de red se ve obstaculizado y emergen cotos privados. NetIDE entregará un único entorno de desarrollo integrado para apoyar todo el ciclo de vida de desarrollo de los programas del controlador de red, de una manera independiente del proveedor.
NetIDE abordará el problema proponiendo una arquitectura que permita diferenciar la representación que se utiliza para programar la red y los distintos controladores para ejecutar los programas de red. En este sentido, la labor central será la definición de un lenguaje común capaz de abarcar diferentes estilos de programación de red: el NetIDE IRF (Intermediate Representation Format). Alrededor del IRF vamos a explorar áreas de investigación fundamentales, tales como: el desarrollo de aplicaciones de red (aplicaciones que controlan el comportamiento de la red) y servicios de red (servicios que apoyan la labor de los controladores de red) agnósticos a los controladores; la depuración del “cross-controller” y el perfilamiento de programas de red; la programación de redes heterogéneas; o la programación de red con simuladores de bucle.
NetIDE IRF se apoyará en un kit de herramientas de desarrollador para permitir la creación de aplicaciones de red y en un motor de aplicaciones de red (Network App Engine) para apoyar la ejecución y comprobación de las aplicaciones basadas en NetIDE IRF. NetIDE dará lugar a una solución integral para el desarrollo de aplicaciones SDN que cubra todo el ciclo de vida de desarrollo.