Video Streaming using PlanetLab and NITOS
Federation of heterogeneous testbeds has lately become of major importance for the research community. One major targets of the Openlab project is the design and development of a federation framework that would enable experimentation with heterogeneous resources across Europe. In this concept, many different tools for federating the control and experimental plane of testbeds have been proposed. Special efforts have been conducted in the context of Openlab, especially in federation schemes between wireless and wired testbeds, such as the one between the wireless NITOS and the wired Planetlab Europe (PLE) testbeds.
Two well known, currently under development, frameworks that aid in testbed federation are SFA and OMF. In the federation, SFA (Slice Federation Architecture) aims at providing a control plane federation tool between testbeds. The goal of the SFA is to provide a minimal interface that enables testbeds of different technologies and/or belonging to different administrative domains to federate without losing control of their resources. Experimenters are able to combine all available resources and run advanced networking experiments of significant scale and diversity.
On the other hand, OMF (Control and Management Framework) is a framework for controlling, instrumenting and managing testbeds. Experimenters use OMF to describe, instrument and execute their experiments. It can become very handy for testbed administrators, since it can achieve experimental plane federation among different, even heterogeneous, testbeds. NITOS wireless testbed and PLE are already federated through OMF and SFA, giving the experimenter the ability to run large scale networking experiments, combining wireless and wired resources across Europe.
As a proof of concept for the aforementioned federation techniques, we built a representative experiment in OMF exploiting NITOS and PLE nodes. In this demo, we use a last hop wireless NITOS node that requests video transmission from a remote PLE node (Central Coordinator Server). This server relays the request to all its peer nodes (named Cache Servers), which up to this point are totally transparent to the end user. The Cache nodes ping the wireless remote client and report their delays back to their Central Coordinator Server. The Coordinator replies to the client with the hostname of the Cache server that reports the lowest end to end delay. Upon the selection of the appropriate Cache Server, the video streaming service is enabled.
In order to ensure that the quality of the streaming services remains uninterrupted, the peer nodes continue to ping the wireless client at certain time intervals and report these values back to their Coordinator. Through this procedure, the Coordinator is able to detect any possible performance degradation in the wired part that links the various servers to the public Internet (i.e. congestions inducing higher delays, fallen links) and therefore inform any of the redundant Cache servers to start their streaming services and report back to the end client the new hostname of the active Cache Server that currently offers the highest available video quality.