МЕХАНИЗМЫ, ПРЕДНАЗНАЧЕННЫЕ ДЛЯ ОБНАРУЖЕНИЯ И УМЕНЬШЕНИЯ ОТКАЗОВ В УСТРОЙСТВЕ ШЛЮЗА
MECHANISMS FOR FAILURE DETECTION AND MITIGATION IN GATEWAY DEVICE

Перекрестная ссылка на родственные заявки
Эта заявка испрашивает приоритет согласно 35 U.S.C.§ 119 предварительной заявки 60/925,792, поданной в США 23 апреля 2007 г.
Область техники, к которой относится изобретение
Настоящие варианты осуществления, в целом, относятся к устройствам шлюзов, которые могут быть использованы для того, чтобы предоставлять услуги для устройств множества мест проживания (MDU), и, более конкретно, к механизмам, предназначенным для обнаружения и уменьшения состояний отказа, связанных с такими устройствами шлюзов.
Уровень техники
Развернуты системы, предназначенные для предоставления услуг, таких как услуга спутникового телевидения, которые используют структуру, которая является дополнительной к потребностям многопользовательской работы в одном местоположении, таком как здания или квартиры с множеством мест проживания. Устройство системы, используемой для установки, такой как установки MDU, часто включает в себя клиентские устройства, соединенные через локальную сеть с центральным устройством или устройством шлюза, которое соединено с сетью провайдера услуг. В данном устройстве шлюза могут случаться отказы из-за аппаратного обеспечения или программного обеспечения и приводят к ухудшению эксплуатационных характеристик системы и вызовам обслуживания от пользователей.
Один подход к обнаружению и уменьшению отказов модуля программного обеспечения в данном устройстве шлюза включает в себя использование контрольных мониторов. Такие контрольные мониторы, например, могут быть установлены на потоковой основе, чтобы осуществлять мониторинг одного или более потоков выполнения и указывать отказ потока (т.е. обнаружение отказа на микроуровне). Во многих случаях более сложные модули программного обеспечения состоят из множества потоков выполнения, а также объектных модулей третьей стороны, мониторинг которых не осуществляется, и которые также могут использовать услуги набора протоколов управления передачей/протокола Internet (TCP/IP).
В этих более сложных модулях подход контрольного монитора на потоковой основе может быть недостаточным для того, чтобы обнаруживать отказ полного модуля программного обеспечения или потерю точки (точек) функции программного обеспечения.
Таким образом, имеется потребность в усовершенствованных механизмах, предназначенных для обнаружения и уменьшения состояний отказа, связанных с устройствами шлюзов. Настоящие варианты осуществления, описанные в настоящей заявке, посвящены этим и/или другим вопросам и предоставляют функциональную возможность макроуровня, чтобы обнаруживать отказы модуля аппаратного обеспечения и программного обеспечения через одно или более устройств шлюзов.
Сущность изобретения
В соответствии с аспектом настоящего раскрытия раскрыт способ, предназначенный для обнаружения отказа в устройстве шлюза. В соответствии с иллюстративным вариантом осуществления способ включает в себя этапы приема первого извещения относительно услуги, связанной с работой сети, определения классификации первого извещения, инициализации временного интервала на основании классификации первого извещения и предоставления сообщения об ошибке, если второе извещение той же самой классификации, что и первое извещение, не принято до того, как истечет временной интервал.
В соответствии с другим аспектом настоящего раскрытия раскрыто устройство шлюза. В соответствии с иллюстративным вариантом осуществления устройство шлюза включает в себя сетевой интерфейс, предназначенный для приема первого извещения относительно услуги, связанной с работой сети, и процессор, предназначенный для определения классификации первого извещения, инициализации временного интервала на основании классификации первого извещения и предоставления сообщения об ошибке, если второе извещение той же самой классификации, что и первое извещение, не принято до того, как истечет временной интервал.
В соответствии с другим аспектом настоящего раскрытия раскрыто еще одно устройство. В соответствии с иллюстративным вариантом осуществления устройство включает в себя средство, предназначенное для приема первого извещения относительно услуги, связанной с работой сети, и средство, предназначенное для определения источника первого извещения сети и типа первого извещения сети, инициализации временного интервала и предоставления сообщения об ошибке, если второе извещение из источника первого извещения сети и того же самого типа, что и первое извещение сети, не принято до того, как истечет временной интервал.
Краткое описание чертежей
Вышеупомянутые и другие признаки и преимущества этих представленных вариантов осуществления и способ их достижения станут более понятными и раскрытие будет лучше понято с помощью ссылки на следующее описание вариантов осуществления, взятое совместно с сопровождающими чертежами, на которых:
фиг. 1 - блок-схема, иллюстрирующая иллюстративную систему, использующую варианты осуществления настоящего раскрытия,
фиг. 2 - блок-схема, иллюстрирующая соответственную часть одного из устройств шлюзов фиг. 1,
фиг. 3 - блок-схема, иллюстрирующая иллюстративный вариант осуществления одного из устройств шлюзов фиг. 1,
фиг. 4 - представляет часть блок-схемы последовательности этапов, иллюстрирующей иллюстративный способ, использующий варианты осуществления настоящего раскрытия,
фиг. 5 - представляет другую часть блок-схемы последовательности этапов, иллюстрирующей иллюстративный способ, использующий варианты осуществления настоящего раскрытия,
фиг. 6 - представляет другую часть блок-схемы последовательности этапов, иллюстрирующей иллюстративный способ, использующий варианты осуществления настоящего раскрытия.
Иллюстративные примеры, подробно изложенные в настоящей заявке, иллюстрируют предпочтительные варианты осуществления раскрытия, и такие иллюстративные примеры никоим образом не должны быть истолкованы как ограничивающие объем вариантов осуществления.
Описание предпочтительных вариантов осуществления
Варианты осуществления, описанные выше, главным образом, направлены на системы установки, находящиеся в устройствах множества мест проживания. Варианты осуществления также могут быть использованы и применены в любой системе распространения сетевой информации, использующей интерфейс шлюза или головного узла сети, предоставляющий содержание через сеть данных в клиентские устройства, телеприставки или схемы приема. Например, описанные варианты осуществления могут быть модифицированы с использованием способов, известных специалисту в данной области техники, чтобы работать в системе распространения развлечений пассажиров самолета или автобуса.
Теперь, ссылаясь на чертежи, и более конкретно, на фиг. 1, изображена иллюстративная система 100, использующая варианты осуществления настоящего раскрытия. Как указано на фиг. 1, иллюстративная система 100 содержит один или более системных головных узлов сети (не изображены), устройство 10 шлюза, главный коммутационный щит 20 (MDF), сеть, такую как Internet 30, оперативный центр управления сетью (NOC) 40, промежуточные коммутационные щиты (IDF) 50 и клиентские устройства (не изображены). В соответствии с иллюстративным вариантом осуществления фиг. 1 представляет типичную систему, которая может быть использована в MDU, использующем сеть Ethernet или другой тип сети, такой как коаксиально-кабельная технология, технология цифровой абонентской линии (DSL), технология передачи данных по электросети или беспроводная технология.
На фиг. 1 каждое устройство 10 шлюза оперативно соединено и обменивается данными с системным головным узлом сети (т.е. провайдером услуг), таким как головной узел сети спутниковой, наземной, кабельной, Internet и/или другого типа широковещательной системы. В соответствии с иллюстративным вариантом осуществления каждое устройство 10 шлюза принимает множество сигналов, включая аудио- и/или видеосодержание, из системного головного узла сети (головных узлов сети), преобразует формат сигнала принятых сигналов, а затем посылает соответственные потоки данных в формате, таком как формат протокола Internet (IP), через сеть посредством MDF 20 и IDF 50 в клиентские устройства (например, телеприставки, телевизоры и т.д.) на основании запросов, сделанных пользователями в соответственных устройствах мест проживания. Как известно в данной области техники, MDF 20 и IDF 50 работают в качестве устройств коммутации и маршрутизации. Число устройств 10 шлюзов, MDF 20 и IDF 50, включенных в данную установку MDU, может изменяться на основании выбора конструкции. Например, каждый IDF 50 может обслуживать клиентские устройства, присутствующие на данном этаже, и/или другую определенную часть MDU. Несмотря на то, что система 100 изображена и описана в настоящей заявке как являющаяся коммутируемой сетью Ethernet, использующей специфичный сетевой формат, специалисты в данной области техники поймут, что принципы настоящего раскрытия также могут быть применены к другим типам сетей, таким как сети, использующие коаксиально-кабельную технологию, технологию цифровой абонентской линии (DSL), технологию передачи данных по электросети и/или беспроводную технологию, и некоторое число возможных сетевых форматов.
Важно заметить, что более одного устройства 10 шлюза могут быть соединены с одним и тем же головным узлом сети провайдера услуг. Множество устройств 10 шлюзов может быть необходимо, для того чтобы принимать и распространять все имеющееся содержание от провайдера услуг, из-за конструкторских ограничений размера или функциональных возможностей одного устройства 10 шлюза. Кроме того, устройства 10 шлюзов могут включать в себя возможность соединяться и обмениваться данными друг с другом автономно от локального сетевого соединения или совместно с локальным сетевым соединением, выполненным с MDF 20.
Как указано на фиг. 1, MDF 20 оперативно соединен и обменивается данными с NOC 40 через Internet 30 или другое подходящее сетевое соединение. В соответствии с иллюстративным вариантом осуществления MDF 20 действует с возможностью приема сообщений извещения, связанных с операционным состоянием устройств 10 шлюзов, и передачи таких сообщений извещения в NOC 40. В случае, когда одно из этих сообщений извещения указывает операционную проблему (например, отказ модуля аппаратного обеспечения и/или программного обеспечения и т.д.) с одним из устройств 10 шлюзов, может быть предпринято соответствующее действие (например, вызов обслуживания, загрузка нового программного обеспечения, перезагрузка отказавшего устройства шлюза без вмешательства оператора и т.д.), чтобы идентифицировать и решить проблему. В соответствии с принципами настоящего раскрытия каждое устройство 10 шлюза действует с возможностью обнаружения операционных проблем, присутствующих с самим собой и/или другими устройствами 10 шлюзов, и предоставления таких сообщений извещения в NOC 40 через MDF 20 и Internet 30. Таким образом, настоящее раскрытие преимущественно может обнаруживать и уменьшать состояния отказа в устройстве 10 шлюза, используемом, например, в сети MDU.
Ссылаясь на фиг. 2, изображена блок-схема, иллюстрирующая соответственную часть одного из устройств 10 шлюзов фиг. 1. Устройство 10 шлюза фиг. 2 включает в себя блок 12 ввода/вывода, процессор 14, память 16. Для ясности описания определенные традиционные элементы, связанные с устройством 10 шлюза, такие как определенные управляющие сигналы, сигналы питания, и/или другие элементы, могут быть не изображены на фиг. 2.
Блок 12 ввода/вывода действует с возможностью выполнения функций ввода/вывода устройства 10 шлюза. В соответствии с иллюстративным вариантом осуществления блок 12 ввода/вывода действует с возможностью приема сигналов, таких как аудио, видео и/или другие сигналы данных, в аналоговом и/или цифровом формате из одного или более источников сигналов головных узлов сети, таких как спутниковые, наземные, кабельные, Internet и/или другие источники сигналов. Блок 12 ввода/вывода также действует с возможностью вывода сигналов в один или более источников сигналов головных узлов сети. Блок 12 ввода/вывода также действует с возможностью передачи сигналов в MDF 20 и приема сигналов из MDF 20. В иллюстративном варианте осуществления блок 12 ввода/вывода включает в себя сигнальный интерфейс, предназначенный для приема широковещательных сигналов, содержащих аудио- и видеосодержание, и сетевой интерфейс, предназначенный для передачи и приема сигналов в виде сигналов данных в локальной сети, включающей в себя MDF 20. Сигналы данных могут включать в себя сигналы, представляющие аудио- и видеосодержание, обрабатываемое с помощью устройств 10 шлюзов, и извещения сети, генерируемые с помощью устройств 10 шлюзов.
Процессор 14 действует с возможностью выполнения различных функций обработки сигнала и управления устройства 10 шлюза. В соответствии с иллюстративным вариантом осуществления процессор 14 действует с возможностью обработки аудио, видео и/или сигналов данных, принятых с помощью блока 12 ввода/вывода, таким образом, чтобы разместить эти сигналы в формате, который является подходящим для передачи в клиентские устройства и обработки с помощью клиентских устройств.
Процессор 14 также действует с возможностью выполнения кода программного обеспечения, который дает возможность обнаружения и уменьшения операционных проблем (например, отказа модуля аппаратного обеспечения и/или программного обеспечения), связанных с одним или более устройствами 10 шлюзов (включая самого себя), в соответствии с принципами настоящего раскрытия. В предпочтительном варианте осуществления процессор 14 является микропроцессором, действующим с возможностью выполнения кода программного обеспечения, который определяет классификацию извещения после приема информации относительно извещения. Процессор 14 дополнительно выполняет код, который инициализирует временной интервал на основании классификации извещения и предоставляет сообщение об ошибке, если информация относительно второго извещения той же самой классификации, что и ранее принятое извещение, не принята до того, как истечет временной интервал. Дополнительные детали относительно этого аспекта процессора 14 будут предоставлены позже в настоящей заявке. Процессор 14 также действует с возможностью выполнения и/или включения других функций устройства 10 шлюза, включая обработку вводов пользователя, сделанных через пользовательское устройство ввода (не изображено), генерацию выходных данных, включая сообщения уведомления, считывание данных из памяти 16 и запись данных в память 16 и/или другие операции, но не ограниченных ими.
Память 16 соединена с процессором 14 и выполняет функции сохранения данных устройства 10 шлюза. В соответствии с иллюстративным вариантом осуществления память 16 сохраняет данные, включая код программного обеспечения, одну или более таблиц данных, предварительно определенные сообщения уведомления, пользовательские данные установки и/или другие данные, но не ограниченные ими.
Устройства 10 шлюзов могут быть сконфигурированы с возможностью приема некоторого числа разных типов широковещательных сигналов, включая множество спутниковых сигналов. Устройства 10 шлюзов также могут быть сконфигурированы с возможностью создания множества сетевых сигналов данных, содержащих аудио- и видеосодержание, предоставленное в широковещательных сигналах, и предоставления сетевых сигналов данных через сеть, соединяющую устройства 10 шлюзов с клиентскими устройствами.
Теперь, ссылаясь на фиг. 3, изображено иллюстративное спутниковое устройство 300 шлюза. Спутниковое устройство 300 шлюза подобно устройству 10 шлюза, как описано на фиг. 1. Как проиллюстрировано, спутниковое устройство 300 шлюза включает в себя источник 340 питания, два входных интерфейса 341а и 341b и внутренний интерфейс 352. Источник 340 питания может быть одним из некоторого числа источников питания переменного тока или постоянного тока промышленного стандарта, конфигурируемым таким образом, чтобы дать возможность входному интерфейсу 341а, b и внутреннему интерфейсу 352 выполнять функции, описанные ниже.
Спутниковое устройство 300 шлюза также может включать в себя два входных интерфейса 341а, b. В одном варианте осуществления каждый из входных интерфейсов 341а, b может быть сконфигурирован с возможностью приема двух сигналов, предоставленных из разделителей 326а-326d 1:2. Например, входной интерфейс 341а может принимать два сигнала из разделителя 326а 1:2, а входной интерфейс 341b может принимать два сигнала из разделителя 326b 1:2.
Затем входные интерфейсы 341а, b могут дополнительно разделять сигналы с использованием разделителей 342а, 342b, 342с и 342d. Если разделены, сигналы могут проходить в четыре группы 344а, 344b, 344с и 344d устройств двойной линии связи согласующего устройства (тюнера). Каждая из двойных линий связи согласующего устройства в группах 344а, 344b, 344с и 344d устройств, может быть сконфигурирована с возможностью согласования двух услуг в сигналах, принятых с помощью этой отдельной двойной линии связи согласующего устройства, чтобы создать один или более транспортных потоков. Каждая из двойных линий связи 344а, 344b, 344с и 344d согласующего устройства передает транспортные потоки в один из формирователей 348а, 348b, 348с и 348d низковольтной дифференциальной сигнализации (“LVDS”). Формирователи 348а-348d LVDS могут быть сконфигурированы с возможностью усиления транспортных сигналов для передачи во внутренний интерфейс 352. В альтернативных вариантах осуществления другие виды дифференциальных формирователей и/или усилителей могут быть использованы вместо формирователей 348а-348d LVDS. Другие варианты осуществления могут использовать преобразование в последовательную форму всех транспортных сигналов вместе для маршрутизации во внутренний процессор 352.
Как проиллюстрировано, входные интерфейсы 341а, b также могут включать в себя микропроцессоры 346а и 346b. В одном варианте осуществления микропроцессоры 346а, b управляют и/или передают команды в группы 344а-344d устройств двойных линий связи согласующего устройства и разделители 342а-342d 1:4. Микропроцессоры 346а и 346b могут содержать, например, микропроцессоры ST10, созданные ST Microelectronics. В других вариантах осуществления могут быть использованы другие процессоры или управление может быть получено из процессоров во внутреннем интерфейсе 352. Микропроцессоры 346а, b могут быть соединены с модулями 350а и 350b приемника и передатчика LVDS. Модули 350а, b приемника/передатчика LVDS облегчают связи между микропроцессорами 346а, b и компонентами во внутреннем интерфейсе 352, как будет описано дополнительно ниже.
Обращаясь снова к внутреннему интерфейсу 352, внутренний интерфейс 352 включает в себя приемники 352а, 352b, 352с и 352d LVDS, которые сконфигурированы с возможностью приема сигналов транспортного потока с помощью формирователей 348а-348d LVDS. Внутренний интерфейс 352 также включает в себя модули 356а и 356b приемника/передатчика LVDS, которые сконфигурированы с возможностью обмена данными с модулями 350а, b приемника/передатчика LVDS.
Как проиллюстрировано, приемники 354а-354d LVDS и приемники/передатчики 356а, b сконфигурированы с возможностью обмена данными с контроллерами или транспортными процессорами 358а и 358b. В одном варианте осуществления транспортные процессоры 358а, b сконфигурированы с возможностью приема транспортных потоков, созданных с помощью двойных линий связи согласующих устройств во входных интерфейсах 341а, b. Транспортные процессоры 358а, b также могут быть сконфигурированы с возможностью повторного оформления в виде пакетов транспортных потоков в пакеты протокола Internet (IP), которые могут быть переданы многоадресным способом через локальную сеть, описанную ранее. Например, транспортные процессоры 358а, b могут повторно оформлять в виде пакетов, пакеты широковещательного протокола в пакеты протокола IP, а затем передавать многоадресным способом эти пакеты IP в одно или более клиентских устройств.
Транспортные процессоры 358а, b также могут быть соединены с шиной 362, такой как 32-битовая шина межсоединения периферийных компонентов (“PCI”) 66 MHz. Через шину 362 транспортные процессоры 358а, b могут обмениваться данными с другим контроллером или сетевым процессором 370, интерфейсом 384 Ethernet и/или с разъемом 366 расширения. Сетевой процессор 370 может быть сконфигурирован с возможностью приема запросов услуг из локальной сети и управления транспортными процессорами 358а, b, чтобы передавать многоадресным способом запрошенные услуги. Кроме того, сетевой процессор 370 также может управлять операциями и распределением сигналов данных, содержащих аудио- и видеосодержание, с помощью приема запросов из клиентских устройств, поддержания списка текущих применяемых услуг и согласования или назначения ресурсов приема для предоставления этих услуг в STB 22а-22n. Сетевой процессор также может управлять состоянием сети посредством приема, мониторинга и/или обработки извещений, связанных с сетью, предоставленных устройствами 10 шлюзов. В одном варианте осуществления сетевой процессор является IXP425, созданным Intel, и выполняет код программного обеспечения, который определяет классификацию извещения сети после приема информации относительно извещения. Процессор 14 дополнительно выполняет код, который инициализирует временной интервал на основании классификации извещения и предоставляет сообщение об ошибке, если информация относительно второго извещения сети того же самого типа, что и ранее принятое извещение, не принята до того, как истечет временной интервал. Несмотря на то, что не проиллюстрировано, сетевой процессор 370 также может быть сконфигурирован с возможностью передачи данных состояния в лицевую панель устройства 300 спутникового шлюза или поддержки устранения неисправностей или мониторинга устройства 300 спутникового шлюза через порты устранения неисправностей.
Как проиллюстрировано, транспортные процессоры 358а, b соединены с интерфейсом 368 Ethernet через шину 362. В одном варианте осуществления интерфейс 368 Ethernet является гигабитным интерфейсом Ethernet, который обеспечивает либо интерфейс в виде медного кабеля, либо волоконно-оптический интерфейс в локальную сеть. В других вариантах осуществления могут быть использованы другие интерфейсы, такие как используемые в приложениях цифровой домашней сети. Кроме того, шина 362 также может быть соединена с разъемом расширения, таким как разъем расширения PCI, чтобы дать возможность модернизации или расширения устройства 300 спутникового шлюза.
Транспортные процессоры 358а, b также могут быть соединены с главной шиной 364. В одном варианте осуществления главная шина 364 является 16-битовой шиной данных, которая соединяет транспортные процессоры 358а, b с модемом 372, который может быть сконфигурирован с возможностью обмениваться данными через коммутируемую телефонную сеть общего пользования (PSTN) 28. В альтернативных вариантах осуществления модем 372 также может быть соединен с шиной 362.
Сетевой процессор 370 также может содержать память, предназначенную для сохранения информации относительно различных аспектов работы устройства 300 спутникового шлюза. Память может находиться в сетевом процессоре 370 или может быть расположена снаружи, несмотря на то, что не изображено. Память может быть использована для того, чтобы сохранять информацию состояния, такую как информация о таймерах и извещениях сети, а также информацию согласования для ресурсов приема.
Важно заметить, что транспортные процессоры 358а, b, сетевой процессор 370 и микропроцессоры 346а, b могут быть включены в один большой контроллер или устройство обработки, которое может выполнять любые или все из функций управления, необходимые для работы устройства 300 спутникового шлюза. Некоторые или все из функций управления также могут быть распределены в другие блоки и не влияют на первоначальную операцию в спутниковом устройстве 300 шлюза.
Ссылаясь на фиг. 4 по фиг. 6, изображена блок-схема последовательности операций, иллюстрирующая иллюстративный способ, использующий варианты осуществления настоящего раскрытия. Для целей примера и объяснения способ фиг. 4 по фиг. 6 будет описан со ссылкой на систему 100 фиг. 1. Способ фиг. 4 по фиг. 6 также может быть описан со ссылкой на элементы спутникового шлюза 20 фиг. 1. Также для целей примера и объяснения этапы фиг. 4 по фиг. 6 будут, в первую очередь, описаны со ссылкой только на устройство 10 шлюза. Однако на практике предполагают, что каждое устройство 10 шлюза в данной установке MDU будет отдельно и независимо выполнять этапы фиг. 4 по фиг. 6. Этапы фиг. 4 по фиг. 6 являются только иллюстративными и никоим образом не предназначены для того, чтобы ограничивать настоящие варианты осуществления.
На этапе 410 способ начинается. В соответствии с иллюстративным вариантом осуществления способ начинается на этапе 410, только если разрешен признак для обнаружения и уменьшения операционных проблем (например, отказа модуля аппаратного обеспечения и/или программного обеспечения и т.д.), связанных с одним или более устройствами 10 шлюзов. Для целей примера и объяснения допускают, что этот признак первоначально разрешен.
На этапе 420 устройство 10 шлюза очищает таблицу и все таймеры. В соответствии с иллюстративным вариантом осуществления каждое устройство 10 шлюза сохраняет таблицу в памяти 16, которую используют для обнаружения и уменьшения операционных проблем (например, отказа модуля аппаратного обеспечения и/или программного обеспечения и т.д.), связанных с одним или более устройствами 10 шлюзов (включая самого себя). В соответствии с этим иллюстративным вариантом осуществления каждое устройством 10 шлюза периодически передает и повторно передает извещения в соответствии с предварительно определенным протоколом, таким как протокол извещения о сеансе (SAP), который переносит протокол описания сеанса (SDP). Как SAP, так и SDP известны в данной области техники. Имеются различные типы классификаций извещений, включая извещения, связанные с доступностью сети, доступностью хост-узла модема-посредника, доступностью программного обеспечения клиентского устройства или другими типами вопросов, связанных с приложением. Для каждой уникальной полезной нагрузки SDP пакета SAP, принятой с помощью устройства 10 шлюза, вышеупомянутая таблица в памяти 16 сохраняет: (i) адрес IP посылающего устройства 10 шлюза (т.е. идентификатор устройства 10 шлюза, (ii) тип или классификацию извещения SAP, (iii) название медиа (которое соответствует пункту (ii)), и (iv) время поступления пакета. Для каждого устройства 10 шлюза и типа классификации извещения процессор 14 поддерживает соответствующий таймер. На этапе 420 процессор 14 очищает вышеупомянутую таблицу в памяти 16 и все его соответствующие внутренние таймеры, которые используют для обнаружения и уменьшения операционных проблем. Эти внутренние таймеры являются частью модуля обнаружения отказа процессора 14.
На этапе 430 устройство 10 шлюза прослушивает все типы извещений. В соответствии с иллюстративным вариантом осуществления устройство 10 шлюза осуществляет мониторинг извещений SAP, выданных самим собой, а также любыми или всеми другим активными устройствами 10 шлюзов, под управление процессора 14 на этапе 430. Устройство 10 шлюза, например, может осуществлять мониторинг конкретного адреса IP под управление процессора 14, для того чтобы прослушивать извещения на этапе 430.
На этапе 440 выполняют определение относительно того, принято ли извещение с помощью устройства 10 шлюза. В соответствии с иллюстративным вариантом осуществления процессор 14 обнаруживает, принято ли извещение из другого устройства 10 шлюза или из самого себя, чтобы таким образом выполнить определение на этапе 440. Если определение на этапе 440 является положительным, последовательность операций процесса продвигается в “C” (см. фиг. 5), как будет описано позже в настоящей заявке. В качестве альтернативы, если определение на этапе 440 является отрицательным, последовательность операций процесса продвигается на этап 450, где выполняют определение относительно того, истек ли любой таймер. В соответствии с иллюстративным вариантом осуществления процессор 14 проверяет свои внутренние таймеры (т.е. таймеры, очищенные на этапе 420), чтобы выполнить определение на этапе 450. Как указано на фиг. 4, последовательность операций процесса также продвигается на этап 450 из “D” (см. фиг. 5), как будет описано позже в настоящей заявке.
Важно заметить, что может быть возможным некоторое число способов поддержки или мониторинга интервала времени вместо использования внутреннего таймера в процессоре 14. Например, таймер может быть внешней схемой тактовых импульсов, соединенной с кристаллом, схемой квантования, которая квантует существующий непрерывный сигнал времени, или алгоритмом программного обеспечения, который выполняется в процессоре 14.
Если определение на этапе 450 является положительным, последовательность операций процесса продвигается в “E” (см. фиг. 6), как будет описано позже в данной заявке. В качестве альтернативы, если определение на этапе 450 является отрицательным, последовательность операций процесса продвигается на этап 460, где выполняют определение относительно того, запрошен ли сброс таблицы. В соответствии с иллюстративным вариантом осуществления таблица в памяти 16, к которой обращаются на этапе 420, может быть периодически сброшена вручную с помощью администратора сети или другого уполномоченного лица и/или может быть сброшена автоматически на основании установки пользователя. Таким образом, процессор 14 выполняет определение на этапе 460 с помощью обнаружения того, должна ли быть сброшена эта таблица.
Если определение на этапе 460 является положительным, последовательность операций процесса образует цикл обратно на этап 420, как указано с помощью “A”. В качестве альтернативы, если определение на этапе 460 является отрицательным, последовательность операций процесса продвигается на этап 470, где выполняют определение относительно того, разрешен ли признак для определения и уменьшения операционных проблем (например, отказа модуля аппаратного обеспечения и/или программного обеспечения), связанных с одним или более устройствами 10 шлюзов (включая самого себя). В соответствии с иллюстративным вариантом осуществления этот признак настоящего раскрытия может быть включен вручную (т.е. разрешен) или выключен (т.е. запрещен) с помощью администратора сети или другого уполномоченного лица. Таким образом, процессор 14 выполняет определение на этапе 470 с помощью обнаружения, разрешен ли этот признак. Если определение на этапе 470 является положительным, последовательность операций процесса образует цикл обратно на этап 430, как указано с помощью “B”. В качестве альтернативы, если определение на этапе 470 является отрицательным, последовательность операций процесса продвигается на этап 480, где способ заканчивается.
Теперь, ссылаясь на фиг. 5, “С” (т.е. положительное определение на этапе 440 фиг. 4) продвигается на этап 510, где выполняют определение относительно того, представляет ли извещение, принятое на этапе 440, новый тип или классификацию извещения из конкретного устройства 10 шлюза. В соответствии с иллюстративным вариантом осуществления процессор выполняет определение на этапе 510 с помощью исследования элементов вышеупомянутой таблицы в памяти 16. Как ранее указано выше, извещения, связанные с доступностью сети, доступностью хост-узла модема-посредника, доступностью программного обеспечения клиентского устройства или другими типами вопросов, связанных с приложением, могут представлять разные типы или классификации извещений.
Если определение на этапе 510 является положительным, последовательность операций процесса продвигается на этап 520, где устройство 10 шлюза создает новый элемент таблицы и инициализирует соответствующий таймер для конкретного устройства 10 шлюза и типа или классификации извещения. В соответствии с иллюстративным вариантом осуществления процессор 14 выполняет этап 520 с помощью создания нового элемента таблицы в памяти 16 и инициализации соответствующего таймера внутри. Из этапа 520 последовательность операций процесса продвигается на этап 530, где устройство 10 шлюза посылает сообщение уведомления под управление процессора 14 в NOC 40 (через MDF 20 и Internet 30), чтобы указать, что создан новый элемент таблицы и что инициализирован соответствующий таймер.
Ссылаясь опять на этап 510, если определение на этом этапе является отрицательным, последовательность операций процесса продвигается на этап 550, где выполняют определение относительно того, истек ли соответствующий таймер. В соответствии с иллюстративным вариантом осуществления процессор 14 выполняет определение на этапе 550 с помощью обнаружения, истек ли его внутренний таймер, соответствующий конкретному устройству 10 шлюза и типу или классификации извещения, принятого на этапе 440.
Если определение на этапе 550 является положительным, последовательность операций процесса продвигается на этап 530, где устройство 10 шлюза посылает сообщение уведомления об ошибке под управлением процессора 14 в NOC 40 (через MDF 20 и Internet 30), чтобы указать, что таймер, соответствующий конкретному устройству 10 шлюза и типу или классификации извещения, истек. Иначе говоря, если определение на этапе 550 является положительным, сообщение уведомления об ошибке, посланное на этапе 530, также указывает, что устройство 10 шлюза не приняло второе или следующее извещение того же самого типа или классификации, что и ранее принятое извещение, из конкретного устройства 10 шлюза, до того как истек соответствующий таймер. Таким образом, это сообщение уведомления об ошибке уведомляет NOC 40 о потенциальной операционной проблеме, связанной с применяемым устройством 10 шлюза, и предусматривает предпринимаемое корректирующее действие.
Из этапа 530 или, если определение на этапе 550 является отрицательным, последовательность операций процесса продвигается на этап 540, где устройство 10 шлюза запускает или сбрасывает соответствующий таймер. В соответствии с иллюстративным вариантом осуществления процессор 14 выполняет этап 540 с помощью запуска или сброса соответствующего таймера. Из этапа 540 последовательность операций процесса образует цикл обратно на этап 450 (см. фиг. 4), как представлено с помощью “D”.
Теперь, ссылаясь на фиг. 6, “Е” (т.е. положительное определение на этапе 450 фиг. 4) продвигается на этап 610, где выполняют определение относительно того, было ли последнее сообщение извещения первым сообщением извещения, посланным для конкретного устройства 10 шлюза и типа или классификации извещения, или прошел ли период времени, такой как 10 минут, с момента, когда было послано последнее сообщение извещения для конкретного устройства 10 шлюза и типа или классификации извещения. В соответствии с иллюстративным вариантом осуществления процессор 14 выполняет определение на этапе 610 с использованием внутренней поддерживаемой временной информации.
Важно заметить, что каждый тип или классификация извещения может использовать разный период времени, дополнительно усовершенствуя работу настоящего раскрытия. Например, извещение о доступности сети обычно имеет период времени повторения, приблизительно равный двум секундам, в то время как извещение о времени сети имеет период времени повторения, приблизительно равный двенадцати часам.
Если определение на этапе 610 является положительным, последовательность операций процесса продвигается на этап 620, где устройство 10 шлюза посылает сообщение уведомления под управление процессора 14 в NOC 40 (через MDF 20 и Internet 30), чтобы указать состояние, определенное на этапе 610. Из этапа 620 или, если определение на этапе 610 является отрицательным, последовательность операций процесса продвигается на этап 630, где выполняют определение относительно того, обработаны ли все истекшие элементы таблицы в памяти 16. В соответствии с иллюстративным вариантом осуществления процессор 14 выполняет определение на этапе 630 с использованием внутренней поддерживаемой информации состояния.
Если определение на этапе 630 является положительным, последовательность операций процесса образует цикл обратно на этап 430 (см. фиг. 4), как указано с помощью “B”. В качестве альтернативы, если определение на этапе 630 является отрицательным, последовательность операций процесса продвигается на этап 640, где обрабатывают следующий истекший элемент таблицы. Из этапа 640 последовательность операций процесса образует цикл обратно на этап 610.
Как описано выше, блок-схема последовательности этапов фиг. 4 по фиг. 6 предоставляет механизмы, предназначенные для обнаружения и уменьшения состояний отказа, связанных с устройствами 10 шлюзов. Итак, каждое активное устройство 10 шлюза периодически повторно передает свои извещения. Модуль обнаружения отказа процессора 14 включает в себя набор таймеров, а именно один таймер для каждой комбинации устройства 10 шлюза и уникального типа извещения/названия медиа (например, [id GW1, тип 1 извещения], [id GW1, тип 2 извещения] … [id GW3, тип 1 извещения], [id GW3, тип 2 извещения]. В соответствии с принципами настоящих вариантов осуществления, когда новый тип извещения/название медиа принимают из конкретного устройства 10 шлюза, элемент, соответствующий конкретному устройству 10 шлюза и типу извещения/названию медиа, размещают в таблице в памяти 16 и запускают таймер для элемента. Если таймер истекает до того, как принято другое извещение этого типа/названия медиа из конкретного устройства 10 шлюза, предпринимают действие (например, сообщение уведомления посылают в NOC 40, инициируют вызов обслуживания, загружают новое программное обеспечение, повторно загружают отказавшее устройство шлюза без вмешательства оператора и т.д.), чтобы указать/решить проблему. Сообщения извещения могут включать в себя информацию об услуге, включающую в себя адрес IP отказавшего устройства 10 шлюза, а также услугу. Если таймер истекает, системное уведомление может быть периодически повторно послано до тех пор, пока извещение из конкретного устройства 10 шлюза не будет опять принято, или не будет сброшен или административно запрещен модуль обнаружения отказа.
Отказ устройства 10 шлюза, чтобы принимать извещение (извещения) другого устройства 10 шлюза, может указывать отказ аппаратного обеспечения посылающего устройства 10 шлюза (например, источника питания, сетевого интерфейса и т.д.) или отказ одного или более его модулей программного обеспечения, ответственных за услугу, которую он предоставляет. Отказ устройства 10 шлюза, чтобы принимать свое собственное извещение (извещения), может указывать отказ одного или более его модулей программного обеспечения, ответственных за услугу, которую он предоставляет. В установке из трех или более устройств 10 шлюзов системные сообщение уведомления являются избыточными, таким образом, увеличивая надежность таких уведомлений. Например, два операционных устройств 10 шлюзов могут обнаружить потерю одного из большего числа извещений из отказавшего третьего устройства 10 шлюза, и каждое устройство 10 шлюза пошлет сообщение уведомления, указывающее этот факт, в NOC 40.
Также важно заметить, что настоящие варианты осуществления, в первую очередь, охватывают обнаружение отказов для устройств 10 шлюза, но также могут быть использованы совместно с уменьшением отказов. Кроме того, раскрытые варианты осуществления описывают использование извещений SAP в схемах обнаружения и уменьшения. Извещения SAP являются пакетами дейтаграммы пользователя (UDP), содержащими полезную нагрузку SAP (запрос комментария (RFC) 2974), сами содержащие полезную нагрузку SDP (RFC 2327), и переданными с помощью каждого активного устройства 10 шлюза по широко известному групповому адресу IP. Каждый класс извещения SAP извещает о предложении услуги и предоставляет детали относительно ее возможностей и о том, как осуществить доступ к услуге. Например, современные извещения SAP включают в себя доступность сети, доступность хост-узла модема-посредника, доступность программного обеспечения клиентского устройства и время сети.
Описанные варианты осуществления настоящего раскрытия предоставляют несколько преимуществ относительно работы системы, требующей процесса мониторинга для сбоев аппаратного обеспечения или программного обеспечения во время работы. Эти преимущества включают в себя возможность мониторинга себя, которая может дать диспетчеру сети больше информации о состоянии системы, и использование стандартных сообщений IP, таких как извещения SAP, чтобы не только передавать состояние системы, таким образом, чтобы любой человек в сети мог сообщить состояние активности и указать, является ли или нет устройство сети функциональным, но также передавать другие важные сообщения и информацию, но не ограничены ими. Кроме того, использование таких сообщений может дать возможность опроса с помощью дистанционного монитора системы или может дать возможность посылки предварительно незаполненной информации о сбое. Также различные значения истечения времени интервала для таймеров интервала, поддерживаемых с помощью процессора 14, могут быть дистанционно устанавливаемыми, и типы извещения могут быть дистанционно конфигурируемыми. Если сообщения извещения сгенерированы, сообщения могли бы быть посланы множеству адресатов NOC, определенных оператором.
Как описано в настоящей заявке, варианты осуществления настоящего раскрытия относятся к способу мониторинга отказа, который разработан таким образом, чтобы отказы аппаратного обеспечения и программного обеспечения могли быть обнаружены и сообщены. В системе с одним шлюзом подход поддерживает обнаружение отказа ключевых модулей программного обеспечения. Варианты осуществления настоящего раскрытия адресованы, помимо прочего, различным классам проблем в установке с множеством устройств шлюзов, включая тот факт, что устройства 10 шлюзов с не избыточными источниками питания не могут обнаруживать отказ своего собственного источника питания, и устройство 10 шлюза не может сообщать свои собственные сбои, если отказало их собственное аппаратное обеспечение интерфейса связи. Кроме того, варианты осуществления настоящего раскрытия также могут быть адресованы классу проблем в установке с одним шлюзом или множеством шлюзов, связанных с обнаружением катастрофических отказов модуля программного обеспечения, с использованием простого подхода, основанного на контрольном мониторе, когда вовлечены множество потоков, объектный код третьей стороны и т.д. Также несмотря на то, что первоначальное осуществление только передает широковещательным способом извещения SAP либо между устройствами 10 шлюзов, либо в локальной сети, расширения этого осуществления, даже с использованием других типов извещений сети, могли бы быть разработаны таким образом, чтобы эти извещения могли бы быть посланы в NOC 40.
Несмотря на то, что это раскрытие описано как имеющее предпочтительную конструкцию, настоящие варианты осуществления могут быть дополнительно модифицированы в рамках сущности и объема этого раскрытия. Таким образом, это применение предназначено для того, чтобы охватывать любые изменения, использования или адаптации раскрытия с использованием его общих принципов. Кроме того, это применение предназначено для того, чтобы охватывать такие выходы из настоящего раскрытия, которые происходят в рамках известной или обычной практики в данной области техники, к которой относятся варианты осуществления, и которые находятся в пределах ограничений прилагаемой формулы изобретения.