Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR DISTRIBUTING LOAD AMONG SERVERS OF A CONTENT DELIVERY NETWORK (CDN)
Document Type and Number:
WIPO Patent Application WO/2016/064303
Kind Code:
A1
Abstract:
The invention relates to the field of content delivery networks (CDN networks), and more particularly to a method for distributing the load among servers in such networks. In the present method: a request for a service is received from a user terminal by a server, the user address is identified, a CDN server address selected from a plurality of CDN server addresses is matched to the user address, and a path is selected for connecting the user to the relevant CDN server. The path is selected on the basis of at least one route metric selected from the group: delay, delay variation, load, percentage (or number) of packets lost, hop count, autonomous system count and Q-criterion, and a range of permissible values is provided for each route metric. The activity of all of the CDN servers is monitored in real time using a failure detection means connected to a server; in the event that a CDN server failure is detected, information about the status and address of the CDN server in question is entered into the relevant database of a server and is no longer taken into consideration during selection of a route.

Inventors:
GORODETSKIJ YAROSLAV IGOREVICH (RU)
IVLENKOV SERGEJ VLADIMIROVICH (RU)
Application Number:
PCT/RU2015/000693
Publication Date:
April 28, 2016
Filing Date:
October 20, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
OBSHCHESTVO S OGRANICHENNOJ OTVETSTVENNOST YU SDN VIDEO (RU)
International Classes:
G06F17/00; H04L29/08
Foreign References:
RU2454711C12012-06-27
EP2434758A12012-03-28
US20030101253A12003-05-29
Attorney, Agent or Firm:
KOTLOV, Dmitrij Vladimirovich (RU)
КОТЛОВ, Дмитрий Владимирович (RU)
Download PDF:
Claims:
Формула изобретения

Способ распределения нагрузки между серверами сети доставки контента (CDN), при котором принимают запрос на услугу от, по меньшей мере, одного терминала пользователя на, по меньшей мере, одном сервере, определяют адрес пользователя, приводят в соответствие адресу пользователя адрес CDN-сервера, выбранный из множества адресов CDN-серверов и выбирают маршрут для связи пользователя с соответствующим CDN- сервером, приведение в соответствие осуществляют посредством, по меньшей мере, одной базы данных маршрутов-кандидатов, сформированной на, по меньшей мере, одном сервере, при этом выбор маршрута осуществляют на основании, по меньшей мере, одной метрики маршрута, выбранной из группы: задержки, вариации задержки, нагрузки, процента (или числа) потери пакетов, количества хопов, количества автономных систем, Q-критерия, при этом дополнительно предусматривают интервал допустимых значений для каждой метрики маршрута и, в случае, если метрика маршрута не входит в указанный интервал, исключают соответствующий маршрут из соответствующей базы данных маршрутов- кандидатов и, кроме того, производят мониторинг активности всех CDN- серверов в режиме реального времени при помощи средства обнаружения отказов, соединенного с, по меньшей мере, одним сервером, при этом в случае обнаружения условия отказа CDN-сервера, информацию о статусе и адресе такого CDN-сервера заносят в соответствующую базу данных, по меньшей мере, одного сервера и далее не учитывают при выборе маршрута, отличающийся тем, что узел сети (кеширующий сервер) перестает быть с одной стороны только кэширующим сервером, он становится структурной единицей со своим интеллектом на уровне узла, а с другой стороны для общей сети CDN никаких изменений не произошло, отсутствие необходимости в выделении "публичных" IP-адресов под каждый публикуемый поток или данные позволяет не ограничивать развитие сети в условиях дефицита IP-адресов.

Description:
СПОСОБ РАСПРЕДЕЛЕНИЯ НАГРУЗКИ МЕЖДУ СЕРВЕРАМИ СЕТИ ДОСТАВКИ КОНТЕНТА (CDN).

Заявленное изобретение относится к области сетей CDN (сетей доставки контента), в частности, к способу распределения нагрузки между серверами в таких сетях.

Аналогом заявленного изобретения является способ распределения нагрузки между CDN-серверами (WO 0184356 А2, 08.11.2001 , G06F 17/00), при котором принимают запрос на услугу от пользователя на центральном сервере, определяют местоположение пользователя по его адресу, приводят в соответствие местоположению пользователя адрес CDN-сервера, выбранный из множества адресов CDN-серверов, и устанавливают маршрут для связи пользователя и соответствующего CDN-сервера, при этом выбор адреса CDN-сервера осуществляют на основании метрики маршрута, выбранной из группы: усредненной задержки передачи данных на маршруте, усредненного времени обработки информации на CDN-сервере, полосы пропускания маршрута, нагрузки CDN-сервера. Недостатками указанного способа является недостаточная оценка сетевой ситуации, при выборе маршрута-кандидата. Кроме того, указанный способ не предоставляет механизмов гибкого изменения маршрута в случае выхода из строя ранее выбранного CDN-сервера. Кроме того, в указанном способе центральный сервер является уязвимым местом системы при критическом возрастании нагрузки.

