3
development tendencies, market conditions and requirements for emerging technolo-
gies, the principles of distributed and ubiquitous networks, Internet of Things, autono-
mous and self-organizing systems, programmable networks and elastic infrastructures,
software-defined networks, data management protocols, virtualization and integration
methods, information
and content-centric networks, the principles of computing and
storage (though this area is widely represented in publications, e.g. referring to [7-10]
as relevant to this paper context), while some features can be emphasized when consid-
ering the adaptation in network environment (this issue is not widely presented in bib-
liography so far).
Adaptation to be enabled for the demands of flexible network architecture.
There are
many demands on a future network architecture. Here we focus on the demand for a
flexible architecture: this is important because a next generation network faces various
requirements from yet unknown applications. It also has to adapt to new transport tech-
nologies (wired and mobile) with different capabilities, and should enable evolutionary
changes of the network itself. Adaptation to different transport technologies is required
in order to integrate a wide range of end systems like sensor nodes and high perfor-
mance systems. This adaptability can be achieved by flexible provisioning of function-
ality.
The network should be flexible enough to handle different requirements of various
applications [11]. Changing requirements may
also be caused by users; e.g. require-
ments on trust, price and reliability may vary according to a user’s goal. It should be
assumed that such requirements are given at runtime of an application only. Thus, the
network must react fast. This can be achieved by flexible selection of provided func-
tionality.
In addition to such demands from the ‘outside’, i.e. from application requirements,
there are demands for flexibility from the network itself: we assume that there will not
be a fixed set of protocols/mechanisms, which are well suited to fulfill all requirements
on all transport technologies for all time. This implies that evolutionary changes of
networks must be possible to avoid extensive and thus costly transitions in the future.
Changing network functionality (so far, by ‘changing functionality’ it is obvious to
understand the adaptation in the context of this research) will inevitably lead to a het-
erogeneous network where different nodes provide different sets of functionalities. This
is because a synchronous exchange of functionality affecting millions of nodes residing
in many thousands of administrative domains is an infeasible task. Therefore, the ar-
chitecture of a next generation Internet should be able to handle heterogeneity, meaning
that in a distributed space of networking environment an application is implemented
through a set of autonomous processes, appears to be a multi-agent system, and is sup-
ported by the underlying environment, i.e. a proper degree of functionality can be pro-
vided at the required level of consideration, which makes it possible to refer/consider
to a programming model through a behavioral model of
a distributed environment
(space), and so far to a software architecture or a modification of its development pro-
cess, including the mapping of computational tasks to the architecture of computing
tools.
Adaptation engineering for FN environments
. In the concept of adaptation as an ac-
tive action (control) usually two meanings are feasible to consider: passive adaptation,
4
i.e. adaptation to a fixed environment (in this case, the adaptive system operates in a
way that to perform its functions in a given
environment in the best way, trying to
maximize some performance criteria, e.g. effectiveness of functioning in a given envi-
ronment) and active adaptation, i.e. search for an environment adequate to the given
system (when change in the environment occurs in order to maximize the performance,
or active search for an environment is required in which
the desired result to be
achieved). In both cases, two engineering aspects need to be considered to understand
adaptation as a process, i.e. the purpose of adaptation, that is, when and how it is defined
for the effective functioning of the system; and the adaptation algorithm, that is, in what
way is the final goal to be achieved. So far, setting the goal and the way to achieve it
are to define adaptation as a process. This means that adaptation refers to the manage-
ment in complex environment defining the process of changing the parameters and
structure of the system, and possibly the control actions based on current information
with the aim of achieving a certain, usually optimal state of the system with initial un-
certainty and changing working conditions [12]. It clearly defines the optimization re-
quirement
for a given criterion, however, in most cases the complex systems do not
have a single criterion for functioning. Such systems operate in an environment wherein
multi criteria define the nature
of restrictions, thus selection of adaptation criteria is
already an adaptive process itself and should be taken into account when determining
adaptation. In other words, taking into account the features of complex systems, adap-
tation in the broad sense can be defined as a process of purposefully changing the pa-
rameters and structure of the system, which consists in determining the criteria for its
functioning and fulfilling these criteria. Therefore, the problem of adaptation in tech-
nology is considered mainly using at least two ways - by choosing a successful adapta-
tion algorithm with a fixed criterion and by successfully varying the criteria with a fixed
adaptation algorithm.