СПОСОБ ПЕРЕКЛЮЧЕНИЯ ОСНОВНОГО/РЕЗЕРВНОГО КОНТРОЛЛЕРОВ УЗЛА НА ОСНОВЕ СЕТИ ДОСТАВКИ КОНТЕНТА И СООТВЕТСТВУЮЩАЯ СЕТЬ ДОСТАВКИ КОНТЕНТА
METHOD FOR SWITCHING NODE MAIN/STANDBY CONTROLLERS BASED ON CONTENT DELIVERY NETWORK AND CORRESPONDING CONTENT DELIVERY NETWORK

Область техники
Настоящее изобретение относится к области связи и, в частности, к способу переключения основного/резервного контроллеров узла на основе сети распределения контента (content distribution network, CDN) и к сети CDN.
Предпосылки создания изобретения
Сеть распределения контента или сеть доставки контента (CDN) представляет собой новый вид сетевой структуры, позволяющий выдавать контент сервиса на «крае» сети, ближайшем к пользователю, чтобы обеспечить ему возможность получения наиболее близко расположенного требуемого контента и повысить эффективность работы системы. В условиях быстрого развития сетей сеть CDN применяют в практических коммерческих системах, например, в телевидении по протоколу Интернета (internet protocol television, IPTV), в системе "Global eyes" и т.п., которые имеют хорошую перспективу. В этих коммерческих системах сеть CDN, как правило, функционирует скоординированно с другими модулями, которые включают, главным образом, мультимедийную систему потоковой передачи данных и несколько соответствующих терминальных устройств. Сеть CDN относится к уровню сервиса и используется в основном для планирования и обработки соответствующего сервиса, а упомянутая мультимедийная система потоковой передачи данных, главным образом, управляет реализацией сервиса.
Сеть CDN в основном включает менеджер CDN и узел CDN, при этом один узел CDN включает несколько агентов CDN (контроллеров узла) и других подключаемых устройств. Менеджер CDN управляет балансировкой нагрузки трафика сети CDN, а также распределением и планированием контента, при этом один менеджер CDN управляет, как правило, несколькими узлами CDN. Узел CDN представляет собой сервисный объект сети CDN, устанавливаемый на границе сети и предоставляющий сервис ближайшему пользователю. Агент CDN является контроллером узла CDN, отвечающим за управление балансировкой нагрузки узла и за управление контентом в данном узле, а также реализующим управление сервисом данного узла CDN. В каждый момент времени только один агент CDN осуществляет управление узлом CDN, при этом такой агент CDN называют основным контроллером узла, в то время как остальные агенты CDN являются резервными контроллерами узла.
В известных способах реализации, как правило, используют переключение основного контроллера на резервный, инициируемое менеджером, выступающим в качестве источника управления, то есть менеджер использует механизм обнаружения сообщения контроля работоспособности (heartbeat message) на основе глобальной сети. Если сеть находится в ненормальном состоянии и контроллер узла долго не отвечает, то менеджер считает, что контроллер узла находится в ненормальном состоянии и устанавливает текущий основной контроллер узла в качестве резервного, а затем осуществляет слепой поиск других контроллеров узла, сообщение контроля работоспособности которых является нормальным. Фактически, во многих случаях состояние текущего основного контроллера узла является нормальным, тем не менее проблемы связи в глобальной сети приводят к тому, что менеджер признает негодным текущий основной контроллер узла. Изначально текущий основной контроллер узла может предоставлять сервис, однако если сообщение контроля работоспособности, направляемое менеджеру, не является нормальным, менеджер пересылает запрос сервиса от запрашивающего узла к другим контроллерам узла через сервисную логику, что приводит к большой трате производительности при предоставлении сервиса текущим контроллером узла. Кроме того, если состояние глобальной сети является хорошим или плохим в течение долгого времени, то менеджер будет часто обнаруживать и переключать все контроллеры текущего узла, что приведет к колебанию переключений и снижению производительности менеджера, а также пропускной способности сети.
Сущность изобретения
Технической задачей, решаемой в настоящем изобретении, является обеспечение способа переключения основного/резервного контроллера узла на основе сети распределения контента и сети CDN, который позволяет сберегать ресурсы.
Техническая задача настоящего изобретения может быть решена посредством следующей технической схемы:
способ переключения основного/резервного контроллера узла на основе сети распределения контента (CDN) включает:
определение состояния текущего основного контроллера узла резервным контроллером узла и,
если основной контроллер узла находится в ненормальном состоянии, выбор согласно заранее заданному правилу резервным контроллером узла одного из резервных контроллеров узла, который посредством замены станет новым основным контроллером узла.
Процедура выбора согласно заранее заданному правилу упомянутым резервным контроллером узла одного из резервных контроллеров узла, который посредством замены станет новым основным контроллером узла, включает следующие шаги:
A, выбор согласно заранее заданному правилу резервным контроллером узла, который первым обнаруживает, что текущий основной контроллер узла находится в ненормальном состоянии, одного из резервных контроллеров узла, который станет новым основным контроллером узла, и передачу запроса на переключение для уведомления упомянутого резервного контроллера узла;
B, переключение выбранного резервного контроллера узла так, что он становится новым основным контроллером узла, на основе упомянутого запроса на переключение, уведомление остальных резервных контроллеров о результате переключения и передача отчета менеджеру.
Упомянутый резервный контроллер узла определяет состояние основного контроллера узла посредством сообщения контроля работоспособности.
В упомянутом способе перед шагом А все резервные контроллеры узла обнаруживают другие резервные контроллеры узла, соответственно, а также взаимно обмениваются рабочими параметрами и сохраняют их, при этом упомянутое заранее заданное правило включает правило выбора резервного контроллера узла с нормальным состоянием и оптимальным рабочим параметром исходя из состояния и рабочего параметра упомянутого резервного контроллера узла.
Упомянутый рабочий параметр включает коэффициент использования центрального процессора и время ожидания ввода/вывода.
На шаге В выбранный резервный контроллер узла переключается так, что он становится новым основным контроллером узла, посредством установки своего состояния как состояния основного контроллера узла.
На шаге В резервный контроллер узла уведомляет остальные резервные контроллеры узла о результате переключения посредством передачи широковещательного сообщения.
В упомянутом способе перед определением состояния текущего основного контроллера узла резервным контроллером узла менеджер устанавливает первый конфигурируемый контроллер узла в качестве основного контроллера узла, следующий конфигурируемый контроллер узла и вновь добавленный контроллер узла в качестве резервного контроллера узла и после шага В основной контроллер узла, который находится в ненормальном состоянии, после возвращения в нормальное состояние устанавливает себя в качестве резервного контроллера узла.
На шаге В менеджер после приема результата переключения передает сервисную сигнализацию в новый основной контроллер узла.
На шаге В менеджер также временно не передает сервисную сигнализацию, если он не принимает сообщение контроля работоспособности от текущего основного контроллера узла.
Сеть распределения контента (CDN) включает менеджер, один основной контроллер узла и по меньшей мере один резервный контроллер узла, при этом упомянутый менеджер сконфигурирован для управления балансировкой нагрузки в сети CDN, упомянутый основной контроллер узла сконфигурирован для управления узлом CDN, а упомянутый резервный контроллер узла сконфигурирован для обнаружения основного контроллера узла и, при определении того что основной контроллер узла находится в ненормальном состоянии, для выбора одного из резервных контроллеров узла, который посредством замены станет новым основным контроллером узла.
Первый резервный контроллер узла, который первым определяет, что основной контроллер узла находится в ненормальном состоянии, выбирает второй резервный контроллер узла, соответствующий заранее заданному правилу, в качестве нового основного контроллера узла и передает запрос на переключение для уведомления второго резервного контроллера узла, при этом второй резервный контроллер узла переключается так, что он становится новым основным контроллером узла, на основе упомянутого запроса на переключение, уведомляет о результате переключения остальные резервные контроллеры и передает отчет менеджеру.
Резервные контроллеры узла попарно обнаруживают друг друга, взаимно обмениваются рабочими параметрами и сохраняют их, при этом упомянутое заранее заданное правило включает правило выбора резервного контроллера узла с нормальным состоянием и оптимальным рабочим параметром исходя из состояния и рабочего параметра резервного контроллера узла.
Упомянутый второй резервный контроллер узла сконфигурирован также для установки своего состояния как состояния основного контроллера узла на основе упомянутого запроса на переключение.
Упомянутый менеджер сконфигурирован для установки первого конфигурируемого контроллера узла в качестве основного контроллера узла, а также для установки следующего конфигурируемого контроллера узла и вновь добавленного контроллера узла в качестве резервного контроллера узла, при этом упомянутый основной контроллер узла сконфигурирован также при возвращении в нормальное состояние из ненормального состояния для установки себя в качестве резервного контроллера узла.
По сравнению с известной технологией настоящее изобретение обладает следующими преимуществами:
(1) в настоящем изобретении для обнаружения текущего основного контроллера узла используют резервный контроллер узла, и если основной контроллер узла находится в ненормальном состоянии, то резервный контроллер узла выбирает согласно заранее заданному правилу один из резервных контроллеров узла, который посредством замены станет новым основным контроллером узла; поскольку в одном и том же узле в одно и то же время в одном и том же шлюзе имеются основной контроллер узла и резервный контроллер узла, настоящее изобретение позволяет устранить проблему, заключающуюся в том, что менеджер в результате ненормальной работы сети вслепую заменяет основной контроллер узла, когда нет отказа основного контроллера узла, благодаря чему производительность менеджера значительно повышается и сберегается пропускная способность сети.
(2) в настоящем изобретении резервный контроллер узла после выбора нового основного контроллера узла преобразует его в основной контроллер узла путем переключения, поэтому несмотря на ненормальную работу сети между менеджером и контроллером изобретение позволяет реализовать нормальное переключение и повышает надежность системы.
(3) в настоящем изобретении резервные контроллеры узла обмениваются друг с другом рабочими параметрами. При отказе основного контроллера узла любой из резервных контроллеров узла, который первым обнаружит отказ, может выбрать один из резервных контроллеров узла с оптимальным рабочим параметром посредством хранимых рабочих параметров и переключить его в основной контроллер узла, что также оптимизирует возможности управления сетью и значительно сокращает нагрузку менеджера при выборе контроллера.
Краткое описание чертежей
На фиг.1 представлена диаграмма взаимодействия различных логических объектов без предлагаемого переключения основного контроллера узла в соответствии с некоторыми вариантами осуществления способа настоящего изобретения.
На фиг.2 представлена блок-схема одного из вариантов осуществления способа настоящего изобретения.
На фиг.3 представлена диаграмма взаимодействия различных логических объектов после переключения основного контроллера узла в соответствии с некоторыми вариантами осуществления способа настоящего изобретения.
На фиг.4 представлена блок-схема переключения резервного контроллера узла, инициируемого в соответствии с одним из вариантов осуществления способа настоящего изобретения.
Предпочтительные варианты осуществления настоящего изобретения
Настоящее изобретение более подробно описано далее со ссылками на приложенные чертежи в сочетании с конкретными вариантами его осуществления.
Когда основной контроллер узла находится в ненормальном состоянии, резервный контроллер узла, который первым это обнаруживает, выбирает один из резервных контроллеров узла в соответствии с заранее заданным правилом и инициирует переключение этого резервного контроллера узла так, что он становится новым основным контроллером узла.
Как показано на фиг.1, в одном из вариантов осуществления настоящего изобретения сеть распределения контента (CDN) включает менеджер, один основной контроллер узла и по меньшей мере один резервный контроллер узла, при этом упомянутый менеджер сконфигурирован для управления балансировкой нагрузки трафика сети CDN, упомянутый основной контроллер узла сконфигурирован для управления узлом CDN, а упомянутый резервный контроллер узла сконфигурирован для обнаружения основного контроллера узла и, при определении того что основной контроллер узла находится в ненормальном состоянии, для выбора одного из резервных контроллеров узла, который посредством замены станет новым основным контроллером узла.
Первый резервный контроллер узла, который первым определяет, что основной контроллер узла находится в ненормальном состоянии, выбирает второй резервный контроллер узла, соответствующий заранее заданному правилу, в качестве нового основного контроллера узла и передает запрос на переключение для уведомления упомянутого второго резервного контроллера узла. Упомянутый второй резервный контроллер узла переключается так, что он становится новым основным контроллером узла, на основе упомянутого запроса на переключение, уведомляет о результате переключения остальные резервные контроллеры и передает отчет менеджеру. В одном из вариантов осуществления настоящего изобретения упомянутый второй резервный контроллер узла после переключения уведомляет остальные резервные узлы о своем состоянии, в частности, путем передачи широковещательного сообщения. Упомянутый второй резервный контроллер узла передает отчет о своем состоянии менеджеру, в частности, путем передачи сообщения контроля работоспособности.
Резервный контроллер узла сконфигурирован для регулярного обнаружения основного контроллера узла, в частности, посредством сообщения контроля работоспособности.
Упомянутое заранее заданное правило включает правило выбора резервного контроллера узла с нормальным состоянием и оптимальным рабочим параметром в соответствии с состоянием и рабочим параметром упомянутого резервного контроллера узла, при этом упомянутый рабочий параметр включает коэффициент использования центрального процессора или время ожидания ввода/вывода. В одном из вариантов осуществления настоящего изобретения может быть выбран резервный контроллер узла с минимальным взвешенным значением коэффициента использования центрального процессора и времени ожидания ввода/вывода. Резервный контроллер узла сконфигурирован также для обнаружения другого резервного контроллера узла для взаимного обмена рабочими параметрами с противоположной стороной и их сохранения. Резервный контроллер узла сконфигурирован для регулярного обнаружения остальных резервных контроллеров узла, в частности, посредством сообщения контроля работоспособности.
Упомянутый второй резервный контроллер узла сконфигурирован также для установки своего состояния как состояния основного контроллера узла на основе упомянутого запроса на переключение.
Упомянутый менеджер сконфигурирован для установки первого конфигурируемого контроллера узла в качестве основного контроллера узла и для установки следующего конфигурируемого контроллера узла и вновь добавленного контроллера узла в качестве резервного контроллера узла. В одном из вариантов осуществления настоящего изобретения менеджер может установить нормально функционирующий контроллер узла с оптимальным рабочим параметром в качестве основного контроллера узла. Упомянутый основной контроллер узла сконфигурирован также при возвращении в нормальное состояние из ненормального состояния для назначения себя в качестве резервного контроллера узла.
Упомянутый менеджер также сконфигурирован для передачи сервисной сигнализации в новый основной контроллер узла после приема результата переключения.
Менеджер сконфигурирован также таким образом, что если он не принимает сообщения контроля работоспособности от текущего основного контроллера узла, то он временно не передает сервисную сигнализацию в текущий основной контроллер узла. Текущий основной контроллер узла регулярно передает менеджеру отчет о своем состоянии для указания на то, что он является основным контроллером узла, при этом менеджер передает сервис текущего узла в текущий основной контроллер узла.
На фиг.2 показан один из вариантов осуществления способа переключения основного/резервного контроллеров узла на основе сети CDN в соответствии с настоящим изобретением, который включает следующие шаги:
шаг 201, резервный контроллер узла определяет состояние основного контроллера узла; все резервные контроллеры узла определяют состояние основного контроллера узла;
шаг 202, резервный контроллер узла, который первым обнаруживает, что текущий основной контроллер узла находится в ненормальном состоянии, выбирает в соответствии с заранее заданным правилом один из резервных контроллеров узла в качестве нового основного контроллера узла и передает запрос на переключение для уведомления упомянутого резервного контроллера узла.
В одном из вариантов осуществления настоящего изобретения резервный контроллер узла обнаруживает остальные резервные контроллеры узла, взаимно обменивается с противоположной стороной рабочими параметрами и сохраняет их. Резервный контроллер узла может регулярно обнаруживать остальные резервные контроллеры узла и может осуществлять упомянутое обнаружение, в частности, посредством сообщения контроля работоспособности. Упомянутое заранее заданное правило включает правило выбора резервного контроллера узла с нормальным состоянием и оптимальным рабочим параметром исходя из состояния и рабочего параметра упомянутого резервного контроллера узла, при этом упомянутый рабочий параметр включает коэффициент использования центрального процессора или время ожидания ввода/вывода. Резервный контроллер узла, который первым обнаруживает, что основной контроллер узла находится в ненормальном состоянии, может выбирать резервный контроллер узла с минимальным взвешенным значением коэффициента использования центрального процессора и времени ожидания ввода/вывода исходя из хранимого состояния рабочего параметра упомянутого резервного контроллера узла.
Шаг 203, выбранный резервный контроллер узла переключают так, что он становится новым основным контроллером узла, на основе упомянутого запроса на переключение, при этом он может переключить себя в основной контроллер путем установки своего состояния как состояния основного контроллера узла. После установки состояния выбранный резервный контроллер узла уведомляет остальные резервные контроллеры узла об этом состоянии и передает отчет о нем менеджеру. В одном из вариантов осуществления настоящего изобретения новый основной контроллер узла уведомляет остальные резервные контроллеры о своем номере, в частности, путем передачи широковещательного сообщения.
Если состояние исходного основного контроллера узла возвращается в нормальное или если контроллер узла вновь добавлен, то вернувшийся в нормальное состояние или вновь добавленный контроллер узла назначает себя в качестве резервного контроллера узла и затем определяет, имеется ли основной контроллер узла в данном узле; если основной контроллер узла имеется, переходят к шагу 201; если основной контроллер узла отсутствует, то осуществляют поиск одного из резервных контроллеров узла с нормальным состоянием и оптимальным рабочим параметром и переключают его в основной контроллер узла.
Связь между основным контроллером узла и менеджером может быть нарушена, однако при этом состояние основного контроллера узла может быть исправным. В этом случае основной контроллер узла по-прежнему предоставляет сервис пользователям данного узла, однако менеджер не принимает отчетов о состоянии основного контроллера узла в течение долгого времени, таким образом, менеджер не передает сервисную сигнализацию в основной контроллер узла до тех пор, пока связь не станет нормальной и менеджер снова не примет отчет о состоянии основного контроллера узла.
Взаимодействие между различными логическими объектами в способе переключения основного/резервного контроллеров узла на основе сети CDN показано на фиг.1: все резервные контроллеры узла обнаруживают основной контроллер узла; все резервные контроллеры узла попарно обнаруживают друг друга и обмениваются рабочими параметрами; текущий основной контроллер узла регулярно передает менеджеру отчет о своем состоянии для указания на то, что он является основным контроллером узла, а менеджер передает сервис текущего узла в текущий основной контроллер узла.
На фиг.3 показано взаимодействие между различными логическими объектами в способе переключения основного/резервного контроллеров узла на основе сети CDN согласно настоящему изобретению после переключения резервного контроллера узла в основной контроллер узла. Исходный основной контроллер, переключаемый в резервный контроллер узла, и остальные резервные контроллеры узла попарно обнаруживают друг друга и обмениваются рабочими параметрами. После того, как исходный резервный контроллер узла с нормальным состоянием и оптимальным рабочим параметром переключают так, что он становится новым основным контроллером узла, все резервные контроллеры узла определяют состояние нового основного контроллера узла, при этом новый основной контроллер узла регулярно передает менеджеру отчет о своем состоянии.
Способ переключения основного/резервного контроллеров узла на основе сети CDN описан более подробно далее, как показано на фиг.4. В данном описании предполагается, что резервный контроллер узла CDN - агент 1 - первым обнаруживает, что текущий основной контроллер узла находится в ненормальном состоянии, при этом, например, агент X CDN является текущим основным контроллером узла.
Шаг 401, агент 1 CDN обнаруживает основной контроллер агента X CDN; агент 1 CDN регулярно обнаруживает текущий основной контроллер агента X CDN и, в частности, может осуществлять упомянутое обнаружение посредством сообщения контроля работоспособности;
шаг 402, определение, является ли состояние агента X CDN нормальным; агент 1 CDN определяет, является ли состояние агента X CDN нормальным, и, если да, переход к шагу 403, иначе, переход к шагу 404;
шаг 403, данное обнаружение завершено; состояние агента X CDN является нормальным, значит данное обнаружение завершено, и агент X CDN ожидает следующего обнаружения;
шаг 404, если состояние агента X CDN является ненормальным, агент 1 CDN получает все резервные контроллеры данного узла;
шаг 405, проход по списку резервных контроллеров узла и выбор одного из резервных контроллеров CDN - агента 1 - в соответствии с заранее заданным правилом; агент 1 CDN проходит по списку резервных контроллеров узла и согласно настоящему изобретению агент 1 CDN выбирает один из резервных контроллеров узла - агента 2 CDN - с нормальным состоянием и минимальным взвешенным значением коэффициента использования центрального процессора и времени ожидания ввода/вывода; агент 1 CDN может также обнаруживать резервный контроллер узла в соответствии с другими заранее заданными правилами;
шаг 406, агент 1 CDN передает запрос на переключение агенту 1 CDN; агент 1 CDN передает запрос на переключение агенту 2 CDN, запрашивая переключение агента 2 CDN в основной контроллер узла;
шаг 407, агент 2 CDN переключают в основной контроллер узла; агент 2 CDN после приема упомянутого запроса на переключение переключает себя в основной контроллер узла на основе упомянутого запроса на переключение; в одном из вариантов осуществления настоящего изобретения агент 2 CDN может обновлять свое состояние как состояние основного контроллера узла;
шаг 408, уведомление остальных резервных контроллеров узла; агент 2 CDN уведомляет все остальные резервные контроллеры узла о том, что агент 2 CDN является новым основным контроллером узла; агент 2 CDN может уведомлять остальные резервные контроллеры узла, в частности, посредством широковещательного сообщения, при этом остальные резервные контроллеры узла обнаруживают новый основной контроллер узла в заранее заданное время;
шаг 409, агент 2 CDN передает отчет о своем состоянии менеджеру;
шаг 410, менеджер принимает отчет о состоянии и модифицирует информацию об основном контроллере узла; менеджер после приема состояния нового основного контроллера узла обновляет параметр текущего основного контроллера узла в сервисе более высокого уровня, при этом менеджер передает сервис только в новый основной контроллер узла;
на этом алгоритм переключения завершается.
В приведенном выше описании подробно изложено настоящее изобретение со ссылками на предпочтительные варианты его осуществления, которые не ограничивают изобретение. Специалисты могут выполнить множество очевидных модификаций или замен в пределах сущности настоящего изобретения. Все подобные модификации или замены находятся в объеме правовой охраны настоящего изобретения.