Коммутатор телекоммуникационных систем, содержащий программируемые сетевые протоколы, способ функционирования этого коммутатора и способ разработки программируемых сетевых протоколов

 

Устройство относится к телекоммуникационным и в особенности к программируемым коммутаторам телекоммуникационных систем и управляемым внешним компьютерам, поддерживающим различные телекоммуникационные приложения. Технический результат - обеспечение динамического изменения протокола сигнализации, возможность легкой разработки и внедрения индивидуальных протоколов сигнализации для приложений. Сущность изобретения заключается в том, что программируемый коммутатор телекоммуникационных систем создает среду для разработки протоколов передачи сигналов, позволяющую пользователю обрабатывать отдельный автомат с конечным числом состояний для каждого порта. Могут быть разработаны протоколы для различных телекоммуникационных приложений и различных уровней программного обеспечения. 3 с. и 18 з.п. ф-лы, 10 ил.

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

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

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

В мире используется определенное количество "стандартных" протоколов сигнализации. Некоторые протоколы, широко используемые в настоящее время, такие как Е& М winkstart, loopstart, groundstart и международный протокол принудительной сигнализации R2, использующий двухтоновую мультичастотную маршрутизацию (DTMF-Dual Tone Multi-frequency Forwarding) MFR1 или адресную сигнализацию MFR2.

Из патента США N 4527012, 1991 г., известны программируемый коммутатор телекоммуникационной системы и способ функционирования этого коммутатора, содержащего управляемые средства коммутации и хост-устройство. В этом коммутаторе, который является наиболее близким аналогом коммутатора по настоящему изобретению, как и в других обычных программируемых коммутаторах, выбор используемого протокола сигнализации в соответствии с типом шины, участка цифровых данных или линии делается главным образом до того, как оборудование поставляется заказчику. То есть, изготовитель коммутатора задает его конфигурацию, которая может содержать аспекты аппаратной части или программы, помещенной в постоянное запоминающее устройство (ПЗУ), или и того и другого обычно таким образом, что указанная конфигурация не может быть легко или быстро изменена (т.е. через микропрограммное обеспечение, записанное в программируемое ПЗУ). В установленной изготовителем конфигурации для каждой шины, участка цифровых данных или линии назначаются определенные протоколы сигнализации.

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

Другая проблема, связанная с работой обычных программируемых коммутаторов, относится к невозможности динамического изменения протокола сигнализации, определенного для конкретной шины, участка цифровых данных или линии. Эта проблема может достаточно часто возникать в Европе, где в различных странах используются различные протоколы принудительной сигнализации R2, или в любой стране, где международные вызовы проходят через промежуточный узел. Нежелательный результат состоит в том, что коммутатор, вероятно, будет не в состоянии обработать поступивший вызов должным образом.

Другой серьезный недостаток обычных программируемых коммутаторов заключается в том, что они не предлагают пользователю никаких возможностей для легкой разработки и внедрения индивидуализированных протоколов сигнализации для приложений. Индивидуализированные протоколы сигнализации могут быть желательны и даже необходимы в приложениях, где коммутатор соединен между телефонной сетью общего назначения и другими устройствами (например, в системе передачи голосовых сообщений). Поскольку такие устройства могут выполнять специальные функции и они не предназначены для соединения непосредственно с телефонной сетью общего назначения, они обычно не работают со стандартными протоколами сигнализации. Таким образом, существует потребность для пользователя иметь возможность управления программируемым коммутатором таким образом, чтобы сохранялась должная связь как с телефонными сетями общего назначения, так и с другими устройствами, соединенными с коммутатором.

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

Известны также различные способы разработки одного или большего количества протоколов коммуникации, например, из патентов США N 4980906, 1990 г., и N 5007080, 1991 г. Однако эти известные способы разработки либо непригодны для разработки протоколов, используемых в многофункциональных телекоммуникационных системах, либо не обеспечивают возможности легкой разработки и внедрения индивидуализированных протоколов сигнализации самим пользователем системы.

Наиболее близкий способ разработки протоколов в распределенных системах передачи данных описан в европейском патенте ЕР 0555997. Однако этот способ предназначен для создания протоколов, применяемых в устройствах передачи данных, которые не являются коммутаторами телекоммуникационных систем и не выполняют функции обработки вызовов, включая соединение и разъединение линий между различными каналами из их множества. Кроме того, протоколы передачи данных между двумя устройствами, разработанные согласно известному способу, не определяют внутренние операции коммутатора и не управляют ими для определения протокола сигнализации для каждого канала коммутатора системы телекоммуникаций для выполнения функций обработки вызовов.

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

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

В дополнение, программируемый коммутатор в соответствии с настоящим изобретением должен быть пригоден служить инструментом для разработки телекоммуникационных приложений, таких как служба персональных коммуникаций (PCS), служба "800/900", отправка/прием голосовых сообщений, служба "телемаркет", а также для других функций. Настоящее изобретение может быть также использовано для контроля и текущего управления широким спектром услуг связи, предоставляемых программируемым коммутатором, включая работу в режиме конференции, воспроизведение записанных голосовых объявлений, тоновое преобразование сигнала, прием тонового сигнала, анализ прохождения сигнала вызова, распознавание по голосу, сжатие голосовых сообщений и кодирование/декодирование факсимильных сообщений.

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

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

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

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

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

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

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

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

