СПОСОБ РЕАЛИЗАЦИИ МОНИТОРИНГА СОСТОЯНИЯ УСТАНОВЛЕННОГО В МЕДИА-ШЛЮЗЕ КОНТРОЛЛЕРА МЕДИА-ШЛЮЗА
METHOD OF MONITORING STATE OF MEDIA GATEWAY CONTROLLER, INSTALLED IN MEDIA GATEWAY

Область техники
Настоящее изобретение относится к технологии сетей нового поколения, более конкретно к способу реализации мониторинга состояния контроллера медиа-шлюза, установленного в медиа-шлюзе.
Уровень техники
Контроллер медиа-шлюза (Media Gateway Controller, MGC) и медиа-шлюз (Media Gateway, MG) являются двумя важными компонентами сетей следующего поколения (Next Generation Network, NGN). MGC осуществляет управление вызовами, MG осуществляет обработку услуг; таким образом, реализуется разделение уровня вызовов и уровня услуг, которое обеспечивает наиболее полное использование сетевых ресурсов, сравнительно легкое обновление оборудования и расширение услуг, а также значительное снижение стоимости расширения и обслуживания, см. фиг.1.
Основным протоколом, используемым для взаимодействия между MG и MGC, является протокол управления медиа-шлюза; в настоящее время широко используются протоколы H.248/MeGaCo и MGCP. Протокол MGCP был утвержден IETF в октябре 1999 г. и пересмотрен в январе 2003 г., протокол H.248/MeGaCo был утвержден совместно IETF и ITU в ноябре 2000 г. и пересмотрен в июне 2003 г.
Все виды ресурсов в MG (в качестве примера далее рассматривается протокол Н.248) абстрактно представляются как оконечные пункты. Существует два вида оконечных пунктов: физический оконечный пункт и временной оконечный пункт. Первый представляет некоторый полупостоянно существующий физический объект, например канал с мультиплексированной передачей с временным уплотнением (Time Division Multiplexing, TDM) и др., второй представляет некоторые разделяемые ресурсы, которые занимаются временно и освобождаются после использования, например поток на основе протокола передачи в реальном времени (Real-Time Transport Protocol, RTP) и т.д. Комбинация оконечных пунктов абстрактно представляется как контекст. Контекст может включать в себя множество оконечных пунктов; для описания взаимосвязей между оконечными пунктами используется топология.
Согласно этой абстрактной модели протокола, установление соединения вызова фактически представляет собой операцию с оконечным пунктом и контекстом. Указанная операция выполняется путем передачи командных запросов и ответов между MGC и MG. Параметр, содержащийся в команде, также называется дескриптором, и может иметь следующие категории: свойство, сигнал, событие, статистический и т.д. Параметры, относящиеся к сходным услугам, логически объединяются в пакет.
Управление вызовами и обработка услуг выполняются на двух отдельных компонентах (MGC и MG соответственно), при этом связь между MGC и MG осуществляется на основе сети пакетной связи NGN, поэтому каждый из компонентов пары MGC и MG должен иметь информацию о том, функционирует ли второй компонент пары. Как правило, MG является пассивным, т.е. ведомым компонентом; MGC, напротив, может активно запрашивать MG, которым он управляет, путем гибкого использования способа аудита, поэтому в протоколе управления медиа-шлюза предпочтительно должны быть реализованы эффективные средства мониторинга состояния MGC.
В протоколе Н.248 определены такие элементы, как пакет таймера неактивности, событие истечения времени неактивности и параметр максимального времени неактивности для события; на их основе реализуются средства мониторинга состояния MGC, выполняемого MG. Ниже описан механизм этого процесса.
MGC посылает событие истечения времени неактивности в составе пакета времени неактивности на корневой оконечный пункт MG, который представляет весь шлюз в целом, и устанавливает параметр максимального времени неактивности для события, в результате чего MG начинает отслеживать время неактивности сообщений от MGC и проверять его на превышение значения этого параметра. Все поступающие сообщения анализируются MG по этим показателям. Как только время неактивности сообщения от MGC превысит значение указанного параметра, MG информирует об этом MGC путем посылки сообщения-уведомления совместно с событием истечения времени по неактивности. Если на это сообщение-уведомление не поступает ответ, MG считает MGC неисправным и запускает процесс обработки неисправности, например инициирует регистрацию на резервном MGC.
MGC, которому необходимо информировать MG о своем нормальном состоянии, должен поддерживать интервал времени между посылаемыми в MG сообщениями, не превышающий значение установленного параметра максимального времени неактивности, поэтому при отсутствии сообщения управления услугами, которое должно быть послано в течение этого периода, MGC должен послать дополнительное сообщение, такое как тестовое сообщение или сообщение проверки активности, например пустое сообщение управления, на корневой оконечный пункт в MG.
MG может определять время неактивности сообщений от MGC двумя способами. Первый способ состоит в следующем: таймеру присваивается начальное значение 0 и определяется верхний предел времени ожидания. Каждое поступление сообщения от MGC вызывает сброс значения таймера на 0; если время по таймеру истекает, в MSC передается информация об истечении времени по неактивности. Другой способ предполагает использование флага (индикатора) получения сообщения с начальным значением 0 и общего таймера времени ожидания. Каждое поступление сообщения от MGC вызывает установку значения флага в 1; если время по таймеру истекает и при этом флаг имеет значение 0, то в MSC передается информация об истечении времени по неактивности; в противном случае MG сбрасывает флаг в 0 и перезапускает таймер.
Вышеописанное решение имеет следующие недостатки:
1. Механизм мониторинга состояния MGC, выполняемого MG, может быть запущен только после того, как MGC пошлет соответствующий пакет, событие и параметр. Если по каким-либо причинам MG не будет получать эти сообщения, этот MG потеряет механизм достоверного мониторинга состояния MGC. Причины могут быть следующими: MGC не создал пакет, он не сконфигурирован соответствующим образом для передачи пакета, он не послал сообщение вовремя вследствие внезапной ошибки, посланное сообщение было случайно пропущено и пр.
2. Механизм мониторинга состояния MGC, выполняемого MG, гарантирует поддержание интервала между сообщениями, не превышающего значение времени истечения, за счет посылки специального сообщения, которое не предназначено для управления услугами MGC и дополнительно нагружает MGC, и, кроме того, создает дополнительный трафик в сети, при этом, однако, не предотвращая истечение времени на MG по отсутствию сообщений от MGC. В результате MG, как и ранее, необходимо анализировать наличие любого ответа на сообщение-уведомление.
Раскрытие изобретения
Задача, на решение которой направлено настоящее изобретение, заключается в создании способа реализации мониторинга состояния контроллера медиа-шлюза, установленного в медиа-шлюзе, позволяющего устранить проблему недостоверного мониторинга предыдущего уровня техники, возникающего вследствие потребности MG в мониторинге состояния MGC в зависимости от взаимодействия с MGC.
В соответствии с изобретением решение поставленной задачи достигается путем использования технического решения, включающего в себя следующее.
Способ реализации мониторинга состояния контроллера медиа-шлюза, установленного в медиа-шлюзе, включает в себя следующие шаги:
А. Мониторинг контроллера медиа-шлюза по возвращаемым сообщениям успешной регистрации после регистрации медиа-шлюза на контроллере медиа-шлюза;
В. Определение состояния контроллера медиа-шлюза по времени отсутствия сообщения контроллера медиа-шлюза.
На медиа-шлюзе предпочтительно имеется таймер неактивности, используемый для контроля времени отсутствия сообщения контроллера медиа-шлюза.
Кроме того, на медиа-шлюзе может быть предусмотрен общий таймер и флаг (индикатор) получения сообщения, используемые для контроля времени отсутствия сообщений.
В качестве дополнения при истечении времени отсутствия контроллеру медиа-шлюза посылается сообщение-уведомление, при получении которого контроллер медиа-шлюза возвращается в нормальное состояние.
В указанном способе также определяется длительность времени ожидания, по которой определяется превышение указанного значения временем ожидания.
При получении сообщения, содержащего максимальное время неактивности, от контроллера медиа-шлюза, медиа-шлюз сбрасывает длительность времени ожидания таймера неактивности или общего таймера согласно максимальному времени неактивности. Более конкретно, длительность времени ожидания таймера неактивности может быть установлена равной максимальному времени неактивности, а длительность времени истечения общего таймера может быть установлена равной половине максимального времени неактивности.
Если для мониторинга контроллера медиа-шлюза на медиа-шлюзе используется таймер неактивности, то происходит следующий процесс: если число последовательных событий истечения времени таймера неактивности достигает заданного значения, медиа-шлюз запускает процесс обработки неисправности. Если для мониторинга контроллера медиа-шлюза на медиа-шлюзе используется общий таймер и флаг получения сообщения, то происходит следующий процесс: если число последовательных событий истечения времени общего таймера достигает заданного значения, и флаг приема сообщения указывает на отсутствие поступающих сообщений, медиа-шлюз запускает процесс обработки неисправности.
Если для мониторинга контроллера медиа-шлюза на медиа-шлюзе имеется таймер неактивности, то предусматривается также счетчик неактивности, предназначенный для подсчета числа последовательных событий истечения времени таймера неактивности, причем этот счетчик неактивности сбрасывается при поступлении любого сообщения от контроллера медиа-шлюза на медиа-шлюз; если для мониторинга контроллера медиа-шлюза на медиа-шлюзе имеются общий таймер и флаг приема сообщения, то аналогичный счетчик неактивности используется для подсчета числа последовательных событий, каждое из которых включает в себя истечение общего таймера при наличии флага приема сообщения, указывающего на отсутствие поступающих сообщений, причем указанный счетчик неактивности сбрасывается при поступлении любого сообщения от контроллера медиа-шлюза на медиа-шлюз.
Изобретение имеет следующие преимущества.
1. Согласно настоящему изобретению, механизм мониторинга запускается немедленно после успешной регистрации MG на MGC, без ожидания передачи соответствующего пакета, события и параметра от MGC. Поэтому мониторинг MGC, выполняемый MG, не зависит от состояния MGC, что устраняет проблему возможной недостоверности механизма мониторинга вследствие неисправности MGC.
2. Согласно настоящему изобретению, нет необходимости в передаче от MGC дополнительного сообщения, такого как тестовое сообщение или сообщение проверки активности, даже в том случае, если отсутствует требуемое для передачи сообщение управления услугами, что позволяет снизить нагрузку на MGC и сеть. Если же требуется контроль состояния MG со стороны самого MGC путем посылки сообщения, такого как пустое контрольное значение, управление временем посылки не ограничивается описанным выше параметром максимального времени неактивности.
Краткое описание фигур чертежей
Другие свойства и достоинства настоящего изобретения станут ясны из нижеследующего описания, содержащего ссылки на прилагаемые чертежи, которые иллюстрируют вариант осуществления изобретения, не вносящий каких-либо ограничений. На чертежах:
на фиг.1 представлена схема работы с сетями MG и MGC в NGN;
на фиг.2 представлена схема процесса мониторинга состояния MGC, осуществляемого MG.
Осуществление изобретения
Управление вызовами и обработка услуг в NGN реализуются на отдельных компонентах - MGC и MG соответственно, при этом связь между MGC и MG обеспечивается на основе сети NGN пакетной связи, поэтому каждому из компонентов пары MGC и MG необходима информация о том, нормально ли функционирует второй компонент пары. В настоящем изобретении описывается простой и надежный метод получения на MG информации о рабочем состоянии MGC в реальном времени на основе прикладного уровня путем расширения механизма обработки для соответствующего пакета, события и параметра в протоколе Н.248.
Первый вариант осуществления
В MG имеется независимый таймер неактивности, и длительность его времени ожидания может быть предварительно установлена как конфигурируемое значение по умолчанию. Различие между таймером неактивности и общим таймером заключается в следующем: таймер неактивности может быть сброшен в любое время и отсчет времени повторно запускается автоматически, в то время как общий таймер сбрасывается не в любое время, а только после истечения времени ожидания. При истечении времени ожидания оба эти таймера должны сбрасываться для перезапуска отсчета времени.
После успешной регистрации MG на MGC, т.е. после перехода MGC в состояние главного (или задающего) MGC, MG активно запускает таймер неактивности согласно возвращенному сообщению об успешной регистрации, и начинает отслеживание состояния MGC. При получении любого сообщения от главного MGC, которое может быть как сообщением-запросом, так и сообщением-ответом, MG сбрасывает таймер неактивности, после чего отсчет времени по таймеру неактивности автоматически перезапускается.
Если время таймера неактивности истекло, MG информирует об этом MGC путем посылки сообщения-уведомления совместно с событием истечения времени неактивности от корневого оконечного пункта, и одновременно сбрасывает таймер неактивности. Поскольку это событие не относится к событиям, отслеживаемым MG по предварительному запросу MGC, идентификатор этого события равен 0.
Если сообщение от главного MGC содержит событие истечения времени неактивности в пакете таймера неактивности, передаваемом корневому оконечному пункту на MG, и устанавливает параметр максимального времени неактивности этого события, то MG регистрирует событие истечения времени неактивности и его идентификатор события на корневом оконечном пункте, а также устанавливает длительность времени ожидания для вышеуказанного таймера неактивности, равную значению параметра максимального времени неактивности. После этого при каждом истечении таймера неактивности, когда MG информирует MGC путем посылки сообщения-уведомления совместно с событием истечения времени неактивности от корневого оконечного пункта, идентификатор события будет соответствовать вышеупомянутому идентификатору события, отслеживаемого по запросу MGC.
Сообщение-уведомление, которое передается совместно с событием истечения времени неактивности, посылаемым от MG к MGC, аналогично сигналу активности, по которому MGC должен возвращать ответ на сигнал активности. Этот ответ, как и любое другое сообщение от MGC, может использоваться как флаг, указывающий на то, что MGC находится в нормальном состоянии, по которому MG сбрасывает таймер неактивности. Однако после посылки сообщения-уведомления и до повторного истечения таймера неактивности, если MG не получил какого-либо сообщения от MGC, включая ответ на сообщение-уведомление, этот MG может считать MGC неисправным и запустить процесс обработки неисправности, например инициализировать регистрацию на резервном MGC.
Для избежания неверной оценки в случае кратковременного состояния, такого как "сбой" сети, на MG также предусматривается счетчик неактивности с начальным значением 0 (принцип действия счетчика неактивности соответствует ранее приведенному описанию таймера неактивности), предназначенный для подсчета числа последовательных событий истечения вышеописанного таймера неактивности. Если время таймера неактивности истекло, значение счетчика неактивности увеличивается на 1; при получении MG любого сообщения от MGC, включая ответ на сообщение-уведомление, передаваемое совместно с событием истечения времени неактивности, счетчик неактивности сбрасывается на 0. Если текущее значение счетчика неактивности, т.е. число последовательных событий истечения времени вышеупомянутого таймера неактивности, достигло заданного порогового значения, MGC считается находящимся в неисправном состоянии, и MG запускает процесс обработки неисправности.
На фиг.2 показан мониторинг MGC, выполняемый MG следующим образом:
1. MG запускает таймер неактивности и счетчик неактивности после получения сообщения об успешной регистрации, возвращенного от MGC, при этом длительность времени таймера неактивности устанавливается равной значению по умолчанию А, начальное значение счетчика неактивности устанавливается равным 0.
2. MG сбрасывает таймер неактивности и счетчик неактивности после получения любого сообщения-запроса или сообщения-ответа от MGC.
3. Если время по таймеру неактивности истекло, на MGC посылается сообщение-уведомление, содержащее событие истечения времени неактивности, при этом идентификатор события равен 0, одновременно счетчик неактивности увеличивается на 1.
4. MG сбрасывает таймер неактивности и счетчик неактивности после получения сообщения-ответа от MGC.
5. После получения сообщения-запроса от MGC, содержащего пакет таймера неактивности, событие (Event) истечения времени неактивности и параметр максимального времени неактивности (mit), MG устанавливает длительность времени таймера неактивности, равную максимальному времени неактивности В, сбрасывает таймер неактивности и счетчик неактивности и одновременно регистрирует идентификатор EventlD = X события истечения времени неактивности.
6. MG возвращает сообщение-ответ MGC.
7. MG сбрасывает таймер неактивности и счетчик неактивности при получении любого сообщения-запроса или сообщения-ответа от MGC.
8. Если время таймера неактивности истекло, на MGC посылается сообщение-уведомление, которое содержит событие (ObservedEvent) истечения времени неактивности с идентификатором EventlD = X события, одновременно значение счетчика неактивности увеличивается на 1.
9. MG сбрасывает таймер неактивности и счетчик неактивности при получении любого сообщения-запроса или сообщения-ответа от MGC.
10. При истечении времени по таймеру неактивности MG посылает на MGC сообщение-уведомление, которое содержит событие (ObservedEvent) истечения времени неактивности с идентификатором EventlD = X события, одновременно значение счетчика неактивности увеличивается на 1.
11. При истечении времени по таймеру неактивности MG посылает MGC сообщение-уведомление, которое содержит событие (ObservedEvent) истечения времени неактивности с идентификатором EventlD = X события, а значение счетчика неактивности увеличивается на 1, значение счетчика становится равным 2.
12. Если текущее значение счетчика неактивности достигло предварительно установленного порога n, что указывает на наличие n последовательных событий истечения времени таймера неактивности, и MG не получает каких-либо сообщений от MGC в ответ на посылку сообщений-уведомлений, последовательно переданных MGC ранее, то MGC с точки зрения MG является неисправным, и MG запускает процесс обработки неисправности, такой как запуск замены услуг.
Второй вариант осуществления
Для определения времени отсутствия сообщений MGC используется флаг приема сообщения с начальным значением 0 и, отдельно, общий таймер с предварительно установленным значением по умолчанию. После успешной регистрации MG на MGC, т.е. перехода MGC в состояние главного MGC, MG активно запускает таймер неактивности согласно возвращенному сообщению об успешной регистрации, и своевременно начинает отслеживание состояния MGC.
При получении MG любого сообщения от MGC устанавливается значение флага 1. Если время таймера истекло, и флаг установлен в 0, MG информирует MGC о событии истечения времени неактивности; в противном случае MG сбрасывает флаг в 0 и перезапускает таймер.
Если сообщение от главного MGC содержит событие истечения времени неактивности в пакете таймера неактивности, посылаемом корневому оконечному пункту в MG, и устанавливает параметр максимального времени неактивности этого события, MG регистрирует событие истечения времени неактивности и идентификатор этого события на корневом оконечном пункте и устанавливает длительность времени таймера, равной половине значения параметра максимального времени неактивности.
Во избежание неверной оценки в случае кратковременного состояния, такого как "сбой" сети, на MG также предусматривается счетчик неактивности с начальным значением 0 (принцип счетчика неактивности соответствует описанию в первом варианте осуществления), предназначенный для подсчета числа последовательных событий истечения общего таймера при флаге приема сообщений, указывающем на отсутствие поступающих сообщений. Если текущее значение счетчика неактивности достигло заданного порогового значения, MGC считается находящимся в неисправном состоянии, и MG запускает процесс обработки неисправности. Остальные операции соответствуют первому варианту осуществления изобретения.