close

Вход

Забыли?

вход по аккаунту

?

Патент BY17653

код для вставкиСкачать
ОПИСАНИЕ
ИЗОБРЕТЕНИЯ
К ПАТЕНТУ
РЕСПУБЛИКА БЕЛАРУСЬ
(46) 2013.10.30
(12)
(51) МПК
НАЦИОНАЛЬНЫЙ ЦЕНТР
ИНТЕЛЛЕКТУАЛЬНОЙ
СОБСТВЕННОСТИ
(54)
BY (11) 17653
(13) C1
(19)
H 04L 12/00
H 04L 29/06
(2006.01)
(2006.01)
СПОСОБ РАСПРЕДЕЛЕНИЯ КОНТЕНТА В СИСТЕМЕ
IP-ТЕЛЕВИДЕНИЯ, СПОСОБ И СИСТЕМА ПЕРЕНАПРАВЛЕНИЯ
СЕРВИСОВ В СИСТЕМЕ IP-ТЕЛЕВИДЕНИЯ
(21) Номер заявки: a 20101928
(22) 2008.12.19
(31) 200810110325 (32) 2008.05.30 (33) CN
(85) 2010.12.30
(86) PCT/CN2008/073616, 2008.12.19
(87) WO 2009/143686, 2009.12.03
(43) 2011.06.30
(71) Заявитель: ЗТЕ КОРПОРЕЙШН (CN)
(72) Автор: ЛИ, Муцзинь (CN)
(73) Патентообладатель: ЗТЕ КОРПОРЕЙШН
(CN)
(56) RU 2006110034 A, 2006.
BY 9989 C1, 2007.
RU 2006117351 A, 2007.
RU 99115777 A, 2001.
RU 2005128299 A, 2006.
EA 003442 B1, 2003.
BY 17653 C1 2013.10.30
(57)
1. Способ распределения контента в системе IP-телевидения, отличающийся тем, что
периодически получают отчет, передаваемый узлом системы IP-телевидения, содержащий
информацию о данном узле, включающую, по меньшей мере, следующие сведения: о доступной полосе пропускания узла, о стабильности узла, об имеющемся объеме памяти и о
частоте использования узла;
разделяют распределяемый контент на несколько сегментов;
определяют для каждого сегмента один или несколько узлов для хранения сегмента в
соответствии с информацией об узле;
распределяют каждый сегмент на один или несколько узлов для хранения сегмента.
Фиг. 3
BY 17653 C1 2013.10.30
2. Способ по п. 1, отличающийся тем, что разделяют распределяемый контент на несколько сегментов, например на несколько идентичных или различающихся сегментов,
при этом каждый сегмент содержит несколько блоков, размер которых является регулируемым и/или конфигурируемым.
3. Способ по п. 1 или 2, отличающийся тем, что для определения узлов для хранения
St
каждого сегмента находят критерий согласия G i , соответствующий каждому узлу i системы IP-телевидения, из выражения:
EstimatedStayi (new )
Bw i (1 − R iusage )
Freq serve
i
+ βSt ×
−
γ
×
G Sti = αSt ×
St
max (EstimatedStay i (new ))
max (Bw i (1 − R iusage ))
max (Freq serve
)
i
1≤ i ≤ m
1≤ i ≤ m
1≤ i ≤ m
,
где St - имеющийся объем памяти узла i;
αSt - весовой множитель;
EstimatedStayi (new ) = α × EstimatedStayi (prev ) + β × CurrentStayi - стабильность узла i с
учетом накопленных данных,
где α - весовой множитель;
EstimatedStay i (prev ) - первоначальное значение EstimatedStay i ;
β - весовой множитель;
CurrentStay i - длительность интервала времени соединения узла i с системой без прерывания или отключения;
m - количество узлов, участвующих в системе;
βSt - весовой множитель;
Bwi - доступная полоса пропускания узла i;
R iusage - средний коэффициент использования полосы пропускания, предоставляемой
узлом i, участвующим в системе;
γSt - весовой множитель;
Freq serve
i
- частота использования узла i с обработкой запросов IP-телевидения в течение заданного периода,
выбирают критерии согласия, превышающие заданное пороговое значение или не ниже его, и выбирают узлы, соответствующие критериям согласия, превышающим пороговое значение, в качестве узлов для хранения каждого сегмента;
распределяют каждый сегмент на один или несколько выбранных узлов в соответствии с их критериями согласия, определенных для хранения сегмента.
4. Способ перенаправления сервисов в системе IP-телевидения, отличающийся тем,
что получают сообщение с запросом на контент в виде запроса на скачивание или сбрасывание контента;
определяют один или несколько узлов системы для хранения отдельных сегментов
контента;
добавляют идентификаторы одного или нескольких узлов к узловому списку, скачивающему или сбрасывающему контент, или
выбирают один или несколько узлов для скачивания или сбрасывания блоков данных,
по меньшей мере, в соответствии с порядком узлов, циклически скачивающих или сбрасывающих сегменты или один или несколько блоков данных в сегменте с одного или нескольких узлов, причем сегменты или блоки, выделенные для каждого узла в каждом
цикле, являются идентичными, или выделенные сегменты или блоки пропорциональны
полосе пропускания узла, или скачивают или сбрасывают каждый из сегментов или один
или несколько блоков данных в сегментах с одного или нескольких узлов в соответствии с
полосой пропускания одного или нескольких узлов для хранения сегмента;
2
BY 17653 C1 2013.10.30
скачивают или сбрасывают отдельные сегменты контента из одного или нескольких
узлов и
получают полный контент в соответствии с отдельными сегментами контента.
5. Способ по п. 4, отличающийся тем, что операция скачивания или сбрасывания отдельных сегментов контента с одного или нескольких узлов осуществляется по меньшей
мере одним из следующих путей:
скачивают или сбрасывают отдельные сегменты контента путем суммирования полосы пропускания узлов, или
записывают в соответствующие ячейки предварительно заданной циклической кэшпамяти скачанные или сброшенные отдельные сегменты контента и/или один или несколько блоков данных отдельных сегментов, причем каждый сегмент содержит несколько блоков данных, размер которых является регулируемым и/или конфигурируемым.
6. Способ по п. 4 или 5, отличающийся тем, что дополнительно осуществляют выбор
альтернативных узлов вместо одного или нескольких отказавших узлов, скорость приема
которых ниже предварительно заданного порогового значения, и скачивают или сбрасывают с альтернативных узлов сегменты и/или блоки данных, хранящиеся в соответствующих отказавших узлах.
7. Система перенаправления сервисов в системе IP-телевидения, отличающаяся тем,
что содержит один или несколько кластеров узлов, причем каждый из кластеров содержит:
центральный узел, сконфигурированный для хранения всего распределяемого контента и для распределения контента;
один или несколько подчиненных узлов с иерархической структурой, непосредственно соединенных с центральным узлом или соединенных с узлом верхнего уровня подчиненности узла и сконфигурированных для хранения отдельных сегментов контента,
распределяемого системой, для определения одного или нескольких узлов скачанного или
сброшенного контента при приеме сообщения о запросе, соответствующего скачанному
или сброшенному контенту, для добавления идентификаторов одного или нескольких узлов к узловому списку, скачивающему или сбрасывающему контент; или для назначения
одного или нескольких узлов для скачивания или сбрасывания блоков данных, например,
в соответствии с порядком узлов, циклически скачивающих или сбрасывающих сегменты
или один или несколько блоков данных в сегменте с одного или нескольких узлов, причем
сегменты или блоки, выделенные для каждого узла в каждом цикле, являются идентичными или выделенные сегменты или блоки пропорциональны полосе пропускания узла;
для скачивания или сбрасывания каждого из сегментов или одного или нескольких блоков
данных в сегментах с одного или нескольких узлов в соответствии с полосой пропускания
одного или нескольких узлов для хранения сегмента, для скачивания или сбрасывания отдельных сегментов контента с одного или нескольких определенных узлов и для получения полного контента в соответствии с отдельными сегментами контента.
8. Система по п. 7, отличающаяся тем, что центральный узел и подчиненные узлы
образуют структуру древовидной топологии или структуру сетчатой топологии.
9. Система по п. 7 или 8, отличающаяся тем, что каждый узел содержит
таблицу категорий контента, сконфигурированную для хранения таблицы соответствий между каждой категорией и агентскими узлами кластера, к которому относится категория, причем категория является информацией каталога, в которой классифицируется
весь контент, и агентские узлы используются для поддержания и управления узлами, содержащими один или несколько типов контента каталога в категориях;
модуль памяти, сконфигурированный для хранения сегментов локально хранимого
контента, и
ссылочный модуль, сконфигурированный для хранения ссылок на другие узлы.
3
BY 17653 C1 2013.10.30
10. Система по п. 9, отличающаяся тем, что узлы являются агентскими узлами, причем система дополнительно содержит
таблицу индексов контента, сконфигурированную для поддержания узлов для хранения контента и адресной информации, соответствующей узлам;
таблицу наложенных ссылок, сконфигурированную для хранения адресной информации одного или нескольких агентских узлов, имеющих идентичную категорию в других
кластерах, причем категория является информацией каталога, классифицирующей весь
контент.
11. Система по п. 9, отличающаяся тем, что ссылочный модуль содержит
субмодуль родительских ссылок, сконфигурированный для хранения ссылки на узел
верхнего уровня, и
субмодуль субссылок, сконфигурированный для хранения ссылки на узел нижнего
уровня.
Настоящее изобретение относится к технологии распределения и доставки мультимедийного контента в области передачи данных и, в частности, к способу распределения
контента, способу и системе перенаправления сервисов.
Быстрое развитие видеотехнологии и технологии широкополосного доступа позволило реализовать просмотр программ телевизионного вещания в прямом эфире через сеть
Интернет. IP-телевидение (цифровое интерактивное телевидение в сетях передачи данных
по протоколу IP) обеспечивает предоставление таких услуг, как телевизионное вещание в
прямом эфире, видео по требованию и телевидение по заказу. При просмотре пользователем программ телевизионного вещания в прямом эфире пользователь также имеет возможность сместить во времени и повторно просмотреть телевизионную программу и т.д.,
что позволяет пользователю полностью освободиться от традиционного режима пассивного просмотра телевизионных программ, а именно просмотра того, что передают.
Существующая система IP-телевидения представляет собой структуру клиент/сервер.
В основном существуют два режима в отношении сервисов IP-телевидения, реализованных на широкополосной сети, т.е. на схемах оверлейных (наложенных) сетей пиринговых
систем, основанных на режиме клиент/сервер и технологии пиринговых систем (P2P).
Система IP-телевидения, основанная на структуре клиент/сервер, обладает неудовлетворительной расширяемостью, и система имеет ограниченные возможности для расширения с целью охвата исключительно большого количества пользователей (например,
сотни тысяч пользователей, миллионы пользователей). При увеличении количества сервисов IP-телевидения, необходимых для пользователей, сервер любой мощности в конечном
счете сталкивается с ситуацией, при которой сервер не в состоянии своевременно ответить на запрос пользователей. В конечном счете ресурсы сервера будут полностью использованы и сервер будет не способен предоставлять пользователям сервисы
IP-телевидения, что создает в системе IP-телевидения узкое место. В настоящее время
способы для снижения нагрузки на сервер включают: способ многоадресной рассылки пакетов, способ пакетирования, способ корректирования, способ объединения, способ регулярного радиовещания и т.д. Указанные способы главным образом основаны на способе
многоадресной рассылки пакетов, т.е. комбинирование нескольких вещаний по запросу
(или вещаний в прямом эфире) единичного файла в сервис канала многоадресной передачи.
В настоящее время, ввиду того что вся сеть не обеспечивает поддержку многоадресной передачи всей сети IP и линейная полоса частот асимметричной цифровой абонентской линии (ADSL) является недостаточной для поддержки одновременной передачи двух
потоков, существуют проблемы с практической реализацией вышеуказанных способов
4
BY 17653 C1 2013.10.30
снижения нагрузки на сервер, и данная стратегия экономии ресурсов осуществляется за
счет задержки ответа пользователям, что создает больше неприятностей, чем выгоды при
осуществлении коммерческих операций.
Кроме того, также может быть использован способ, предусматривающий применение
мультимедийного фрагмента с целью снижения нагрузки на сервер, например: способ совместного опосредованного кэширования, который может сократить время ожидания
пользователя до переключения каналов и вещания программы; способ сегментного кэширования, обеспечивающий кооперативное распределение отдельных сегментов мультимедийного файла между пользователями для обеспечения вещания, что тем не менее не
позволяет повысить расширяемость системы IP-телевидения.
Пиринговая система обеспечивает равноценный обмен данными между различными
компьютерами, и каждый компьютер, на котором установлена и используется P2P программное обеспечение, называется равноправным компьютером. Любая система, наделенная функцией обнаружения медиауслуг, должна обладать возможностями предоставления
функции поиска и просмотра информации, и P2P программное обеспечение обеспечивает
такую возможность обнаружения и поиска медиауслуг, а также просмотра информации
пиринговой сети. Схемы поиска, используемые в пиринговой сети, в целом могут быть
разделены на два типа: структурированная система и неструктурированная сеть, в которой
поиск осуществляется волновым способом.
Неструктурированная пиринговая сеть, осуществляющая поиск волновым способом,
может привести к образованию большого числа избыточных запросов, и существуют проблемы с расширением сети при наличии множества одноранговых узлов. В структурированной пиринговой системе используются поисковые технологии, основанные на
распределенной хэш-таблице (DHT). Указанный способ поиска тесно связывает положение контента (или данных) с топологической структурой сети, что приводит к более высоким издержкам технического обслуживания, и такая сеть обеспечивает только поддержку
поиска и просмотра идентификатора и не обладает гибкостью поиска и просмотра на основе ключевых слов.
Очевидно, что в существующей системе IP-телевидения структура, основанная на режиме клиент/сервер, обладает неудовлетворительной расширяемостью; неструктурированная пиринговая сеть, обеспечивающая поиск волновым способом, обладает
неудовлетворительной расширяемостью; и структурированная пиринговая система характеризуется высокими издержками технического облуживания и отсутствием гибкости при
проведении поиска.
Ввиду недостатков предшествующего уровня техники, заключающихся в неудовлетворительной расширяемости системы IP-телевидения, в отсутствии гибкости при проведении поиска и просмотра, настоящее изобретение предусматривает создание способа
распределения контента, способа перенаправления сервисов и системы с целью повышения расширяемости системы IP-телевидения.
Для достижения вышеуказанной цели предусматривается создание способа распределения контента в соответствии с одной особенностью настоящего изобретения.
Способ распределения контента в системе IP-телевидения в соответствии с примером
осуществления настоящего изобретения состоит в том, что периодически получают отчет,
передаваемый узлом системы IP-телевидения, который содержит информацию о данном
узле, включающую, по меньшей мере, следующие сведения: о доступной полосе пропускания узла, о стабильности узла, об имеющемся объеме памяти и о частоте использования
узла; разделяют распределяемый контент на несколько сегментов; определяют для каждого сегмента один или несколько узлов для хранения сегмента в соответствии с информацией об узле; распределяют каждый сегмент на один или несколько узлов для хранения
сегмента.
5
BY 17653 C1 2013.10.30
Предпочтительно разделяют распределяемый контент на несколько сегментов, например на несколько идентичных или различающихся сегментов, при этом каждый сегмент
содержит несколько блоков, размер которых является регулируемым и/или конфигурируемым.
В указанном способе для определения узлов для хранения каждого сегмента находят
St
критерий согласия G i , соответствующий каждому узлу i системы IP-телевидения, из выражения:
EstimatedStayi (new )
Bw i (1 − R iusage )
Freq serve
i
+ βSt ×
− γ St ×
G = αSt ×
usage
max (EstimatedStay i (new ))
max (Bw i (1 − R i ))
max (Freq serve
)
i
St
i
1≤ i ≤ m
1≤ i ≤ m
1≤ i ≤ m
,
где St - имеющийся объем памяти узла i;
αSt - весовой множитель;
EstimatedStayi (new ) = α × EstimatedStayi (prev ) + β × CurrentStayi - стабильность узла i с учетом накопленных данных,
где α - весовой множитель;
EstimatedStayi (prev ) - первоначальное значение EstimatedStayi ;
β - весовой множитель;
CurrentStay i - длительность интервала времени соединения узла i с системой без прерывания или отключения;
m - количество узлов, участвующих в системе;
βSt - весовой множитель;
Bwi - доступная полоса пропускания узла i;
R iusage - средний коэффициент использования полосы пропускания, предоставляемой
узлом i, участвующим в системе;
γSt - весовой множитель;
Freqserve
i
- частота использования узла i с обработкой запросов IP-телевидения в течение заданного периода,
В данном способе выбирают критерии согласия, превышающие заданное пороговое
значение или не ниже его, и выбирают узлы, соответствующие критериям согласия, превышающим пороговое значение, в качестве узлов для хранения каждого сегмента; распределяют каждый сегмент на один или несколько выбранных узлов в соответствии с их
критериями согласия, определенных для хранения сегмента.
Для достижения вышеуказанной цели предусматривается создание способа перенаправления сервисов в соответствии с одной особенностью настоящего изобретения.
Способ перенаправления сервисов в системе IP-телевидения в соответствии с примером осуществления настоящего изобретения состоит в получении сообщения с запросом
на контент в виде запроса на скачивание или сбрасывание контента; определении одного
или нескольких узлов системы для хранения отдельных сегментов контента; добавлении
идентификаторов одного или нескольких узлов к узловому списку, скачивающему или
сбрасывающему контент, или выборе одного или нескольких узлов для скачивания или
сбрасывания блоков данных, по меньшей мере, в соответствии с порядком узлов, циклически скачивающих или сбрасывающих сегменты или один или несколько блоков данных
в сегменте с одного или нескольких узлов, причем сегменты или блоки, выделенные для
каждого узла в каждом цикле, являются идентичными, или выделенные сегменты или блоки пропорциональны полосе пропускания узла, или скачивают или сбрасывают каждый из
сегментов или один или несколько блоков данных в сегментах с одного или нескольких
узлов в соответствии с полосой пропускания одного или нескольких узлов для хранения
сегмента; в скачивании или сбрасывании отдельных сегментов контента из одного или не-
6
BY 17653 C1 2013.10.30
скольких узлов, и получении полного контента в соответствии с отдельными сегментами
контента.
В данном способе операция по скачиванию или сбрасыванию отдельных сегментов
контента с одного или нескольких узлов осуществляется по меньшей мере одним из следующих путей: скачивают или сбрасывают отдельные сегменты контента путем суммирования полосы пропускания узлов, или записывают в соответствующие ячейки
предварительно заданной циклической кэш-памяти скачанные или сброшенные отдельные
сегменты контента и/или один или несколько блоков данных отдельных сегментов, причем каждый сегмент содержит несколько блоков данных, размер которых является регулируемым и/или конфигурируемым.
Предпочтительно в способе дополнительно осуществляют выбор альтернативных узлов вместо одного или нескольких отказавших узлов, скорость приема которых ниже
предварительно заданного порогового значения, и скачивают или сбрасывают с альтернативных узлов сегменты и/или блоки данных, хранящиеся в соответствующих отказавших
узлах.
Для достижения вышеуказанной цели предусматривается создание системы перенаправления сервисов в соответствии с другой особенностью настоящего изобретения.
Система перенаправления сервисов в системе IP-телевидения в соответствии с примером осуществления настоящего изобретения содержит один или несколько кластеров узлов, причем каждый из кластеров содержит: центральный узел, сконфигурированный для
хранения всего распределяемого контента и для распределения контента; один или несколько подчиненных узлов с иерархической структурой, непосредственно соединенных с
центральным узлом или соединенных с узлом верхнего уровня подчиненности узла и
сконфигурированных для хранения отдельных сегментов контента, распределяемого системой, для определения одного или нескольких узлов скачанного или сброшенного контента при приеме сообщения о запросе, соответствующего скачанному или сброшенному
контенту, для добавления идентификаторов одного или нескольких узлов к узловому списку, скачивающему или сбрасывающему контент; или для назначения одного или нескольких узлов для скачивания или сбрасывания блоков данных, например, в
соответствии с порядком узлов, циклически скачивающих или сбрасывающих сегменты
или один или несколько блоков данных в сегменте с одного или нескольких узлов, причем
сегменты или блоки, выделенные для каждого узла в каждом цикле, являются идентичными или выделенные сегменты или блоки пропорциональны полосе пропускания узла;
для скачивания или сбрасывания каждого из сегментов или одного или нескольких блоков
данных в сегментах с одного или нескольких узлов в соответствии с полосой пропускания
одного или нескольких узлов для хранения сегмента, для скачивания или сбрасывания отдельных сегментов контента с одного или нескольких определенных узлов и для получения полного контента в соответствии с отдельными сегментами контента.
Предпочтительно центральный узел и подчиненные узлы образуют структуру древовидной топологии или структуру сетчатой топологии.
В данном способе каждый из вышеуказанных узлов содержит: таблицу категорий контента, сконфигурированную для хранения таблицы соответствий между каждой категорией и агентскими узлами кластера, к которому относится категория, причем категория
является информацией каталога, в которой классифицируется весь контент, и агентские
узлы используются для поддержания и управления узлами, содержащими один или несколько типов контента каталога в категориях, модуль памяти, сконфигурированный для
хранения сегментов локально хранимого контента; и ссылочный модуль, сконфигурированный для хранения ссылок на другие узлы.
В данной системе ссылочный модуль содержит субмодуль родительских ссылок, сконфигурированный для хранения ссылки на узел верхнего уровня, и субмодуль субссылок,
сконфигурированный для хранения ссылки на узел нижнего уровня.
7
BY 17653 C1 2013.10.30
Предпочтительно узлы являются агентскими узлами, причем система дополнительно
содержит таблицу индексов контента, сконфигурированную для поддержания узлов для
хранения контента и адресной информации, соответствующей узлам; таблицу наложенных ссылок, сконфигурированную для хранения адресной информации одного или нескольких агентских узлов, имеющих идентичную категорию в других кластерах, причем
категория является информацией каталога, классифицирующей весь контент.
Способ распределения контента, способ перенаправления сервисов и система в каждом из примеров осуществления настоящего изобретения позволяют распределить контент в большом масштабе и определить местоположение предоставления медиауслуг в
Интернете. В вышеуказанных одном или нескольких примерах осуществления настоящего
изобретения в отношении системы IP-телевидения контент разделяют на несколько различных сегментов, и указанные сегменты могут храниться в нескольких узлах системы.
Сегменты популярных (т.е. контент, который пользователи наиболее часто щелкают мышью) программ (или исключительно важные сегменты) могут храниться в нескольких
различных узлах, и при направлении пользователями запроса на просмотр соответствующих программ исключается необходимость завершать скачивание всех запрошенных сегментов до воспроизведения информации. Сегмент видеофайла может быть дополнительно
разделен на несколько блоков, что позволяет параллельно принимать различные части
сегмента из различных запоминающих узлов с целью суммирования (накопления) входящих полос пропускания из различных запоминающих узлов. Во время сеанса потокового
мультимедиа несколько запоминающих узлов поддерживают один запрос IP-телевидения
и способны использовать определенные имеющиеся объем памяти и входящую полосу
пропускания в отношении пользовательского терминала для поддержки сервисного запроса IP-телевидения.
В вышеуказанных одном или нескольких примерах осуществления настоящего изобретения контент разделяют на несколько сегментов и распределяют между несколькими
различными запоминающими узлами, что представляет собой отличие от существующей
технологии, в соответствии с которой берется весь контент или файл в виде блока и обеспечивается его хранение в определенном узле сервера, при этом обеспечивается предоставление ответа на запросы пользователей по отдельности на нескольких узлах,
эффективное повышение расширяемости системы IP-телевидения и выполнение таких
функций, как направление медиауслуг IP-телевидения.
Ниже следует подробное описание других характеристик и преимуществ настоящего
изобретения, которые, более того, частично очевидны из описания или понятны на основе
реализации настоящего изобретения. Цель и иные преимущества настоящего изобретения
могут быть достигнуты и реализованы на основе структуры, в частности, изложенной в
письменном описании, в формуле изобретения и на прилагаемых фигурах.
Приведенные в настоящем описании фигуры предназначены для более полного понимания настоящего изобретения и являются частью описания изобретения, в котором поясняется настоящее изобретение на примерах осуществления настоящего изобретения без
ненадлежащего ограничения объема настоящего изобретения. К описанию прилагаются
фигуры, на которых:
фиг. 1 - блок-схема системы IP-телевидения для реализации пиринговой технологии
путем использования системы перенаправления сервисов в соответствии с примером осуществления настоящего изобретения;
фиг. 2 - структурная блок-схема каждого узла на фиг. 1;
фиг. 3 - технологическая схема способа распределения контента в соответствии с примером осуществления настоящего изобретения;
фиг. 3A - блок-схема примера осуществления разделения контента на сегменты на
этапе 32, приведенного на фиг. 3;
8
BY 17653 C1 2013.10.30
фиг. 4 - блок-схема кластера древовидной структуры, образованного системой, в соответствии с примером осуществления настоящего изобретения;
фиг. 5 - блок-схема внутренней структуры системы и каждого узлового устройства в
соответствии с примером осуществления настоящего изобретения;
фиг. 6 - блок-схема, иллюстрирующая, что система в соответствии с примером осуществления настоящего изобретения применима к системе IP-телевидения пиринговой технологии для реализации оверлейного сегмента категории искомого и просматриваемого
контента;
фиг. 7 - технологическая схема способа в соответствии с примером осуществления настоящего изобретения;
фиг. 7A - блок-схема очередности распределения для применения способа в соответствии с примером осуществления настоящего изобретения для реализации скачивания/сбрасывания блоков данных на основе цикличного метода обслуживания;
фиг. 7B - блок-схема очередности распределения для применения способа в соответствии с примером осуществления настоящего изобретения для реализации скачивания/сбрасывания блоков данных на основе полосы пропускания;
фиг. 7C - блок-схема очередности распределения для применения способа в соответствии с примером осуществления настоящего изобретения для реализации скачивания/сбрасывания блоков данных на основе сетевого способа;
фиг. 8 - блок-схема применения способа в соответствии с примером осуществления
настоящего изобретения для реализации передачи блоков данных пользователям с использованием суммарной полосы пропускания;
фиг. 9 - блок-схема применения способа в соответствии с примером осуществления
настоящего изобретения для реализации передачи блоков данных пользователям с использованием цикличного метода обслуживания;
фиг. 10 - блок-схема расширенной структуры системы IP-телевидения, в которой систему в соответствии с примером осуществления настоящего изобретения применяют к пиринговой технологии.
Обзор функций.
Как указывалось выше, исходя из того факта, что существующая система IP-телевидения основана на режиме клиент/сервер, возможности ее расширения являются ограниченными и издержки на техническое обслуживание неструктурированной пиринговой
сети, обеспечивающей проведение поиска в волновом режиме, являются высокими, примеры осуществления настоящего изобретения предусматривают создание схемы распределения контента, применимой к системе IP-телевидения, которая позволяет предоставлять ответ на запросы пользователей соответственно на нескольких узлах и выполнять
функции, такие как направление медиауслуг IP-телевидения путем разделения распределяемого контента на несколько сегментов; определения для каждого сегмента контента
одного или нескольких узлов для хранения сегмента и распределения сегмента на один
или нескольких узлов для хранения сегмента, что является отличием от существующей
технологии, в рамках которой весь контент или файл хранится в виде блока в определенном узле сервера.
Описание предпочтительных примеров осуществления настоящего изобретения приведено со ссылками на прилагаемые фигуры. Очевидно, что описанные в настоящем патенте предпочтительные примеры осуществления настоящего изобретения используются
исключительно для описания и пояснения настоящего изобретения и никоим образом не
ограничивают настоящее изобретение.
В соответствии с примерами осуществления настоящего изобретения предусматривается создание системы перенаправления сервисов, способа распределения контента, способа перенаправления сервисов и устройства перенаправления сервисов. Подробное
9
BY 17653 C1 2013.10.30
описание каждого из примеров осуществления настоящего изобретения приведено со
ссылками на фиг. 1-10.
Пример осуществления системы.
В соответствии с примером осуществления настоящего изобретения предлагается система IP-телевидения.
На фиг. 1 проиллюстрирована блок-схема системы IP-телевидения для реализации пиринговой технологии путем использования системы для перенаправления сервисов в соответствии с примером осуществления настоящего изобретения. На фиг. 1 проиллюстрирована система IP-телевидения 10 на основе пиринговых систем. Система 10 включает
ряд узлов, таких как узлы 12A-12H на фиг. 1, в которой каждый узел является устройством, способным производить вычисления и хранить данные. Например, узлы 12A-12H могут представлять собой персональный компьютер, автоматизированное рабочее место,
абонентский приемник-декодер, сервер мультимедийного потока, другое сетевое устройство и т.д. Узлы 12A-12H взаимно соединены с помощью системы передачи данных 14, и
узлы 12A-12H способны обмениваться информацией и контентом через сеть 14. На фиг. 1
проиллюстрированы только восемь узлов, но количество узлов не ограничено восемью
узлами, и система 10 может включать большее количество узлов.
На фиг. 2 проиллюстрирована структурная блок-схема каждого узла, приведенного на
фиг. 1. Как показано на фиг. 2 на примере узла 12A, узел содержит процессор для обработки данных 16A, сетевой интерфейс 16B, запоминающее устройство 16C, таблицу категорий 16D и устройство воспроизведения 16E, в котором процессор для обработки данных
16A выполняет таблицу категорий 16D и получает информацию об адресах узлов соответствующей категории, при этом конкретная процедура обработки будет подробно приведена ниже. Запоминающее устройство 16C может хранить сегменты, распределенные
системой; и узел обеспечивает хранение отношений маршрутизации между указанным
узлом и другими узлами в таблице ссылок 16D, при этом часть узлов или каждый из всех
узлов в системе на фиг. 1 может быть снабжен устройством воспроизведения 16E.
Контент IP-телевидения не может быть использован системой 10 до тех пор, пока он
не будет распределен в систему 10. Специалистам в данной области техники должно быть
очевидно, что контент или мультимедийный контент в каждом примере осуществления
настоящего изобретения может представлять собой любой вид данных. Например, при
применении в системе IP-телевидения мультимедийный контент может представлять собой следующие виды контентов или их сочетания:
1) видеоконтент (например, фильмы, телевизионные программы, телевизионное вещание в прямом эфире и т.д.);
2) аудиоконтент (например, музыка и т.д.);
3) мультимедийный контент других типов.
Пример осуществления способа.
В соответствии с примером осуществления настоящего изобретения предусматривается способ для распределения контента.
На фиг. 3 приведена технологическая схема способа распределения контента в соответствии с примером осуществления настоящего изобретения. Как показано на фиг. 3,
данный пример осуществления настоящего изобретения включает следующие процессы
(этап S32 - этап S36):
этап S32 - разделение распределяемого контента на несколько сегментов;
этап S34 - определение в отношении каждого сегмента одного или нескольких узлов
для хранения отдельных сегментов;
этап S36 - распределение сегментов на один или несколько узлов для хранения сегмента.
В данном способе вышеуказанный этап S32 проиллюстрирован на фиг. 3A. На фиг. 3A
приведена блок-схема примера осуществления разделения контента на сегменты на этапе
10
BY 17653 C1 2013.10.30
32, приведенном на фиг. 3. Как показано на фиг. 3A, распределяемый контент представлен
в виде файла 31. На этапе 32 обеспечивается разделение файла 31 на несколько сегментов
31A (или фрагментов) с помощью процессора фрагментирования, в котором сегменты могут иметь одинаковый или неодинаковый размер. Каждый сегмент 31A также может содержать несколько блоков 31B, размер которых является регулируемым или
конфигурируемым.
На этапе S34 один или несколько узлов (таких как несколько узлов из узлов 12A-12H
на фиг. 1) выбирают для хранения каждого сегмента 31A. При выполнении этапа S36 система сможет распределить отдельные сегменты контента на различные выбранные узлы,
при этом различные узлы могут получить один или несколько сегментов.
При использовании способа распределения контента данного примера осуществления
все сегменты 31A мультимедийного файла 31 хранятся в узлах системы. Предпочтительно, чтобы каждый из сегментов 31A хранился в нескольких узлах системы.
Процесс в примере осуществления способа распределения контента на фиг. 3 подробно описан в сочетании с описанием системы, приведенной на фиг. 1.
Узлы 12A-12H в системе 10 могут предоставить определенную полосу пропускания
внешнего канала и объем памяти для хранения файлов для системы 10 с целью реализации распределения контента в системе 10. Допустив, что полоса пропускания внешнего
канала и объем памяти для хранения файлов, предоставленные i-м узлом Pi, являются Bwi
и Sti соответственно, определение того, какой узел хранит сегменты 31A текущего мультимедийного файла, может быть основано на многих факторах. Например, определение
одного или нескольких узлов для хранения сегментов 31A может быть основано на одном
или нескольких нижеприведенных факторах, а именно: имеющаяся полоса пропускания
Bwi узлов, имеющийся объем памяти Sti узла, стабильность узла и интенсивность текущего использования узла системой, т.е. частотность использования узла.
Возможность выбора узла для хранения определенного сегмента 31A возрастает с увеличением имеющихся полосы пропускания и места в памяти узла, а также стабильности
узла и снижается с увеличением интенсивности, с которой узел используется системой 10,
а именно возможность того, что узел определен для хранения сегмента 31A прямо пропорциональна имеющейся полосе пропускания, имеющегося объема памяти узла и стабильности узла и обратно пропорциональна частотности использования узла.
Ввиду того что имеющуюся полосу пропускания Bwi узла и имеющийся объем памяти
Sti узла несложно определить, ниже вкратце приведена процедура измерения двух других
факторов для определения узла для хранения сегмента 31A:
1. Измерение стабильности узла.
Один из вариантов измерения стабильности узла i основан на длительности периода: в
течение указанного периода узел (такой как любой узел из узлов 12A-12H на фиг. 1) постоянно соединен с системой 10 без прерывания или отключения. Предпочтительно, чтобы стабильность каждого узла можно было рассчитать по нижеприведенной формуле 1:
(1)
EstimatedStayi (new) = α × EstimatedStayi (prev) + β × CurrentStayi,
где CurrentStayi - временной интервал длительности или небарьерной длительности узла i
в системе 10 при подсоединении узла i к системе 10; EstimatedStayi(new) - измерение стабильности узла Pi с учетом накопленных данных узла i, EstimatedStayi (prev) - первоначальное значение EstimatedStayi, α и β - весовые множители, α + β = 1.
2. Частотность использования узла.
Интенсивность текущего использования узла i системой может быть измерена по двум
usage
нижеприведенным параметрам: средний коэффициент использования R i
полосы пропускания, предоставленной узлом i с момента участия узла i в системе, частотность
Freqserve
i
, с которой узел обрабатывает запросы IP-телевидения в текущем периоде.
11
BY 17653 C1 2013.10.30
После определения имеющейся полосы пропускания Bwi, имеющегося объема памяти
Sti, стабильности и частотности использования каждого узла в системе могут быть определены один или нескольких узлов для хранения сегментов контента (файла).
Предпочтительно, чтобы возможность того, что узел i выбран для хранения сегмента
St
31A мультимедийного файла 31 могла быть основана на измерении значения G i , при
этом в дальнейшем значение GSt называют "критерием согласия". Например, для конкретSt
ной реализации ниже приведена формула для расчета G i :
G Sti = αSt ×
(
)
EstimatedStayi (new )
Bw i 1 − R iusage
Freq serve
i
+ βSt ×
−
γ
×
,
St
usage
max (EstimatedStay i (new ))
max (Bw i (1 − R i ))
max (Freq serve
)
i
1≤ i ≤ m
1≤ i ≤ m
(2)
1≤ i ≤ m
где αSt, βSt, γSt - весовые множители, m - количество узлов, участвующих в системе.
Исходя из критерия согласия вышеприведенной формулы, можно получить информацию о том, что узел, обладающий более высокой стабильностью, имеющий более высокую допустимую полосу пропускания и более короткий период использования, будет
St
обладать более высоким значением G i , и узел с более высоким значением GSt может быть
взят в качестве узла-кандидата для хранения каждого сегмента 31A файла.
Узел с распределяемым контентом, например узел, предусматривающий распределение файла 31, ведет поиск значений GSt других узлов, определяет другие узлы (один или
несколько) с более высокими значениями GSt и распределяет сегмент 31A по указанным
определенным узлам. При конкретной реализации центральный узел или региональный
центральный узел может быть установлен в системе, проиллюстрированной на фиг. 1, и
наделен ответственностью за поддержание и управление другими несколькими узлами,
расположенными на минимальном расстоянии от (регионального) центрального узла, другие несколько узлов за исключением центрального узла сами осуществляют сбор и расчет
значений GSt и направляют указанные рассчитанные значения GSt на (региональный) центральный узел. (Региональный) центральный узел поддерживает структуру данных и связывает каждый узел с соответствующим значением GSt, при этом структура данных может
включать перечень, содержащий классификацию в соответствии со значениями GSt. После
получения запроса (региональным) центральным узлом от распределяющего контент узла,
например узла j, (региональный) центральный узел может выбрать узел Nc с максимальным значением GSt и направить обратную информацию определенного узла Nc на узел j,
который должен осуществить распределение контента.
Предпочтительно, чтобы узлы 12A-12H системы 10 были организованы в одну или несколько кластерных структур. Каждый кластер содержит центральный узел, ответственный за накопление значений GSt соответствующих узлов в кластере, управление которым
осуществляется указанным центральным узлом. В данном случае центральный узел каждого кластера, кроме того что он определяет узел, имеющий максимальное значение GSt в
своем собственном кластере, может также переслать запросы в данном кластере на другие
центральные узлы. Для распределения контента запрашиваемый узел, например узел j,
может получить информацию определенного узла Nc, направленную центральным узлом
после ожидания в течение определенного периода времени (ему разрешено устанавливать
максимальное время ожидания), узел j может распределить сегмент 31A на определенные
узлы на основе порядка значений GSt определенных узлов.
Предпочтительно, чтобы при конкретной реализации кластерной структуры данная
структура являлась древовидной структурой, проиллюстрированной на фиг. 4.
Предпочтительно, чтобы каждый узел периодически передавал сообщение такта состояния (т.е., сообщение с отчетом) на свой узел верхнего уровня (далее по тексту называемый родительский узел). При этом сообщение такта состояния может включать по
usage
serve
меньшей мере одно из следующих значений: EstimatedStay , Bw , R i
и Freqi . Родиi
12
i
BY 17653 C1 2013.10.30
тельский узел собирает информацию, включающую сообщение такта состояния узла нижнего уровня и свое собственное сообщение такта состояния, и периодически направляет
накопительный (сводный) отчет на свой собственный родительский узел. Наконец, с помощью вышеуказанного способа центральный узел будет располагать текущей или последней информацией, достаточной для расчета значения GSt каждого узла, центральный
узел может классифицировать узлы в порядке убывания значений GSt и (или) хранить результаты в виде перечня классифицированных узлов-кандидатов, и центральный узел
поддерживает перечень классифицированных узлов-кандидатов на основе последней информации узлов.
Дополнительно к сохранению значений GSt узлов в том случае, если сообщение такта
состояния определенного узла не получено в течение заданного периода времени, может
быть проведено тестирование узла для определения того, покинул ли узел систему ввиду
определенной причины.
Как показано на фиг. 3 и 3A, после определения на этапе S34 узлов (далее по тексту запоминающих узлов) для хранения сегментов распределяемого контента каждый сегмент
31A циклически распределяется между указанными запоминающими узлами. При этом
способ распределения сегментов включает следующее: назначение первоначального сегмента для узла-кандидата с максимальным значением GSt, далее распределение второго
сегмента на узел-кандидат со вторым наиболее высоким значением GSt и т.д. аналогичным
образом. После завершения выделения (назначения) всех сегментов узел, распределяющий контент, направляет сегмент 31A на каждый выделенный, и узлы хранят полученный
сегмент 31A в запоминающем устройстве 16C.
Учитывая тот факт, что после того, как пользователь просмотрит первоначальный сегмент, предпочтительно, чтобы пользователь не продолжал просматривать следующие
сегменты контента, если пользователь не заинтересован в просматриваемом контенте; и, с
другой стороны, тот факт, что, если пользователь не имеет времени для дальнейшего просмотра контента после просмотра нескольких первоначальных сегментов, предпочтительно, чтобы пользователь не просматривал контент следующих сегментов, количество
копий первоначального сегмента или нескольких первоначальных сегментов распределяемого контента (или называемого файлом), хранящегося в системе, не должно превышать количество копий следующих сегментов контента, то есть несколько запоминающих
узлов выбирают для хранения первоначального сегмента или нескольких первоначальных
сегментов файла.
В соответствии с примером осуществления способа на фиг. 3 распределяемый контент
может быть разделен на несколько сегментов (такие как сегменты 31A на фиг. 3A), и каждый сегмент хранится в одном или нескольких узлах в системе. Вышеуказанный пример
представляет способ распределения мультимедийного сегмента (MSD), обеспечивающий
выбор того, какие сегменты следует хранить и в каких узлах, путем комбинирования такой информации как стабильность узла, допустимая входящая полоса пропускания и последняя потоковая сервисная нагрузка/частота, и обеспечивающий распределение каждого
сегмента файла по различным узлам для хранения.
Ниже приведено краткое описание способа распределения контента со ссылками на
фиг. 1-3.
Как показано на фиг. 1-3, при поиске и получении пользователем файла 31 с помощью
системы 10 и при воспроизведении файла на узле 12A процессор для обработки данных
16A может разрешить хранение ряда сегментов 31A мультимедийного файла 31 в запоминающем устройстве 16C. Указанные хранящиеся сегменты могут быть использованы и
загружены другими узлами в системе 10, в частности, сегменты контента ряда популярных программ (такие как файлы, которые пользователи наиболее часто щелкают мышью)
необходимо хранить в системе 10, и с учетом такого фактора, как осуществление просмотра пользователем на практике, несколько первоначальных сегментов 31A мультиме-
13
BY 17653 C1 2013.10.30
дийного контента, а не последующие сегменты контента, вероятней всего, будут выбраны
для хранения в системе 10.
В некоторых случаях все сегменты контента файла хранятся в запоминающем устройстве 16C в течение, по меньшей мере, определенного периода времени. Может быть дано
разрешение на быструю пересылку или воспроизведение сегментов, хранящихся в локальном запоминающем устройстве 16C, при условии хранения сегментов в принимающих узлах, контент (например, видео) может быть воспроизведен на принимающих
узлах - отсутствует необходимость скачивания сегментов - каждый из узлов может быть
сконфигурирован с временным интервалом, в течение которого дается разрешение на воспроизведение программы.
В некоторых случаях полная копия (включающая все сегменты файла) файла контента
31 может храниться в выбранных узлах (например, в постоянно подключенных узлах), являющихся исключительно стабильными. Только в том случае, когда во всех других узлах
отсутствует запрашиваемый пользователем контент, запрос пользователя перенаправляется на данный тип узлов (такой как центральный узел 42 на фиг. 4), который обеспечивает
наличие "сида" (отдаваемого файла) контента программы.
На фиг. 4 проиллюстрирована блок-схема кластера древовидной структуры, образованного системой перенаправления сервисов в соответствии с примером осуществления
настоящего изобретения. Как показано на фиг. 4, за исключением центрального узла другие узлы либо непосредственно связаны с центральным узлом, либо связаны с центральным узлом через промежуточные узлы. На фиг. 4 кластер содержит только один
центральный узел 42, несколько узлов, непосредственно связанных с центральным узлом,
называются региональными центральными узлами 43, узлы самого нижнего уровня называются пограничными узлами 44, расположенными на минимальном расстоянии от пользователей, при этом региональными центральными узлами 43 являются узлами верхнего
уровня или родительскими узлами пограничных узлов 44. В данном примере осуществления настоящего изобретения организационная структура кластера находится в логической
схеме и относится исключительно к маршрутизации, в соответствии с маршрутизацией
пограничные узлы и центральные узлы могут устанавливать связь между собой. Структура сети или географическое положение узлов не обязательно оказывают влияние на расположение каждого узла в кластере.
В примере осуществления настоящего изобретения на фиг. 4 центральный узел 42
предназначен для хранения всего распределяемого контента и для распределения контента, который может относиться к описанию распределения контента в соответствии с примером осуществления способа настоящего изобретения на фиг. 3 и, в частности, на
фиг. 3A; региональный центральный узел 43 предназначен для поддержания информации
и управления информацией (такой как сообщения такта состояния, направляемые пограничными узлами) регионального центрального узла 43 и каждого пограничного узла 44 в
регионе, для хранения контента, распределенного центральным узлом, и для хранения соответствующего отношения (например, таблица индексов контента, с помощью которой
может быть осуществлен поиск узла, хранящего определенный контент) между каждым
пограничным узлом 44 и содержащимся в них контентом, т.е., хотя региональный центральный узел может не хранить данные о сегментах определенного контента, узел, хранящий определенный контент, может быть обнаружен путем просмотра
соответствующего отношения между контентом и пограничным узлом; пограничный узел
44 предназначен для периодического сообщения информации о себе, для хранения распределенного на него контента и для отправки уведомления на региональный центральный узел в том случае, когда определенный контент программы не хранится локально, а
также для уведомления пользователя о необходимости проведения скачивания контента
данных с узла, по которому велся поиск, в том случае, если региональный центральный
узел не обнаружил запоминающий узел контента программы. При этом региональный
14
BY 17653 C1 2013.10.30
центральный узел 43 также может включать региональный центральный узел 43-1 нижнего уровня и образовывать иерархическую структуру.
В частности, система перенаправления сервисов может иначе ограничивать структуру
и масштаб кластера. Например, необходимо, чтобы все узлы, принадлежащие определенному кластеру, являлись узлами N уровней или, по большей мере, N хопов (единица измерения длины маршрута в числе промежуточных узлов), и N уровни или N хопы
рассматриваются как ограничение объема или размера кластера. Количество уровней от
одного узла до центрального узла через древовидную структуру рассматривается как область действия узла.
В процессе конкретной реализации кластер может быть сформирован на основе двух
следующих различных способов:
1. Кластер формируется, принимая запрос узла на участие в существующем кластере.
Например, интерактивный узел i может установить связь с узлом j кластера, запросив
участие в кластере, и, если область действия узла j меньше объема кластера (например, не
обеспечивается достижение N уровней), может поступить запрос на узел i для участия в
кластере, к которому принадлежит узел j, и для функционирования в качестве подузла узла j.
2. Кластер формируется путем создания нового кластера.
Например, узел i запрашивает участие в кластере, к которому принадлежит узел j, и,
если область действия узла j равна объему кластера (например, обеспечивается достижение N уровней), запрашивающий узел i может создать новый кластер (например, указанный узел становится центральным узлом вновь созданного кластера).
Предпочтительно, чтобы различные кластеры обладали идентичным или аналогичным
размером и чтобы обеспечивалось управление размером, в частности, размер может регулироваться с помощью нижеприведенных способов:
1. Различные кластеры могут иметь различные объемы кластера, и, как только кластер
достигает объема кластера, он может отказывать запросу узла, участвующего в кластере
(до тех пор, пока один или несколько существующих узлов, принадлежащих кластеру, не
покинут кластер).
2. Устанавливается максимальный предел "ветви" кластера, когда один узел направляет запрос на участие в кластере пограничному узлу (т.е. количество уровней которого
равно максимальному предельному значению количества уровней кластера) кластера, и,
если отсутствует необходимость в создании нового кластера, пограничный узел может переслать запрос на свой родительский узел, и, если объем ветви кластера меньше максимального предела "ветви" кластера, узел, направляющий запрос, может участвовать в
кластере и стать одной ветвью кластера, при этом, чем выше установлено максимальное
предельное значение "ветви" кластера, тем меньше кластеры, которые необходимо создать; каждый кластер может иметь несколько ветвей за счет максимального предела "ветви" кластера, при этом повышается вероятность того, что запрашивающий узел будет
участвовать в существующем кластере, что может привести к снижению вероятности образования кластеров с малыми объемами.
3. Для того чтобы стать центральным узлом, необходимо удовлетворить ряд функций,
которыми должен обладать центральный узел, например: наличие вычислительных способностей, широкой полосы пропускания, более длительного онлайнового времени и т.д.
4. Необходимо, чтобы центральный узел каждого кластера периодически проводил
проверку масштаба кластера, и, если масштаб (объем кластера/ветвей кластера) кластера
меньше, чем пороговое значение, центральный узел может попытаться найти другой приемлемый кластер и включить его в приемлемый кластер.
На фиг. 5 приведена блок-схема внутренней структуры системы перенаправления сервисов и каждого узлового устройства в соответствии с примером осуществления настоящего изобретения. На фиг. 5 детализирована внутренняя структура каждого узла,
15
BY 17653 C1 2013.10.30
приведенного на фиг. 4. Как показано на фиг. 5, узлы, которые назначаются для поддержания и управления индексами заранее определенного контента категории, называются
"агентскими узлами" определенной категории. Категория относится к контенту сети и
может быть включена без ограничения в категорию, описывающую мультимедиа. Например, категории фильмов, хранящихся в системе, подразделяются на "экшн", "комедийные", "исторические" фильмы и т.д.
В системе, проиллюстрированной на фиг. 5, после получения системой сообщения запроса, направленного пользователем, предусматривается определение узлов, в которых
хранился определенный сегмент файла запрошенного контента в системе, и хранящийся
сегмент 55 используют для хранения именно тех сегментов контента категории, которые
локально хранились в узле. Например, поочередно 1-я, 2-я … категории могут быть созданы для каждого сегмента определенного контента файла для представления каждого сегмента файла. В системе, проиллюстрированной на фиг. 5, после получения системой
направленных пользователем сообщений, требующих скачивания определенного файла,
система сначала осуществляет поиск узлов, включающих данные первого сегмента файла,
проводит проверку того, содержит ли хранящийся сегмент 55 каждого узла 1-ю категорию
файла, далее проводит скачивание данных из найденных узлов, затем проводит скачивание данных второго сегмента файла из найденного узла, содержащего 2-ю категорию файла и т.д. Кроме того, в соответствии с очередностью сегментов категории также могут
быть основаны на факторе, например, категории могут быть основаны на двух факторах: в
соответствии с классификацией контента и в соответствии с очередностью (порядком)
сегментов.
Агентские узлы могут быть классифицированы в соответствии с категориями, например, агентский узел каждой категории поддерживает перечень ключевых слов (далее по
тексту - таблица индексов контента) в отношении определенного объема или всего объема
информации, относящейся к категории или распределенной в категорию. Перечень индексов контента включает структуру данных, относящуюся к перечню всех ключевых слов
контента определенной категории. Например, в таблице индексов контента каждая сущность (объект) включает следующую информацию: категория, перечень ключевых слов и
узел. При этом категория представляет категорию, в которую был распределен контент;
перечень ключевых слов включает одно или несколько ключевых слов, совпадающих с
контентом; узел указывает на то, что информация хранится в узле. Например, сущность
<CA, KL, Nx> указывает на то, что узел Nx включает контент, относящийся к категории
CA и совпадает с ключевым словом KL, в частности, может иметь место случай, когда
узел Nx включает контент, относящийся к категории "экшн" и совпадать с ключевым словом "герой". Таблица индексов контента только поддерживается в агентском узле.
Система перенаправления сервисов на фиг. 5 имеет кластерную структуру, и кластер
имеет центральный узел 53A, региональный центральный узел 53B, два пограничных узла
53C и 53D и два агентских узла 53E и 53F, при этом каждый узел содержит таблицу категорий 54 и локально хранящийся сегмент 55, таблица категории 54 предназначена для
хранения таблицы соответствий между каждой категорией и агентскими узлами кластера,
к которому относится категория. Каждая сущность в таблице категорий может включать
следующие данные: <категория, агентский узел, временная метка>, например, сущность
<CA, Nx, Ti> указывает на то, что в момент Ti агентский узел Nx связан с категорией CA.
С помощью таблицы категорий 54 узел может определить местоположение агентского узла категории, соответствующей запрашиваемому контенту.
В кластерной топологии, проиллюстрированной на фиг. 5, все другие узлы, содержащие подузлы (узлы нижнего уровня), содержат ссылку 57A на свои подузлы, все другие
узлы, за исключением центрального узла 53A, содержат ссылку 57B на свой родительский
узел (узел верхнего уровня). Каждый агентский узел 53E и 53F включает одну или несколько таблиц индексов контент 59A и одну или несколько таблиц наложенных ссылок
16
BY 17653 C1 2013.10.30
59B, при этом таблица наложенных ссылок 59B указывает адресную информацию одного
или нескольких агентских узлов, имеющих идентичные категории в других кластерах.
Ниже представлен категорийный оверлей (наложение категорий), относящийся к таблице наложенных ссылок.
В ряде случаев узлы в пиринговой сети могут быть разделены на кластерные структуры. Каждый кластер может включать один, два или несколько узлов. Различные кластеры
могут включать различное количество узлов. Каждый кластер включает несколько агентских узлов, поддерживающих различные категории. Единичный узел может являться
агентским узлом нескольких категорий. Агентские узлы категорий, относящиеся к различным кластерам, могут быть взаимосвязаны друг с другом, и отношения взаимосвязи
могут быть образованы ссылками между агентскими узлами различных кластеров. Ссылка
включает адресную запись или иную контактную информацию агентских узлов категории,
поддерживаемой другими узлами. В ряде конкретных случаев каждый агентский узел содержит перечень наложенных ссылок, в котором содержится многоадресная информация
агентских узлов категории в других кластерах. Такая взаимосвязь между агентскими узлами различных кластеров называется "категорийным оверлеем". Может быть создан
оверлей нескольких категорий, и каждый категорийный оверлей соответствует категории.
Ввиду того что различные кластеры могут включать различное количество узлов, определенный узел может относиться к нескольким категорийным оверлеям.
На фиг. 6 проиллюстрирована блок-схема системы перенаправления сервисов в соответствии с примером осуществления настоящего изобретения, и система применима к
системе IP-телевидения пиринговой технологии для реализации категорийного оверлея
найденного и просмотренного контента. На фиг. 6 приведен пример, в котором узлы организованы в кластер 60A, кластер 60B и кластер 60C и в несколько категорийных оверлеев
62A, 62B и 62C. В каждом кластере агентский узел распределен на одну из трех определенных категорий: Ca1, Ca2 и Ca3. Например, в кластере 60A агентский узел N1 взаимосвязан с категорией Ca2; в кластере 60B агентский узел N2 взаимосвязан с категорией Ca2
и в кластере 60C агентский узел N3 взаимосвязан с категорией Ca2. Так как все узлы N1,
N2, N3 являются агентскими узлами категории Ca2, три указанных агентских узла могут
быть взаимосвязаны друг с другом и образовывать категорийный оверлей 62B. Аналогичным образом, категорийные оверлеи 62A и 62C могут быть сформированы для агентских
узлов категорий Ca1 и Ca3 соответственно.
В примере осуществления настоящего изобретения на фиг. 5 родительские узлы и подузлы образуют топологию кластера, и таблица наложенных ссылок 59B образует топологию категорийного оверлея, т.е. топологию между различными кластерами. Для
осуществления запроса на предоставление информации из системы узел может послать
сообщение запроса на поиск определенного контента, запрос включает категорию, по которой ведется поиск, и перечень ключевых слов, связанных с информацией, поиск которой ведется в системе. Путем поиска категорий в локально хранящейся таблице категории
54 узел (т.е. запрашивающий узел), направляющий запрос с заданием на поиск, может определить местоположение агентских узлов, связанных с категориями, и направляет сообщение запроса агентским узлам, связанным с категориями. Агентские узлы получают
запрос с заданием на поиск, запрашивают информацию, совпадающую с ключевыми словами в перечне ключевых слов из таблицы индексов контента агентских узлов, и направляют результаты поиска, т.е. информацию узла, в котором хранится контент ключевых
слов, на запрашиваемый узел.
Предпочтительно, чтобы агентские узлы, получающие запрос с заданием на поиск,
могли вести поиск информации, совпадающей с запрашиваемым ключевым словом, в их
таблице индексов контента 59A и, в свою очередь, направлять результаты поиска на запрашиваемый узел. Результаты поиска могут включать перечень узлов, в которых хранится информация, удовлетворяющая условиям запроса.
17
BY 17653 C1 2013.10.30
Ниже на примерах приведено пояснение детального порядка операции поиска информации KL, относящейся к категории CA, со ссылками на фиг. 5 и 6:
1. Запрашивающий узел Nx (такой как пограничный узел 53A на Фиг. 5) находит
агентский узел категории CA путем поиска в своей таблице категории.
2. Допустив, что агентский узел категории CA является узлом Ny (таким как агентский
узел 53E на фиг. 5), узел Nx устанавливает связь с узлом Ny и инициирует запрос на поиск
информации KL, относящейся к категории CA.
3. Если узел Ny находится в режиме онлайн (или является активным) и является нужным узлом категории CA, узел Ny ведет поиск в своей таблице индексов контента с помощью ключевого слова KL в запросе, полученном от узла Nx, и отсылает результаты
поиска на узел Nx.
4. Если узел Ny не является нужным агентским узлом, узел Ny отсылает правильный
адрес агентского узла (такого как агентский узел 53F на Фиг. 5) в соответствии с таблицей
категорий, поддерживаемой узлом Ny, если информация из таблицы категорий узла Ny
является более новой, чем информация из таблицы категорий узла Nx, узел Nx обновляет
свою таблицу категорий, и этап 4 повторяется.
5. Если узел Ny работает в автономном режиме или неисправен, узел Nx связывается
со своим родительским узлом Nz; если родительский узел Nz не в состоянии найти агентский узел категории CA, узел Nx связывается с родительским узлом Nz до тех пор, пока
узел Nx не свяжется с центральным узлом; если центральный узел все же не в состоянии
определить агентский узел категории CA или центральный узел работает в автономном
режиме, в каждом узле в кластере будет проведен поиск волновым способом с целью определения узла, содержащего информацию KL, относящуюся к категории CA.
В процессе осуществления вышеуказанных этапов 1-5 при получении агентским узлом
категории CA запроса с заданием на поиск агентский узел проводит локальный поиск, ведет поиск агентского узла категории CA в другом кластере в соответствии с перечнем наложенных ссылок и пересылает запрос на проведение поиска агентскому узлу
соответствующего категорийного оверлея, содержащегося в перечне наложенных ссылок.
При получении другим агентским узлом пересланного запроса им проводится проверка и
определение того, получен ли впервые запрос, и, если запрос получен впервые, осуществляется локальный поиск; в противоположном случае запрос на проведение поиска может
быть игнорирован, в частности, он может быть осуществлен с помощью распределенной
хэш-таблицы.
В вышеуказанном процессе поиска необходимо только передать запрос с заданием на
поиск в категорийном оверлее, относящемся к поиску, что является более эффективным
по сравнению с поиском всех узлов волновым способом, осуществляемым в предшествующем уровне техники. Допустив, что количество кластеров составляет N, маршрутизация каждой категории в лучшем случае содержит N пиринговых узлов. Таким образом,
запрос с заданием на поиск передается только между агентскими узлами, относящимися к
своему категорийному оверлею, количество узлов, относящихся к запросам с заданием на
поиск, является исключительно небольшим, и скорость поиска является высокой. Например, пользователь желает найти файлы музыкальных записей певцов страны, узел, относящийся в пользователю, может направить запрос на проведение поиска категории
"страна", запрос на проведение поиска включает перечень ключевых слов, содержащий
имена певцов или названия песен, и адрес узла, хранящего информацию об именах певцов
и названиях песен, совпадающую с запросом, которую можно отправить через агентский
узел.
Запрашивающий узел может также определить узлы для хранения сегментов определенного файла на основе поиска категорийного оверлея. Например, если сегмент запрашиваемого файла является N-м сегментом (Nth), запрашивающий узел может определить
агентский узел, который связан с Nth сегментом файла, для того чтобы направить запрос с
18
BY 17653 C1 2013.10.30
заданием на поиск агентскому узлу, содержащему категорию Nth сегмента, агентский узел
проводит поиск и отправляет один или несколько узловых списков, хранящих Nth сегмент
запрашиваемого файла.
На основе примеров осуществления настоящего изобретения на фиг. 4-6 приведено
детальное описание структуры системы перенаправления сервисов. Тем не менее необходимо уточнить ряд нижеприведенных моментов:
1. При создании нового кластера первоначальный центральный узел кластера является
агентским узлом всех категорий нового кластера. Ввиду того что другие узлы участвуют в
новом кластере, центральный узел может перевести ряд категорий в другие узлы и указанные другие узлы могут далее перевести категории ряду других узлов. Например, любой агентский узел в кластере может перевести ряд своих категорий узлам, вновь
участвующим в агентском узле и являющимся подузлами агентского узла. Если нагрузка
агентского узла является высокой, ряд категорий может быть переведен на другие узлы.
2. Если агентский узел в кластере перевел одну или нескольких категорий ряду других
агентских узлов, необходимо обновить таблицу категорий, поддерживаемую агентским
узлом кластера. Первоначально исключительно агентские узлы, из которых были переведены категории, и узлы, в которые переведены категории, обладают самой последней информацией о текущих агентских узлах переведенных категорий. Регулярная отчетность
позволяет решить проблему необходимости обновления таблицы категорий. Каждый участвующий узел может периодически отсылать отчет об обновлении категорий на один или
несколько произвольно выбранных соседних узлов. Отчет об обновлении категорий может включать N самых новых сообщений (или событий отчета о переводе категорий) и
сущности любых M таблиц категорий. После получения отчета об обновлении категорий
принимающий узел обновляет таблицу категорий на основе временной метки в отчете об
обновлении категорий.
3. При обмене узла информацией с системой приемлемый агентский узел может быть
определен путем поиска категории, совпадающей с информацией в таблице категорий, и,
таким образом, узел осуществляет обмен сообщениями с агентским узлом. Совместно используемая информация может включать категорию, перечень ключевых слов, связанных
с информацией и т.д., и может служить извещением для агентского узла, что другие узлы
также могут иметь доступ к информации о выделенных категориях. После получения
агентским узлом сообщения о связи агентский узел может хранить перечень ключевых
слов и адрес узла в таблице индексов контента.
4. В ряде конкретных случаев категория и ключевое слово могут быть выбраны узлом,
соответствующим пользователю. Пользователь может выбрать категории из перечня
предварительно определенных категорий, а также может выбрать несколько ключевых
слов, описывающих контент категории. Количество ключевых слов может составлять от
одного до нескольких ключевых слов.
На фиг. 7 приведена технологическая схема способа перенаправления сервисов в соответствии с примером осуществления настоящего изобретения. Как показано на фиг. 7,
технологическая схема включает следующий порядок операций:
этап S72: получение сообщения о запросе контента, при этом сообщение о запросе
контента предназначено для запроса на скачивание/сбрасывание контента;
этап S74: определение одного или нескольких узлов для хранения каждого сегмента
контента;
этап S76: скачивание/сбрасывание каждого сегмента контента из одного или нескольких определенных узлов;
этап S78: получение полных данных о контенте в соответствии с каждым сегментом
контента.
Для понимания настоящего примера осуществления изобретения его пояснение может
быть дано в сочетании с примером осуществления систем. В примере осуществления на
19
BY 17653 C1 2013.10.30
фиг. 7 в соответствии с сообщением на запрос, таким как запрос на IP-телевидение, соответствующий определенному файловому контенту, получаемому пользователем, один или
несколько узлов для хранения каждого сегмента контента определяются с центрального
узла, регионального центрального узла или агентского узла, например, узел, хранящий
контент, и адрес, соответствующий узлу, определяют из таблицы индексов контента
агентского узла, запрашивающий узел, отсылающий сообщение о запросе, может скачать/сбросить каждый сегмент контента из одного или нескольких определенных узлов, и,
наконец, полные данные о контенте получают в соответствии с каждым сегментом контента.
Способ перенаправления сервисов данного примера осуществления настоящего изобретения предназначен для обеспечения скачивания/сбрасывания мультимедиа данных.
Данный пример осуществления настоящего изобретения может быть использован в качестве мультимедийного контента, сброшенного на принимающий узел, мультимедийный
контент может состоять из нескольких сегментов, и указанные сегменты хранятся в узлах
сети. В соответствии с полученным сообщением о запросе узлы могут осуществлять поиск
узлов, хранящих запрашиваемый пользователем контент, предпочтительно преобразовывать один или несколько определенных узлов, хранящих каждый сегмент запрашиваемого
пользователем контента, в узловой список и осуществлять скачивание запрашиваемого
пользователем контента из узлового списка.
Допустив, что сегмент содержит N блоков {B1, B2,…, BM} и M узлы (далее по тексту - запоминающий узел) определены для хранения сегмента, обозначаемые как {P1,
P2,…, PM}, которые предназначены для предоставления сегментов, и допустив, что полоса пропускания каждого запоминающего узла составляет {Bw1, Bw2,…, BwM}, при этом
сумма полос пропускания должна быть равна по меньшей мере Br (скорость передачи видеовоспроизведения), метод планирования позволяет решить проблему скачивания сегмента из M запоминающих узлов таким образом, чтобы обеспечивалось сокращение
резервного времени от каждого блока сегмента до принимающего узла и чтобы обеспечивалось максимально быстрое скачивание каждого блока.
Скачивание/сбрасывание каждого сегмента контента с одного или нескольких определенных узлов (далее по тексту - метод планирования) на этапе S76 примера осуществления на фиг. 7 может осуществляться следующими тремя способами:
1. Выделение блоков данных на основе цикличного метода обслуживания.
При использовании цикличного метода обслуживания определенные узлы (запоминающие узлы) для хранения сегментов пронумерованы как 1, 2,…, M. В соответствии с
очередностью от 1 до M блоки данных скачиваются/сбрасываются с каждого запоминающего узла. При использовании способа, в соответствии с которым блоки данных скачиваются/сбрасываются на основе цикличного метода обслуживания, все запоминающие узлы
рассматриваются как равные, так как каждому запоминающему узлу выделяется идентичное количество блоков, независимо от того, какую ширину полосы пропускания каждый
запоминающий узел может предоставить для организации сеанса потокового мультимедиа.
На фиг. 7A проиллюстрирована блок-схема очередности распределения для применения способа перенаправления сервисов в соответствии с примером осуществления настоящего изобретения для реализации скачивания/сбрасывания блока данных на основе
цикличного метода обслуживания. На фиг. 7A приведен конкретный пример осуществления скачивания/сбрасывания восьми блоков данных (B1-B8) одного и того же размера с
трех запоминающих узлов (P1-P3) с использованием цикличного метода обслуживания.
Допустив, что скорость воспроизведения Br составляет 512 кбит/с и каждый блок содержит видеоконтент со временем воспроизведения, составляющим 1 с, и допустив, что полоса пропускания запоминающего узла P1 составляет 320 кбит/с (5/8×Br), полоса
пропускания узла P2 составляет 128 кбит/с (1/4×Br) и полоса пропускания узла P3 состав-
20
BY 17653 C1 2013.10.30
ляет 64 кбит/с (1/8×Br), при использовании цикличного метода обслуживания необходимо
затратить 16 с для скачивания/сбрасывания всех восьми блоков данных.
2. Скачивание/сбрасывание блоков данных в соответствии с методом распределения
пропорционально полосе пропускания (BP).
При использовании метода распределения пропорционально полосе пропускания количество блоков, выделенных для каждого запоминающего узла, пропорционально полосе
пропускания узла. При использовании метода распределения пропорционально полосе
пропускания запоминающий узел Pi назначается для скачивания/сбрасывания Bwi/Br блоков данных, при этом Bwi - полоса пропускания узла i и Br - скорость воспроизведения.
Способ скачивания/сбрасывания блоков данных с использованием метода распределения
пропорционально полосе пропускания позволяет полностью использовать полосу пропускания каждого запоминающего узла.
На фиг. 7B приведена блок-схема очередности распределения для применения способа
перенаправления сервисов в соответствии с примером осуществления настоящего изобретения для реализации скачивания/сбрасывания блоков данных на основе полосы пропускания. На фиг. 7B приведен конкретный пример осуществления скачивания/сбрасывания
восьми блоков данных (B1-B8) одного и того же размера с трех запоминающих узлов (P1P3) с использованием метода распределения пропорционально полосе пропускания. Как и
в примере осуществления на фиг. 7A, допустив, что скорость воспроизведения Br составляет 512 кбит/с и каждый блок содержит видеоконтент с временем воспроизведения, составляющим 1 с, и допустив, что полоса пропускания запоминающего узла P1 составляет
320 кбит/с (5/8×Br), полоса пропускания узла P2 составляет 128 кбит/с (1/4×Br) и полоса
пропускания узла P3 составляет 64 кбит/с (1/8×Br), при использовании метода распределения пропорционально полосе пропускания требуется 8 с для скачивания/сбрасывания
восьми блоков данных. При использовании метода распределения пропорционально полосе пропускания существует возможность эффективного использования полосы пропускания каждого запоминающего узла. Тем не менее из примера осуществления на фиг. 7B
очевидно, что на один узел распределяется несколько первоначальных блоков данных и
только полоса пропускания одного узла используется для скачивания/сбрасывания нескольких первоначальных блоков данных. Если существует необходимость в кэшировании нескольких первоначальных блоков данных, то для кэширования указанных блоков
может потребоваться более длительный период времени по сравнению со скачиванием/сбрасыванием нескольких первоначальных блоков данных.
3. Скачивание/сбрасывание блоков данных на основе сетевого (группового) метода.
Сетевой метод представляет собой метод, в котором используется сетевое (групповое)
планирование (MSS), указанный метод сочетает в себе преимущества цикличного метода
обслуживания и метода распределения пропорционально полосе пропускания, и основной
процесс метода заключается в следующем: блоки данных одного сегмента выделяются
запоминающему узлу аналогично цикличному методу обслуживания, при каждом цикле
количество блоков данных, выделенных узлу, пропорционально полосе пропускания узла.
При использовании метода сетевого планирования запоминающие узлы могут быть
классифицированы в порядке убывания полосы пропускания Bw. Допустив, что наименьший интервал времени, когда запоминающий узел Pi начинает отсылать текущий блок
данных, составляет Ti, если запоминающий узел Pi еще не отослал блоки данных, Ti является текущим временем; если запоминающий узел отослал несколько блоков данных, Ti
является интервалом времени, в течение которого запоминающий узел завершает передачу блоков данных. Начальное значение Ti установлено как 0.
Загружаемые/сбрасываемые блоки данных сегмента распределяются на запоминающий узел в порядке, в котором пронумерованы блоки данных, и скачивание/сбрасывание
начинается с первого блока данных B1. Для распределения текущего блока данных Bcurrent
приемный узел может сначала вычислить расчетное значение времени, затрачиваемого
21
BY 17653 C1 2013.10.30
для завершения скачивания блока с каждого запоминающего узла. Предпочтительно, чтобы расчетное значение времени завершения вычислялось в соответствии с нижеприведенной формулой:
Size
Tfinish ( i ) = Ti +
(3)
Bw i ,
где Tfinish(i) - примерное значение времени завершения запоминающего узла Pi, Size - размер текущего блока block Bcurrent. В соответствии с расчетным значением времени, в течение которого завершается скачивание каждого запоминающего узла, определяется
запоминающий узел с минимальным расчетным значением времени завершения, и текущий блок распределяется на этот запоминающий узел с минимальным расчетным значением времени завершения. Время завершения скачивания выбранного запоминающего
узла устанавливается равным Tfinish(i), процедура распределения повторяется в порядке текущих блоков данных до тех пор, пока последний блок текущего сегмента не будет распределен на запоминающий узел.
Метод сетевого планирования заключается в выделении предоставляющих блоки запоминающих узлов на основе расчетного значения времени завершения скачивания текущего блока. Узел с минимальным расчетным значением времени завершения доставляет
текущий блок данных на терминал пользователя. Метод сетевого планирования гарантирует, что выделенные запоминающие узлы прямо пропорциональны полосе пропускания,
которая может быть предоставлена запоминающими узлами. После получения предшествующих блоков приемный узел максимально оперативно загрузит следующий блок.
На фиг. 7C приведена блок-схема порядка распределения для применения способа перенаправления сервисов в соответствии с примером осуществления настоящего изобретения для реализации скачивания/сбрасывания блоков данных на основе сетевого метода.
На фиг. 7C проиллюстрирован конкретный пример осуществления скачивания/сбрасывания восьми блоков данных (B1-B8) идентичного размера с трех запоминающих узлов (P1P3) с использованием метода сетевого планирования. Аналогично примеру осуществления
на фиг. 7A и 7B, допустив, что время воспроизведения Br составляет 512 кбит/с и каждый
блок содержит видеоконтент с временем воспроизведения, составляющим 1 с, и допустив,
что полоса пропускания запоминающего узла P1 составляет 320 кбит/с (5/8×Br), полоса
пропускания узла P2 составляет 128 кбит/с (1/4×Br) и полоса пропускания узла P3 составляет 64 кбит/с (1/8×Br), при использовании метода сетевого планирования необходимо
затратить 8 с для скачивания/сбрасывания всех восьми блоков данных.
На фиг. 7A-7C приведено сравнение цикличного метода обслуживания, метода распределения пропорционально полосе пропускания и метода сетевого обслуживания. Из
фиг. 7A-7C очевидно, что доставка восьми блоков составляет 16 с с использованием цикличного метода обслуживания, в то время как доставка такого же количества блоков составляет только 8 с с использованием метода распределения пропорционально полосе
пропускания и метода сетевого планирования. Метод распределения пропорционально
полосе пропускания и метод сетевого планирования различаются по времени завершения
доставки нескольких первоначальных блоков. Если количество первоначальных буферных
блоков составляет три блока, при использовании цикличного метода обслуживания время
для завершения доставки трех блоков составляет 8 с. Для сравнения при использовании
метода распределения пропорционально полосе пропускания время для завершения доставки трех блоков составляет 4,8 с, в то время как при использовании метода сетевого
планирования время для завершения доставки трех блоков составляет лишь 4 с. На основе
сравнения трех методов планирования: цикличного метода обслуживания, метода распределения пропорционально полосе пропускания и метода сетевого планирования на фиг. 7A-7C вполне очевидно, что существует возможность затрачивать меньше времени
на скачивание каждого блока и сокращать первоначальное буферное время.
22
BY 17653 C1 2013.10.30
Во время процесса сбрасывания первого сегмента определенного файла принимающий узел может одновременно сбрасывать второй сегмент и последующие сегменты до
тех пор, пока не будет сброшен полный файл на принимающий узел.
В вышеуказанном примере осуществления способа перенаправления сервисов при запросе узлом (принимающим узлом) на скачивание определенного файла контента в системе принимающий узел определяет узловой список, хранящий начальный сегмент файла
контента с помощью агентского узла. Когда принимающий узел готовится скачать/сбросить другие сегменты ожидаемого мультимедийного контента, начальный сегмент был загружен/сброшен с одного или нескольких узлов. Принимающий узел может
использовать методы планирования, проиллюстрированные на фиг. 7A-7C, для вычисления полосы пропускания выбранного запоминающего узла и приступить к сбрасыванию
контента данных из начального сегмента на принимающий узел по методу планирования
аналогичного, методу сетевого планирования.
В том случае когда определенный файл контента, запрашиваемый принимающим узлом, не может быть предоставлен, осуществляется возврат отказанного запроса на IP-телевидение. В целом, случаи, при которых поступает отказ на запрос, могут включать
следующее:
1. Поиск сегмента не дал результатов либо вообще не был найден запрашиваемый
контент.
2. Узел, хранящий контент, не располагает достаточной полосой пропускания для передачи мультимедийного потока.
В вышеуказанном примере осуществления способа перенаправления сервисов также
предусматривается способ поиска категорийного оверлея. Осуществление перенаправления сервисов с помощью метода поиска позволяет определить местоположение мультимедийного сегмента, запрашиваемого для потокового сеанса IP-телевидения. Метод поиска
категорийного оверлея используют в процессе сеанса мультимедийного потока, и в данном случае отсутствует необходимость завершать скачивание всех запрашиваемых сегментов до воспроизведения мультимедиа. Предпочтительно, чтобы сегмент видеофайла
мог быть дополнительно разделен на несколько блоков, что позволяет осуществлять параллельный прием различных частей сегмента, поступающих из различных запоминающих узлов, и для суммирования входящих полос пропускания из различных
запоминающих узлов. В процессе проведения сеанса потокового мультимедиа несколько
запоминающих узлов поддерживают запрос на IP-телевидение с целью эффективного использования полосы пропускания приема, суммированной различными запоминающими
узлами; метод сетевого планирования может быть использован для выбора порядка распределения каждого блока сегмента и запоминающих узлов и для координирования скачивания/сбрасывания каждого запоминающего узла с целью обеспечения своевременного
обслуживания одного запроса на IP-телевидение.
Исходя из вышеприведенного примера осуществления изобретения, метод поиска категорийного оверлея может быть использован в отношении неструктурированной сети на
основе P2P оверлея пиринговой технологии кластера, и структура обеспечивает разделение между потоком, создаваемым поиском, и обслуживанием системы. При выполнении
поиска категорийного оверлея количество сообщений, генерированных путем выполнения
поиска, может быть ограниченным, поиск ограниченного доступа может быть выполнен в
соответствии с категорией и кластером/регионом и, более того, поиск потока индекса может осуществляться изолированно.
В ряде случаев запрашиваемый или искомый контент может включать метаданные.
Например, метаданные позволяют определить каждый сегмент видеофайла, соответствующий определенной сцене. Более того, метаданные могут включать относительно детализованную информацию, относящуюся к контенту сегментной информации, с целью
обеспечения точного определения конкретного сегмента. Например, в отношении видео-
23
BY 17653 C1 2013.10.30
файла сегмент, в котором определенный актер или актриса являются главным исполнителем, может быть определен на основе метаданных, что является полезным для просмотра
пользователями и обогащает их опыт. Метаданные обеспечивают интеллектуальный поиск контента. При практическом применении метаданные могут быть включены в один
или несколько первоначальных сегментов контента, таким образом, чтобы метаданные
могли быть получены и непосредственно использованы устройством воспроизведения
принимающего узла. Путем поиска метаданных сегмент ожидаемой сцены, который начинают воспроизводить, может быть точно определен, и устройство воспроизведения также
может быть сконфигурировано для воспроизведения контента таким образом, чтобы оно
могло обеспечить быстрый переход вперед или возврат к конкретной логической сцене,
последующее нахождение местоположения, кэширование и воспроизведение с определенного сегмента.
На фиг. 8 приведена блок-схема использования способа перенаправления сервисов в
соответствии с примером осуществления настоящего изобретения для реализации передачи данных пользователям, использующим суммарную (накопленную) полосу пропускания. Как показано на фиг. 8, допустив, что принимающий узел P6 желает просмотреть
видеоинформацию, скорость воспроизведения которого составляет 500 кбит/с, при просмотре видеоинформации принимающий узел P6 проводит поиск сегмента#0 видеоинформации и обнаруживает, что узлы P1, P2 и P3 включают сегмент#0, в данный момент
принимающий узел P6 может выбрать узлы P1, P2 и P3 в качестве узлов, предоставляющих сегмент#0, и вычислить полосу пропускания для сбрасывания сегмента#0 узлов P1,
P2, P3. Аналогичным образом сегмент#1 сбрасывается из узлов P3, P4 и сегмент#2 сбрасывается из узлов P4, P5. После завершения потокового сеанса принимающий узел P6 может кэшировать каждый сброшенный сегмент в объеме памяти, предоставляемой
запоминающим узлом; таким образом, на основе сохраненного сегмента принимающий
узел P6 может предоставить услуги по передаче контента для других узлов.
После того как принимающий узел генерирует запрос для скачивания сегментов мультимедийного контента, принимающий узел может направить команду планирования на
запоминающий узел, который выбран для предоставления услуг мультимедийного контента; при получении команды планирования запоминающим узлом запоминающий узел
может направить блоки, распределенные в процессе планирования, на принимающий узел
(или терминал пользователя).
На фиг. 9 приведена блок-схема использования способа перенаправления сервисов в
соответствии с примером осуществления настоящего изобретения для реализации передачи блоков данных пользователям, использующим циклический метод обслуживания. Как
показано на фиг. 9, принимающий узел может поддерживать циклическую кэш-память 90.
После того как приемное устройство 92 в принимающем узле получит блок из запоминающего узла, принимающий узел может вставить блок в нужном положении в циклической кэш-памяти 90 и воспроизвести блок с помощью устройства воспроизведения 94.
Объем циклической кэш-памяти 90 может быть выражен в виде αbuff×Nsche×blk_Size, где
αbuff - параметр, αbuff□1, Nsche - количество запланированных блоков данных и blk_Size размер блока данных.
С целью адаптивности к задержке пакета мультимедийного потока, либо к выходу определенного узла из системы, либо к сбою до воспроизведения мультимедийного файла
воспринимающий узел должен, по меньшей мере, быть способным кэшировать SinitBuff (начальное кэширование) блоки. После завершения интервала начального кэширования принимающий узел может непрерывно считывать мультимедийные данные из циклической
кэш-памяти 90 и воспроизводить мультимедийный файл.
Предпочтительно, чтобы во время потокового сеанса принимающий узел мог контролировать состояние циклической кэш-памяти 90 и отслеживать получаемые блоки. До того как полученные блоки будут поставлены в график на воспроизведение, каждому блоку,
24
BY 17653 C1 2013.10.30
по меньшей мере, отводится установленное время (называемое как секунды Tadv). Если
блоку не отводится установленное время, блок может быть определен как "утерянный".
Таким образом, принимающий узел может направить запрос соответствующим узлам для
повторной передачи утерянных блоков, что обеспечивает качество и точность передачи.
В процессе потокового сеанса при использовании способа перенаправления сервисов
вышеприведенного примера осуществления в случаях выхода определенного узла из системы перенаправления сервисов, либо возникновения сбоя, либо снижения скорости потокового ввода от одного или нескольких узлов ввиду перегрузки сети может быть выбран
альтернативный узел. В частности, может быть задано минимальное значение скорости
приема одному или нескольким узлам (в дальнейшем по тексту - отказавшие узлы), скорость приема которых ниже минимального значения, или одному или нескольким узлам (в
дальнейшем по тексту также отказавшие узлы), которые покидают систему, при этом вместо них могут быть выбраны альтернативные узлы, и сегменты и (или) блоки, хранящиеся
в отказавших узлах, загружаются/сбрасываются из выбранных альтернативных узлов. Например, принимающий узел может выбрать один или несколько альтернативных узлов из
узлов запрошенного сегмента.
При конкретном осуществлении, если происходит нарушение работы определенного
узла или узел покидает систему при проведении сеанса потокового мультимедиа, принимающий узел может выбрать другой узел для замены вышедшего из системы или неисправного узла. Принимающий узел может создать план доставки потока, сформированный
новыми узлами, не получившими блок. Принимающий узел направляет измененный план
(т.е. с указанием, из каких узлов были направлены полученные блоки) альтернативным
узлам. Как только вновь выбранные альтернативные узлы получают измененный план,
новые узлы могут направить распределенные блоки на принимающие узлы в соответствии
с порядком, указанным в плане. С целью упрощения описания процесс может называться
как "коммутирование операторов". В процессе потокового сеанса принимающий узел (или
терминал пользователя) может контролировать скорость контента, принятого с каждого
запоминающего узла. Если принимающий узел обнаруживает, что скорость мультимедийного потока, поступающего с определенного запоминающего узла, снизилась в течение
определенного периода времени, либо если на него поступило сообщение или он обнаружил, что запоминающий узел выходит из системы или неисправен, принимающий узел
может выполнить вышеуказанную процедуру коммутирования операторов.
Учитывая необходимость коммутирования операторов принимающим узлом, могут
возникнуть случаи, когда суммарная полоса пропускания меньше требуемой скорости
воспроизведения, и кэш-память принимающего узла не заполнена, при установлении
SinitBuff (начальная кэш-память) можно выбрать достаточно большой объем начальной кэшпамяти таким образом, чтобы предпочтительно обеспечивалось постоянное воспроизведение без прерывания даже при возникновении необходимости коммутирования операторов.
Методы и системы, предусмотренные вышеприведенным примером осуществления
настоящего изобретения, предназначены для поиска совместно используемой информации
в относительно большом объеме узлов. Функция перенаправления сервисов может быть
распределена между многими узлами, максимальное количество узлов может достичь
степени произведения количества категорий и количества кластеров в системе. Для поддержания системы, например, индекс контента, автоматически сочетающий новые узлы
либо обрабатывающий узлы, выходящие из системы, также может быть выполнен по отдельности на многих узлах.
В способе перенаправления сервисов примера осуществления настоящего изобретения
могут использоваться случаи, когда входящая полоса пропускания узла в сети меньше,
чем исходящая полоса пропускания (например, ADSL). Например, скорость единичного
узла, загружающего данные, является относительно невысокой, в то время как скорость
25
BY 17653 C1 2013.10.30
сбрасывания/скачивания данных из нескольких узлов на принимающий узел является относительно высокой.
Способ распределения контента и способ перенаправления сервисов, предусматриваемый вышеприведенным примером осуществления настоящего изобретения, позволяют
расширить систему IP-телевидения и могут быть использованы в устройствах кроме указанной системы. Например, контент может быть доставлен на карманный персональный
компьютер, мобильный телефон и т.д., в частности, он может быть реализован за счет использования узлов-посредников в качестве принимающих узлов; после скачивания/сбрасывания контента узлами-посредниками с системных узлов узлы-посредники
сами могут воспроизводить контент и также могут пересылать скачанный контент на другие устройства (например, мобильный телефон).
На фиг. 10 приведена блок-схема расширенной структуры системы IP-телевидения,
применяющей систему перенаправления сервисов в соответствии с примером осуществления настоящего изобретения к пиринговой технологии. На фиг. 10 проиллюстрирована
система 10A, содержащая узел-посредник 10. Узел-посредник 10 получает данные о контенте, связываясь с другим узлом 12 через линию связи 14A, узел-посредник 10 также связывается с узлом 100, который не участвует в системе 10A, при этом линия связи 14A
может представлять собой беспроводную связь. Узел-посредник 10 взаимодействует с
другими частями системы 10A и пересылает полученные данные о контенте на узел 100
через линию связи 14A. Как показано на фиг. 10, узел 100, в частности, может представлять собой обычный мобильный телефон. Абонент мобильного телефона может проводить поиск видеоинформации в системе 10A и затем воспроизводить видеоинформацию
на мобильном телефоне. В ряде конкретных случаев скорость передачи данных о контенте
может быть снижена путем выполнения перекодирования на узле-посреднике 10 с целью
адаптирования к узлу 100 и (или) линии связи 14A. В отношении конкретного выполнения
перенаправления сервисов и распределения контента может быть сделана ссылка на соответствующие пояснения примеров осуществления на фиг. 1-9, и в данном патенте не приведено повторного описания идентичного или аналогичного контента and no repeated
description about identical or similar content is given here.
Система IP-телевидения в вышеприведенном примере осуществления системы является приемлемой для расширения и обеспечивает выравнивание нагрузки между узлами. В
примере осуществления системы может быть не установлен "суперузел", способный независимо осуществлять все поисковые услуги системы.
В вышеприведенном примере осуществления системы взаимосвязь может быть осуществлена двумя способами: с одной стороны, узел взаимосвязан с кластером, например,
задачи на обеспечение и обслуживание, такие как определение того, какой узел является
узлом-посредником и какого кластера, могут быть связаны с использованием топологической структуры кластера; с другой стороны, агентские узлы взаимосвязаны в категорийном оверлее, например, поисковая задача узла перенаправления сервисов может решаться
за счет использования соответствующей топологии категорийного оверлея.
В заключение необходимо отметить, что при использовании способа распределения
контента, способа и системы перенаправления сервисов, предусмотренных в каждом примере осуществления настоящего изобретения, контент разделяют на несколько сегментов
и распределяют на несколько различных запоминающих узлов; ответы на запросы пользователей могут поступать по отдельности с нескольких узлов; эффективно обеспечивается
расширяемость системы IP-телевидения и выполняются такие функции, как направление
мультимедийных услуг IP-телевидения. В каждом из вышеприведенных примеров также
может быть предусмотрено эффективное ключевое слово, обеспечивающее широкие возможности для поиска сервисов на основе модели пиринговой сети, что позволяет существенно сократить время для перенаправления сервисов.
26
BY 17653 C1 2013.10.30
Вышеприведенное описание предназначено исключительно для иллюстрации предпочтительных примеров осуществления, но оно не ограничивает настоящее изобретение.
Специалистам в данной области техники должно быть очевидно, что возможны различные
изменения изобретения. Объем, определяемый в формуле изобретения, включает любые
изменения, эквивалентные замены и усовершенствования, не выходящие за пределы существа и объема настоящего изобретения.
Фиг. 1
Фиг. 2
Фиг. 3А
27
BY 17653 C1 2013.10.30
Фиг. 4
Фиг. 5
Фиг. 6
28
BY 17653 C1 2013.10.30
Фиг. 7
Фиг. 7А
Фиг. 7В
29
BY 17653 C1 2013.10.30
Фиг. 7С
Фиг. 8
Фиг. 9
Фиг. 10
Национальный центр интеллектуальной собственности.
220034, г. Минск, ул. Козлова, 20.
30
Документ
Категория
Без категории
Просмотров
0
Размер файла
363 Кб
Теги
by17653, патент
1/--страниц
Пожаловаться на содержимое документа