Способ управления полосой пропускания и соответсвующее устройство
Иллюстрации
Показать всеИзобретение относится к распределению контента потоковой передачи видео. Технический результат - улучшение качества отображаемого видео. Для этого устройство содержит первый интерфейс в первой сети, содержащей сервер адаптивной потоковой передачи, второй интерфейс для второй сети, содержащей, по меньшей мере, одно клиентское устройство адаптивной потоковой передачи, идентификатор потока для обнаружения, по меньшей мере, одного контента потоковой передачи, запрошенного, по меньшей мере, одним клиентским устройством адаптивной потоковой передачи, причем этот, по меньшей мере, один контент потоковой передачи является доступным на более, чем одной скорости передачи данных, администратор полосы пропускания для выбора скорости передачи данных среди более чем одной скорости передачи данных, планировщик для передачи на втором интерфейсе этого, по меньшей мере, одного контента потоковой передачи, по меньшей мере, одному клиентскому устройству на скорости передачи данных выше упомянутой выбранной скорости передачи данных, но ниже любой более высокой скорости передачи данных, доступной для упомянутого контента потоковой передачи. 3 н. и 10 з.п. ф-лы, 4 ил.
Реферат
ОБЛАСТЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ
Настоящее изобретение большей частью относится к распределению контента потоковой передачи видео и, в частности, к управлению полосой пропускания, используемой контентом потоковой передачи видео.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
Этот раздел предназначается для ознакомления читателя с различными аспектами области техники, которые могут относиться к различным аспектам настоящего изобретения, которые описаны и/или заявлены в формуле изобретения ниже. Это обсуждение будет целесообразным для предоставления информации о предшествующем уровне техники, а также для облегчения понимания различных аспектов настоящего изобретения. Соответственно, необходимо понимать, что эти утверждения должны пониматься в свете настоящего изобретения, а не в качестве признания известного уровня техники.
Решения потоковой передачи по доставке медиа в основном основываются на протоколах, таких как потоковый протокол в режиме реального времени (RTSP), определенный в IETF RFC 2326, запатентованный протокол медиа-сервера Майкрософт (MMS) от Microsoft или запатентованный протокол передачи сообщений в режиме реального времени (RTMP) от Adobe Systems.
Появились технологии потоковой передачи на основе протокола HTTP для обеспечения доставки контента через Интернет. Эти технологии дают возможность клиентскому устройству принимать видео в виде небольших последовательных сегментов, называемых фрагментом и имеющим продолжительность в несколько секунд. Каждый сегмент запрашивается через протокол HTTP и может существовать в различных вариантах, давая возможность клиентскому устройству выбирать в любое время подходящую скорость передачи данных, согласующуюся с сетью, и своими собственными ограничениями. Различные скорости передачи данных соответствуют различным уровням качества доставляемого контента. Как только пропускная способность сети, измеренная клиентским устройством, уменьшается, оно запрашивает фрагменты, которые являются менее ограниченными по отношению к требованию пропускной способности сети. Когда пропускная способность сети, измеренная клиентским устройством, увеличивается, оно запрашивает фрагменты, которые являются более ограниченными по отношению к требованию пропускной способности сети.
Доступные фрагменты, как правило, перечисляются в списке воспроизведения, сгенерированном и предоставленным сервером потоковой передачи. Список воспроизведения может указывать на другие списки воспроизведения, на один для каждого типа формата. Списки воспроизведения описывают контент фрагмента, такой как кодирование/декодирование или требуемая полоса пропускания для его скачивания, и способ их запрашивания. Формат списка воспроизведения может представлять собой такой список, который описан в документе «HTTP Live Streaming draft, pantos, http-live-streaming, 06», расширенный информацией кодирования/декодирования для описания различных уровней SVC.
Доступными являются различные технические средства потоковой передачи по протоколу HTTP. Технология потоковой передачи по протоколу HTTP от Apple (HLS) была опубликована в качестве предварительной версии RFC, и используется в основном на устройствах Apple. Плавная потоковая передачи от Microsoft является частью платформы Microsoft Silverlight, и спецификации являются доступными публично. Технология открытой медиа инфраструктуры (OSMF) от Adobe является близкой к решению Microsoft. 3GPP выпустил спецификации для системы потоковой передачи с коммутацией пакетов (PSS); Рабочая группа MPEG также была создана по вопросу определения динамической адаптивной потоковой передачи по протоколу HTTP (DASH). Преимуществом использования протокола HTTP в этих решениях потоковой передачи является его возможность переходить NAT и межсетевой экран, не вызывая никаких проблем. Эти технологии потоковой передачи по протоколу HTTP обеспечивают способ компенсации непостоянного поведения сети по отношению к доступной полосе пропускания при помощи непрерывного и корректного повышения или понижения качества видео для того, чтобы соответствовать ограничению полосы пропускания.
Как правило, технические средства потоковой передачи по протоколу HTTP основываются на одной и той же концепции. Они варьируют в списке воспроизведения форматы файлов, мета-данные, предоставленные для описания характеристик контента (скорость передачи, размеры изображения, скорость кадров…), организацию доступных представлений контента в сегментах, в поддерживаемых кодеках и в технологиях защиты контентов.
Когда клиентское устройство хочет воспроизвести некоторый аудио/видео контент, оно сначала должно получить файл, описывающий то, каким образом этот конкретный контент может быть получен.
Это осуществляется через HTTP путем получения некоторого «файла» из URL. Этот файл в основном дает перечень доступных представлений контента (в терминах скорости передачи и других характеристик), и для каждого контента - множество URL, которые обеспечивают возможность загрузки сегментов контента для каждого интервала времени. Например, для контента Видео-по-требованию предоставляется полное описание фильма, в то время как для контента прямой трансляции описание охватывает только короткий период времени, и требуется его периодически перезагружать для того, чтобы обнаружить новые позиции, когда проходит время.
В зависимости от своих возможностей и сведений, которые оно имеет сетевого пространства, клиентское устройство выбирает некоторое представление (обычно на основе своей скорости передачи) и загружает первый(е) сегмент(ы) контента. Он загружает в буфер несколько сегментов для того, чтобы иметь возможность бороться с сетевыми помехами. Затем контент из каждого из полученных сегментов воспроизводятся один за другим. В то же время клиентское устройство измеряет скорость приема и может принять решение о переходе на более высокую или более низкую скорость передачи. В таком случае оно только запрашивает следующий(ие) сегмент(ы) из другого представления. Каждая система потоковой передачи по протоколу HTTP является таковой, что для клиента является возможным сохранять непрерывное воспроизведение во время перехода от сегмента с некоторой скоростью передачи к «следующему» сегменту с другой скоростью передачи.
Таким образом, когда трафик на сети вносит вариации по скорости, на которой контент принимается, клиент может реагировать путем выбора сегментов со скоростью, которая делает возможным поддержание заполнения клиентского буфера на безопасном уровне. В действительности, обычно клиент пытается достичь наивысшей возможной скорости передачи для обеспечения лучшего качества визуального отображения и оставаться на уровне, где визуализация не страдает от задержки приема данных, вызывающей макро-блоки или замораживание изображения.
В абонентской сети многоклиентские устройства могут выполнять потоковую передачу по протоколу HTTP одновременно. Если полоса пропускания, доступная в локальной сети или в широкополосной сети является недостаточной для поддержки всего трафика, клиентские устройства конкурируют в том, чтобы получить их долю доступной полосы пропускания. Алгоритмы потоковой передачи по протоколу HTTP независимо выполняются в каждом устройстве и не обеспечивают оптимальную долю полосы пропускания. Могут возникать следующие ситуации. Доля полосы пропускания может являться неравной, поскольку один из видео потоков использует высокую постоянную скорость передачи, в то время как другой остается на низкой скорости передачи. Или могут возникать колебания, где каждое устройство альтернативным образом использует высокую и низкую скорость передачи. Иногда устройства могут одновременно чрезмерно реагировать на сетевые условия, которые они оценивают как недружественные, результатом чего является выбор очень низкой скорости передачи для каждого из устройств и большой перерасход полосы пропускания. Это может случиться даже когда является доступной достаточная полоса пропускания; механизмы TCP, лежащие в основе протокола HTTP, могут страдать от предполагаемой конкуренции приема пакетов для каждого потока, и это порождает те же самые результаты или постоянных несправедливых ситуаций, или непрерывных колебаний. Подобное поведение имеет непосредственное воздействие на качество взаимодействия для конечного клиента, поскольку качество отображаемого видео является связанным с используемой скоростью передачи.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Настоящее изобретение делает попытку исправить, по меньшей мере, некоторые из проблем, связанные со нестабильностью адаптивной потоковой передачи в предшествующем уровне техники, при помощи обеспечения управления полосой пропускания, используемой каждым контентом адаптивной потоковой передачи.
Настоящее изобретение имеет отношение к устройству, содержащему первый интерфейс в первой сети, содержащей сервер адаптивной потоковой передачи, второй интерфейс во второй сети, содержащей, по меньшей мере, одно клиентское устройство адаптивной потоковой передачи, идентификатор потока для обнаружения, по меньшей мере, одного контента потоковой передачи, запрошенного, по меньшей мере, одним клиентским устройством адаптивной потоковой передачи, администратор полосы пропускания для выбора скорости передачи данных среди более чем одной скорости передачи данных, планировщик для передачи по второму интерфейсу, по меньшей мере, одного контента потоковой передачи, по меньшей мере, одному клиентскому устройству на скорости передачи данных выше упомянутой выбранной скорости передачи данных, но ниже любой более высокой скорости передачи данных, доступной для упомянутого контента потоковой передачи.
В соответствии с вариантом осуществления, первый интерфейс имеет прием на максимальной полосе пропускания, и скорость передачи данных выбирается таким образом, что полоса пропускания, требуемая, по меньшей мере, для одного контента потоковой передачи, находится ниже, чем прием на максимальной полосе пропускания.
В соответствии с вариантом осуществления администратор полосы пропускания является выполненным с возможностью устанавливать приоритезацию передачи, по меньшей мере, одного контента потоковой передачи, по меньшей мере, одному клиентскому устройству.
В соответствии с вариантом осуществления, устройство представляет собой абонентский шлюз.
Другой целью изобретения является способ в устройстве, содержащем первый интерфейс в первой сети, содержащей сервер адаптивной потоковой передачи, второй интерфейс во второй сети, содержащей, по меньшей мере, одно клиентское устройство адаптивной потоковой передачи. Способ содержит этапы обнаружения, по меньшей мере, одного контента потоковой передачи, запрошенного, по меньшей мере, одним клиентским устройством адаптивной потоковой передачи, причем, по меньшей мере, один контент потоковой передачи является доступным на более чем одной скорости передачи данных, выбора скорости передачи данных среди более одной скорости передачи данных, передачи по второму интерфейсу, по меньшей мере, одного контента потоковой передачи, по меньшей мере, одному клиентскому устройству на скорости передачи данных выше выбранной скорости передачи данных, но ниже любой более высокой скорости передачи данных, доступной для контента потоковой передачи.
Другой целью изобретения является компьютерный программный продукт, содержащий инструкции в программном коде для выполнения этапов способа в соответствии с изобретением, когда та программа выполняется на компьютере. Под «компьютерным программным продуктом» подразумевается поддержка компьютерной программы, которая может состоять не только из места для хранения, содержащего программу, такого как компьютерная память, но также и из сигнала, такого как электрический или оптический сигнал.
Настоящее изобретение осуществляет формирование трафика на уровне устройства, расположенного между сервером адаптивной потоковой передачи и клиентскими устройствами адаптивной потоковой передачи. Администрирование полосы пропускания позволяет выбирать оптимальное соотношение между числом возможных параллельных услуг и воспринимаемым QoF каждой услуги. Результаты формирования трафика изобретения являются полезными для поведения каждого из клиентов адаптивной потоковой передачи по протоколу HTTP. Это сдерживает или ограничивает конкуренцию. между несколькими потоками. Без формирования трафика доля полосы пропускания определяется свойствами протокола TCP и тем, как клиентские алгоритмы реагируют на полосу пропусканию, которую они «измеряют»; на практике это приводит к нестабильным и/или неблагоприятным ситуациям. С формированием трафика каждый поток является ограниченным в своем возможном диапазоне вариаций. Если поток может перейти на высокую скорость передачи, потому что, например, другой поток временно имеет низкий трафик, в таком случае он будет страдать от предстоящего уменьшения полосы пропускания, потому что запрошенный на высокой скорости сегмент занимает много времени для прибытия. В таком случае для того, чтобы это компенсировать, адаптивный клиент должен будет перейти на очень малую скорость передачи для компенсации. Таким образом, вариации скорости передачи имеют большую амплитуду, приводящую к низкому качеству взаимодействия. При помощи ограничения воспринимаемой полосы пропускания значением, близким к средне-целевому, клиент никогда не пойдет слишком высоко и будет более устойчивым вблизи целевого значения.
Изобретение также дает возможность распределения полосы пропускания в контролируемых пропорциях, такого как пример различных видео форматов, использующих различные скорости передачи. Без центрального арбитража, обеспеченного при помощи нашего шлюза, клиенты будет стремиться совместно использовать полосу пропускания на одинаковых скоростях передачи.
Классификация трафика может включать в себя правила приоритета между аудиовизуальными потоками и другими типами потоков данных. Это дает возможность, например, защищать видео просмотр OTT от помех со стороны скачиваний файлов данных.
Домашний шлюз представляет собой хорошее место для проведения управления полосы пропускания, поскольку оно имеет возможность получать соответствующие сведения о сети и ограничениях устройств, и он видит весь трафик и, вследствие этого, должен иметь возможность идентифицировать потоки, принадлежащие к услугам AV, и осуществлять действия над ними.
Определенные аспекты, соответствующие по объему с раскрытыми вариантами осуществления, излагаются ниже. Следует понимать, что эти аспекты представлены просто для предоставления читателю краткого изложения определенных форм изобретения, которые оно может принимать, и что эти аспекты не предназначаются для ограничения объема изобретения. Однако, изобретение может охватывать разнообразие аспектов, которые могут и не излагаться ниже.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Изобретение станет более понятным и будет проиллюстрировано при помощи следующего варианта осуществления и примеров выполнения, ни в коей мере не являющихся ограничивающими, со ссылкой на приложенные чертежи, на которых:
- Фиг. 1 представляет собой блок-схему системы в соответствии с вариантом осуществления;
- Фиг. 2 представляет собой блок-схему клиентского устройства в соответствии с вариантом осуществления;
- Фиг. 3 представляет собой блок-схему шлюзового устройства в соответствии с вариантом осуществления;
- Фиг. 4 представляет собой другую блок-схему шлюзового устройства в соответствии с вариантом осуществления.
На Фиг. 1 представленные блоки являются исключительно функциональными объектами, которые не обязательно соответствуют физически разделенным объектам. А именно, они могут разрабатываться в виде аппаратных средств или программных средств, или могут реализовываться в одной или нескольких интегральных схемах.
ПОДРОБНОЕ ОПИСАНИЕ СТАНДАРТНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
Следует понимать, что чертежи и описания настоящего изобретения были упрощены для того, чтобы проиллюстрировать элементы, которые являются важными для ясного понимания настоящего изобретения, в то же время исключая, для целей ясности, многие другие элементы, находящиеся в стандартных цифровых мультимедийных способах и системах доставки контента. Однако, поскольку такие элементы являются хорошо известными в известном уровне техники, подробное обсуждение таких элементов в настоящем описании не приводится. Раскрытие настоящего описания направлено на все такие вариации и модификации, которые известны специалистам в данной области техники.
Система в соответствии с вариантом осуществления представлена на Фиг. 1. Она содержит два клиентских устройства 4, 5 и сервер 3 потоковой передачи, подключенных через Интернет 2. Клиентские устройства расположены в локальной сети 6, подключенной к Интернет через шлюз 1. Преимущественно локальная сеть представляет собой абонентскую сеть. Сервер осуществляет потоковую передачу фрагментов клиентам после запроса клиента с использованием протокола HTTP через подключение TCP/IP.
Клиентское устройство 4 в соответствии с вариантом осуществления проиллюстрировано на Фиг. 2. Клиентское устройство, также называемое в дальнейшем в настоящем описании клиентским устройством адаптивной потоковой передачи, содержит первый интерфейс 44 с локальной сетью 6. Клиент содержит модуль 43 связи, который содержит стеки протоколов для взаимодействия с сервером 3. В частности, средства связи содержат стек TCP/IP, хорошо известный в известном уровне техники. Конечно, не исключено, что сеть и/или средства связи могут представлять собой другой тип, дающий возможность клиенту взаимодействовать с сервером. Он содержит модуль 45 адаптивной потоковой передачи. Это именно клиент с потоковой передачей по протоколу HTTP, который принимает контент потоковой передачи по протоколу HTTP от сервера. Он непрерывно выбирает фрагменты со скоростью передачи, которая лучшим образом соответствует ограничениям сети и его собственным ограничениям.
Клиент содержит видео проигрыватель 46, который является выполненным с возможностью декодировать и визуализировать контент. Клиент также содержит процессор 41 для выполнения приложений и программ, сохраненных в клиенте. Он содержит средства 42 хранения, такие как память, для сохранения в буфере фрагментов, принятых от сервера перед тем, как они передаются видео проигрывателю 46. В частности, память представляет собой энергозависимую память. Конечно, клиент содержит энергонезависимую память, не представленную, для хранения приложений и программ, выполняющихся у клиента. Клиентское устройство может представлять собой портативное медиа устройство или переносной компьютер.
Альтернативным образом, клиентское устройство не содержит видео проигрывателя и содержит интерфейс для подключения к видео проигрывателю. В этом случае клиентское устройство представляет собой видео декодер, такой как абонентская приставка.
Шлюз в соответствии с вариантом осуществления проиллюстрирован на фигуре 3. Он представляет собой шлюз цифровой абонентской линии, который обеспечивает широкополосной доступ через Интернет к абонентской сети через технологию DSL. Конечно, шлюз может представлять собой любой тип широкополосного шлюза, такой как кабельный, волоконный или беспроводный. Он содержит интерфейс 14 LAN, широкополосный интерфейс 13 и модуль 17 связи, который содержит стеки протоколов для взаимодействия через интерфейсы. Модуль связи содержит стек Протокола Интернет, отмеченный стек IP.
Шлюз содержит первую память 16.1 и вторую память 16.2. Первая память 16.1 выполнена с возможностью сохранять информацию, извлеченную из файлов списка воспроизведения. Вторая память 16.2 выполнена с возможностью сохранять в буфере пакеты, принятые из и посланные в интерфейсы.
Шлюз также содержит модуль 19 формирования трафика, содержащий администратор 11 полосы пропускания, модуль 15 идентификаторов потока, планировщик 12 и классификатор 18, которые будут подробно описаны в настоящем описании позднее.
Шлюз содержит внутреннюю шину 10 для соединения различных модулей. Он также содержит средства обработки, средства маршрутизации и мостового соединения не представлены, и все средства, являющиеся хорошо известными специалистам в данной области техники для выполнения основных абонентских функциональных возможностей.
Шлюз дополнительно проиллюстрирован на фиг. 4. Модуль 15 идентификаторов потока является выполненным с возможностью анализировать потоки, принятые на шлюзе. Каждый раз, когда клиентское устройство выдает запрос на услугу, он идентифицирует этот запрос и собирает информацию по услуге при помощи перехвата списка воспроизведения, который возвращается от сервера клиенту. Он перехватывает и анализирует файлы списка воспроизведения, предназначенные для каждого локального устройства. Осуществление анализа списка воспроизведения дает возможность извлечь информацию, такую как скорость передачи, заявленную сервером, и связанные множество URL сегментов. Для того чтобы перехватить список воспроизведения, идентификатор потока обладает сведениями о доступных технологических средствах и о связанных протоколах. Для каждого протокола он знает тип пакета, который транспортирует список воспроизведения. В частности, он обладает сведениями о технологических средствах потоковой передачи по протоколу HTTP от Apple, плавной потоковой передаче от Microsoft, открытой медиа инфраструктуре от Adobe. Конечно, он может являться выполненным с возможностью обладать сведениями о других технологических средствах потоковой передачи.
Идентификатор потока также идентифицирует то, когда поток больше не принимается на шлюзе. Например, когда поток не принимается в течение периода времени, идентификатор потока считает, что сессия является законченной, и отменяет распределение клиентскому устройству.
Информация, полученная идентификатором 15 потока, передается администратору 11 полосы пропускания.
Администратор полосы пропускания решает, является услуга допустимой, и назначает услуге целевую скорость передачи, изменяя в то же самое время цели для других услуг, которые могут уже выполняться. Администратор полосы пропускания является выполненным с возможностью знать значение максимальной полосы пропускания, доступной на широкополосном интерфейсе. В зависимости от этого значения, администратор полосы пропускания затем определяет распределение полос пропускания между потоками. Он конфигурирует вторую память, так что для каждого обнаруженного потока создается специальная очередь во второй памяти, и целевая скорость передачи устанавливается для каждой очереди. Другими словами, список воспроизведения обеспечивает скорости передачи, доступные при помощи потоковой передачи по протоколу HTTP для каждого потока. Это дает возможность администратору полосы пропускания определить точные целевые скорости передачи для каждого потока. После определения целевой скорости передачи для каждого потока администратор полосы пропускания конфигурирует планировщик 12.
Планировщик 12 является выполненным с возможностью управлять передачей пакетов в локальной сети. Другими словами, каждому потоку предназначается независимая очередь, которой распределяется исключительно одна точная полоса пропускания. Пакеты отправляются не быстрее, чем эта целевая скорость передачи. В то же самое время, полоса пропускания является «гарантируемой»: до тех пор, пока очередь имеет пакеты для отправки и не достигает целевой скорости передачи, пакеты имеют приоритет перед другим трафиком.
Решения администратора полосы пропускания касательно распределения полосы пропускания между сессиями потоковой передачи зависят от многих параметров и предпочтений клиентов или поставщиков услуг. Они приводят к набору арбитражных схем (например, справедливое совместное использование, где все сессии получают полосу пропускания, пропорционально их форматам), принудительно установленным администратором полосы пропускания и поддерживаемыми характеристиками контента, сети, клиентскими устройствами и т.д. Администратор полосы пропускания в первую очередь зависит от действительной гибкости адаптивных потоков по протоколу http совместно с возможностью знать допустимые этапы скорости передачи, которые являются доступными.
Распределение полосы пропускания выполняется так, как описано ниже. Оно основано на типе клиентского устройства. Например, поток для телевизора имеет более высокий приоритет, чем поток для портативного медиа проигрывателя. Альтернативным образом, распределение полосы пропускания может основываться на расположении клиентского устройства в абонентской сети. Клиентское устройство, расположенное в жилой комнате, может иметь более высокий приоритет, чем клиентское устройство, расположенное в спальной комнате. Это распределение является предпочтительным для стационарных устройств, таких как телевизор, абонентская приставка. Распределение полосы пропускания также может основываться на комбинации типа устройства и его расположении в абонентской сети. Альтернативным образом, распределение устанавливается равным между всеми устройствами.
Предпочтительно шлюз содержит клиентский интерфейс, который дает возможность регулирования приоритетов между потоками. Входными данными в клиентском интерфейсе могут, например, являться тип устройства, его расположение и его приоритет.
В качестве примера вычисления полосы пропускания для назначения клиентам далее в настоящем описании предлагается возможный алгоритм:
Пусть BW является полной доступной полосой пропускания.
Для каждого клиента с:
- пусть share[c] является процентной долей полосы пропускания, которую мы хотим дать с. share[c] определяется политикой управления, предпочтением клиента и т.д., как упоминалось выше.
- Пусть target[c] обозначает скорость передачи контента, которую мы хотим, чтобы выбрал клиент с.
- target[c] инициализируется с самым большим значением потоковой передачи контента для с, и будет вычислена ниже.
- Пусть percent[c] обозначает временно вычисленное значение того, насколько большую полосу пропускания использует клиент.
Вычисление окончательной таблицы target[] осуществляется в соответствии со следующим алгоритмом:
Пока SUM(target[])>BW
- Выбрать клиента с наибольшим отношением (percent[c]/share[c]), игнорируя клиентов, которые уже находятся на своих наименьших скоростях
- target[c]:=следующая более низкая скорость передачи для с
- percent[c]:=target[c]/BW
Теперь мы назначаем «unused» (неиспользованную) полосу пропускания клиентам:
unused:=BW-SUM(target[])
Для каждого клиента с:
- target[c]:=target[c]+(unused*share[c])
Таким образом, каждый клиент будет иметь свой трафик, отрегулированный до значения большего, чем скорость передачи контента, которую нам хотелось использовать. Это является условием для клиента для успешного поддержания запрашиваемой желаемой скорости передачи контента, поскольку адаптивные клиенты протокола HTTP, как правило, не преуспевают в использовании 100% полосы пропускания, которую они имеют.
Классификатор 18 является выполненным с возможностью идентифицировать потоки, принятые на шлюзе, и маршрутизировать их в надлежащую очередь во второй памяти. Каждый пакет, принятый для одного из устройств, проверяется и идентифицируется модулем классификации, как принадлежащий одному из аудио-видео потоков или какому-либо другому трафику. Основываясь на этой классификации, пакет размещается в различные очереди для отправки в LAN. Пакеты в каждой очереди доставляются при помощи планировщика в соответствии с выбранным профилем формирования. Они переправляются таким образом, чтобы соответствовать намеченной скорости передачи.
Как только целевые скорости передачи являются выбранными для каждого клиента, шлюз применяет формирование трафика таким образом, что полоса пропускания сети, воспринимаемая клиентскими устройствами, приводит их к тому, что они принимают желаемую скорость передачи. Это предотвращает устройство от наблюдения всплесков скорости в приеме из-за возможного использования полной полосы пропускания, что заставляет его поверить в то, что оно может попытаться сделать запросы на более высокую скорость передачи. В то же самое время, каждому клиенту гарантируется приоритет для использования его собственной доли полосы пропускания. Это не допускает того, чтобы клиент видел провалы в скорости передачи и расплачивался за это.
Некоторые примеры теперь проиллюстрируют то, как выполняется формирование трафика с устройством варианта осуществления.
В первом примере поток является доступным для клиентского устройства на скоростях 1 Мбит/сек, 2 Мбит/сек и 3 Мбит/сек. Доступная полоса пропускания в среднем представляет собой 2,5 Мбит/сек. В таком случае шлюз выбирает 2 Мбит/сек. С этого момента клиентское устройство принимает контент потоковой передачи максимально на скорости 2 Мбит/сек и не будет руководствоваться запросом контента на скорости 3 Мбит/сек. Это предотвращает клиентское устройство от использования скорости более, чем 2 Мбит/сек.
Во втором примере первый поток является доступным для первого клиентского устройства на скоростях 1 Мбит/сек, 2 Мбит/сек и 3 Мбит/сек, и второй поток является доступным для второго клиентского устройства на скоростях 2 Мбит/сек, 3 Мбит/сек и 5 Мбит/сек. Доступная полоса пропускания представляет собой 5,5 Мбит/сек. Приоритет был назначен для первого клиентского устройства. Первое клиентское устройство принимает контент потоковой передачи максимум на скорости 3 Мбит/сек, и второе клиентское устройство принимает контент потоковой передачи максимум на скорости 2 Мбит/сек. Это предотвращает второе клиентское устройство от использования скорости более, чем 2 Мбит/сек. Позднее первое клиентское устройство больше не принимает первый поток. Поскольку более широкая полоса пропускания является доступной, второе клиентское устройство принимает контент потоковой передачи максимум на скорости 5 Мбит/сек.
Другим примером является то, когда запрашиваются поток SD и поток HD. Им назначается полоса пропускания пропорционально их соответствующей максимальной скорости передачи, например, 20% для потока SD и 80% для потока HD.
Предпочтительно целевая скорость передачи для очереди назначается на несколько процентов выше целевой скорости передачи потока для того, чтобы гарантировать то, что клиент может стабилизировать свой выбор на намеченном варианте потока.
В варианте осуществления администратор полосы пропускания определяет распределение полосы пропускания между потоками на основе значения максимальной полосы пропускания, доступной на широкополосном интерфейсе. Альтернативным образом, вместо максимальной полосы пропускания, доступной на широкополосном интерфейсе, администратор полосы пропускания может принять во внимание максимальную полосу пропускания, доступную на локальной сети. В этом случае он определит распределение полосы пропускания между потоками на основе значения максимальной полосы пропускания, доступной на локальной сети. Это происходит, если узкое место находится в локальной сети вместо широкополосной сети.
В варианте осуществления формирование трафика выполняется на шлюзе. Альтернативным образом, оно может выполняться в маршрутизаторе, расположенном в локальной сети, и подключенном к шлюзу.
Ссылки, раскрытые в описании, формула изобретения и чертежи могут предоставляться независимым образом или в любой соответствующей комбинации. Признаки там, где это является уместным, могут реализовываться аппаратными средствами, программными средствами или их комбинацией.
Ссылка в настоящем описании на «один вариант осуществления» или «вариант осуществления» означает то, что конкретный признак, структура или характеристика, описанные в связи с вариантом осуществления, могут включаться в состав, по меньшей мере, одной реализации изобретения. Появление фразы «в одном варианте осуществления» в различных местах в спецификации не обязательно все ссылаются на один и тот же вариант осуществления, и отдельные или альтернативные варианты осуществления не обязательно являются взаимоисключающими с другими вариантами осуществления.
Позиционные обозначения, появляющиеся в формуле изобретения, являются только иллюстрацией, и не будут иметь ограничивающего эффекта на объем формулы изобретения.
1. Клиентское устройство адаптивной потоковой передачи, содержащее:- первый интерфейс для первой сети, причем упомянутая первая сеть содержит сервер адаптивной потоковой передачи,- второй интерфейс для второй сети, причем упомянутая вторая сеть содержит, по меньшей мере, одно клиентское устройство адаптивной потоковой передачи,- идентификатор потока для обнаружения, по меньшей мере, одного контента потоковой передачи, запрошенного упомянутым, по меньшей мере, одним клиентским устройством адаптивной потоковой передачи в упомянутом сервере адаптивной потоковой передачи, причем упомянутый, по меньшей мере, один контент потоковой передачи является доступным на более чем одной скорости передачи данных на упомянутом сервере адаптивной потоковой передачи,- администратор полосы пропускания для выбора скорости передачи данных среди упомянутых более чем одной скорости передачи данных, и- планировщик для, после получения упомянутого, по меньшей мере, одного контента потоковой передачи от упомянутого сервера адаптивной потоковой передачи на первой скорости передачи данных, которая выше упомянутой выбранной скорости передачи данных, осуществления передачи упомянутого, по меньшей мере, одного контента потоковой передачи на втором интерфейсе упомянутому, по меньшей мере, одному клиентскому устройству на второй скорости передачи данных, которая выше упомянутой выбранной скорости передачи данных, но ниже любой более высокой скорости передачи данных, доступной для контента потоковой передачи.
2. Клиентское устройство адаптивной потоковой передачи по п. 1, причем упомянутый первый интерфейс имеет прием на максимальной полосе пропускания, причем упомянутый администратор полосы пропускания является выполненным с возможностью выбирать упомянутую выбранную скорость передачи данных, так что полоса пропускания, требуемая для упомянутого, по меньшей мере, одного контента потоковой передачи является меньшей, чем прием на максимальной полосе пропускания.
3. Клиентское устройство адаптивной потоковой передачи по п. 1 или 2, причем упомянутый второй интерфейс имеет максимальную полосу пропускания, причем администратор полосы пропускания является выполненным с возможностью выбирать упомянутую выбранную скорость передачи данных, так что полоса пропускания, требуемая для упомянутого, по меньшей мере, одного контента потоковой передачи является меньшей, чем упомянутая максимальная полоса пропускания.
4. Клиентское устройство адаптивной потоковой передачи по п. 1 или 2, причем упомянутый администратор полосы пропускания является выполненным с возможностью выбирать упомянутую скорость передачи данных в соответствии с другим контентом потоковой передачи, передаваемым на упомянутой второй сети.
5. Клиентское устройство адаптивной потоковой передачи по п. 1 или 2, причем упомянутый идентификатор потока является выполненным с возможностью обнаруживать, когда поток больше не принимается от упомянутого сервера адаптивной потоковой передачи.
6. Клиентское устройство адаптивной потоковой передачи по п. 1 или 2, причем упомянутый администратор полосы пропускания является выполненным с возможностью устанавливать приоритет для передачи упомянутого, по меньшей мере, одного контента потоковой передачи упомянутому, по меньшей мере, одному клиентскому устройству.
7. Клиентское устройство адаптивной потоковой передачи по п. 6, причем упомянутый приоритет основывается на типе клиентского устройства.
8. Клиентское устройство адаптивной потоковой передачи по п. 7, причем упомянутый приоритет основывается на расположе