Прототипом заявленного изобретения является «СПОСОБ РАСПРЕДЕЛЕНИЯ НАГРУЗКИ МЕЖДУ СЕРВЕРАМИ СЕТИ ДОСТАВКИ КОНТЕНТА (CDN)», при котором принимают запрос на услугу от терминала пользователя на сервере, определяют адрес пользователя, приводят в соответствие адресу пользователя адрес CDN-сервера, выбранный из множества адресов CDN-серверов и выбирают маршрут для связи пользователя с соответствующим CDN-сервером, причем приведение в соответствие осуществляют посредством базы данных маршрутов- кандидатов, сформированной на сервере, при этом выбор маршрута осуществляют на основании метрики маршрута, выбранной из группы: задержки, вариации задержки, нагрузки, процента (или числа) потери пакетов, количества хопов, количества автономных систем, Q-критерия, при этом дополнительно предусматривают интервал допустимых значений для каждой метрики маршрута и, в случае, если метрика маршрута не входит в указанный интервал, исключают соответствующий маршрут из соответствующей базы данных маршрутов-кандидатов и, кроме того, производят мониторинг активности всех CDN-серверов в режиме реального времени при помощи средства обнаружения отказов, соединенного с сервером, при этом в случае обнаружения условия отказа CDN-сервера, информацию о статусе и адресе такого CDN-сервера заносят в соответствующую базу данных сервера и далее не учитывают при выборе маршрута.

В силу своей архитектуры каждому пограничному узлу "edge''-серверу в топологии CDN-сети (кэширующему серверу) необходимо выделение "публичных" адресов для каждого опубликованного ресурса (по сути каждому клиенту (не пользователю). Это необходимо для осуществления балансировки и обработки запросов пользователей. На сегодня IP-адреса версии 4 подошли к концу и выдаются институтом "RIPE" с ограничениями, что приводит к нехватке IP-адресов (ipv4) и ограничивает развитие инфраструктуры CDN-сети, т.е. прототип зависим от наличия свободный ip адресов (которые ограничены) не замечает изменения структуры г „

к ши ую их серверов и работает с новой архитектурой оез изменении, что является недостатком данного прототипа.

Техническим результатом заявленного изобретения является агрегация пользовательских запросов на уровне дата центров и распределение их в кластере CDN посредством SDN-контроллера. То есть добавление каждого нового узла сети не ведет к необходимости выделения новых "публичных" адресов, таким образом, увеличивает масштабируемость производительность CDN-сети. Достигаемый технический результат заключается в том; что в способе распределения нагрузки между серверами сети доставки контента (cdn), при котором принимают запрос на услугу от, по меньшей мере, одного терминала пользователя на, по меньшей мере, одном сервере, определяют адрес пользователя, приводят в соответствие адресу пользователя адрес CDN- сервера, выбранный из множества адресов CDN-серверов. Далее выбирают маршрут для связи пользователя с соответствующим CDN-сервером. Приведение в соответствие осуществляют посредством, по меньшей мере, одной базы данных маршрутов-кандидатов, сформированной на, по меньшей мере, одном сервере. Выбор маршрута осуществляют на основании, по меньшей мере, одной метрики маршрута, выбранной из группы: задержки, вариации задержки, нагрузки, процента (или числа) потери пакетов, количества хопов, количества автономных систем, Q-критерия. При этом дополнительно предусматривают интервал допустимых значений для каждой метрики маршрута и, в случае, если метрика маршрута не входит в указанный интервал, исключают соответствующий маршрут из соответствующей базы данных маршрутов-кандидатов. Кроме того, производят мониторинг активности всех CDN-серверов в режиме реального времени при помощи средства обнаружения отказов, соединенного с, по меньшей мере, одним сервером. При этом в случае обнаружения условия отказа CDN-сервера, информацию о статусе и адресе такого CDN-сервера заносят в соответствующую базу данных, по меньшей мере, одного сервера и далее не учитывают при выборе маршрута.

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

Сущность заявленного изобретения поясняется схемой 1, на котором изображено распределение нагрузки между серверами сети доставки контента.

