X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=doc%2Fuser_manual%2Fintroduction.tex;h=db886cc8d59f1f4b4154007939c64ce5d244d6c4;hb=8b8d0779bade89727a816e8dd123bbacb6af9aee;hp=1ef90d3c7926f8b8229aabc404f64031a58a69c9;hpb=16b00f15bf8a2364cd7a3bb7b62035064059df16;p=nepi.git diff --git a/doc/user_manual/introduction.tex b/doc/user_manual/introduction.tex index 1ef90d3c..db886cc8 100644 --- a/doc/user_manual/introduction.tex +++ b/doc/user_manual/introduction.tex @@ -1,12 +1,11 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % NEPI, a framework to manage network experiments % Copyright (C) 2013 INRIA % % This program is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. +% it under the terms of the GNU General Public License version 2 as +% published by the Free Software Foundation; % % This program is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -21,7 +20,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Motivation -During the past decades, a wide variety of platforms to conduct network +During the past decades a wide variety of platforms to conduct network experiments, including simulators, emulators and live testbeds, have been made available to the research community. Some of these platforms are tailored for very specific use cases (e.g. @@ -36,7 +35,7 @@ big disparity in the way to carry out an experiment between one platform and another. Indeed, different platforms provide their own mechanisms to access resources and different tools to conduct experiments. These tools vary widely, for instance, to run a ns-3 simulation it is -necessary to write a C++ program, while to conduct and experiment using +necessary to write a C++ program, while to conduct an experiment using PlanetLab nodes, one must first provision resources through a special web service, and then connect to the nodes using SSH to launch any applications involved in the experiment. @@ -48,16 +47,16 @@ Designing and implementing the programs and scripts to run an experiment can be a time consuming and difficult task, specially if distributed resources need to be synchronised to perform the right action at the right time. Detecting and handling possible errors during experiment -execution also posses a challenge, even more so when dealing with large size +execution also posses a challenge, even more when dealing with large size experiments. Additionally, difficulties related to instrumenting the experiment and gathering the results must also be considered. % Challenge In this context, the challenges that NEPI addresses are manifold. -Firstly, simplifying the complexity of running network experiments. -Secondly, simplifying the use of different experimentation platforms, +Firstly, to simplify the complexity of running network experiments. +Secondly, to simplify the use of different experimentation platforms, allowing to easily switch from one to another. -Thirdly, simplifying the +Thirdly, to simplify the use of resources from different platforms at the same time in a single experiment. @@ -91,7 +90,7 @@ Resources in NEPI are described by a set of attributes, traces and connections. The attributes define the configuration of the resource, the traces represent the results that can be collected for that resource during the experiment and the connections represent how a resource relates -to other resources in th experiment. +to other resources in the experiment. \begin{figure}[h] \centering @@ -100,7 +99,7 @@ to other resources in th experiment. \label{fig:intro_resources} \end{figure} -Examples of attributes are a linux host host name, an IP address to be +Examples of attributes are a linux hostname, an IP address to be assigned to a network interface, a command to run as a remote application. Examples of traces are the standard output or standard error of a running application, a tcpdump on a network interface, etc. @@ -211,9 +210,9 @@ at the beginning of the experiment, making it possible to use an \emph{interactive deployment} mode, where new resources can de declared and deployed on the fly, according to the experiment needs. This interactive mode can be useful to run experiments with the -purpose of exploring a new technology, or to use NEPI as a adaptive +purpose of exploring a new technology, or to use NEPI as an adaptive experimentation tool, that could change an experiment according to -changing external conditions or measurements. +external conditions or measurements. \section{Resource Management: The EC \& The RMs} @@ -245,8 +244,8 @@ control concrete resources and relies on other entities called Resource Managers For each resource that the user registers in the \emph{topology graph}, the EC will instantiate a RM of a corresponding type. A RM is a resource specific -controller and different types of resources require a different type of -RM, specifically adapted to manage them. +controller and different types of resources require different type of +RMs, specifically adapted to manage them. The EC communicates with the RMs through a well defined API that exposes the necessary methods (actions) to achieve all the state transitions defined by the