Согласно изобретению предлагается также способ разработки связанных с вызовами протоколов, относящихся к динамическому соединению и разъединению линий связи между различными каналами или портами в программируемом коммутаторе в качестве реакции на одно или большее количество сообщений, генерируемых хост-устройством. Данный способ характеризуется тем, что он включает операцию создания одной или большего количества указанных таблиц "состояние/событие", операцию создания одной или большего количества указанных таблиц примитивов и операцию создания одного или большего количества указанных протоколов, причем каждый из указанных протоколов предназначен для обработки входящих и выходящих вызовов.

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

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

Способ может также дополнительно включать операции размещения одного или большего количества протоколов в памяти программируемого коммутатора и выполнения одного или большего количества протоколов этим коммутатором. Дополнительно может также выполняться операция назначения каждому из указанных каналов или портов соответствующего вышеописанного блока данных.

Краткий перечень фигур Настоящее изобретение определено прилагаемой формулой изобретения. Вышеуказанные и другие преимущества настоящего изобретения будут более понятны из нижеследующего описания, рассматриваемого совместно с прилагаемыми чертежами, на которых фиг. 1 изображает блок-схему программируемого коммутатора систем телекоммуникаций, который может быть запрограммирован пользователем в соответствии с вариантом предпочтительного выполнения настоящего изобретения; фиг. 2 изображает блок-схему, показывающую уровни программного обеспечения, используемые для управления коммутатором, выполненным согласно схеме на фиг. 1; фиг. 3A и 3B изображают некоторые особенности и функции каждого из уровней 2 - 5 программного обеспечения, изображенных на фиг. 2, фиг. 4 изображает блок-схему среды для разработки конечного автомата, выполненного в соответствии с вариантом предпочтительного выполнения настоящего изобретения; фиг. 5 изображает блок-схему приложения уровня 3 (сетевой уровень), в котором конечные автоматы используются для назначения желаемых сетевых протоколов сигнализации различным портам программируемого коммутатора; фиг. 6A изображает диаграмму состояния конечного автомата для обеспечения управления с помощью тоновых сигналов в приложении уровня 2 (уровень связи);
фиг. 6B изображает блок-схему конечного автомата, изображенного на фиг. 6A, в котором каждая серия из элементарных функций определена как примитив;
фиг. 6C изображает группу таблиц, показывающих соответствие между элементарными функциями, примитивами и состояниями, показанными на фиг. 6B;
фиг. 7A изображает блок-схему состояния конечного автомата для обработки начальной фазы установки параметров вызова с использованием международного протокола принудительной сигнализации R2 в приложении уровня 3 (сетевой уровень);
фиг. 7B изображает блок-схему конечного автомата, показанного на фиг. 7A, в котором каждая серия элементарных функций определена как примитив;
фиг. 7C изображает группу таблиц, показывающих соответствие между элементарными функциями, примитивами и состояниями, показанными на фиг. 7B;
фиг. 8A изображает блок-схему состояния конечного автомата для обработки начальной фазы установки параметров вызова с использованием протокола сигнализации T1 E&M wink start в приложении уровня 3 (сетевой уровень);
фиг. 8B изображает блок-схему конечного автомата, показанного на фиг. 8A, в котором каждая серия элементарных функций определена как примитив;
фиг. 8C изображает группу таблиц, показывающих соответствие между элементарными функциями, примитивами и состояниями, показанными на фиг. 8B;
фиг. 9A изображает блок-схему состояния конечного автомата для обеспечения интерактивного голосового ответа на все входящие вызовы в уровне 4 (уровень управления вызовами);
фиг. 9B изображает блок-схему конечного автомата, показанного на фиг. 9A, в котором каждая серия элементарных функций определена как примитив;
фиг. 9C изображает группу таблиц, показывающих соответствие между элементарными функциями, примитивами и состояниями, показанными на фиг. 9B;
фиг. 10A изображает блок-схему состояния конечного автомата для уровня 5 входящих приложений, например для службы (800), позволяющей оплачивать междугородные звонки вызываемым абонентам;
фиг. 10B изображает блок-схему конечного автомата, показанного на фиг. 10A, в котором каждая серия элементарных функций определена как примитив;
фиг. 10C изображает группу таблиц, показывающих соответствие между элементарными функциями, примитивами и состояниями, показанными на фиг. 10B.

Сведения, подтверждающие возможность осуществления изобретения
На фиг. 1 показан серийный персональный компьютер 2, содержащий центральный процессор 4 и жесткий диск 6, соединенные между собой с помощью шины 8 ввода/вывода и шины 9 питания. Компьютер 2 предпочтительно относится к типу РС-АТ производства IBM или к совместимому с ним типу. Также могут быть использованы и другие персональные компьютеры, имеющие больший размер памяти или более мощные центральные процессоры, чем имеющиеся у РС-АТ. Компьютер 2 предпочтительно работает под управлением ориентированной на работу с приложениями операционной системы, например, DOS или UNIX.

Компьютер 2 содержит шасси или корпус, в котором установлена материнская плата вместе с жестким диском 6 и другими опционными элементами, такими как дисководы для дискет, модемы и т.п. Центральный процессор 4 установлен на материнской плате, содержащей ряд соединительных элементов (слотов), в которых могут быть установлены другие карты и таким образом соединены с шинами ввода/вывода 8 и питания 9.