В способе распределения нагрузки между серверами сети доставки контента (cdn), при котором принимают запрос на услугу от, по меньшей мере, одного терминала пользователя на, по меньшей мере, одном сервере, определяют адрес пользователя, приводят в соответствие адресу пользователя адрес CDN-сервера, выбранный из множества адресов CDN- серверов. Далее выбирают маршрут для связи пользователя с соответствующим CDN-сервером. Приведение в соответствие осуществляют посредством, по меньшей мере, одной базы данных маршрутов-кандидатов, сформированной на, по меньшей мере, одном сервере. Выбор маршрута осуществляют на основании, по меньшей мере, одной метрики маршрута, выбранной из группы: задержки, вариации задержки, нагрузки, процента (или числа) потери пакетов, количества хопов, количества автономных систем, Q-критерия. При этом дополнительно предусматривают интервал допустимых значений для каждой метрики маршрута и, в случае, если метрика маршрута не входит в указанный интервал, исключают „ м - соответствующий маршрут из соответствующей базы данных маршрутов- кандидатов. Кроме того, производят мониторинг активности всех CDN- серверов в режиме реального времени при помощи средства обнаружения отказов, соединенного с, по меньшей мере, одним сервером. При этом в случае обнаружения условия отказа CDN-сервера, информацию о статусе и адресе такого CDN-сервера заносят в соответствующую базу данных, по меньшей мере, одного сервера и далее не учитывают при выборе маршрута.

При этом узел сети (дотирующий сервер) перестает быть с одной стороны только кэширующим сервером, он становится структурной единицей со своим интеллектом на уровне узла, а с другой стороны для общей сети CDN никаких изменений не произошло. Отсутствие необходимости в выделении "публичных" IP-адресов под каждый публикуемый поток или данные, что позволяет не ограничивать развитие сети в условиях дефицита IP-адресов. В соответствии с предпочтительным вариантом осуществления изобретения в системе CDN предусматривают, по меньшей мере, один сервер, на котором при помощи средств сбора и хранения информации формируют базу данных маршрутов-кандидатов (таблицу маршрутизации) для каждого из CDN-серверов системы, состоящую из IP-префиксов. Таким сервером может быть, в частности, один или несколько CDN-серверов или один или несколько специализированных центральных серверов (резервирующих серверов). Далее в описании под понятием «сервер» понимается либо CDN, либо указанный центральный сервер. В случае применения нескольких таких серверов в системе их функционал дублируется на каждом их указанных серверов.

Указанная база данных формируется, в частности, на основании данных из открытых источников (база GeoIP, база RIPE, сайт robtex.com, списки региональных IP-серверов и пр.); информации о маршрутах, __

получаемых от операторов, где установлены сервера CDN (как в статическом виде, так и в режиме онлайн по протоколу BGP).

Кроме того, каждый из CDN-серверов может регулярно, через заданный промежуток времени (например, 1 раз в сутки), производить трассировку маршрута до случайно выбранного IP-адреса внутри своего IP- префикса. При этом производят сбор, по меньшей мере, одного из: задержки, вариации задержки, нагрузки, процента (или числа) потери пакетов, количества хопов, количества автономных систем, Q-критерия (суммы числа хопов и числа автономных систем). Эти данные (метрики) заносятся в таблицу маршрутов-кандидатов данного сервера для дальнейшей обработки с записью этой информации в базу данных. Метрики также могут быть переданы на один или несколько CDN-серверов для обработки и записи в соответствующие базы данных.

Кроме того, для всех CDN-серверов и для каждого из маршрутов- кандидатов может производиться проверка соответствия собранных параметров заранее определенным интервалам значений (порогам). Если тот или иной маршрут признается несоответствующим по указанным параметрам, он исключается из базы (баз) данных.

Кроме того, для каждого из CDN-серверов может формироваться "черный список" префиксов, на который сервер не имеет права направлять трафик. Список формируется на основании, по меньшей мере, одного из: анализа лог-файлов (большой процент ошибок при передаче файлов, частые случаи буферизации видео), на основании поступающей от пользователей информации или в результате анализа, проводимого системными администраторами системы CDN. Кроме того, для всех CDN-серверов производится проверка, не попадают ли префиксы маршрутов-кандидатов в "черный список", если попадают - такие маршруты отсеиваются. т

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

