Асинхронное многоуровневое кодирование - Asynchronous Layered Coding

Асинхронное многоуровневое кодирование (ALC) - это Протокол Интернета для доставки контента надежным, масштабируемым, многоскоростным и контролируемым образом. Указано в RFC 5775, это IETF предлагаемый стандарт.

Протокол специально разработан для обеспечения массовой масштабируемости с использованием IP.многоадресная передача в качестве базовой сетевой службы. Высокая масштабируемость в этом контексте означает, что количество одновременных получателей для объекта потенциально исчисляется миллионами, совокупный размер объектов, которые должны быть доставлены в сеансе, колеблется от сотен килобайт до сотен гигабайт, каждый получатель может инициировать прием объекта асинхронно, скорость приема составляет каждый получатель в сеансе - это максимальная допустимая полоса пропускания, доступная между этим получателем и получателем, и все это может поддерживаться с помощью одного отправителя.

Поскольку ALC ориентирован на надежную доставку контента, цель состоит в том, чтобы доставлять объекты как можно быстрее каждому получателю, в то же время оставаясь дружественной сети к конкурирующему трафику. Таким образом, управление перегрузкой, используемое в сочетании с ALC, должно стремиться к максимальному использованию доступной полосы пропускания между получателями и отправителем, в то же время агрессивно отступая перед лицом конкурирующего трафика.

Сторона отправителя ALC состоит из генерации пакетов на основе объектов, которые должны быть доставлены в рамках сеанса, и отправки соответствующим образом отформатированных пакетов с соответствующими скоростями в каналы, связанные с сеансом. Сторона приемника ALC состоит из присоединения к соответствующим каналам, ассоциированным с сеансом, выполнения контроля перегрузки путем настройки набора объединенных каналов, ассоциированных с сеансом, в ответ на обнаруженную перегрузку и использования пакетов для надежного восстановления объектов. Весь информационный поток в сеансе ALC находится в форме пакетов данных, отправляемых одним отправителем в каналы, к которым получатели присоединяются для получения данных.

ALC действительно определяет описание сеанса, необходимое получателям до того, как они присоединятся к сеансу, но механизмы, с помощью которых получатели получают эту требуемую информацию, выходят за рамки ALC. Приложение, которое использует ALC, может потребовать, чтобы получатели сообщали статистику о своем опыте приема обратно отправителю, но механизмы, с помощью которых получатели возвращают статистику, выходят за рамки ALC. В общем, ALC спроектирован как минимальное создание протокола, которое обеспечивает надежную доставку контента без ненужных ограничений масштабируемости базового протокола.

Реализации