Программируемый коммутатор 10 системы телекоммуникаций установлен внутри компьютера 2. Карта 12 процессора/матрицы установлена в одном из слотов материнской платы и соединена таким образом с шинами 8 и 9. Карта 12 процессора/матрицы, которая используется в коммутаторе по настоящему изобретению в качестве управляемых средств коммутации, соединена, с возможностью коммуникации, с цифровой (Т1) линейной картой 14, цифровой (Е1) линейной картой 15, картой 16 обработки цифровых сигналов (DSP), картой 17 пакетного процессора, аналоговой (универсальной) линейной картой 18 и картой 19 завершения для четырех шин: шины 20 высокоуровневого протокола управления каналом передачи данных (HDLC) или интерпроцессора, шины 22 временного мультиплексирования (ТDМ), шины 24 статуса/контроля линейной карты и шины 26 синхронизации/контроля. Шина 28 подачи напряжения подает напряжение батареи (48 В постоянного тока) и напряжение вызова (109 В переменного тока) к аналоговой линейной карте 18. Цифровые линейные карты 14, 15 и аналоговая линейная карта 18 выполняют функции средств для окончания соответственно цифровых или аналоговых линий или магистралей. Карта 19 завершения служит для физического окончания шин 20, 22, 24, 26 и 28.

Все линейные карты 14, 15 и 18 и карта 16 обработки цифровых сигналов соединены с шиной питания 9, от которой они получают основное питание. Хотя здесь изображены только одна цифровая линейная (Т1) карта 14, одна цифровая линейная (Е1) карта 15 и одна аналоговая линейная карта 18, следует понимать, что могут быть добавлены дополнительные линейные карты любого типа в пределах двух физических ограничений: (1) максимальной емкости карты 12 процессора/матрицы коммутатора и (2) физического наличия свободного места на шасси компьютера 2.

Хост-устройство 30, которое может содержать отдельный внешний персональный компьютер, рабочую станцию или внешний компьютер другого типа с работающей программой телекоммуникационного приложения, может быть по желанию соединено через соединительный канал 32 с картой 12 процессора/матрицы. Карта 12 процессора/матрицы предпочтительно содержит обычный интерфейс, совместимый с RS-232, для соединения с каналом 32. Хост-устройство 30 предпочтительно работает под управлением операционной системы, ориентированной на работу с приложениями.

При необходимости коммутатор 10 может быть установлен на пассивной панели (без центрального процессора 4 или жесткого диска 6), откуда он получает питание и управляется внешним хост-устройством 30.

Внешний источник 31 напряжения соединен через канал 33 с картой 19 завершения. Источник 31 может содержать, например, обычный серийный источник питания. Подробные сведения о различных картах, показанных на фиг. 1 (за исключением цифровой линейной карты 15, карты 16 обработки цифровых сигналов (DSP) и карты 17 пакетного процессора), относящиеся к конструкции различных карт, приведены в патенте США N 5321744, который принадлежит заявителю настоящего изобретения и который включен в данное описание посредством ссылки на него. Цифровая (Е1) линейная карта 15 предпочтительно выполнена с использованием таких же элементов, как и цифровая (Т1) линейная карта 14, за исключением различий в обычных схемах, обеспечивающих в линейной карте 15 завершение участков Е1 (вместо участков Т1).

Подробное описание карты 16 обработки цифровых сигналов (DSP) и карты 17 пакетного процессора дано в патенте США N 5349579, который принадлежит заявителю настоящего изобретения и который включен в данное описание посредством ссылки на него.

На фиг. 2 показана структура уровней программного обеспечения, используемого для управления программируемым коммутатором 10, выполненным согласно фиг. 1. Левая колонка, показанная на фиг. 2, изображает семь уровней, определенных моделью ВОС (Взаимосвязь Открытых Сетей). Правая колонка, показанная на фиг. 2, изображает пять уровней, используемых для управления коммутатором 10 и их общим соответствием модели ВОС.

Как показано на фиг. 1 и 2, Прикладной Уровень 5, соответствующий в целом прикладному уровню модели ВОС, представляет программное обеспечение приложения, обычно работающее либо на центральном процессоре 4 компьютера, либо на внешнем хост-устройстве 30. Программное обеспечение Прикладного Уровня 5 может быть использовано для внедрения любой из ряда желаемых функций системы телекоммуникаций, например службы (800), позволяющей оплачивать междугородные звонки вызываемым абонентам, отправка/прием голосовых сообщений, автоматическое распределение вызовов и др.

Уровень 4 Управления Вызовами, соответствующий, в основном, уровням Представления, Сеанса и Транспортному уровню модели ВОС, представляет программное обеспечение, работающее на карте 12 процессора/матрицы. Уровень 4 Управления Вызовами отвечает за выполнение централизованных функций обработки вызовов и обеспечение общего интерфейса сетевых протоколов сигнализации, которые могут быть использованы в коммутаторе 10. Обычно Уровень 4 Управления Вызовами выполняет функции, требующие последующей установки параметров вызова.

Сетевой Уровень 3 протокола сигнализации соответствует главным образом Сетевому уровню модели ВОС. Программное обеспечение, представленное Сетевым Уровнем 3 протокола сигнализации, работает как на карте 12 процессора/матрицы, так и на линейных картах, содержащих свои собственные микропроцессоры, например на линейных картах 14 или 15 или карте 17 пакетного процессора, и оно отвечает за контроль над сигнализацией в сети вне рабочей полосы, а также за контроль входящих и выходящих вызовов уровня сетевого протокола.

Уровень 2 Связи соответствует главным образом Уровню Звена Данных (Уровню Канала) модели ВОС. Программное обеспечение Уровня 2 Связи работает на карте 12 процессора/матрицы, линейных картах, содержащих свои собственные микропроцессоры, карте 16 обработки цифрового сигнала или карте 17 пакетного процессора (каждая из которых имеет свой собственный микропроцессор) и отвечает за выявление и физический перенос сетевой информации сигнализации по сети или через линейный интерфейс.

Наконец, Физический уровень 1 соответствует Физическому Уровню модели ВОС. Линейные карты 14, 15 и 18 обеспечивают физический Т1, Е1 и аналоговый электрический интерфейсы соответственно с коммутатором 10.

На фиг. 3А и 3B изображен табулированный листинг представительных отличительных черт и функций, обеспечиваемых каждым из уровней 2-5 программного обеспечения, показанных на фиг. 2. Настоящее изобретение может быть использовано в качестве инструмента для разработки подходящего программного обеспечения для выполнения любой из функций, показанных на фиг. 3А и 3B. Предпочтительный пример использования настоящего изобретения в контексте каждого из уровней 2-5 описан ниже и рассматривается вместе с чертежами 6A - 10C.

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

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

Событие (или логическое событие) - это число, идентифицирующее условие, разрешенное конкретным состоянием. С событием могут быть ассоциированы данные.

Элементарная функция - это функция, выполняющая элементарную задачу, например установку таймера. Данные пользователя могут быть ассоциированы с элементарной функцией.

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

Таблица "состояние/событие" определяет действительные события для определенного состояния и примитив, который выполняется при каждом наступлении такого события. В варианте предпочтительного выполнения таблица "состояние/событие" может содержать до 100 состояний и до 40 событий на каждое состояние.

Таблица примитивов определяет примитивы, использующиеся таблицей "состояние/событие". В варианте предпочтительного выполнения таблица примитивов может содержать до 200 примитивов.

Протокол определяется как связь таблицы "состояние/событие" с таблицей примитивов и идентифицируется Идентификационным номером протокола.

Для каждого канала (порта) 0. ...n коммутатора назначен блок данных, например, обозначенный номерами позиций 40a, 40n. Каждый блок 40a, 40n данных содержит следующую информацию относительно своего соответствующего канала: текущее состояние канала; указатель на активную таблицу "состояние/событие"; указатель на активную таблицу примитивов; указатель на назначенную таблицу "состояние/событие" и указатель на назначенную таблицу примитивов.

Для канала 0 указатели активной таблицы "состояние/событие" и активной таблицы примитивов указывают, как показано пунктирными линиями, на таблицы, связанные с резидентным протоколом 0, обозначенным номером 42a. Назначенные указатели таблицы "состояние/событие" и таблицы примитивов для канала 0 указывают на таблицы, которые связаны с динамически загруженным, определенным заказчиком протоколом n+1, обозначенным номером 44a.

Другие протоколы, имеющиеся в наличии для использования, являются резидентными протоколами 1...n (42b, 42c) и полученными по линиям связи протоколами n+2. . . m (44b, 44c), определенными заказчиком. Резидентные протоколы 42a-42c представляют заранее запрограммированные или "стандартные" протоколы, которые обычно поставляются изготовителем вместе с коммутатором. В отличие от них определенные заказчиком протоколы 44a-44c созданы заказчиком или пользователем и могут быть полностью "индивидуализированными" или представлять интеллектуальную собственность пользователя. Таким образом, минимальное количество имеющихся протоколов соответствует единственному стандартному протоколу, тогда как их действительное количество практически не ограничено и определяется конкретными условиями использования телекоммуникационной системы и требованиями к ней со стороны пользователя. Очевидно, что общее количество имеющихся в коммутаторе протоколов может изменяться во времени (например, за счет разработки пользователем новых протоколов).

Зависящая от уровня библиотека 46 элементарных функций соединена для передачи информации с процессором 48 конечного автомата. Процессор 48 конечного автомата также получает активный указатель таблицы "состояние/событие" и активный указатель таблицы примитивов от каждого из блоков данных 40a-40n.

Кроме того, для поддержки зависящей от уровня среды имеются утилиты, обозначенные номером позиции 50.

Функция процессора 48 конечного автомата заключается в запуске в работу каждого канала в соответствии с назначенным протоколом, определенным назначенными таблицей "состояние/событие" и таблицей примитивов. При наступлении допустимого события для нормального состояния запускается в работу примитив в соответствии со входами в назначенную таблицу "состояние/ожидание". Процессор 48 конечного автомата использует библиотеку 46 элементарных функций для выполнения элементарных функций представленным работающим примитивом.

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

Каждому каналу изначально назначен один из определенных заказчиком протоколов или один из заранее запрограммированных протоколов. Это осуществляется с помощью передачи сообщения от Уровня 5 Приложения к Уровню 4 Управления Вызовами, который в свою очередь передает соответствующее сообщение к Уровню 3. Назначенный указатель таблицы "состояние/событие" и назначенный указатель таблицы примитивов указывают на протокол, который был назначен в последний раз. Таким образом, заказчик может назначить по желанию один из имеющихся протоколов простым указанием номера протокола. Таким образом, коммутатор, выполненный согласно настоящему изобретению, позволяет заказчику назначить, индивидуально для каждого канала, желаемый протокол из множества протоколов, находящихся резидентно в памяти одного коммутатора.

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

Активные указатели таблицы "состояние/событие" и таблицы примитивов, переданные процессору 48 конечного автомата, указывают на протокол (активный), который в текущий момент управляет работой канала.

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

На фиг. 5 показана блок-схема программного обеспечения, показывающая характерное использование настоящего изобретения в контексте уровня 3 Сетевого протокола сигнализации. Как отмечено выше, программное обеспечение Уровня 3 обычно работает на карте 12 процессора/матрицы, линейных картах 14 или 15 или на карте 17 процессора пакетов коммутатора 2 (фиг. 1).

Блоки 52a, 52n данных назначены каждому каналу коммутатора. Для канала 0 указатели активной таблицы "состояние/событие" и активной таблицы примитивов указывают, как показано пунктирными линиями, на таблицы, связанные с резидентным не работающим протоколом 58a. Назначенные указатели таблицы "состояние/событие" и таблицы примитивов для канала 0 указывают на таблицы, которые связаны с динамически загруженным, определенным заказчиком протоколом n+1, обозначенным номером 60a.

Другие протоколы, имеющиеся в наличии для использования, являются резидентными сетевыми протоколами 58b, 58c и полученными по каналам связи протоколами 60b, 60c, определенными заказчиком.

Библиотека 54 элементарных функций уровня 3 соединена для передачи информации с процессором 48 конечного автомата.

Утилиты 56 поддержки среды Уровня 3 содержат функции: управления обменом сигналами и сканированием линии приема; активизации/управления функцией обработки цифрового сигнала; управления в ситуации "тревога/отсутствие обслуживания"; управления таймером и динамической памятью.

Активные указатели таблицы "состояние/событие" и таблицы примитивов, переданные процессору 48 конечного автомата, указывают на протокол, который в текущий момент управляет работой канала. В нормальных рабочих условиях активный протокол будет тем же самым, что и назначенный протокол. Однако на этом чертеже активным протоколом является не работающий сетевой протокол 0. Это может произойти, например, когда на канале 0 обнаружены условия, соответствующие сигналу тревоги, и канал автоматически переводится на необслуживающий сетевой протокол 0.

Активный протокол, использованный конкретным каналом, необязательно является постоянным и может быть динамически изменен в режиме реального времени в качестве реакции на наступление определенного события. Например, как показано на фиг. 5, назначенные указатели таблицы "состояние/событие" и таблицы примитивов для канала 0 указывают на определенный заказчиком сетевой протокол 1 (60a). Предположим, что на канале 0 получен входной вызов, но при этом сетевой протокол сигнализации входного вызова отличается от определенного заказчиком сетевого протокола 1 (60a). В этой точке может быть послано сообщение от Уровня 3 к Уровню 4, показывающее, что необходимо изменение активного протокола для должной обработки входного вызова. В ответ Уровень 4 может просто направить ответное сообщение Уровню 3 для изменения активного протокола и осуществить обработку входного вызова или может направить сообщение Прикладному Уровню 5 для запроса инструкций. Как только вызов завершится, каналу может быть вновь назначен прежний протокол (или любой другой, имеющийся в наличии в коммутаторе) через аналогичную серию сообщений или с помощью элементарных функций в активном протоколе.

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

На фиг. 6A и последующих чертежах состояние изображено в виде круга, элементарная функция - в виде прямоугольника, а событие представлено аббревиатурой из слов, расположенных у линии, идущей из круга, обозначающего состояние. Информация, показанная в круглых скобках в прямоугольнике элементарной функции, представляет аргументы или данные, связанные с этой функцией.

На фиг. 6A-6C показаны примеры приложений настоящего изобретения в контексте Уровня 2 Связи.

Протокол начинается в связанном с ним канале в нормальном состоянии 1 (NS1), которым является состояние 62 простоя (IDLE). При наступлении события установки начальных параметров от уровня 3 к уровню 2 для пересылки протокола сигнализации R2 (L3_L2nSETUP_FOR_FWD_R2) выполняется серия элементарных функций (af2, af3, af4, af5 и af1). Эти элементарные функции осуществляют соответственно создание узла приема R2 для кванта времени, закрепление канала обработки цифровых сигналов (например, микропроцессор обработки цифровых сигналов, работающий как приемник тоновых сигналов) для декодирования R2, посылку сопутствующего сообщения с уровня 2 на приемник уровня 3 (L2_ L3nRCVR_ATTACHED), установку таймера (таймер 1) и затем установку следующего состояния соответствующим нормальному состоянию 2 (NS2) 64. Следует отметить, что аргументы, связанные с элементарной функцией af5, предпочтительно используются для обозначения желаемого идентификатора таймера и индекса в массиве заранее заданных значений времени. Аргументы, связанные с элементарной функцией af1, предпочтительно используются для обозначения номера следующего состояния и типа следующего состояния.

Если следующим событием является истечение времени в таймере 1 (TIMER1_ EXPIRATION), то выполняются элементарные функции af10 и af11 и канал возвращается в состояние простоя (IDLE) 62. Однако если следующее событие - это получение сообщения от процессора цифровых сигналов о том, что принимаемый сигнал соответствует молчанию (DSP_L2nRCVED_SILENCE), то выполняются элементарные функции af5 (установка таймера 1) и af1 (установка следующего состояния), после чего протокол переходит в нормальное состояние 3 (NS3) 66, в котором он ожидает сигнализации R2.

Если следующее событие - это истечение времени на таймере 1 (TIMER1_EXPIRATION), то выполняются элементарные функции af10 и af11 и канал возвращается в состояние простоя 62 (IDLE). Если следующим событием является получение сообщения с требованием сигнализации R2 в обратном направлении (L3_ L2nXMIT_BWD_R2_SIG), то выполняется элементарная функция af12, которая ставит в очередь сигналы R2, подлежащие передаче в обратном направлении, для передачи позже, с возвратом к состоянию NS3 66. Если следующим событием является получение сообщения, в котором указывается, что получены сигналы R2 в прямом направлении (L3_ L2nXMIT_ FWD_ R2_SIG), выполняются элементарные функции af7 (посылка отчета сигнала R2 к Уровню 3), af8 (тест на предмет, поставлен ли сигнал R2 для передачи в обратном направлении в очередь) и af1 (установка следующего состояния) и протокол переходит к внутреннему состоянию 4 (IS4) 68.

Если следующим событием является истинное внутреннее событие (L2_INT_ EVENT_ 1), показывающее, что сигнал R2 для передачи в обратном направлении поставлен в очередь, то выполняется элементарная функция af9 (передача стоящего в очереди сигнала R2 в обратном направлении), после которой выполняются элементарные функции af5, af1 и протокол возвращается в состояние 64. Если следующим событием является ложное внутреннее событие (L2_INT_ EVENT_0), показывающее, что сигнал R2 для передачи в обратном направлении не поставлен в очередь, то выполняется элементарная функция af5 (установка таймера 1), после нее - af1 (установка следующего состояния) и протокол переходит в нормальное состояние (NS5) 70. При получении сообщения о передаче в обратном направлении сигналов R2 (L3_L2nXMIT_BWD_R2_SIG) выполняются элементарные функции af9, af5 и af1 и протокол возвращается в состояние 64.

На фиг. 6B можно видеть, что каждая последовательность элементарных функций, показанная на фиг. 6A, определена как примитив (примитивы 1-7). В результате каждый примитив обеспечивает быстрый способ идентификации желаемой последовательности элементарных функций для ее запуска в работу.

На фиг. 6C показана таблица примитивов, в которой распечатана в табулированном формате последовательность элементарных функций для каждого примитива, показанного на фиг. 6B, а также таблица "состояние/событие", определяющая взаимоотношения между состояниями, событиями и примитивами, показанными на фиг. 6B. В соответствии с вариантом предпочтительного выполнения заказчику, пожелавшему создать протокол, изображенный на фиг. 6A и 6B, достаточно будет лишь задать таблицы, показанные на фиг. 6C. Эти таблицы в этом случае будут переданы коммутатору 2 по каналам связи (фиг. 1) через серию сообщений от хост-устройства.

На фиг. 7A-7C показан пример использования настоящего изобретения в Сетевом Протоколе Уровня 3 для обработки начальной фазы установок параметров вызова с использованием международного протокола принудительной сигнализации R2. Протокол начинается на связанном с ним канале в нормальном состоянии 1 (NS1) 72, что является состоянием простоя (IDLE). При наступлении события в получении битов 0011 сигнализации линии (которые являются битовыми значениями сигнала соединения входного вызова) выполняются серии элементарных функций (af17, af19, af21 и af1). Эти элементарные функции выполняют соответственно установку текущего списка инструкций соединения входного вызова в соответствии со списком коммутатора по умолчанию, установку индекса текущей инструкции на 0, проверку текущей инструкции соединения и затем установку следующего состояния соответствующим внутреннему состоянию 2 (IS2) 74.

Если следующим событием является внутреннее событие 0 уровня 3 (L3_INT_ EVENT_0), которое означает, что текущая инструкция соединения входного вызова была проверена и найдена равной нулю, то выполняется элементарная функция af22, очищающая канал. Однако, если следующим событием является внутреннее событие 7 уровня 3 (L3_INT_EVENT_7), которое означает, что текущей инструкцией соединения является генерация подтверждения соединения, то выполняется элементарная функция af30, проверяющая, является ли следующей инструкцией соединения получение цифровых данных стадии N, а вслед за ней выполняется элементарная функция af1, устанавливающая следующее состояние - внутреннее состояние 3 (IS3).

Если следующим событием является L3_ INT_EVENT_0, или FALSE, которое означает, что следующей инструкцией соединения не является получение цифровых данных стадии N, то в протоколе выполняется элементарная функция af2 (передача подтверждения соединения, имеющего битовые значения 1101). Если следующим событием является L3_INT_EVENT_1, или TRUE, то выполняется элементарная функция af31, являющаяся установкой начальных значений для приема цифровых данных R2 в прямом направлении, а вслед за ней - элементарная функция af2 (передача подтверждения соединения). Установка начальных значений для приема цифровых данных обычно сопровождается распределением ресурсов процессора цифровых сигналов (DSP), имеющихся на карте 16 процессора цифровых сигналов (фиг. 1).

Далее, выполняется элементарная функция af5, устанавливающая таймер 1 для определения времени ожидания для ожидаемого первого цифрового значения. За ней следует выполнение элементарной функции af1, устанавливающей следующим состоянием нормальное состояние 4 (NS4), которое показывает подтверждение соединения и что канал находится в состоянии ожидания приема Сигнала стандарта MFR2 Группы 1 в прямом направлении.

Как показано на фиг. 7B, каждая последовательность элементарных функций, показанная на фиг. 7A, может быть также определена как примитив (1 - 5).

На фиг. 7C показаны соответствующая таблица примитивов и таблица "состояние/ событие" для фиг. 7B.

На фиг. 8A показан еще один пример приложения, выполненного согласно настоящему изобретению, в Уровне 3 Сетевого Протокола для обработки начальной фазы начальных установок вызова протокола сигнализации Т1 E&М wink start.

Протокол начинается в нормальном состоянии (NS1) 80. При получении битовых значений 11, обозначающих соединение входного вызова, выполняется элементарная функция af30, проверяющая, отображен ли набор цифровых данных стадии 1. Затем выполняется элементарная функция af1, устанавливающая следующим состоянием внутреннее состояние (IS2) 82.

Если следующим состоянием является L3_INT_EVENT_0, или FALSE, означающее, что набор цифровых данных не отображен, то протокол выполняет элементарную функцию af5 (установка таймера 1 для задержки сигнала начального мигания pre-wink), а затем - af1 для установки следующим состоянием нормальное состояние (NS3) 84. Если следующим состоянием является L3_INT_EVENT_1, или TRUE, означающее, что набор цифровых данных отображен, то выполняется элементарная функция af31, являющаяся установкой начальных значений для приема цифровых данных MFR1, а вслед за ней - элементарные функции af5 и af1.

При истечении времени в таймере 1 (TIMER1_EXPIRATION) выполняется элементарная функция af2 (мигание включено), а вслед за ней элементарные функции af5 (установка таймера для задания продолжительности мигания) и af1 для установки следующего состояния - нормального состояния (NS4) 86. Аналогично, при истечении времени в таймере 1 выполняется элементарная функция af2 (мигание выключено), вслед за ней - элементарная функция af5 (установка таймера в ожидании строки цифровых данных) и af1 для установки следующего состояния - нормального состояния (NS5) 88.

На фиг. 8B показана корреляция между элементарными функциями, показанными на фиг. 8A, и примитивами 1-5, тогда как на фиг. 8C показаны соответствующая таблица примитивов и таблица "состояние/ событие", с помощью которых пользователь или заказчик могут задать описываемый протокол.

На фиг. 9A показан пример приложения, выполненного согласно настоящему изобретению для уровня 4 Управления Вызовами. В этом примере настоящее изобретение используется для внедрения протокола для обеспечения интерактивного ответа голосом на входящие вызовы. Протокол начинается в состоянии простоя (S1) IDLE 90. При получении сообщения о начальных установках (L3_SETUP_INDICATION) выполняются элементарные функции af1, af2, af3, af4 и af5. Эти элементарные функции служат соответственно для передачи предупреждающего сигнала уровню 3 Сетевого Протокола, для передачи сообщения о соединении (ответ на вызов) к уровню 3, передачи сообщения для распределения ресурсов процессора цифровых сигналов для интерактивного сбора строк с цифровыми данными, установки таймера 1 для ожидания распределения ресурсов процессора цифровых сигналов и установки следующим состоянием нормальное состояние (ожидания) (NS2) 92.

Если следующим событием является истечение времени таймера 1, то протокол вновь выполняет элементарную функцию 7 (передает сообщение вызывающему абоненту). Если следующим событием является получение цифровых данных с помощью распределенных ресурсов процессора цифровых сигналов, то выполняются элементарные функции af8 (информирование уровня 5 о том, что цифровые данные получены), af4 (установка таймера 1 в состояние ожидания инструкций от уровня 5) и af5 (установка следующим состоянием нормальное состояние (S4) 96).

Аналогично, на фиг. 9B и 9C показаны взаимоотношения между состояниями, событиями, элементарными функциями и примитивами, определяющими протокол IVR, показанный на фиг. 9A.

Наконец, на фиг. 10A показан пример приложения, выполненного согласно настоящему изобретению в контексте Уровня 5 Приложения. В этом примере описан протокол для приходящего приложения, такого как служба (800), позволяющая оплачивать междугородные звонки вызываемым абонентам.

Протокол начинается в нормальном состоянии (S1) IDLE 98. При получении запроса на обслуживание с цифровым сообщением от уровня 4 (L4_REQ_FOR_SERV_ WITH_ DIGITS) выполняются элементарные функции af1 (посылка сообщения подтверждения уровню 4), af2 (посылка к уровню 5 Управления Маршрутизацией сообщения с идентификатором канала и цифровыми данными), af4 (установка таймера в состояние ожидания ответа от уровня 5 управления маршрутизацией) и af5 (установка следующим состоянием нормального состояния (S2) 100).

В состоянии (S2) 100, если следующим событием является истечение времени таймера 1, то имеет место сбой в работе канала и выполняется элементарная функция af8. Если следующим событием является сообщение от уровня 5 Управления Маршрутизацией для соединения канала, требующего обслуживания, то выполняется элементарная функция af7, посылающая сообщение уровню 4 для соединения двух каналов. За ней следует элементарная функция af4, устанавливающая таймер 1 в состояние ожидания подтверждения того, что соединение выполнено, и затем элементарная функция af5, устанавливающая следующим состоянием нормальное состояние (S4) 104.

В состоянии (S4) 104, если следующим событием является истечение времени таймера 1, то имеет место сбой в работе канала и выполняется элементарная функция af8. Если следующим событием является сообщение от уровня 4, подтверждающее, что соединение выполнено (L4_ L5nCONNECT_ACK), то элементарная функция af6 выключает таймер 1, за которой следует элементарная функция af5, устанавливающая следующим состоянием нормальное состояние (S5) 106. При получении сообщения от уровня 4, показывающего, что канал освободился, используется элементарная функция af3 для посылки подтверждения уровню 4, за которой следует элементарная функция af5, возвращающая канал в состояние простоя 98 IDLE.

Возвращаясь к состоянию 100, если следующим событием является сообщение от уровня 5 управления маршрутизацией о постановке входного вызова в очередь в группу, то выполняется элементарная функция af9, соединяющая вызывающего абонента с записанным сообщением. За ней следует элементарная функция af4, устанавливающая таймер 1 в состояние ожидания подтверждения от уровня 4, за которой следует элементарная функция af5, устанавливающая следующим состоянием нормальное состояние (S3) 102.

В состоянии (S3) 102, если следующим событием является истечение времени таймера 1, то имеет место сбой в работе канала и выполняется элементарная функция af8. Если следующим событием является сообщение от уровня 4, подтверждающее, что соединение выполнено, выполняется элементарная функция af6, выключающая таймер 1, и элементарная функция af4, устанавливающая таймер 2 для возможного включения записанного сообщения. Таким образом, если канал остается в состоянии (S3) 102 достаточно долго и время таймера 2 истечет, протокол снова выполнит элементарную функцию af9 для включения записанного сообщения.

