Alluvium (peercasting)
Encyclopedia
Alluvium is open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

 peercasting
Peercasting
Peercasting is a method of multicasting streams, usually audio and/or video, to the Internet via peer-to-peer technology. It can be used for commercial, independent, and amateur multicasts. Unlike traditional IP Multicast, peercasting can facilitate on-demand content delivery.-Operation:It usually...

 software developed by the Foundation for Decentralization Research, first released in 2003. It comprises three components, Core, Media Player, and Server. Alluvium allows video and audio programming to be broadcast over the Internet using swarming technology. It is powered by Onion Networks' Swarmcast
Swarmcast
Swarmcast is a provider of Internet television service. It is headquartered in Minneapolis and Tokyo with branch offices in Zurich, San Francisco and New York City. It employs approximately 50 people.- History :...

, and is notable for its incorporation of server-side time-based playlists, and client software which examines those playlists and begins streaming content from the server(and available peers) per that schedule, simplifying the creation of continuous-broadcast video and audio.

Technical Overview

Alluvium is a technology for low-cost streaming media broadcasts. It differs in method from server-to-client streaming servers such as icecast
Icecast
Icecast is a streaming media project released as free software maintained by the Xiph.org Foundation. It also refers specifically to the server program which is part of the project. Icecast was created in December 1998/January 1999 by Jack Moffitt and Barath Raghavan to provide an open source...

, Real Server, and Quicktime Streaming Server. It requires only a standard web server and client software. No additional modules or CGI scripts are required for its operation.

Web Server

The web server handles static files: content, and the playlist(s). The Alluvium playlist file is a text file, residing on the web server, written in the Alluvium playlist format, which is based on the RSS 1.0 news format. The playlist file specifies the locations of a series of files containing content, and the time at which that file is to be played — the files' locations are specified as URLs and can be hosted any where on the web. All RSS tags used are standard tags from existing schemas. An Alluvium playlist file can be generated using the Broadcaster playlist generation tool.

The web server is configured to deliver Alluvium playlists with MIME type Content-Type: application/x-alluvium for files with the extension .rss

Client software

The client software, running on each listener's computer, scans through a playlist
Playlist
In its most general form, a playlist is simply a list of songs. They can be played in sequential or shuffled order. The term has several specialized meanings in the realms of radio broadcasting and personal computers.-In radio:...

 file until it finds an entry which is scheduled for the current time, then fetches that media. Files are downloaded using the Open Content Network (OCN) utilizing Swarmcast swarming download technology. After the first file download has started, the client immediately sends it to a locally generated icecast-compatible stream. The client's media player can then be directed to the local stream and listen to it exactly as though it was a normal icecast stream.

Swarming download operation

The client software first checks with the OCN gateway, which stores special headers for all of the files being distributed through the OCN. If the gateway doesn't know about a particular URL, it will fetch the necessary information from the URL and then cache it. The information stored by the gateway contains information needed to swarm download the file such as a hashtree.

Among the information obtained by the client from the gateway is a list of addresses for other clients who are also downloading or have recently downloaded the file. Clients download multiple parts of the file simultaneously from each other. When a certain part of the file is unavailable from other clients, a client will fetch it from the original source URL and then share that part with the other clients, minimizing the load on the server which stores the content files. The majority of data transfer happens between peers. Priority for downloading is given to chunks earlier in the file, so that file playback can happen immediately.

This swarming architecture offers savings in bandwidth and processor usage. Because most transfers happen between listeners, the source server has much less load. Also, unlike icecast, servers which serve files for Alluvium stations do not decode the files, so broadcasts can be done from low-cost, obsolete hardware with sufficiently fast I/O and network speeds.

History

Alluvium was developed as part of the Tristero project, hosted at Sourceforge, by Brandon Wiley. The source code, still in beta, is available as part of the Tristero project at tristero.cvs.sourceforge.net

Alluvium was unveiled at CodeCon
CodeCon
CodeCon was an annual conference for hackers and technology enthusiasts, held every year between 2002 and 2009. CodeCon was not intended to be a computer security conference, but a conference with a focus on developers doing presentations of technologies, rather than products.-History:Bram Cohen...

 2 in February 2003, generating interest in the peer-to-peer, open source, and streaming radio communities. In 2004, CodeCon 3 was broadcast live using Alluvium 2.0.

Alluvium was further developed and incorporated into software developed at and named after ActLab.TV, a peercast
Peercast
Peercast may refer to:*Peercasting, multicasting a data stream using peer-to-peer technology*PeerCast, a particular open source implementation of this idea...

ed TV and radio service operated by the ActLab at the University of Texas at Austin.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK