Information Technology Reference
In-Depth Information
Application developers have to make a trade-off between state exchange
and the processing capabilities of network elements. For example, an
application that finds and removes articulation vertices can run as (1) a
centralized component or, in the other extreme, (2) can run on each NE under
its control. Because the computation of articulation vertices requires full
topology knowledge, running the application on each NE (2) requires
additional mechanisms to update and synchronizes changes in topology.
Between centralized and decentralized implementations of control loops many
architectural variants exist. Likewise, an enormous variety of control
algorithms can be expected. On these points applications programmers would
benefit from research [45] on design patterns of control loops.
7 Conclusion and Future Work
Until now, engineers optimize networks at design time and independent of
application engineers. Examples from sensor networks, hybrid networks and
overlay networks show a need to control networks at run-time. Past efforts
created the programmable network element technologies to support dynamic
network service composition. In this paper, we use these technologies in a
framework for network service development in which each programmable
network element has a software representation in a possibly distributed
application. We presented an implementation of the framework and several
network control applications.
Our implementations are limited to a single application that controls the
network. In case many applications want control over the network, another
control application is needed to manage (conflicting) resource demands, i.e.
an operating system for networks. In the future, however, it can be expected
that network management systems support mechanisms to host and run
applications on the network. Recent research also continues in this direction
(Section 2). More experience is needed to create reusable software
components that enable and simplify control application development for
large networks.
Control loops are a fundamental part of applications that optimize a
specific network service as a response to changes in or outside the network. In
subsequent research we shall determine the operational properties of a control
application (e.g. how accurate is a given network state, what is the delay
between network events and the application's ability to react, how fast can
failures be detected). We have shown that architectural consequences can be
expected when changes in the network occur faster than a single control loop
can effectuate new adjustments, e.g. in large or unstable networks. In this
case, the application framework needs to support decentralized network
control. Hence, to extend the application framework to support multi-domain,
multi-scale network control is a topic for further research.
Search WWH ::




Custom Search