A distributed WWW based architecture has been designed for a software environment which supports clusters of community radios. This framework, developed by the StreamOnTheFly project of the EU, provides a common background for preparation, archival, exchange and reuse of radio programmes. The architecture includes a common metadata schema and exchange format, automatic metadata replication, decentralized management of the radio network and unified, transparent access to user services. Local, regional and Internet-based radios are expected to join the network all over Europe.
Digital audio archive, self-organizing network, peer-to-peer network, radio, metadata, streaming audio
Nowadays many community radio stations exist, but there is little cooperation among those. One of the causes for this is the lack of technical support for easy exchange of radio programmes. A significant part of the programs produced at radio stations are too valuable to be broadcasted only once.
The StreamOnTheFly project [3] was set out to find and demonstrate new ways for archival, management and personalization of audio content. Within the project Public Voice Lab and MTA SZTAKI DSD (Department of Distributed Systems at the Computer and Automation Research Institute of the Hungarian Academy of Sciences) are responsible for development and Team Teichenberg is responsible for user trials.
Based on an insight of the everyday operation and problems of community radio stations, the project team envisioned a network for connecting and servicing radio stations worldwide. This network consists of the following elements: nodes, stations and portals. Nodes together can be seen as a distributed digital library specialized for audio content. Stations send content to the nodes for archival, and portals present thematic selections of the contents of nodes.
The framework is implemented using WWW technologies. All user interfaces are accesible for web browsers, HTTP and XML-RPC are used for communication between components. The framework is implemented using PHP and Postgres DBMS. In the following sections the main parts of the framework are described in more detail.
A decentralized and self-organizing network of nodes forms the basis of the StreamOnTheFly environment. Each node hosts a set of radio stations. For each station the node archives radio programmes with a rich set of metadata and other associated content. For example, the content may be present in several formats of audio, or photos may be attached to the audio content.
All metadata are automatically replicated on each node of the network. As there is no central server in the network, each node has a set of neighbours, and nodes periodically exchange new and modified metadata with their neighbours. Nodes accept data exchange requests only from their listed neighbours. In this way authorization is decentralized as well: if a node wants to be the part of a network, it needs to establish a neighbour relationship with at least one node from that network.
At the time of the design phase there was no metadata schema suitable for audio content used at community radios. There was a confusing mixture of emerging schemas on this area, but these were large, complicated and proprietary.
Therefore, the project helped to launch an initiative called Shared Online Media Archive (SOMA) [2], and worked in the creation of a metadata schema based on Dublin Core [1] specially extended for use by community radios.
This metadata schema became the part of the new exchange format called XBMF (Exchange Broadcast Binary and Metadata Format) defined by the project. XBMF is for the transfer and archival of radio programmes coupled with metadata. This is a container format, in which metadata (in XML format), content files, and other associated files can be packaged together. The concept of XBMF has been presented at fairs for radios, and received a very positive response.
Nodes provide central and essential services for the reuse of radio programmes. Editors and users may transparently browse and query the data of the whole network. They can browse stations or topic trees, search the archive, construct and save complex queries to be executed frequently. Users may collect interesting items in a playlist. These playlists can also be seen as a kind of personalized radio.
Figure 1. Example of a StreamOnTheFly network
Audio content is available only at the node of the producer station in the network which is often different from the node the listener has access to. In such cases the stream is delivered transparently through the network with the help of an XML-RPC controlled streaming engine called Tamburine [4].
A secondary goal of the node network is to gather and forward information about radio programmes back to their creators. This involves the collection of various statistics (download, listen, etc.), the collection of comments and rating information.
The project developed a station management tool which connects radio stations to the network. This tool provides an easy way to feed a node with radio programmes. Furthermore, it helps in the scheduling work of the station, and leads the creators through the lifecycle of a radio programme. Authors may add metadata to their programmes and publish them on a node. Programmes are sent to the node using XBMF format.
In the case when no prerecorded audio is available for a radio programme (e.g. live shows), a recording tool can be used. This software records the broadcasted audio of a station, and automatically cuts the stream into smaller pieces, which can be used as individual radio programmes.
In the StreamOnTheFly project the term radio portal is used for a set of radio programmes offered in a custom design. Visitors of a portal may listen to programmes or they may listen to a continuous stream playing a list of selected programmes over and over again. Additionally, a portal can offer editorials and more readings or pictures about the selected programmes.
Editors can select programmes for the portal either one by one or using queries. In the first case editors assemble a playlist on the node and send it to the portal. In the second case a saved query from the node can be shown in a block of the portal. The contents of such blocks will always be refreshed to show the current results of the query as executed on the node. Comments and ratings made on portals are forwarded to the nodes, and the comments are delivered to the creators of the programme via e-mail.
In the first half of 2003 the node network as described above will be set up. Several radio stations are interested in being part of the network, and some existing networks with simpler infrastructure are also considering joining in. Portals may serve ethnical groups, limited topics or geographical regions by selecting relevant content from the whole network.
We plan to examine the quality of communication in the node network, the efficiency and robustness of data replication. We also intend to collect more feedback about programmes, also in the form of implicit rating, and not only forward this information but use it for online recommendations as well.
This work is supported by the EU under contract IST-2001-32226.