Кроме того, в системе может производиться постоянный мониторинг всех серверов системы CDN для определения их активности посредством средства обнаружения отказов. CDN-сервер лишается статуса активного, если этот CDN-сервер удовлетворяет условию отказа: недоступен, или же перегружен, или же слишком большой процент пользователей получает отказы в показе контента, или же слишком часто видео буферизируется. Указанная информация поступает на сервер в виде информации о статусе CDN-сервера и его адресе, вносится в базу данных и далее учитывается при выборе маршрутов из списка маршрутов-кандидатов. Кроме того, мониторинг состояния CDN-серверов в режиме реального времени позволяет производить построение маршрута с учетом характеристик контента услуги, что не предусмотрено текущим уровнем техники. В частности, настоящее изобретение предусматривает учет качества показа видео (в том числе частоты буферизации) при определении оптимального маршрута. Также такой мониторинг позволяет повысить отказоустойчивость системы CDN (указание статуса CDN-сервера), и повысить ее гибкость в целом.

Кроме того, настоящее изобретение предусматривает учет границ сетей Интернет-провайдеров при определении оптимального маршрута посредством Q-критерия, представляющего собой сумму числа маршрутизаторов и автономных систем, находящихся на маршруте.

Использование Q-критерия отражает тот факт, что ухудшение качества связи на внутрисетевых маршрутизаторах интернет-провайдеров происходит , еств т евых маршрутизаторах, установленных на границах сетях интернет-провайдеров, из-за большей загрузки последних.

Специалисту будет понятно, что указанные в настоящей заявке линии связи могут представлять собой проводные либо беспроводные линии связи, такие как WiFi, CDMA, LTE и т.п.

В соответствии с предпочтительным вариантом осуществления предусмотрен способ распределения нагрузки между серверами сети доставки контента (CDN), при котором принимают запрос на услугу от, по меньшей мере, одного терминала пользователя на, по меньшей мере, одном сервере, определяют адрес пользователя, приводят в соответствие адресу пользователя адрес CDN-сервера, выбранный из множества адресов CDN- серверов, и выбирают маршрут для связи пользователя с соответствующим CDN-сервером, приведение в соответствие осуществляют посредством, по меньшей мере, одной базы данных маршрутов-кандидатов, сформированной на, по меньшей мере, одном сервере, при этом выбор маршрута осуществляют на основании, по меньшей мере, одной метрики маршрута, выбранной из группы: задержки, вариации задержки, нагрузки, процента (или числа) потери пакетов, количества хопов, количества автономных систем, Q-критерия, при этом дополнительно предусматривают интервал допустимых значений для каждой метрики маршрута и, в случае, если метрика маршрута не входит в указанный интервал, исключают соответствующий маршрут из соответствующей базы данных маршрутов- кандидатов и, кроме того, производят мониторинг активности всех CDN- серверов в режиме реального времени при помощи средства обнаружения отказов, соединенного с, по меньшей мере, одним сервером, при этом в случае обнаружения условия отказа CDN-сервера, информацию о статусе и адресе такого CDN-сервера заносят в соответствующую базу данных, по меньшей мере, одного сервера и далее не учитывают при выборе маршрута. τ r ~

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

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

Агрегация пользовательских запросов на уровне дата центров и распределение их в кластере CDN посредством SDN-контроллера. То есть добавление каждого нового узла сети не ведет к необходимости выделения новых "публичных" адресов, но решает главную задачу, увеличивает производительность CDN-сети.

"Ес1 е"(кэширующие) сервера объединяются в узлы или кластеры представляющие собой один высокопроизводительный узел, которому требуется всего один "публичный" IP адрес. Основная или верхнеуровневая балансировка осуществляется между агригированными узлами, в состав которых входит несколько "edge" серверов. Это группа начинает обладать едиными метриками балансировки и в представлении алгоритма балансировки является одним узлом. На уровне узла балансировкой занимается SDN-контроллер, который выполняет две функции. Первая, осуществляет внутреннюю балансировку нагрузки согласно встроенным алгоритмам и второе, аккумулирует параметры системы для представления совокупных метрик системы для работы с балансировщиком CDN. „

l аким образом, достигается поставленный технический результат: агрегация пользовательских запросов на уровне дата центров и распределение их в кластере CDN посредством SDN-контроллера. То есть добавление каждого нового узла сети не ведет к необходимости выделения новых "публичных" адресов, таким образом, увеличивает производительность CDN-сети.

Анализ совокупности всех существенных признаков предложенного изобретения доказывает, что исключение хотя бы одного из них приводит к невозможности полного обеспечения достигаемого технического результата.

Анализ уровня техники показывает, что неизвестен способ распределения нагрузки между серверами сети доставки контента (cdn), которому присущи признаки, идентичные всем существенным признакам данного технического решения, что свидетельствует о его неизвестности и, следовательно, новизне.

Вышеперечисленное доказывает соответствие заявленного способа критериям изобретательского уровня.

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