Abacast
Abacast is a client-server based distributed streaming media software technology for use in one-to-many real-time streaming. The distributed streaming network that Abacast CREATES reduces the number of clients directly connected to the media server by up to 98 percent based on the bitrate of the source stream and the connection capacity of the audience. This distributed network is created by having able users (or clients) act as servers for one to several other clients by distributing the complete stream, or a portion of the stream using any available, unused upstream bandwidth. The server continuously and closely manages the distributed network. If at any time a distributing client becomes unable to continue to relay the stream to its receiving clients, those receiving clients are moved to other distributing clients or directly back to the server without interruption, or skipping in the stream. Server-side optimization routines continuously monitor and adjust the network topology. The client-side plug-in provides end-to-end quality of service monitoring and real-time network healing creating a stream with less buffering than standard unicast streaming. This technology is similar to the technology used by Octoshape and Rawflow.
Abacast compared to peer-to-peer
The Abacast Distributed Streaming Network is not a Peer-to-Peer network in the classic sense. In the Abacast Distributed Streaming Network the peers are relaying or distributing the real-time stream based on direction from the Abacast Server. The peers do not know anything AbOUT each other. They do not store any information or files for each other. The entire “peering” process is closely controlled by the Abacast server. Because the server controls the network (the peers do not) topology optimizations are instant, intelligent and there are never any issues with peer discovery or stale peer lists.
Differences of Abacast and Unicast
Abacast requires fewer clients directly connected to the media server. Abacast creates a more efficient network reducing bandwidth consumption in every network it crosses. The number of clients directly connected to the server does not grow linearly with audience size. Abacast does not require as much audience size estimation, architecture over allocation, and infrastructure planning. Abacast creates a stable, distributed network that can adapt to changing network conditions. Abacast closely monitors and adapts the stream based on data from each end-user’s client creating end-to-end QOS. Abacast has it’s own stream serving application, the Abacast Server.
Similarities of Abacast and Unicast
Abacast is fully compatible with standard Digital Rights Management. Abacast streams media in the same major streaming formats. The requirements for creating a source stream are the same for the Abacast Server as they are for unicast servers. End-users use the standard media player clients to view or listen to the streaming content. The steps required to stream the media do not noticeably change between launching and using an Abacast stream compared to a unicast stream. Abacast requires the client to have a local application, the Abacast Client Plug-in. As with the major media players, the Abacast Client Plug-in will need to be downloaded if not pre-installed. As with the major media players, the Abacast Client Plug-in will need to be upgraded periodically as new builds are released.
Unicast Streaming Media (Microsoft Example)
With unicast streaming media you would need to start by creating a source stream. The first step would be to capture the video or audio signal using a suitable device (ex. video camera, microphone, etc.) Once this signal is in to the computer (via a video capture card, sound card, etc.) it would need to be encoded. One option for encoding is to use is Windows Media Encoder (WME), available from Microsoft. It is a free application and can be downloaded from Microsoft, http://www.microsoft.com/windows/windowsmedia/download/default.asp. The WME lets you capture, compress and publish video or audio streams. You may also choose to use pre-recorded media content. WME allows you to switch between live and pre-recorded sources easily.
Once you have created the stream you would need to distribute it. WME can distribute the stream to a maximum of about 30 end-users. If the number of end-users were going to be larger than this then you would need to use Windows Media Server (WMS) to help serve the stream. This server application would have to run on a server with sufficient outgoing bandwidth to support each user with a dedicated stream to the maximum number of users you planning to participate.
Finally, to view the stream end-user would need a stream renderer or client, which in layman’s terms puts the video to the computer screen, and/or puts the audio to the speakers from the media stream. If you were using the WMS to serve the stream then you would use the Windows Media Player (WMP), which comes as default part of your Windows™ installation, as the client.
Bandwidth requirements of Unicast streaming
When streaming media using unicast technology, (WME, WMS, and WMP) you are required to have enough bandwidth dedicated to the WMS to support each WMP client directly connected to the server. If you’re producing a source stream at 32 kbit/s, and you’re having 1000 users or listeners (clients), you would need at least 31.3Mbit/s of dedicated downstream bandwidth. WME, WMS, and WMP are connected together via normal TCP/IP connections.
Abacast Streaming Media
Setting up an Abacast stream is very similar to setting up a WME-WMS-WMP stream. The main differences are that the Abacast Server replaces the WMS and each end-user must have an Abacast Client Plug-in for their WMP client. The Abacast Server and the Abacast Client Plug-ins create a distributed streaming network by having some clients distribute the complete stream or a portion of the stream (SplitStreaming™) to other clients using available upstream bandwidth.
SplitStreaming™
Abacast servers can break individual streams into channels to further increase the network's efficiency. This process is known as SplitStreaming™. This technology enhancement was created to increase the distributed streaming networks efficiency especially when streaming higher bitrate video content across asynchronous residential broadband connections. This enhancement to the core Abacast technology allows the server and the clients to send portions of the stream to receiving clients. The receiving client in this scenario has multiple sending clients (or parents) and then has the ability to combine the channels to recreate the single source stream. This technology enhancement improves the efficiency of high bitrate streaming common to streaming video. If for example the source stream is a 400kbit/s stream then each channel would be 100kbit/s. In an example residential broadband connect with 4 Mbit/s downstream and 384kbit/s upstream, the SplitStream™ would allow a client to distribute 300kbit/s (3 Channels) to another client. The core technology without SplitStreaming™ would not have been able to distribute any stream because 400kbit/s is greater than the available 384K upstream. This example is based upon a stream divided into quarters, when actually the stream breaks into eighths.