Streamline - An architecture for Application-level Data Streaming
Recent advances in computer networking and high-speed data transmission technologies have led to considerable increase in the average bandwidth available to end-users. As a result, since the introduction of peer-to-peer file sharing systems, a number of information diffusion applications have emerged, notably in the context of media streaming (i.e., audio and video streaming). These applications typically rely on some support for data multicast, where peers interested in a given data stream can join a corresponding multicast group. Although application-level multicast (also known as overlay multicast) is not as efficient as native IP multicast, it is easier to deploy and manage, and therefore has become very popular in multimedia streaming for largely distributed services and applications. Overlay networks are typically composed of one or more propagation trees or a single mesh. In these structures, nodes are computers and edges are overlay links formed by the establishment of peering relationships between nodes. This project intends to investigate a separation-of-concerns approach to the media-streaming problem. The idea is to decompose data dissemination into two parts, one focusing on distributed techniques to build meshes efficiently and the other on sophisticated data propagation structures. The resulting architecture is quite modular, composed of two layers. Every year Internet enterprises and content providers spend hefty amounts of money on hardware, maintenance, power supply and cooling equipments in response to the ever-growing amount of available information and increasing number of information-thirsty users. In addition to such direct costs, there are substantial environmental impacts caused by this expanding operation. The primary goal of peer-to-peer systems is to eliminate the need for central servers and harnessing the underutilized bandwidth and processing power of machines on the network. In such a system, every ordinary device or computer with a mediocre Internet link can function as a tiny content provider contributing some storage and bandwidth. With a few thousand nodes, this small contribution can sum up to huge amounts of resources ready to serve large contents without the need for centralized content providers and their inherent costs. This research is an effort to fill the gap and find ways to make overlay multicast an efficient, inexpensive, and clean alternative to conventional distribution techniques.