Если, однако, в состоянии (S3) 102 следующим событием является сообщение от уровня 5 управления маршрутизацией о соединении канала, требующего обслуживания, то выполняется элементарная функция af6 для отключения таймера 2, за которой следует элементарная функция af7, посылающая сообщение уровню 4 для соединения двух каналов. За ней следует элементарная функция af4, устанавливающая таймер 1 в состояние ожидания подтверждения того, что соединение выполнено, а затем - элементарная функция af5, устанавливающая следующим состоянием нормальное состояние (ожидания) (S4) 104.

На фиг. 10B и 10C показаны взаимоотношения между состояниями, событиями, элементарными функциями и примитивами, определяющими показанный на фиг. 10A протокол для работы службы (800), позволяющей оплачивать междугородные звонки вызываемым абонентам.


Формула изобретения

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

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

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

4. Способ по п.1 или 3, отличающийся тем, что указанный автомат с конечным числом состояний представлен с помощью таблицы "состояние/событие" вместе с таблицей примитивов, причем указанная таблица "состояние/событие" задает множество заранее определенных логических состояний и по меньшей мере одно заранее определенное событие, связанное с каждым из указанных заранее определенных логических состояний, а указанная таблица примитивов задает один или большее количество примитивов, каждый из которых содержит заранее определенную серию заранее определенных функций, в результате чего при наступлении указанных одного или большего количества заранее определенных событий в работу включается заранее определенный примитив, связанный с наступлением одного из указанных заранее определенных событий.

5. Способ по п.4, отличающийся тем, что каждый из указанных автоматов с конечным числом состояний имеет связанный с ним блок данных, содержащий указатель на активную таблицу "состояние/событие", указатель на активную таблицу примитивов и указатель на назначенную таблицу примитивов.

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

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

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

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

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

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

12. Способ по любому из пп.4,8 или 9, отличающийся тем, что он включает дополнительно операцию назначения каждому из указанных каналов или портов соответствующего блока данных, содержащего информацию, отражающую текущее логическое состояние и тип состояния соответствующего канала или порта, указателя на активную таблицу "состояние/событие", указателя на активную таблицу примитивов, указателя на назначенную таблицу "состояние/событие" и указателя на назначенную таблицу примитивов.

13. Способ по п.12, отличающийся тем, что один или большее количество протоколов представлены в виде автомата с конечным числом состояний.

14. Способ по п. 5 или 13, отличающийся тем, что каждый из указанных одного или большего количества автоматов с конечным числом состояний содержит библиотеку, содержащую определения указанных заранее определенных функций, и тем, что указанные один или большее количество автоматов с конечным числом состояний приводится в работу с помощью процессора конечного автомата, работающего в соответствии с указателями и/или библиотекой.

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

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

17. Коммутатор по п.16, отличающийся тем, что каждый из указанных протоколов представлен в виде автомата с конечным числом состояний.

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

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

20. Коммутатор по п.17, отличающийся тем, что каждый из указанных автоматов с конечным числом состояний определен таблицей "состояние/событие" вместе с таблицей примитивов, причем указанная таблица "состояние/событие" задает множество заранее определенных логических состояний и по меньшей мере одно заранее определенное событие, связанное с каждым из таких состояний, а указанная таблица примитивов задает один или большее количество примитивов, каждый из которых содержит заранее определенную серию заранее определенных функций, в результате чего при наступлении указанных одного или большего количества заранее определенных событий в работу включается заранее определенный примитив, связанный с наступлением указанного заранее определенного события.

21. Коммутатор по п.20, отличающийся тем, что каждый из указанных автоматов с конечным числом состояний имеет связанный с ним блок данных, содержащий указатель на активную таблицу "состояние/событие", указатель на активную таблицу примитивов и указатель на назначенную таблицу примитивов.

РИСУНКИ

Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5, Рисунок 6, Рисунок 7, Рисунок 8, Рисунок 9, Рисунок 10, Рисунок 11, Рисунок 12, Рисунок 13, Рисунок 14, Рисунок 15, Рисунок 16, Рисунок 17, Рисунок 18, Рисунок 19, Рисунок 20, Рисунок 21



 

Похожие патенты:

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

Изобретение относится к способу направления телефонного вызова и оплаты телефонного вызова, согласно которому телефон первого абонента соединяется с телефоном второго абонента посредством стандартной телефонной сети, а также к устройству для осуществления этого способа

Изобретение относится к системам с трафиком данных конкретнее к способу и системе с использованием виртуального коммутатора

Изобретение относится к системе и способу, предусматривающим использование работающих с карточками подвижных станций, в частности использование сервисных карточек модуля идентификации абонента (SIM-блока) цифровой мобильной телефонной сети (GSM-сети), предназначенной для услуг, требующих эффективной защиты данных

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

Изобретение относится к компьютерам-серверам, подключенным к сети для обеспечения обслуживания одного или более компьютеров-пользователей

Изобретение относится к получению доступа к ресурсам компьютерной системы или компьютерной (вычислительной) сети, которые защищены брандмауэром, в ответ на запросы от объектов, находящихся вне брандмауэра

Изобретение относится к способу уплотнения для мультимедийной связи

Изобретение относится к объединению сети Интернет с телефонными системами

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

Изобретение относится к способу и устройству защиты трафика передачи данных между первой станцией связи и второй станцией связи, причем данные отправляют в соответствии с протоколом данных от второй станции связи на первую станцию связи

Изобретение относится к межсоединениям коммуникационной сети, включающей телефонные средства, с сетью Интернет

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

Изобретение относится к беспроводной связи
Наверх