Alluvium (peercasting)

Last updated

Alluvium is open source peercasting 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, 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.

Contents

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, 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.

Requirements

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 play order of URLs that can be hosted anywhere 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 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 2 in February 2003, generating interest in the peer-to-peer, open source, and streaming radio communities. [1] In 2004, CodeCon 3 was broadcast live using Alluvium 2.0. [2] [3]

Alluvium was further developed and incorporated into software developed at and named after ActLab.TV, a peercasted TV and radio service operated by the ActLab at the University of Texas at Austin. [4]

Related Research Articles

<span class="mw-page-title-main">Peer-to-peer</span> Type of decentralized and distributed network architecture

Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the network, forming a peer-to-peer network of nodes. In addition, a personal area network (PAN) is also in nature a type of decentralized peer-to-peer network typically between two devices.

<span class="mw-page-title-main">Web server</span> Computer software that distributes web pages

A web server is computer software and underlying hardware that accepts requests via HTTP or its secure variant HTTPS. A user agent, commonly a web browser or web crawler, initiates communication by making a request for a web page or other resource using HTTP, and the server responds with the content of that resource or an error message. A web server can also accept and store resources sent from the user agent if configured to do so.

RealAudio, also spelled Real Audio, is a proprietary audio format developed by RealNetworks and first released in April 1995. It uses a variety of audio codecs, ranging from low-bitrate formats that can be used over dialup modems, to high-fidelity formats for music. It can be used as a streaming audio format, that is played at the same time as it is downloaded.

BitTorrent, also referred to simply as torrent, is a communication protocol for peer-to-peer file sharing (P2P), which enables users to distribute data and electronic files over the Internet in a decentralized manner. The protocol is developed and maintained by Rainberry, Inc., and was first released in 2001.

In computer networks, download means to receive data from a remote system, typically a server such as a web server, an FTP server, an email server, or other similar systems. This contrasts with uploading, where data is sent to a remote server.

Shoutcast is a service for streaming media over the internet to media players, using its own cross-platform proprietary software. It allows digital audio content, primarily in MP3 or High-Efficiency Advanced Audio Coding format. The most common use of Shoutcast is for creating or listening to Internet audio broadcasts; however, there are also video streams. The software is available to use for free or as a paid cloud service with additional professional features.

<span class="mw-page-title-main">Icecast</span> Streaming media server

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 audio streaming server that anyone could modify, use, and tinker with. Version 2, a ground-up rewrite aimed at multi-format support and scalability, was started in 2001 and released in January 2004.

<span class="mw-page-title-main">BitComet</span> BitTorrent, FTP and HTTP client

BitComet is a cross-protocol BitTorrent, HTTP and FTP client written in C++ for Microsoft Windows and available in 52 different languages. Its first public release was version 0.28. The current BitComet logo has been used since version 0.50.

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.

The eDonkey Network is a decentralized, mostly server-based, peer-to-peer file sharing network created in 2000 by US developers Jed McCaleb and Sam Yagan that is best suited to share big files among users, and to provide long term availability of files. Like most sharing networks, it is decentralized, as there is no central hub for the network; also, files are not stored on a central server but are exchanged directly between users based on the peer-to-peer principle.

BitTorrent is a proprietary adware BitTorrent client developed by Bram Cohen and Rainberry, Inc. used for uploading and downloading files via the BitTorrent protocol. BitTorrent was the first client written for the protocol. It is often nicknamed Mainline by developers denoting its official origins. Since version 6.0 the BitTorrent client has been a rebranded version of μTorrent. As a result, it is no longer open source. It is currently available for Microsoft Windows, Mac, Linux, iOS and Android. There are currently two versions of the software, "BitTorrent Classic" which inherits the historical version numbering, and "BitTorrent Web", which uses its own version numbering.

<span class="mw-page-title-main">P2PTV</span> Video distribution method

P2PTV refers to peer-to-peer (P2P) software applications designed to redistribute video streams in real time on a P2P network; the distributed video streams are typically TV channels from all over the world but may also come from other sources. The draw to these applications is significant because they have the potential to make any TV channel globally available by any individual feeding the stream into the network where each peer joining to watch the video is a relay to other peer viewers, allowing a scalable distribution among a large audience with no incremental cost for the source.

<span class="mw-page-title-main">Tribler</span> Peer-to-peer filesharing software and protocol

Tribler is an open source decentralized BitTorrent client which allows anonymous peer-to-peer by default. Tribler is based on the BitTorrent protocol and uses an overlay network for content searching. Due to this overlay network, Tribler does not require an external website or indexing service to discover content. The user interface of Tribler is very basic and focused on ease of use instead of diversity of features. Tribler is available for Linux, Windows, and OS X.

<span class="mw-page-title-main">Phex</span> Peer to peer file sharing client

Phex is a peer-to-peer file sharing client for the gnutella network, released under the terms of the GNU General Public License, so Phex is free software. Phex is based on Java SE 5.0 or later.

HTTP Live Streaming is an HTTP-based adaptive bitrate streaming communications protocol developed by Apple Inc. and released in 2009. Support for the protocol is widespread in media players, web browsers, mobile devices, and streaming media servers. As of 2022, an annual video industry survey has consistently found it to be the most popular streaming format.

In the BitTorrent file distribution system, a torrent file or meta-info file is a computer file that contains metadata about files and folders to be distributed, and usually also a list of the network locations of trackers, which are computers that help participants in the system find each other and form efficient distribution groups called swarms. Torrent files are normally named with the extension .torrent.

<span class="mw-page-title-main">OpenBroadcaster</span> Streaming software

OpenBroadcaster is a web-based, open-source system to run community radio and television broadcast transmitters with a simple web interface.

<span class="mw-page-title-main">Seeding (computing)</span>

In computing, and specifically peer-to-peer file sharing, seeding is the uploading of already downloaded content for others to download from. A peer, a computer that is connected to the network, becomes a seed when having acquired the entire set of data, it begins to offer its upload bandwidth to other peers attempting to download the file. This data consists of small parts so that seeds can effectively share their content with other peers, handing out the missing pieces. A peer deliberately chooses to become a seed by leaving the upload task active once the content has downloaded. The motivation to seed is mainly to keep the file being shared in circulation and a desire to not act as a parasite. The opposite of a seed is a leech, a peer that downloads more than they upload.

<span class="mw-page-title-main">WebTorrent</span> Peer-to-peer web-based torrent client

WebTorrent is a peer-to-peer (P2P) streaming torrent client written in JavaScript, from the same author, Feross Aboukhadijeh, of YouTube Instant, and the team at WebTorrent and on GitHub, for use in web browsers, as well as a WebTorrent Desktop stand alone version able to bridge WebTorrent and BitTorrent serverless networks.

References

  1. Swarm Radio- a cheaper, faster 'casting tech The Register. Andrew Orlowski, February 24, 2003
  2. Codecon 2004 Archived 2007-06-12 at the Wayback Machine Conference Website.
  3. "Foundation for Decentralized Research CodeCon page". Archived from the original on 2004-07-25. Retrieved 2007-04-15.
  4. Swarmcasting Software Turns PCs into Broadcast Stations Archived 2011-06-29 at the Wayback Machine (Paywall). IEEE Computer. Linda Dailey Paulson, September 2005.