Asynchronous Layered Coding: Difference between revisions

Content deleted Content added
Bluebot (talk | contribs)
formatting
 
(16 intermediate revisions by 13 users not shown)
Line 1:
'''Asynchronous Layered Coding''' ('''ALC''') is an [[internet]]Internet protocol ofsuite|Internet the [[IETFprotocol]] specifiedfor content delivery in a reliable, massively scalable, multiple-rate, and congestion-controlled manner. Specified in [http://www.rfc-archive.org/getrfc.php?rfc=34505775 RFC 34505775], andit described as a massively scalable reliable content delivery protocol. It was adopted asis an experimental protocol in december of 2002 and still is as of[[IETF]] janproposed 2006standard.
 
The protocol
Asynchronous Layered Coding (ALC)is a massively scalable
is specifically designed to provide massive scalability using IP
reliable content delivery protocol, for multiple
[[multicast]] as the underlying network service. Massive scalability in
rate congestion controlled reliable content delivery. The protocol
this context means the number of concurrent receivers for an object
is specifically designed to provide massive scalability using IP
is potentially in the millions, the aggregate size of objects to be
multicast as the underlying network service. Massive scalability in
delivered in a session ranges from hundreds of kilobytes to hundreds
this context means the number of concurrent receivers for an object
of gigabytes, each receiver can initiate reception of an object
is potentially in the millions, the aggregate size of objects to be
asynchronously, the reception rate of each receiver in the session is
delivered in a session ranges from hundreds of kilobytes to hundreds
the maximum fair bandwidth available between that receiver and the
of gigabytes, each receiver can initiate reception of an object
sender, and all of this can be supported using a single sender.
asynchronously, the reception rate of each receiver in the session is
the maximum fair bandwidth available between that receiver and the
sender, and all of this can be supported using a single sender.
 
Because ALC is focused on reliable content delivery, the goal is to
deliver objects as quickly as possible to each receiver while at the
same time remaining network friendly to competing traffic. Thus, the
congestion control used in conjunction with ALC should strive to
maximize use of available bandwidth between receivers and the sender
while at the same time backing off aggressively in the face of
competing traffic.
 
The sender side of ALC consists of generating packets based on
objects to be delivered within the session and sending the
appropriately formatted packets at the appropriate rates to the
channels associated with the session. The receiver side of ALC
consists of joining appropriate channels associated with the session,
performing congestion control by adjusting the set of joined channels
associated with the session in response to detected congestion, and
using the packets to reliably reconstruct objects. All information
flow in an ALC session is in the form of data packets sent by a
single sender to channels that receivers join to receive data.
 
ALC does specify the Session Description needed by receivers before
they join a session, but the mechanisms by which receivers obtain
this required information is outside the scope of ALC. An
application that uses ALC may require that receivers report
statistics on their reception experience back to the sender, but the
mechanisms by which receivers report back statistics is outside the
scope of ALC. In general, ALC is designed to be a minimal protocol
instantiation that provides reliable content delivery without
unnecessary limitations to the scalability of the basic protocol.
 
== Implementations ==
*[http://mad.cs.tut.fi/ Tampere University of Technology MAD/TUT]
*[https://web.archive.org/web/20110719184443/https://prj.tzi.org/cgi-bin/trac.cgi/wiki/Papageno TZI Papageno]
*[http://planete-bcast.inrialpes.fr/rubrique272c.html INRIA]
 
[[Category:Internet protocols]]
 
 
{{Internet-stub}}