RU2804870C2 - Способ и устройство для распределения полосы в сети - Google Patents
Способ и устройство для распределения полосы в сети Download PDFInfo
- Publication number
- RU2804870C2 RU2804870C2 RU2019143459A RU2019143459A RU2804870C2 RU 2804870 C2 RU2804870 C2 RU 2804870C2 RU 2019143459 A RU2019143459 A RU 2019143459A RU 2019143459 A RU2019143459 A RU 2019143459A RU 2804870 C2 RU2804870 C2 RU 2804870C2
- Authority
- RU
- Russia
- Prior art keywords
- bandwidth
- data
- session
- allocated
- network
- Prior art date
Links
Images
Abstract
Изобретение относится к способу, устройству и машиночитаемому носителю данных для распределения доступной полосы в сети (N1) среди множества сеансов потоковой передачи данных устройств связи (C1; C2; C3) в сети. Технический результат заключается в возможности распределения доступной полосы в сети. Способ содержит этап, на котором на устройстве связи (C1; C2; C3) применяют (S320) алгоритм распределения полосы с использованием, по меньшей мере, одного параметра полосы для получения выделенной полосы для сеанса передачи данных, подлежащего выполнению или выполняющегося на упомянутом устройстве связи (C1; C2; C3), причем упомянутый по меньшей мере один параметр полосы получается из информационных сообщений, которыми обмениваются устройства связи сети, и указывает необходимую полосу для сеанса передачи данных, подлежащего выполнению или выполняющегося на устройстве связи, с которого отправляется соответствующее информационное сообщение, при этом упомянутое устройство связи выполнено с возможностью отправки информационных сообщений на и приема информационных сообщений от всех других устройств (C1; C2; C3) сети (N1), и при этом информационное сообщение содержит данные алгоритма распределения полосы, представляющие выбранный алгоритм распределения полосы, подлежащий использованию для обеспечения выделенной полосы. 3 н. и 12 з.п. ф-лы, 3 ил.
Description
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к способу и устройству для распределения полосы в сети. В частности, но не исключительно, изобретение относится к распределению полосы для клиентов адаптивной потоковой передачи.
УРОВЕНЬ ТЕХНИКИ
Адаптивные технологии HTTP используются для доставки аудиовизуальных данных в интернете. Такие технологии позволяют клиентскому устройству принимать видео в форме малых последовательных сегментов, часто именуемых фрагментами. Каждый сегмент запрашивается посредством протокола HTTP и может существовать в разных вариантах (так называемых представлениях), что позволяет клиентскому устройству выбрать в любой момент битовую скорость с учетом ограничений сети и устройства.
Из используемых в настоящее время протоколов адаптивной потоковой передачи HTTP (HAS), наиболее популярны HTTP Live Streaming (HLS) от Apple, Silverlight Smooth Streaming (SSS) от Microsoft, HTTP Dynamic Streaming (HDS) от Adobe и Dynamic Adaptive Streaming over HTTP (DASH), инициированные 3GPP в группе SA4 и разработанные MPEG.
MPEG-DASH (также известный как DASH, Dynamic Adaptive Streaming over HTTP, ISO/IEC 23009) определяет полное решение для доставки содержания по сетям с изменяющимися со временем возможностями (полосой).
При воспроизведении содержания сеанса передачи данных, клиент MPEG-DASH запрашивает фрагменты содержания с сервера и использует свое знание условий сети, свои собственные ограничения, и списки доступных представлений одного того же содержания (обычно одного того же содержания с разными битовыми скоростями кодирования) для запрашивания наиболее подходящего представления. Длительность фрагмента обычно устанавливаться равной нескольким секундам, что позволяет клиентам DASH переключаться с одного представления на другое каждые несколько секунд в порядке для динамической адаптации к условиям сети. Когда доступна узкая полоса, клиенты DASH запрашивают фрагменты низкой битовой скорости и могут запрашивать фрагменты более высокой битовой скорости, если становится доступной более широкая полоса.
Список доступных представлений для данного содержания описан в файле манифеста (MPD, Media Presentation Description), который извлекается клиентом DASH. Разобрав MPD, клиенты DASH обнаруживают URL, откуда запрашиваются фрагменты содержания. MPD также позволяет клиенту обнаруживать информацию представления (например, требования полосы), что позволяет ему осуществлять динамическую адаптацию путем переключения между всеми представлениями, когда этого требуют условия сети.
Обычно, когда используются динамические аспекты DASH, содержание распределяется по HTTP и TCP. TCP является дружественным в плане полосы протоколом, где все TCP-соединения пытаются равномерно распределять между собой всю полосу сети. К сожалению, другие протоколы, например UDP, могут быть менее дружественными в плане полосы, забирая у TCP всю полосу. Кроме того, даже между разными TCP-соединениями трудно гарантировать фиксированное и неравномерное повторное разбиение полосы; что проблематично, когда некоторые устройства фактически требуют больше полосы, чем другие. Например, клиент DASH, воспроизводящий поток UltraHD на главном телевизоре в гостинной, требует больше полосы, чем клиент DASH, воспроизводящий поток HD на мобильном телефоне. Но в случае, когда они оба работают одновременно и когда всей полосы сети недостаточно для обеспечения их обоих, механизм адаптации клиента DASH будет порождать конкуренцию за полосу между двумя клиенты, приводящее к снижению качества для обоих клиентов. Ожидается, что чем больше клиентов DASH конкурируют, тем критичнее ситуация. Кроме того, в обычной реализации DASH, клиенту DASH неизвестно о присутствии других клиентов DASH, конкурирующих с ним за доступ к одной и той же полосе сети. Все клиенты DASH могут видеть сильно изменяющуюся доступность полосы вследствие изменения потребления полос сети другим(и) клиентом(ами) DASH.
Настоящее изобретение предложено с учетом вышеизложенного.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
В целом, изобретение относится к обмену параметрами между устройствами связи сети, описывающими их соответствующие сеансы передачи данных (сеансы трафика или сеансы трафика данных) и к применению, на устройстве связи, алгоритма распределения полосы с использованием параметров обмена для выделения полосы одному или более сеансам передачи данных в сети.
Согласно первому аспекту изобретения предусмотрен способ распределения доступной полосы в сети среди множества сеансов передачи данных устройств связи в сети, причем способ, осуществляемый на устройстве связи, содержит:
применение алгоритма распределения полосы с использованием, по меньшей мере, одного параметра полосы для обеспечения выделенной полосы для сеанса передачи данных, подлежащего выполнению или выполняющегося на упомянутом устройстве связи, и любого другого сеанса передачи данных, подлежащего выполнению или выполняющегося другими устройствами связи в сети, причем, упомянутый по меньшей мере, один параметр полосы получается из информационных сообщений, которыми обмениваются между собой упомянутое устройство связи и, по меньшей мере, одно другое устройство связи сети, и указывающих необходимую полосу для сеанса передачи данных, подлежащего выполнению на устройстве связи, с которого отправляется соответствующее информационное сообщение.
В одном или более вариантах осуществления устройство связи выполнено с возможностью адаптивной потоковой передачи, например, в соответствии с MPEG-DASH.
Согласно вариантам осуществления, выделенная полоса определяется для каждого сеанса передачи данных, подлежащего выполнению или выполняющегося в сети. В ряде случаев выделенная полоса может быть нулевой полосой.
Согласно вариантам осуществления, информационное сообщение сигнализирует соответствующий сеанс передачи данных, подлежащий выполнению или выполняющийся.
По меньшей мере, один параметр в соответствующем информационном сообщении включает в себя одно или более из следующих:
данных приоритета, представляющих уровень приоритета соответствующего сеанса передачи данных;
данных длительности фрагмента, представляющих продолжительность времени сегмента данных соответствующего сеанса передачи данных; и
данных полосы, представляющих, по меньшей мере, одну рабочую полосу соответствующего сеанса передачи данных.
В некоторых вариантах осуществления информационное сообщение содержит данные алгоритма распределения полосы, представляющие выбранный алгоритм распределения полосы, подлежащий использованию для обеспечения выделенной полосы.
Согласно варианту осуществления, алгоритм распределения полосы содержит деление доступной полосы на равные части для выделения каждому из сеансов передачи данных, имеющих наивысший уровень приоритета относительно уровня приоритета других сеансов передачи данных, подлежащих выполнению или выполняющихся.
Содержание данных каждого сеанса передачи данных может иметь соответствующее множество представлений, и одно из представлений выбирается согласно полосе, выделенной делением доступной полосы, причем выбранное представление соответствует представлению, требующему наибольшей полосы, которая находится в выделенной полосе.
Согласно варианту осуществления, в случае, когда необходимая полоса для выбранного представления меньше выделенной полосы, по меньшей мере, часть оставшейся полосы повторно выделяется сеансу передачи данных наивысшего приоритета, для которого соответствующее информационное сообщение было отправлено до других информационных сообщений для других сеансов передачи данных наивысшего приоритета.
Согласно варианту осуществления, в случае, когда необходимая полоса для выбранного представления меньше выделенной полосы, по меньшей мере, часть оставшейся полосы выделяется сеансу передачи данных следующего в порядке понижения уровня приоритета. Выделение сеансу передачи данных более низкого приоритета осуществляется на основании, по меньшей мере, одного из: уровня приоритета сеанса передачи данных; времени передачи соответствующего информационного сообщения; и времени начала сеанса передачи данных.
Согласно варианту осуществления, алгоритм распределения полосы содержит выделение максимально возможной полосы сеансу передачи данных, имеющему наивысший уровень приоритета по сравнению с приоритетом других сеансов передачи данных, и для которого соответствующее информационное сообщение было отправлено до других информационных сообщений для других сеансов передачи данных наивысшего приоритета, причем максимально возможная полоса соответствует представлению содержания сеанса передачи данных, требующего наибольшей полосы, относительно других представлений того же содержания, в доступной полосе.
Согласно варианту осуществления алгоритм распределения полосы содержит выделение максимально возможной полосы, по меньшей мере, одному сеансу передачи данных на основании уровня приоритета сеанса передачи данных и времени отправки соответствующего информационного сообщения. В частности, максимально возможная полоса выделяется сеансу передачи данных наивысшего приоритета, для которого соответствующее информационное сообщение было отправлено до других информационных сообщений для других сеансов передачи данных того же приоритета. Максимально возможная полоса соответствует представлению содержания сеанса передачи данных, требующего наибольшей полосы, относительно других представлений того же содержания, в доступной полосе.
Согласно варианту осуществления, алгоритм распределения полосы содержит выделение полосы, соответствующей представлению содержания сеанса передачи данных, требующего наименьшей полосы.
Согласно варианту осуществления, способ может дополнительно включать в себя повторное выделение любой оставшейся доступной полосы сеансу передачи данных для обеспечения более высокого уровня представления на основании, по меньшей мере, одного из уровня приоритета сеанса передачи данных, времени передачи соответствующего информационного сообщения и времени начала сеанса передачи данных.
Согласно варианту осуществления, на данном уровне приоритета оставшаяся доступная полоса выделяется сеансу передачи данных на основании, по меньшей мере, одного из времени передачи информационного сообщения для соответствующего сеанса передачи данных и времени начала сеанса передачи данных.
Согласно варианту осуществления, информационные сообщения отправляются на фиксированный адрес множественной адресации и принимаются с него для ретрансляции на другие устройства связи.
Согласно варианту осуществления, обмен информационными сообщениями осуществляется через центральное базовое устройство.
Согласно варианту осуществления, один и тот же алгоритм выделения полосы используется всеми устройствами связи, начинающими сеанс передачи данных.
Согласно варианту осуществления, алгоритм выделения полосы выбирается согласно, по меньшей мере, одному из уровня приоритета, выделенного каждому алгоритму выделения полосы, и количеству устройств связи, выбирающих каждый алгоритм полосы
Согласно второму аспекту изобретения предусмотрено устройство связи, содержащее интерфейс связи для обмена информационными сообщениями с одним или более другими устройствами связи в одной и той же сети, причем каждое информационное сообщение содержит, по меньшей мере, один параметр полосы, указывающий необходимую полосу для сеанса передачи данных, подлежащего выполнению или выполняющегося на устройстве связи, с которого отправляется соответствующее информационное сообщение, и один или более процессоров, выполненных с возможностью применять алгоритм распределения полосы с использованием упомянутого по меньшей мере одного параметра полосы для обеспечения выделенной полосы для сеанса передачи данных, подлежащего выполнению или выполняющегося на упомянутом устройстве связи. В некоторых вариантах осуществления алгоритм распределения полосы применяется с использованием, упомянутого по меньшей мере одного параметра полосы для обеспечения выделенной полосы для каждого сеанса передачи данных, подлежащего выполнению или выполняющегося в сети. Каждый сеанс передачи данных может иметь соответствующее информационное сообщение.
Один или более процессоров устройства связи могут быть выполнены с возможностью осуществления любого из этапов вариантов осуществления первого аспекта изобретения.
Присутствие соответствующей информации от устройства связи в некоторых вариантах осуществления изобретения указывает текущий (выполняющийся) сеанс передачи данных или сеанс передачи данных, подлежащий началу (выполнению) на этом устройстве связи.
Аспект изобретения предусматривает способ распределения доступной полосы сети среди множества сеансов передачи данных соответствующих устройств связи в сети, причем способ, для устройства связи в сети, содержит
передачу информационного сообщения на другие устройства связи в сети;
прием информационного сообщения от, по меньшей мере, одного из других устройств связи в сети; причем каждое информационное сообщение содержит, по меньшей мере, один параметр, указывающий необходимую полосу для сеанса передачи данных на соответствующем устройстве связи; и
применение алгоритма распределения полосы для обеспечения выделенной полосы для сеанса передачи данных упомянутого устройства связи, причем упомянутый по меньшей мере один параметр каждого информационного сообщения используется алгоритмом распределения полосы.
Согласно вариантам осуществления изобретения информационные сообщения принимаются от всех остальных устройств связи, инициирующих или имеющих текущий сеанс передачи данных.
Согласно аспекту изобретения предусмотрен способ распределения доступной полосы в сети среди множества сеансов передачи данных устройств связи в сети, причем способ содержит: применение алгоритма распределения полосы для обеспечения выделенной полосы для каждого сеанса передачи данных, подлежащего выполнению или выполняемого устройствами связи сети; причем алгоритм распределения полосы содержит выделение максимальной запрашиваемой полосы, по меньшей мере, одному сеансу передачи данных наивысшего уровня приоритета по сравнению с другими сеансами передачи данных, и для которого соответствующее информационное сообщение, сигнализирующее сеанс передачи данных, было отправлено до других информационных сообщений для других сеансов передачи данных одного и того же уровня приоритета, причем максимальная необходимая полоса сеанса передачи данных соответствует представлению содержания сеанса передачи данных, требующего наибольшей полосы, относительно других представлений того же содержания, в доступной полосе.
Согласно аспекту изобретения предусмотрено устройство связи, содержащее один или более процессоров, выполненных с возможностью: применять алгоритм распределения полосы для обеспечения выделенной полосы для каждого сеанса передачи данных, подлежащего выполнению или выполняющегося устройствами связи сети;
причем алгоритм распределения полосы содержит выделение максимально возможной полосы, по меньшей мере, одному сеансу передачи данных в порядке уровня приоритета, и для которого соответствующее информационное сообщение, сигнализирующее сеанс передачи данных, было отправлено до других информационных сообщений для других сеансов передачи данных одного и того же уровня приоритета, причем максимально возможная полоса сеанса передачи данных соответствует представлению содержания сеанса передачи данных, требующего наибольшей полосы, относительно других представлений того же содержания, в доступной полосе.
Согласно варианту осуществления, на данном уровне приоритета оставшаяся полоса выделяется другим сеансам передачи данных на основании, по меньшей мере, одного из уровня приоритета сеанса передачи данных, времени передачи информационного сообщения для соответствующего сеанса передачи данных и времени начала сеанса передачи данных.
Согласно варианту осуществления, на данном уровне приоритета увеличенная часть полосы выделяется, по меньшей мере, одному сеансу передачи данных, для которого соответствующее информационное сообщение было отправлено до других информационных сообщений для других сеансов передачи данных того же приоритета.
Согласно варианту осуществления, на данном более низком уровне приоритета, полоса, соответствующая представлению содержания сеанса передачи данных, требующего наименьшей полосы, выделяется, по меньшей мере, одному сеансу передачи данных.
Согласно варианту осуществления, способ включает в себя или устройство выполнено с возможностью повторного выделения любой оставшейся доступной полосы сеансу передачи данных на данном более низком уровне приоритета для обеспечения более высокого уровня представления на основании, по меньшей мере, одного из уровня приоритета сеанса передачи данных, времени передачи соответствующего информационного сообщения и времени начала сеанса передачи данных.
Согласно варианту осуществления, способ включает в себя или устройство выполнено с возможностью деления оставшейся полосы на равные части для выделения каждому из сеансов передачи данных на данном более низком уровне приоритета.
Согласно варианту осуществления, представление содержания данных выбирается для каждого сеанса передачи данных согласно равной части выделенной полосы, причем выбранное представление является представлением, требующим наибольшей полосы, которая меньше или равна части выделенной полосы.
Согласно варианту осуществления, способ включает в себя, в случае, когда необходимая полоса для выбранного представления меньше равной части выделенной полосы, по меньшей мере, часть оставшейся полосы повторно выделяется сеансу передачи данных данного уровня приоритета, для которого соответствующее информационное сообщение было отправлено до других информационных сообщений для сеансов передачи данных данного приоритета.
Согласно варианту осуществления, по меньшей мере, один параметр полосы для алгоритма распределения полосы получается из информационных сообщений, которыми обмениваются устройства связи сети, и указывает необходимую полосу для сеанса передачи данных, подлежащего выполнению или выполняющегося на устройстве связи, с которого отправляется соответствующее информационное сообщение.
Аспект изобретения предусматривает способ распределения доступной полосы в сети среди множества сеансов передачи данных устройств связи в сети, причем способ содержит: применение алгоритма распределения полосы для обеспечения выделенной полосы для каждого сеанса передачи данных, подлежащего выполнению или выполняемого устройствами связи сети; причем алгоритм распределения полосы содержит деление доступной полосы на равные части для выделения каждому из сеансов передачи данных, имеющих наивысший уровень приоритета.
Аспект изобретения предусматривает устройство связи, содержащее один или более процессоров, выполненных с возможностью: применять алгоритм распределения полосы для обеспечения выделенной полосы для каждого сеанса передачи данных, подлежащего выполнению или выполняющегося устройствами связи сети; причем алгоритм распределения полосы содержит деление доступной полосы на равные части для выделения каждому из сеансов передачи данных, имеющих наивысший уровень приоритета.
Содержание данных каждого сеанса передачи данных имеет соответствующее множество представлений, и при этом одно из представлений выбирается для каждого сеанса передачи данных согласно равной части выделенной полосы, причем выбранное представление является представлением, требующим наибольшей полосы, которая меньше или равна части выделенной полосы.
Согласно варианту осуществления, в случае, когда необходимая полоса для выбранного представления меньше равной части выделенной полосы, по меньшей мере, часть оставшейся полосы повторно выделяется сеансу передачи данных наивысшего приоритета, для которого соответствующее информационное сообщение, сигнализирующее сеанс передачи данных, было отправлено до других информационных сообщений для сеансов передачи данных наивысшего приоритета.
Согласно варианту осуществления, в случае, когда необходимая полоса для выбранного представления меньше равной части выделенной полосы, по меньшей мере, часть оставшейся полосы выделяется другому сеансу передачи данных на основании, по меньшей мере, одного из: уровня приоритета сеанса передачи данных; времени передачи соответствующего информационного сообщения, сигнализирующего сеанс передачи данных; и времени начала сеанса передачи данных.
Согласно варианту осуществления, на данном уровне приоритета оставшийся полоса выделяется на основании, по меньшей мере, одного из времени передачи информационного сообщения, сигнализирующего соответствующий сеанс передачи данных, и времени начала сеанса передачи данных.
Согласно варианту осуществления, на данном уровне приоритета увеличенная часть полосы выделяется, по меньшей мере, одному сеансу передачи данных, для которого соответствующее информационное сообщение, сигнализирующее сеанс передачи данных, было отправлено до других информационных сообщений для других сеансов передачи данных того же приоритета.
Согласно варианту осуществления, на данном более низком уровне приоритета, полоса, соответствующая представлению содержания сеанса передачи данных, требующего наименьшей полосы, выделяется, по меньшей мере, одному сеансу передачи данных.
Согласно варианту осуществления способ включает в себя или устройство выполнено с возможностью повторного выделения любой оставшейся доступной полосы сеансу передачи данных на данном более низком уровне приоритета для обеспечения более высокого уровня представления на основании, по меньшей мере, одного из уровня приоритета сеанса передачи данных, времени передачи соответствующего информационного сообщения и времени начала сеанса передачи данных.
Согласно варианту осуществления, по меньшей мере, один параметр полосы для алгоритма распределения полосы получается из информационных сообщений, которыми обмениваются устройства связи сети, и указывает необходимую полосу для сеанса передачи данных, подлежащего выполнению или выполняющегося на устройстве связи, с которого отправляется соответствующее информационное сообщение.
Согласно варианту осуществления обмен информационными сообщениями осуществляется через центральное базовое устройство.
Согласно варианту осуществления один и тот же алгоритм выделения полосы используется всеми устройствами связи, начинающими или выполняющими сеанс передачи данных.
Согласно варианту осуществления алгоритм выделения полосы определяется согласно, по меньшей мере, одному из уровня приоритета, выделенного каждому алгоритму выделения полосы, и количеству устройств связи, выбирающих каждый алгоритм полосы.
Согласно аспекту изобретения предусмотрен способ распределения доступной полосы в сети среди множества сеансов передачи данных устройств связи в сети, причем способ содержит:
применение алгоритма распределения полосы для обеспечения выделенной полосы для одного или более сеансов передачи данных, подлежащих выполнению или выполняющихся устройствами связи сети;
причем алгоритм распределения полосы содержит выделение одному или более сеансам передачи данных полосы, соответствующей представлению содержания данных соответствующего сеанса передачи данных, требующего наименьшей полосы.
Аспект изобретения предусматривает устройство связи, содержащее один или более процессоров, выполненных с возможностью: применять алгоритм распределения полосы для обеспечения выделенной полосы для каждого сеанса передачи данных, подлежащего выполнению или выполняющегося устройствами связи сети; причем алгоритм распределения полосы содержит алгоритм распределения полосы, содержит выделение одному или более сеансам передачи данных полосы, соответствующей представлению содержания данных соответствующего сеанса передачи данных, требующего наименьшей полосы.
Согласно варианту осуществления способ включает в себя или устройство выполнено с возможностью повторного выделения любой оставшейся доступной полосы сеансу передачи данных, для обеспечения более высокого уровня представления, причем сеанс передачи данных выбирается на основании, по меньшей мере, одного из уровня приоритета сеанса передачи данных, времени передачи соответствующего информационного сообщения, сигнализирующего сеанс передачи данных, и времени начала сеанса передачи данных.
Согласно варианту осуществления на данном уровне приоритета оставшаяся доступная полоса выделяется другим сеансам передачи данных на основании, по меньшей мере, одного из уровня приоритета сеанса передачи данных, времени передачи информационного сообщения для соответствующего сеанса передачи данных и времени начала сеанса передачи данных.
Согласно варианту осуществления, по меньшей мере, один параметр полосы для алгоритма распределения полосы получается из информационных сообщений, которыми обмениваются устройства связи сети, сигнализирующих соответствующий сеанс передачи данных и указывающих необходимую полосу для сеанса передачи данных, подлежащего выполнению или выполняющегося на устройстве связи, с которого отправляется соответствующее информационное сообщение.
Некоторые процессы, реализованные элементами изобретения, могут осуществляться на компьютере. Соответственно, такие элементы могут принимать форму полностью аппаратного варианта осуществления, полностью программного варианта осуществления (включающего в себя программно-аппаратное обеспечение, резидентное программное обеспечение, микрокод и т.д.) или варианта осуществления объединяющего программные и аппаратные аспекты, который, в целом, может именоваться здесь "схемой", "модулем" или "системой". Кроме того, такие элементы могут принимать форму компьютерного программного продукта, реализованного в виде любого материального носителя выражения, имеющего компьютерный программный код, реализованный в носителе.
Поскольку элементы настоящего изобретения можно реализовать программными средствами, настоящее изобретение можно реализовать в виде компьютерно-считываемого кода, вводимого в программируемое устройство на любом подходящем носителе. Материальный носитель может содержать носитель данных, например, флоппи-диск, CD-ROM, жесткий диск, запоминающее устройство на основе магнитной ленты или твердотельное запоминающее устройство и пр. Переходный носитель может включать в себя сигнал, например, электрический сигнал, электронный сигнал, оптический сигнал, акустический сигнал, магнитный сигнал или электромагнитный сигнал, например, микроволновой или радиосигнал.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Варианты осуществления изобретения будут описано ниже исключительно в порядке примера и со ссылкой на следующие чертежи, в которых:
фиг. 1 - блок-схема системы передачи данных, в которой можно реализовать один или более вариантов осуществления изобретения;
фиг. 2 - блок-схема устройства связи согласно варианту осуществления изобретения;
фиг. 3 - блок-схема операций способа распределения полосы согласно варианту осуществления изобретения.
ПОДРОБНОЕ ОПИСАНИЕ
На фиг. 1 показана блок-схема системы передачи данных, в которой можно реализовать один или более вариантов осуществления изобретения.
Система 1 передачи данных содержит множество серверных устройств S1, S2, множество клиентских устройств C1, C2 и C3 и шлюзовое устройство GW.
Клиентские устройства C1, C2 и C3 подключены к локальной сети N1. Локальная сеть N1 может быть локальной сетью (LAN), например, беспроводной сетью (например, Wifi I 802.lla или b или g), сетью Ethernet или смешанной сетью, состоящей из нескольких разных сетей. Локальная сеть N1 подключена к глобальной сети (WAN) N2 (например, интернету) посредством шлюза GW.
Каждое клиентское устройство C1 - C3 выполнено с возможностью установления одного или более сеансов передачи данных (например, сеанса потоковой передачи фиксированной скорости, сеанса адаптивной потоковой передачи (например, HAS), сеанса массовой передачи данных) путем соединения с одним или более удаленными серверами S1, S2 через сеть N2 WAN. Сеанс передачи данных также может именоваться сеансом трафика, сеансом трафика данных или сеансом. Клиентское устройство C1, C2, C3 может представлять собой устройство связи, выполненное с возможностью принимать и декодировать передаваемый битовый поток для рендеризации данных, например, мультимедийных данных на клиентском устройстве. В частности, клиентские устройства C1 - C3 способны работать по протоколу MPEG-DASH для адаптивной потоковой передачи. В иллюстрируемом примере C1 представляет собой портативный компьютер, C2 представляет собой HD дисплей, и C3 представляет собой смартфон.
При воспроизведении содержания, клиентское устройство C1, C2 или C3 может запрашивать фрагменты содержания с сервера S1 или S2 и может использовать знание условий сети N1, свои собственные ограничения и списки доступных представлений одного того же содержания (обычно одного того же содержания с разными битовыми скоростями кодирования) для запрашивания наиболее подходящего представления. Длительность фрагмента можно задать равной нескольким секундам, что позволило бы клиентам C1 - C3 переключаться с одного представления на другое каждые несколько секунд в порядке для динамической адаптации к условиям сети.
Список доступных представлений для данного содержания описан в файле манифеста (MPD, Media Presentation Description), извлекаемом клиентским устройством C1 - C3. Разобрав MPD, клиентское устройство может обнаружить URL, откуда запрашиваются фрагменты содержания. MPD позволяет клиенту C1 - C3 обнаруживать информацию (например, требования полосы) о представлениях, что позволяет ему осуществлять динамическую адаптацию путем переключения между всеми представлениями, когда этого требуют условия сети.
На фиг. 2 показана блок-схема, демонстрирующая клиентское устройство 100 согласно варианту осуществления изобретения. В некоторых вариантах осуществления клиентское устройство 100 может представлять собой портативное медиаустройство, мобильный телефон, планшет, портативный компьютер, HDTV и т.д. Очевидно, что клиентское устройство 100 не обязано содержать все элементы для рендеризации принятого медиаконтента, но может содержать лишь некоторые подэлементы, например, элементы для демультиплексирования и декодирования медиаконтента и может опираться на внешнее устройство для рендеризации декодированного содержания конечному пользователю.
Клиентское устройство 100 содержит:
интерфейс 110 LAN (локальной сети) (проводной и/или беспроводной, например, Wi-Fi, Ethernet и т.д.) для подключения к локальной сети N1;
модуль 120 связи, содержащий интерфейс 121 управления совместно с шиной связи для управления, реализующей парадигму публикации/подписки (например, службу распространения данных (DDS), службу сообщений Java (JMS), Qeo, не представленные в чертежах), что позволяет устройству отправлять информационные сообщения на и принимать информационные сообщения от всех остальных устройств C1 - C3 локальной сети N1 и шлюза GW. Информационное сообщение может быть, например, длительно хранимым сообщением, благодаря чему, его может собирать любое устройство сети (даже если устройство не подключено к сети N1 во время отправки). Например, сообщение может либо собираться фоновой службой, выполняющейся на интерфейсе 121 управления устройства, либо сохраняться шиной связи для управления в качестве длинного обитаемого сообщения, подлежащего извлечению интерфейсом 121 управления (например, периодически или по мере необходимости). Модуль связи также содержит интерфейс 122 приложений, благодаря чему, управляющие и информационные сообщения, связанные с данным сеансом, отправляются и принимаются устройством.
Модуль 120 связи содержит стеки протоколов для связи с серверами S1, S2. В частности, модуль 120 связи содержит стек TCP/IP, хорошо известный из уровня техники. Однако очевидно, что для обеспечения связи устройств C1 - C3 с серверами S1, S2 можно использовать сеть и/или средство связи любого другого типа.
Клиентское устройство 100 дополнительно содержит память 150, контроллер 145 памяти и схему 140 обработки, содержащую один или более блоков обработки (CPU). Один или более блоков 140 обработки выполняют различные программы и/или наборы инструкций, хранящиеся в памяти 150, для осуществления различных функций клиентского устройства 100 и для обработки данных.
Программные компоненты, хранящиеся в памяти, включают в себя модуль (или набор инструкций) 151 выделения полосы для выделения полоса в соответствии с вариантами осуществления изобретения. Могут быть включены другие модули, например, модуль 152 операционной системы для управления общими системными заданиями (например, управления мощностью, управления памятью) и для облегчения связи между различными аппаратными и программными компонентами клиентского устройства 100.
Кроме того, в зависимости от типа, устройства C1 - C3 также могут содержать модуль адаптивной потоковой передачи (который непрерывно выбирает фрагмент на битовой скорости, отвечающей сетевым ограничениям и их собственным ограничениям), видеопроигрыватель, выполненный с возможностью декодировать и рендеризовать мультимедийное содержание, буфер, выполненный с возможностью буферизации фрагментов, принятых от сервера, до их передачи на видеопроигрыватель, и т.д. (упомянутые модули не представлены на фиг. 2).
Предусмотрена внутренняя шина B для соединения различных модулей и всех средств, хорошо известных специалистам в данной области техники, для осуществления общих функциональных возможностей клиентского устройства.
Из фиг. 2 следует, что проиллюстрированные модули соответствуют функциональным модулям, которые могут соответствовать или не соответствовать различимым физическим блокам. Например, несколько таких модулей может быть связано в уникальный компонент или схему или соответствовать программно реализуемым функциональным возможностям. Кроме того, модуль может потенциально состоять из отдельных физических объектов или программно реализуемых функциональных возможностей.
Функциональный модуль можно реализовать в виде аппаратной схемы, содержащей, например, схемы VLSI или вентильные матрицы, дискретные полупроводниковые проводники, например, логические микросхемы, транзисторы и т.д. Модуль также можно реализовать в программируемом аппаратном устройстве, например, вентильной матрице, программируемой пользователем, программируемой матричной логике, программируемом логическом устройстве и т.п. Кроме того, модули также можно реализовать в виде комбинации программного обеспечения и одного или более аппаратных устройств. Например, модуль можно реализовать в виде комбинации процессора, который оперирует набором рабочих данных. Кроме того, модуль можно реализовать в виде комбинации электронного сигнала, передаваемого через схему передачи.
Согласно вариантам осуществления изобретения клиентские устройства C1, C2 и C3 обмениваются параметрами, описывающими их соответствующие сеансы передачи данных. Даже используя обычный алгоритм адаптации DASH для желаемого представления содержания данных, каждый клиент может затем использовать знание других сеансов передачи данных, чтобы, в ряде случаев, не занимать слишком большую полосу, для обеспечения справедливого совместного использования полосы сети.
Способ распределения доступной полосы в сети N1, в соответствии с вариантом осуществления изобретения, будет описан со ссылкой на фиг. 3. Способ, представленный на фиг. 3, можно реализовать посредством любого из клиентских устройств C1 - C3 для совместного использования доступной полосы сети N1. В некоторых вариантах осуществления изобретения полная величина доступной полосы N1, подлежащая совместному использованию между клиентскими устройствами C1 - C3, может сигнализироваться от центрального устройства. Например, шлюзовому устройству GW известны фактические свойства линии доступа, и оно также может выделять полосу различным типам трафика данных и, таким образом, может принимать решение, насколько полоса доступна для сеансов передачи данных. В других вариантах осуществления изобретения, клиентские устройства C1 - C3 обычно оценивают всю полосу, например, отслеживая скорость, с которой они приняли данное количество последних пакетов или фрагментов запрошенных ими с сервера.
На этапе S310 клиентское устройство C1 отправляет информационное сообщение на другие клиентские устройства C2, C3 в сети N1. Информационное сообщение содержит параметры, указывающие необходимую полосу сеанса передачи данных, либо инициируемого, либо уже выполняющегося на клиентском устройстве C1. На этапе S310 клиентское устройство C1 также принимает от любого из других клиентских устройств C2 и/или C3, намеревающихся начать сеанс передачи данных (или осуществляющих сеанс), информационное сообщение, содержащее параметры, указывающие необходимую полосу сеанса передачи данных, подлежащего инициированию или выполняющегося на клиентском устройстве C2 или C3. Очевидно, что не существует конкретного порядка приема или передачи сообщений полосы, и другие устройства могут передавать соответствующие информационные сообщения до, после или одновременно с передачей информационного сообщения от клиента C1.
В конкретном варианте осуществления изобретения всякий раз, когда новое для сети клиентское устройство отправляет свое информационное сообщение, все клиентские устройства, принимающие его, в ответ отправляют свое информационное сообщение. Таким образом, все клиентские устройства знают обо всех остальных клиентских устройствах в сети.
Параметры, которыми обмениваются между собой клиентские устройства в информационных сообщениях, включает в себя, для каждого клиентского устройства, список требований полосы, которые относятся к представлениям содержания, которое они готовы рендеризовать, длительность сегментов DASH для этих представлений, приоритет службы (относительно других клиентов) и, в ряде случаев, предпочтительную полосу представления.
Примеры параметров, содержащихся в информационном сообщении, включают в себя:
данные приоритета, представляющие уровень приоритета или ранжирования соответствующего сеанса передачи данных;
данные длительности фрагмента, представляющие продолжительность времени сегмента данных соответствующего сеанса передачи данных; и
данные предпочтения полосы, представляющие предпочтительную полосу соответствующего сеанса передачи данных.
Обмен информацией по требованию полосы между клиентскими устройствами позволяет клиентским устройствам просматривать другие участвующие сеансы передачи данных (и их предпочтение в отношении требований полосы и приоритета службы).
Для отправки информационных сообщений с одного клиентского устройства, например, C1 сети N1, на другие клиенты, например C2, C3 сети N1, в случае, когда клиентские устройства первоначально не знают друг о друге, можно использовать следующие два режима обмена:
- систему обмена сообщениями множественной адресации
В этом режиме обмена, все клиентские устройства регулярно отправляют свое информационное сообщение на фиксированный IP-адрес множественной адресации, и все клиентские устройства отслеживают один и тот же фиксированный IP-адрес множественной адресации. Таким образом, клиентские устройства могут в любой момент обнаруживать присутствие всех остальных клиентских устройств, которые также осуществляют алгоритмы распределения полосы, и могут принимать их предпочтения по служебной информации. IP-адрес множественной адресации может устанавливаться на клиентском устройстве или может конфигурироваться пользователем (с использованием одной и той же множественной адресации на всех устройства). Информационное сообщение регулярно отправляется каждым клиентским устройством посредством связи множественной адресации для сигнализации другим клиентским устройствам, что они все еще работают, и в случае присоединения к сети нового клиентского устройства (другие клиентские устройства не могут знать об этом). В другом варианте осуществления, новое клиентское устройство в сети сигнализирует о своем прибытии по адресу множественной адресации, и затем все остальные клиентские устройства в сети могут отправлять свое информационное сообщение непосредственно новому клиентскому устройству по каналу связи одиночной адресации или множественной адресации.
- централизованного сбора и перераспределения сообщений
В этом режиме обмена для обмена информационными сообщениями используется центральное устройство. Например, в окружении обычной домашней сети, все устройства, работающие как клиенты DASH, совместно используют один и тот же шлюз. В этом варианте осуществления обмена информационными сообщениями, все клиентские устройства C1 - C3 отправляют свое информационное сообщение на шлюз GW, и шлюз GW перераспределяет информацию от каждого устройства на все остальные клиентские устройства с использованием передач одиночной адресации на каждое устройство. Преимущество этого режима централизованного сбора сообщений состоит в том, что он не требует, чтобы клиентские устройства регулярно отправляли свое информационное сообщение по каналу связи множественной адресации, и поскольку шлюз GW в любой момент знает о работе всех клиентов DASH, ему легко обновлять все клиенты DASH в случае прибытия нового клиента или выбытия клиента DASH. Недостаток этого режима состоит в том, что он требует дополнительный механизм на домашнем шлюзе, тогда как другой режим требует только дополнительный механизм на самом клиентском устройстве.
На этапе S320 клиентское устройство C1 применяет алгоритм выделения полосы к алгоритму для обеспечения выделенной полосы доступной полосы N1 для сеанса передачи данных клиентского устройства C1. Алгоритм распределения полосы использует параметры полосы, содержащиеся в информационных сообщениях, которыми обмениваются между собой клиентские устройства.
Каждое клиентское устройство сети N1, имеющее сеанс передачи данных, применяет общий алгоритм выделения полосы для определения выделенной полосы доступной полосы для сеанса передачи данных конкретного клиента и сеансов передачи данных других участвующих клиентских устройств. Применение общего алгоритма в соответствии с общим набором правил вычислений разных клиентов, может давать согласованные результаты. Сеансы передачи данных DASH ранжируются по общим критериям, описанным в алгоритмах полосы в соответствии с вариантами осуществления настоящего изобретения, и каждое клиентское устройство оценивает полосу, выделенную другим сеансам передачи данных более высокого ранжирования в списке прежде, чем сможет вычислить полосу для использования для своего собственного сеанса передачи данных.
В одном варианте осуществления изобретения можно выбирать один или более из следующих алгоритмов полосы:
Первый алгоритм распределения полосы, именуемый здесь алгоритмом "равномерного совместного использования среди служб наивысшего приоритета" имеет целью равномерное совместное использование полосы между клиентскими устройствами, имеющими сеансы передачи данных со службами наивысшего приоритета. Клиенты служб наивысшего приоритета совместно используют максимально возможную величину доступной полосы в соответствии с требованиями полосы представления сеанса передачи данных. Затем оставшаяся полоса, при наличии, совместно используется неравномерно среди сеансов передачи данных со службами наивысшего приоритета, например, на основании времени отправки информационного сообщения для сеанса передачи данных и/или времени начала сеанса передачи данных. Затем оставшаяся полоса, при наличии (опять же), совместно используется среди клиентов со службами второго после наивысшего приоритета таким же образом, как для клиентов со службами наивысшего приоритета. И так далее, пока не станет доступна дополнительная полоса.
Второй алгоритм распределения полосы, именуемый здесь алгоритмом "победитель получает все" имеет целью выделение максимально возможной полосы сеансу передачи данных со службами наивысшего приоритета по принципу "первым пришел/первым обслужен". Первым пришел означает сеанс передачи данных наивысшего ранжирования для которого соответствующая информация сеанса была отправлена раньше других. Затем оставшаяся полоса, при наличии, совместно используется среди сеансов передачи данных со службами второго после наивысшего приоритета. И так далее, пока не станет доступна дополнительная полоса.
Третий алгоритм распределения полосы, именуемый здесь алгоритмом "обслуживается каждый", имеет целью гарантировать, что всем сеансам передачи данных выделяются их минимальная необходимая полоса, причем сеансы передачи данных со службами наивысшего приоритета обслуживаются в первую очередь. Оставшаяся полоса, при наличии, используется для переключения сеансов передачи данных, которым была выделена их минимальная необходимая полоса, на представления с более широкими полосами. Службы наивысшего приоритета обслуживаются в первую очередь. И так далее, пока не станет доступна дополнительная полоса.
В некоторых вариантах осуществления изобретения информационные сообщения, подлежащие обмену, могут содержать данные алгоритма распределения полосы, представляющие выбранный алгоритм распределения полосы, подлежащий использованию для обеспечения выделенной полосы.
В таблице 1 приведен пример того, как информационное сообщение может быть сформировано из информации/атрибутов MPD, к которому в данный момент обращается клиент DASH.
Таблица 1: информационное сообщение клиента DASH
В возможном варианте осуществления изобретения значения приоритета службы в таблице 1 означают:
1. Службу Premium (например, доставку UHD, доставку HD на телевизоры с большим экраном, …)
2. Службу высокого качества (например, доставку HD на экраны среднего размера, …)
3. Службу нормального качества (например, доставку HD на мобильные устройства, …)
4. Службу низкого качества (например, содержание низкого качества на мобильных устройствах, …)
Параметр ʺpreferredBandwidthDistributionSchemeʺ в таблице 1 идентифицирует алгоритм, используемый для вычисления совместного использования полосы среди клиентов.
В некоторых вариантах осуществления изобретения, клиентские устройства могут добавлять некоторый дополнительный запас полосы к полосам, описанным в MPD для конкретных представлений содержания данных сеанса передачи данных. Например, если MPD описывает три представления со следующими полосами (8 Мбит/с, 6 Мбит/с и 2 Мбит/с) предпочтительные полосы, выбранные клиентом (и отправленные другим клиентам в информационном сообщении) могут быть (9 Мбит/с, 6,5 Мбит/с и 2,2 Мбит/с).
Далее будут более подробно описаны алгоритмы распределения полосы согласно вариантам осуществления изобретения.
Первый алгоритм распределения полосы, согласно варианту осуществления изобретения, именуемый здесь "равномерное совместное использование среди служб наивысшего приоритета" позволяет совместно использовать полосу среди сеансов передачи данных наивысшего приоритета для обеспечения наивысшего возможного качества сеансам наивысшего приоритета на основании доступной полосы. Некоторым сеансам передачи данных не позволяют получать достаточную полосу для воспроизведения, в отсутствие достаточной полосы для обеспечения сеансов передачи данных всех клиентских устройств. Алгоритм распределения полосы осуществляется на клиентском устройстве.
Сеансы передачи данных ранжируются в порядке приоритета с использованием общих критериев. Клиентское устройство вычисляет полосу, выделенную любым сеансам более высокого ранжирования в списке прежде, чем сможет вычислить полосу для использования для своего собственного сеанса передачи данных.
Для первого сеанса передачи данных со службами наивысшего приоритета, полоса, подлежащая выделению сеансу передачи данных, вычисляется как равномерное совместное использование полной доступной полосы. Затем для оставшихся сеансов передачи данных, от более высоких приоритетов службы до более низких приоритетов службы, вычисление делает часть оставшейся полосы (вычитая фактическую полосу, выделенную предыдущим сеансам из полной доступной полосы).
Если на каждом уровне приоритета доступна недостаточная оставшаяся полоса, сеансы передачи данных сортируются в данном ранжировании приоритета согласно временам начала сеансов передачи данных - более ранним сеансам передачи данных выделяется полоса до более поздних сеансов передачи данных.
На данном уровне приоритета, клиентские устройства пытаются взять "равную" часть доступной полосы. Таким образом, для каждого сеанса передачи данных доступная полоса делится на количество сеансов на одном и том же уровне приоритета. Поскольку каждый сеанс передачи данных связан с ограниченным набором представлений содержания данных, клиенты выбирают представление, имеющее полосу чуть ниже вычисленной части полосы.
Можно заметить, что клиентам более низкого приоритета может выделяться полоса только, когда процесс оставляет некоторую неиспользуемую полосу после обслуживания всех сеансов более высокого приоритета.
В случае, когда новое клиентское устройство, имеющее сеанс передачи данных наивысшего приоритета, присоединяется к сети, вероятно повторное выделение существующим сеансам передачи данных меньшей полосы в отсутствие достаточной полосы для обеспечения сеанса передачи данных новым клиентским устройствам. В ряде случаев из существующего сеанса передачи данных можно удалять его выделение в пользу сеанса передачи данных более высокого приоритета.
Поскольку совместное использование между сеансами передачи данных одного и того же уровня приоритета осуществляется равномерно (например, в случае, когда два клиентских устройства имеют сеансы передачи данных с наивысшим уровнем приоритета, каждому из двух сеансов передачи данных выделяются половина полной полосы) даже когда потребности клиентов в полосе неодинаковы, возможно, что после осуществления начального выделения полосы, некоторая полоса все еще доступна. Например, клиентскому устройству может первоначально выделяться полоса 10 МБ/с. Наилучшее представление его содержания данных для сеанса передачи данных, который может располагаться в полосе 10 МБ/с т.е. наибольшее требование полосы, меньшее или равное 10 МБ/с, равно 8 МБ/с. Затем оставшиеся 2 МБ/с полосы может повторно выделяться другому сеансу передачи данных. В этом случае, вся оставшаяся полоса распределяется среди сеансов наивысшего приоритета передачи данных оставшихся сеансов передачи данных (по принципу "первым пришел/первым обслужен" для сеансов передачи данных одного и того же приоритета службы), даже если это, в итоге, означает, что некоторые клиенты получат более чем равную часть полосы в данном ранжировании приоритета. После повторного выделения оставшейся полосы сеансам наивысшего приоритета, любая дополнительно оставшаяся полоса может выделяться сеансам передачи данных меньшего приоритета.
Преимущество этого режима выделения полосы состоит в том, что для клиентского устройства, имеющего сеансы передачи данных на уровнях наивысшего приоритета службы, сеанс передачи данных, вероятно, подлежащий выполнению с наивысшим возможным качеством, совместно используемый среди всех сеансов более высокого приоритета (ни один сеанс более низкого приоритета фактически не сможет забирать полосу у сеансов более высокого приоритета). Сеанс передачи данных может не выполняться на своем наивысшем качестве, хотя, если выделенная часть полосы меньше полосы, необходимой для представления наилучшего качества. Клиенты службы более низкого приоритета будут принимать полосу в обычном режиме. Вероятно, останется лишь достаточная полоса, при наличии, для сеансов более низкого приоритета передачи данных, что позволит им выполнять представление содержания данных более низкого качества.
В таблице 2 приведен пример логики для первого режима выделения полосы, осуществляемого на клиентском устройстве.
Таблица 2: логика на стороне приемника для режима 1 выделения полосы
Второй алгоритм распределения полосы, согласно варианту осуществления изобретения, именуемый здесь ʺпобедитель получает всеʺ, имеет целью обеспечение наивысшего возможного качества сеансам более высокого приоритета, по принципу "первым пришел/первым обслужен". Первое клиентское устройство для отправки своего первого информационного сообщения, сигнализирующего его присутствие другим возможным клиентским устройствам в сети, будет принимать максимальную необходимую полосу для сеанса передачи данных, который он желает инициировать. Максимальная необходимая полоса соответствует полосе, необходимой для представления наилучшего качества содержания данных сеанса передачи данных относительно других представлений того же содержания, которое меньше или равно представлению доступной полосы.
Клиентские устройства, имеющие сеансы передачи данных более низкого приоритета могут принимать полосу только, когда был осуществлен процесс распределения полосы оставляет некоторую неиспользуемую полосу после выделения для всех сеансов более высокого приоритета. Таким же образом, если клиент службы наивысшего приоритета отправляет информационное сообщение после того, как клиентскому устройству, имеющему сеанс передачи данных того же наивысшего приоритета, уже выделена большая часть полосы, маловероятно, что клиент, прибывающий позже, примет максимальное требование полосы для своего сеанса передачи данных (у первого прибывающего клиента не отбирается полоса).
Преимущество этого режима состоит в том, что сеансы наивысшего приоритета передачи данных клиентских устройств всегда будут принимать свое максимально возможное качество по принципу "первым пришел/первым обслужен". Клиентские устройства, имеющие сеансы наивысшего приоритета передачи данных, осуществляющее выделение полосы, когда им не остается достаточной полосы, или клиентам службы более низкого приоритета будет выделяться полоса согласно обычному режиму.
В таблице 3 приведен пример логики для второго режима выделения полосы, осуществляемого на клиентском устройстве.
Таблица 3: логика на стороне приемника для режима 2 выделения полосы
Третий алгоритм распределения полосы, согласно варианту осуществления изобретения, именуемый здесь ʺобслуживается каждыйʺ предусматривает обеспечение полосы для всех сеансов передачи данных клиентских устройств, при наличии достаточной полосы, путем сообщения им достаточной полосы для выполнения их представления минимальной запрашиваемой полосы для сеанса передачи данных т.е. полосы, соответствующей представлению, требующему наименьшей полосы по сравнению с другими представлениями. В отсутствие достаточной полосы для обслуживания всех сеансов передачи данных клиентских устройств, решение принимается путем приоритизации сеансов передачи данных согласно приоритету службы и затем по принципу "первым пришел/первым обслужен" среди клиентов с одним и тем же уровнем приоритета.
Затем любая оставшаяся полоса распределяется среди сеансов передачи данных клиентских устройств на основании приоритета службы и по принципу "первым пришел/первым обслужен" (на основании времени передачи соответствующего информационного сообщения), благодаря чему, сеансы передачи данных наивысшего приоритета может иметь представления более высокого качества, чем представление минимальной полосы содержания данных.
Преимущество этого режима состоит в том, что, при наличии достаточной полосы для всех клиентов, все клиенты способны выполнять одно представление их содержания данных. Вероятно, что клиенты службы наивысшего приоритета имеют возможность выполнять представление, обеспечивающее более высокое качество, чем их представление минимальной полосы при наличии достаточной полосы.
В таблице 4 приведен пример логики для третьего режима выделения полосы, осуществляемого на клиентском устройстве.
Таблица 4: логика на стороне приемника для режима 3 выделения полосы
Все клиентские устройства информируют другие клиентские устройства о своей предпочтительной схеме распределения полосы. Данные, указывающие предпочтительный алгоритм распределения полосы, могут быть включены в информационное сообщение, передаваемое с клиентского устройства на другие клиентские устройства сети N1.
В ряде случаев может существовать конфликт между выбором алгоритма распределения полосы.
Его можно разрешать по-разному, например:
- выбирается алгоритм распределения полосы, указанный большинством в информационных сообщениях
- все клиентские устройства знают общий приоритизированный список схем распределения полосы, и побеждает схема более высокого приоритета
- выбирается алгоритм распределения полосы, указанный в первом передаваемом информационном сообщении
Три разные режимы распределения полосы будут проиллюстрированы в следующих примерах
Рассмотрим два клиентских устройства C1 и C2, которым предстоит осуществлять сеансы передачи данных со следующими предпочтениями:
клиент C1 отправляет соответствующее информационное сообщение для своего сеанса передачи данных до клиента C2:
представление C1.2=10 Мбит/с
представление C1.1=8 Мбит/с
представление C1.0=4 Мбит/с
service_priority=Premium
клиент C2:
представление C2.1=6 Мбит/с
представление C2.0=2 Мбит/с
service_priority=Premium
Благодаря использованию трех разных режимов выделения полосы с полной доступной полосой 14 Мбит/с в сети N1, распределение полосы будет иметь следующий вид:
- режим 1 - равномерное совместное использование: все сеансы передачи данных имеют наивысший приоритет, поэтому доступная полоса 14 Мбит/с первоначально распределяется равномерно между двумя сеансами передачи данных C1 и C2 т.е. 7 Мбит/с для каждого.
Для клиента C1 наибольшее требование полосы, которое меньше или равно 7 Мбит/с, равно 4 Мбит/с, что соответствует представлению C1.0 - таким образом, клиенту C1 первоначально выделяется полоса 4 Мбит/с.
Для клиента C2 наибольшее требование полосы, которое меньше или равно 7 Мбит/с, равно 6 Мбит/с, что соответствует представлению C2.1 - таким образом, клиенту C1 первоначально выделяется полоса 6 Мбит/с, соответствующая его представлению самого высокого качества.
Остается доступная полоса 4 Мбит/с. Она выделяется клиенту C1, поскольку клиент C1 отправил свое информационное сообщение до клиента C2. Это позволяет увеличивать полосу, выделенную клиенту C1, до 8 Мбит/с, соответствующую представлению C1.1 более высокого качества.
В итоге, выделение доступной полосы имеет следующий вид:
клиент C1 => C1.1 (8 Мбит/с); клиент C2 => C2.1(6 Мбит/с); оставшаяся полоса=0 Мбит/с; не остается полосы для выделения сеансам передачи данных более низкого уровня приоритета или другим клиентским устройствам, присоединяющимся к сети позже.
- режим 2 - победитель получает все:
клиенту C1 выделяется 10 Мбит/с, соответствующая его максимальному требованию полосы для его представления самого высокого качества C1.2, поскольку оно первым отправило информационное сообщение. Клиенту C2 остается выделять полосу 4 Мбит/с. Требование полосы, меньшее или равное 4 Мбит/с, равно 2 Мбит/с, что соответствует представлению C2.0 более низкого качества.
В итоге, выделение доступной полосы имеет следующий вид:
клиент C1 => C1.2; клиент C2 => C2.0; оставшаяся полоса=2 Мбит/с. Полоса, оставшаяся для выделения сеансам передачи данных более низкого уровня приоритета других клиентских устройств согласно любому режиму выделения полосы или согласно времени начала сеанса передачи данных.
- режим 3 - обслуживается каждый:
выделение самого низкого требования полосы каждого клиента C1 и C2, соответственно, 4 Мбит/с (C1.0) и 2 Мбит/с (C2.0) оставляет оставшуюся полосу 8 Мбит/с, что позволяет обоим сеансам передачи данных переходить к представлению более высокого качества путем увеличенного выделения полосы - C1.1 (8 Мбит/с) для клиента C1 и - C2.1 (6 Мбит/с)
В итоге, выделение доступной полосы имеет следующий вид:
клиент C1 => C1.1; клиент C2 => C2.1; оставшаяся полоса=0 Мбит/с
Если затем третий клиент присоединяется к сети для сеанса передачи данных со следующими предпочтениями:
клиент C3:
представление C3.2=5 Мбит/с
представление C3.1=3 Мбит/с
представление C3.0=2 Мбит/с
service_priority=Premium
Благодаря использованию трех разных режимов выделения полосы с полной полосой 14 Мбит/с, распределение полосы будет следующим:
- режим 1 - равномерное совместное использование:
все сеансы передачи данных имеют наивысший приоритет, поэтому доступная полоса 14 Мбит/с первоначально распределяется равномерно между тремя сеансами передачи данных C1, C2 и C3, т.е. по 4.66 Мбит/с каждой.
Таким образом, клиенту C1 выделяется 4 Мбит/с (служба C1.0) поскольку это единственное представление с полосой менее 4.66 Мбит/с
Таким образом, клиенту C2 выделяется 2 Мбит/с (служба C2.0) поскольку это единственное представление с полосой менее 4.66 Мбит/с
Таким образом, клиенту C3 выделяется 3 Мбит/с (служба C3.1) поскольку это наилучшее представление с полосой менее 4.66 Мбит/с
Остается полоса 5 Мбит/с. Клиенту C1, который был первым в сети, выделяется 4 Мбит/с оставшейся полосы по принципу "первым пришел/первым обслужен", поскольку клиент C1 был первым отправившим информационное сообщение для своего сеанса передачи данных, позволяющее ему иметь улучшенное представление C1.1 в полосе 8 Мбит/с
В итоге, выделение доступной полосы имеет следующий вид:
клиент C1 => C1.1(8 Мбит/с); клиент C2 => C2.0 (2 Мбит/с); клиент C3 => C3.1 (3 Мбит/с); оставшаяся полоса=1 Мбит/с
- режим 2 - победитель получает все:
клиенту C1 выделяется 10 Мбит/с, соответствующая его максимальному требованию полосы для его представления самого высокого качества C1.2, поскольку оно первым отправило информационное сообщение. Полоса 4 Мбит/с остается для совместного использования между сеансами передачи данных клиентских устройств C2 и C3. Сеансу передачи данных клиентского устройства C2 выделяется полоса 2 Мбит/с для представления C2.0, тогда как клиентскому устройству C3 также выделяется полоса 2 Мбит/с для представления C2.0.
В итоге, выделение доступной полосы имеет следующий вид:
клиент C1 => C1.2; клиент C2 => C2.0; клиент C3 => C3.0;
оставшаяся полоса=0 Мбит/с
- режим 3 - обслуживается каждый:
Выделение самого низкого требования полосы каждого клиента C1, C2 и C3, соответственно 4 Мбит/с (C1.0) 2 Мбит/с (C2.0) и 2 Мбит/с (C3.0) оставляет оставшуюся полосу 6 Мбит/с, что позволяет сеансам передачи данных клиентского устройства C1 и C3 переходить к представлению более высокого качества путем увеличенного выделения полосы - C1.1 (8 Мбит/с) для клиента C1 и - C3.1 (3 Мбит/с) для клиентского устройства C3
клиент C1 => C1.1 (8 Мбит/с); клиент C2 => C2.0 (2 Мбит/с); клиент C3 => C3.1(3 Мбит/с)
оставшаяся полоса=1 Мбит/с
На этапе S330 полоса выделяется сеансу передачи данных, что позволяет выполнять сеанс передачи данных на этапе S340
Варианты осуществления настоящего изобретения предусматривают механизм обмена сообщениями, который позволяет клиентам, например, клиентам DASH в сети узнавать о предстоящих или текущих сеансах передачи данных других клиентов в сети и их предпочтительных требований потребления содержания. Таким образом, можно добиться более справедливого совместного использования доступной полосы сети, чтобы клиенты могли извлекать пользу из лучшей службы, чем она была бы, если бы они боролись друг с другом за одну и ту же полосу сети. Варианты осуществления изобретения могут применяться до начала предстоящих сеансов передачи данных, пока выполняются сеансы передачи данных, например, чтобы можно было повторно выделять полосу текущим сеансам передачи данных, когда начинается новый сеанс передачи данных в сети или когда текущий сеанс передачи данных в сети заканчивается.
Хотя настоящее изобретение описано выше со ссылкой на конкретные варианты осуществления, настоящее изобретение не ограничивается конкретными вариантами осуществления, и специалист в данной области техники может предложить модификации, находящиеся в объеме настоящего изобретения.
Например, хотя вышеприведенные примеры были описаны в отношении MPEG-DASH, очевидно, что изобретение может применяться к любым окружениям адаптивной потоковой передачи или загрузки данных.
Специалисты в данной области техники могут предложить многие дополнительные модификации и вариации на основании вышеизложенных иллюстративных вариантов осуществления, которые приведены исключительно в порядке примера и которые не призваны ограничивать объем изобретения, который определяется только нижеследующей формулой изобретения. В частности, разные признаки разных вариантов осуществления можно менять местами, когда это целесообразно.
Claims (23)
1. Способ распределения доступной полосы в сети (N1) среди множества сеансов потоковой передачи данных устройств связи (С1; С2; С3) в сети, причем способ содержит этап, на котором на устройстве связи (C1; С2; С3): применяют (S320) алгоритм распределения полосы с использованием, по меньшей мере, одного параметра полосы для получения выделенной полосы для сеанса передачи данных, подлежащего выполнению или выполняющегося на упомянутом устройстве связи (C1; С2; С3), причем упомянутый по меньшей мере один параметр полосы получается из информационных сообщений, которыми обмениваются устройства связи сети, и указывает необходимую полосу для сеанса передачи данных, подлежащего выполнению или выполняющегося на устройстве связи, с которого отправляется соответствующее информационное сообщение,
при этом упомянутое устройство связи выполнено с возможностью отправки информационных сообщений на и приема информационных сообщений от всех других устройств (C1; С2; С3) сети (N1),
и при этом информационное сообщение содержит данные алгоритма распределения полосы, представляющие выбранный алгоритм распределения полосы, подлежащий использованию для обеспечения выделенной полосы.
2. Способ по п. 1, в котором упомянутый по меньшей мере один параметр в соответствующем информационном сообщении содержит по меньшей мере одно из:
данных приоритета, представляющих уровень приоритета соответствующего сеанса передачи данных;
данных длительности фрагмента, представляющих продолжительность времени сегмента данных соответствующего сеанса передачи данных; и
данных полосы, представляющих по меньшей мере одну рабочую полосу соответствующего сеанса передачи данных.
3. Способ по любому из предыдущих пунктов, в котором алгоритм распределения полосы содержит деление доступной полосы на равные части для выделения каждому из сеансов передачи данных, имеющих наивысший уровень приоритета.
4. Способ по п. 3, в котором содержание данных каждого сеанса передачи данных имеет соответствующее множество представлений, и при этом одно из представлений выбирается согласно равной части выделенной полосы, причем выбранное представление является представлением, требующим наибольшей полосы, которая меньше или равна равной части выделенной полосы.
5. Способ по п. 4, в котором, в случае когда необходимая полоса для выбранного представления меньше равной части выделенной полосы, по меньшей мере часть оставшейся полосы повторно выделяется сеансу передачи данных наивысшего приоритета, для которого соответствующее информационное сообщение было отправлено до других информационных сообщений для сеансов передачи данных наивысшего приоритета.
6. Способ по п. 4 или 5, в котором, в случае когда необходимая полоса для выбранного представления меньше равной части выделенной полосы, по меньшей мере часть оставшейся полосы выделяется сеансу передачи данных более низкого уровня приоритета на основании по меньшей мере одного из: уровня приоритета сеанса передачи данных; времени передачи соответствующего информационного сообщения; и времени начала сеанса передачи данных.
7. Способ по п. 1 или 2, в котором алгоритм распределения полосы содержит выделение максимально возможной полосы по меньшей мере одному сеансу передачи данных в порядке их уровня приоритета и для которого соответствующее информационное сообщение было отправлено до других информационных сообщений для других сеансов передачи данных того же приоритета, причем максимально возможная полоса соответствует представлению содержания сеанса передачи данных, требующего наибольшей полосы, относительно других представлений того же содержания, в доступной полосе.
8. Способ по п. 1 или 2, в котором алгоритм распределения полосы содержит выделение полосы, соответствующей представлению содержания сеанса передачи данных, требующего наименьшей полосы.
9. Способ по п. 8, дополнительно содержащий этап, на котором повторно выделяют любую оставшуюся доступную полосу сеансу передачи данных для обеспечения более высокого уровня представления на основании по меньшей мере одного из уровня приоритета сеанса передачи данных, времени передачи соответствующего информационного сообщения и времени начала сеанса передачи данных.
10. Способ по любому из пп. 3-9, в котором на данном уровне приоритета оставшаяся доступная полоса выделяется на основании по меньшей мере одного из времени передачи информационного сообщения для соответствующего сеанса передачи данных и времени начала сеанса передачи данных.
11. Способ по любому из предыдущих пунктов, в котором один и тот же алгоритм выделения полосы используется всеми устройствами связи (C1; С2; С3), начинающими или выполняющими сеанс передачи данных.
12. Способ по предыдущему пункту, в котором алгоритм выделения полосы определяется согласно по меньшей мере одному из уровня приоритета, выделенного каждому алгоритму выделения полосы, и количеству устройств связи (C1; С2; С3), выбирающих каждый алгоритм полосы.
13. Устройство связи (C1; С2; С3), содержащее
интерфейс связи (120) для отправки информационных сообщений на и приема информационных сообщений от всех других устройств в одной и той же сети (N1), причем каждое информационное сообщение содержит по меньшей мере один параметр полосы, указывающий необходимую полосу для начала сеанса потоковой передачи данных на устройстве связи (C1; С2; С3), с которого отправляется соответствующее информационное сообщение, и данные алгоритма распределения полосы, представляющие выбранный алгоритм распределения полосы; и
один или более процессоров (140; 145), выполненных с возможностью:
применять (S320) выбранный алгоритм распределения полосы с использованием упомянутого по меньшей мере одного параметра полосы для обеспечения выделенной полосы для сеанса передачи данных, подлежащего выполнению или выполняющегося на упомянутом устройстве связи (C1; С2; С3).
14. Устройство связи по п. 13, в котором упомянутый по меньшей мере один или более процессоров выполнены с возможностью осуществления способа по любому из пп. 2-12.
15. Машиночитаемый носитель данных, содержащий машиночитаемые инструкции для осуществления способа по любому из пп. 1-12 при загрузке в программируемое устройство и выполнении на нем.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP15305200.6 | 2015-02-11 | ||
EP15305200.6A EP3057266A1 (en) | 2015-02-11 | 2015-02-11 | Distribution of bandwidth in a network |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2017131416A Division RU2017131416A (ru) | 2015-02-11 | 2016-02-05 | Способ и устройство для распределения полосы в сети |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2019143459A RU2019143459A (ru) | 2020-02-03 |
RU2804870C2 true RU2804870C2 (ru) | 2023-10-09 |
Family
ID=
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002051070A3 (en) * | 2000-12-21 | 2003-05-01 | Api Networks Inc | System and method of allocating bandwidth to a plurality of devices |
US20110087765A1 (en) * | 2009-10-08 | 2011-04-14 | Magor Communications Corporation | Network bandwidth management system |
RU2420928C2 (ru) * | 2006-10-16 | 2011-06-10 | Нокиа Корпорейшн | Распределение полосы для ретрансляционных сетей с использованием кодов cdma |
EP1981223B1 (en) * | 2007-04-12 | 2012-06-20 | Fujitsu Limited | Base station, relay station and bandwith allocation method |
US8218474B2 (en) * | 2008-11-18 | 2012-07-10 | Socovar S.E.C. | Bandwidth allocation in satellite communication networks |
US20120281529A1 (en) * | 2011-05-06 | 2012-11-08 | Sri Mohana Satya Srinivas Singamsetty | Bandwidth Advertisement Model for Shared Mesh Protection |
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002051070A3 (en) * | 2000-12-21 | 2003-05-01 | Api Networks Inc | System and method of allocating bandwidth to a plurality of devices |
RU2420928C2 (ru) * | 2006-10-16 | 2011-06-10 | Нокиа Корпорейшн | Распределение полосы для ретрансляционных сетей с использованием кодов cdma |
EP1981223B1 (en) * | 2007-04-12 | 2012-06-20 | Fujitsu Limited | Base station, relay station and bandwith allocation method |
US8218474B2 (en) * | 2008-11-18 | 2012-07-10 | Socovar S.E.C. | Bandwidth allocation in satellite communication networks |
US20110087765A1 (en) * | 2009-10-08 | 2011-04-14 | Magor Communications Corporation | Network bandwidth management system |
US20120281529A1 (en) * | 2011-05-06 | 2012-11-08 | Sri Mohana Satya Srinivas Singamsetty | Bandwidth Advertisement Model for Shared Mesh Protection |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6993399B2 (ja) | ネットワークにおける帯域幅の分配のための方法および装置 | |
US10848433B2 (en) | Method for distributing available bandwidth of a network amongst ongoing traffic sessions run by devices of the network, corresponding device | |
JP5800872B2 (ja) | 相互接続ネットワークにおけるパケットレベルプライオリティ付け | |
JP4844425B2 (ja) | 帯域要求システム、帯域要求装置、クライアント機器、帯域要求方法、コンテンツ再生方法およびプログラム | |
US10284678B2 (en) | Bandwidth management based on profiles | |
RU2804870C2 (ru) | Способ и устройство для распределения полосы в сети | |
US9253743B2 (en) | Systems and methods for reduced latency and improved beacon reception in devices capable of providing multiple wireless interfaces via a single radio | |
KR20100052025A (ko) | 대역폭 공유 방식 컨텐츠 제공 시스템 및 방법 | |
Khan et al. | Bandwidth Estimation Techniques for Relative'Fair'Sharing in DASH | |
JP5979886B2 (ja) | 送信装置及び送信方法 | |
CN108055555B (zh) | 一种资源共享方法、装置、服务设备及存储介质 |