Subject: PP1: To smart collaboration between the applications and the network

From: Lisa Dusseault <[email-masked]>
Date: Mon, 7 Jan 2008 14:21:13 -0800

This is the first in the position papers for February's workshop I'm  
forwarding from attendees.  I'll be posting them with PP# for easy  
search and threading. -- L
---
PP1

To smart collaboration between the applications and the network

Ray Atarashi (IIJ)

1. Motivation

I have proposed the importance of collaboration between applications  
and the network. From the application point of view, we want to use  
network resources (ex. bandwidth, response time) and new network  
functions (ex. QoS, VLAN) flexibly. Applications and services have  
requirements for network behavior depending on the functions provided  
by the application. For example, a streaming service requires high  
bandwidth and low delay network; database transactions need no-packet- 
loss network but don't need high bandwidth.

 From the network point of view, it is useful for operation software  
to know the application behavior. If they can know the requirements  
of the application, it may be possible to prepare the responded  
environment. I expect that NETCONF can be an interface to achieve the  
collaboration. That's because I'm working at NETCONF WG.

When we develop an application common architecture, we should think  
about both the application and the network. It may be useful to  
organize how each function should be defined and implemented at which  
layer.

On the other hand, though NETCONF is defined based on XML, they don't  
take advantage of the XML-related technologies. We need advice from  
APP Area to use application technologies, such as SOAP, SASL, ACL,  
version control, etc.

2. Problems

One of the reasons that collaboration is difficult is that we don't  
share a common architecture and terminology. There is a gap between  
application requirements and network functions. Application  
requirements and behavior are defined by service level, but network  
functions are implemented by routing and low level configurations.  
When we have a requirement for network behavior, we have to configure  
routers using CLI (Command Line Interface). It is hard because we  
have to master router configuration. And it is impossible that  
configuration changes automatically and frequently.

We need an interface to collaborate between the applications and the  
network. IMO, the interface is defined not API-like function, but  
also model-like description. For, example,
- Application service model
- Network function model
These kinds of models may be higher level concept than API.
  As a application user for the NETCONF, we need a guideline to use  
and combine the application technologies and protocols. The  
requirement examples that we select the application technologies are;
- easy to implement, related tools are provided,
- easy to maintenance,
- enough security functions,
- easy to extend,
- etc..

3. Proposal

  To discuss the common architecture, we need to clarify the related  
technologies, protocol, and so on. To discuss collaboration, we can  
start to talk about use cases to use network resources from an  
application. It can be helpful to clarify where the interfaces are  
needed.