|OMF Control Monitoring Framework|
OMF [Rakotoarivelo 2010] is a framework developed in Ruby language and based on XMPP (eXtensible Messaging and Presence Protocol) with the focus on controlling and managing network devices. The OMF suite also provides OML (OMF Monitoring Library), which allows instrumentation of applications for collecting measurements. Actually, OMF depends on a suite of software components in order to provide services such as dynamic IP addressing, remote booting, remote OS imaging, data archiving, etc.
OMF was originally developed for the ORBIT wireless testbed at Winlab, Rutgers University. This former software only supported the specific ORBIT hardware resources (i.e. custom built static nodes with 802.11wireless devices), and provided a limited experiment description language. In contrast, the current OMF [OMF 2012] supports a large number of different wired and wireless resources, such as PC-like devices, Android phones, routers, sensors, among others.
The OMF architecture consists of 3 logical planes: control, measurement, and management. This architecture is not completely clear in version OMF 5.4, but it is the approach defined for the forthcoming version 6. The control plane includes the OMF tools that a researcher uses to describe his/her experiments, and the OMF entities responsible for orchestrating them. The measurement plane includes the OMF tools to instrument an experiment, and the corresponding OMF entities to collect and store measured data. The management plane includes the OMF functions and entities to provision and configure the resources, which are provided by the testbed facilities and used by the experiments.
In the figure 1 bellow, there is a system view of an OMF deployment. The main OMF elements are detailed below.
A domain specific language (the OMF Experiment Description Language – OEDL) allows an experimenter to write an Experiment Description (ED), which details the resource requirements, their initial configuration, and a state machine describing the time/event-triggered actions required to realize the experiment.
The experimenter submits the ED to an Experiment Controller (EC), which is the control entity orchestrating the experiment on behalf of the experimenter. The EC issues requests on the management plane to configure the resources as specified in the ED. Once the experiment prerequisites are met, the EC sends directives to the Resource Controller (RC) associated with each resource. Actually, the configuration of the resources is also done by the RC. Following the ED’s state machine, the EC sends directives to the RCs, which are the control entities responsible for executing actions on the resources.
The measurement plane consists of two parts, namely the Measurement Collection Server (MCS) and the Measurement Library (ML). OML allows recording of any relevant metrics and instrumented applications. The resulting streams are forwarded to the MCS either in real-time or batch mode to minimize interference with the experiment itself. The MCS stores them in a SQL database created for each experiment instance. The user can directly run SQL queries against it, or retrieve a data dump from it. Standing queries can feed events back into the EC to support steerable experiments.
The batch mode is monitoring part the disconnected operation mode, which also involves specific configuration in OMF elements. The capability of performing experiments with partial disconnection of mobile devices is an important feature which allows tests with smart phones, cars, DTN devices, etc.
Another important feature is the capability to visualize the measurements at real-time on the experimenter’s Web browser. This is useful for the beginners, but it can also help the experts to easily verify if the expected results are being generated at very begin of an experiment.
OMF combines a set of management services into an Aggregate Manager (AM). Thus, the AM is a collection of services, which can be deployed across multiple servers for performance and redundancy reasons. AM accepts request from the ECs or the testbed operator, and sends corresponding commands to the RC running on each resource. MCS may be treated as one of the services of the AM.
[Rakotoarivelo 2010] T. Rakotoarivelo, M. Ott, G. Jourjon, Iv. Seskar, "OMF: a control and management framework for networking testbeds", ACM SIGOPS Operating Systems Review archive Volume 43, Issue 4, 2010.
[OMF 2012] OMF official site.http://mytestbed.net. Last visited: 08-may-2012