СПОСОБ И УСТРОЙСТВО ВЫДЕЛЕНИЯ ВИРТУАЛЬНЫХ КОНТЕЙНЕРОВ В СЕТЯХ СИНХРОННОЙ ЦИФРОВОЙ ИЕРАРХИИ
METHOD AND DEVICE FOR DEDICATION OF VIRTUAL CONTAINERS IN NETWORKS OF SYNCHRONOUS DIGITAL HIERARCHY

Изобретение относится к технике связи и предназначено для использования в составе телекоммуникационного оборудования для выделения и кросс-коммутации потоков виртуальных контейнеров нижних уровней VC-m (m=2, 12, 11) из мультиплексированных потоков виртуальных контейнеров верхних уровней VC-n (n=4, 3) в сетях синхронной цифровой иерархии (SDH).
Известны способ и устройство [1], состоящие из блока сканирования входных портов устройства, блока переупорядочивания последовательности данных во входном потоке, блока обработки заголовков кадра STM-1, блока выделения виртуальных контейнеров. Недостатками такого способа и устройства являются необходимость использования большого объема внешней быстродействующей памяти.
Известно устройство [2], содержащее схему обнаружения группы конкатенированных кадров, схему автоматической настройки конкатенированной последовательности, буфер, схему управления записью, схему перемещения управления считыванием и адаптации и схему управления считыванием. Для реализации данного устройства требуется большое количество вычислительных ресурсов и достаточно сложный алгоритм функционирования устройства.
Известны способ и устройство [3], содержащие модуль памяти, разделенный на отдельные области, в которые в режиме мультиплексирования могут быть записаны и в процессе адаптации к частоте «выходного» канала вновь считаны данные «входного» канала. Количество необходимых областей памяти данного устройства соответствует количеству обрабатываемых транспортных контейнеров (VC, TU, С). Недостатком данного устройства и способа выделения и обработки транспортных контейнеров из потоков сетей SDH является необходимость наличия логики управления и контроля для каждой отдельной области памяти.
Известно устройство [4], содержащее блок управления, который содержит один счетчик для определения расположения байт указателя каждого виртуального контейнера VC-n (n=3, 4) высокого уровня иерархии и один счетчик для подсчета текущего количества принятых байт данных, содержащихся в каждом виртуальном контейнере высокого уровня, которые могут передаваться в структуре кадра. Дополнительно схема содержит для каждой группы виртуальных контейнеров VC-m (m=2, 12, 11) низкого уровня, которые могут передаваться в структуре виртуального контейнера верхнего уровня, счетчик позиции контейнера в группе и счетчик для подсчета текущего количества байт данных для каждого контейнера в группе низкого уровня. Недостатком данной схемы является необходимость наличия двух счетчиков для подсчета количества байт в каждом обрабатываемом транспортном контейнере верхних уровней и двух счетчиков для обработки каждого контейнера нижних уровней иерархии, входящего в состав контейнера верхнего уровня.
Наиболее технически близким является устройство [5], состоящее из узла выделения административного блока AU-4, N сопроцессоров с N блоками временной памяти, один сопроцессор осуществляет вычисление указателей и выделение виртуальных контейнеров одного уровня вложенности (VC-4, VC-3, VC-2, VC-12, VC-11) на приемной стороне, и аналогичные блоки на передающей стороне. Недостатком такого устройства является использование отдельного устройства для обработки каждого сигнала уровня STM-1.
Техническим результатом изобретения является уменьшение количества аппаратных ресурсов, используемых при обработке мультиплексированных потоков сетей SDH, содержащих кадры STM-1 с виртуальными контейнерами нижних уровней: VC-2, VC-12 или VC-11.
Для этого предлагается устройство и способ выделения виртуальных контейнеров нижних уровней VC-m (m=2, 12, 11) из мультиплексированных потоков виртуальных контейнеров верхних уровней VC-n (n=4, 3) сетей SDH, содержащие соединенные каскадно блок обработки мультиплексированного потока виртуальных контейнеров верхних уровней VC-n (n=4, 3) с блоком памяти и блок обработки мультиплексированного потока трибутарных контейнеров нижних уровней TU-m (m=2, 12, 11) с блоком памяти, блоки памяти организованны в виде циклических буферов.
При этом предлагаемые устройство и способ выделения виртуальных контейнеров в сетях синхронной цифровой иерархии настраиваются на обработку мультиплексированных потоков, состоящих из однотипных контейнеров VC-n (n=4, 3), содержащих одинаковые виртуальные контейнеры нижних уровней вложенности VC-m (m=2, 12 или 11) для всех мультиплексированных контейнеров VC-n (n=4, 3) в количестве, соответствующем рекомендации ITU-T G.707, либо мультиплексированных потоков с побайтовым чередованием отличного от предложенного в рекомендации ITU-T G.707 количества контейнеров VC-n (n=4, 3).
Изобретение поясняется чертежами, на которых
- фиг.1 - блок-схема всего устройства выделения виртуальных контейнеров VC-m (m=2, 12 или 11) из мультиплексированного потока виртуальных контейнеров VC-n (n=3, 4) в сетях синхронной цифровой иерархии;
- фиг.2 - структурная схема блока обработки мультиплексированного потока виртуальных контейнеров VC-n (n=3, 4) и выделения из него трибутарных контейнеров TU-m (m=2, 12 или 11) с блоком циклической памяти;
- фиг.3 - структурная схема блока обработки мультиплексированного потока трибутарных контейнеров TU-m (m=2, 12 или 11) и выделения соответствующих виртуальных контейнеров VC-m (m=2, 12 или 11) с блоком циклической памяти.
Устройство выделения виртуальных контейнеров нижних уровней VC-m (m=2, 12 или 11) из мультиплексированного потока виртуальных контейнеров верхних уровней VC-n (n=3, 4) состоит из соединенных каскадно блока выделения трибутарных контейнеров TU-m (m=2, 12 или 11) из виртуальных контейнеров VC-3 или VC-4 (блок обработки VC-n->TU-m, циф.1, фиг.1) с блоком циклической памяти (блок памяти №1, циф.2, фиг.1) и блока выделения виртуальных контейнеров VC-m (m=2, 12 или 11) из соответствующих контейнеров TU-2, TU-12 или TU-11 (блок обработки TU-m->VC-m, циф.3, фиг.1) с блоком циклической памяти (блок памяти №2, циф.4, фиг.1), как показано на фиг.1.
Входная шина устройства выделения состоит из следующих сигналов: входная 8-разрядная (байт) мультиплексированная шина данных - data_k_VC-n, входной мультиплексированный сигнал готовности данных для k входных виртуальных контейнеров VC-n, входной мультиплексированный сигнал начала виртуального контейнера (1-й байт виртуального контейнера) для k входных мультиплексированных виртуальных контейнеров VC-n (n=3, 4), входная шина адреса, осуществляющая циклическую номерацию k входных виртуальных контейнеров VC-4. Входная шина адреса принимает значения от 1 до 3k, т.е. за время полного счета, в зависимости от структуры потока, на входной шине данных появляются 3 байта данных одного виртуального контейнера VC-4 или один байт данных виртуального контейнера VC-3. Входные сигналы: шина адреса, мультиплексированный сигнал готовности данных и мультиплексированный сигнал начала виртуальных контейнеров VC-n показаны на фиг.1 в виде шины upr_k_VC-n. При этом каждый поступающий байт должен относиться к одному контейнеру VC-n (n=3, 4), номер которого указывается на входной шине адреса.
Выходная шина устройства выделения виртуальных контейнеров состоит из следующих сигналов: выходная 8-разрядная мультиплексированная шина данных - data_p_VC-m, выходная шина адреса с циклической номерацией р виртуальных контейнеров нижних уровней VC-m (m=2, 12 или 11), выходной мультиплексированный сигнал готовности данных для р выделенных виртуальных контейнеров VC-m, выходной мультиплексированный сигнал начала (1-й байт виртуального контейнера) для р виртуальных контейнеров VC-m. Шина адреса принимает значения от 1 до р. Выходные сигналы: шина адреса, мультиплексированные сигналы готовности данных и начала контейнеров VC-m показаны на фиг.1 в виде шины upr_p_VC-m.
Блок обработки VC-n->TU-m (фиг.2) состоит из узла управления (циф.1.1, фиг.2), приемного регистра значений вычислителя TU-m (циф.1.2, фиг.2), приемного регистра значений счетчика №1 (циф.1.3, фиг.2), приемного регистра значений счетчика №2 (циф.1.4, фиг.2), вычислителя TU-m (циф.1.5, фиг.2), узла изменения значений счетчика №1 (циф.1.6, фиг.2), узла изменения значений счетчика №2 (циф.1.7, фиг.2), формирователя сигналов управления контейнерами TU-m (циф.1.8, фиг.2), регистра сохранения значений вычислителя TU-m (циф.1.9, фиг.2), регистра сохранения значений счетчика №1 (циф.1.10, фиг.2) и регистра сохранений значений счетчика №2 (циф.1.11, фиг.2).
Блок памяти №1 (циф.2, фиг.1 и 2), организованный в виде циклического буфера, предназначен для сохранения значений вычислителя TU-m, определяющих положения трибутарных контейнеров TU-m (m=2, 12 или 11) в структуре виртуальных контейнеров VC-n, а также сохранения текущих значений счетчиков №1 и №2 в интервалах между циклами обработки.
Блок обработки TU-m->VC-m (фиг.3) состоит из узла управления и формирования новых значений указателей (циф.3.1, фиг.3), приемного регистра значений счетчика №3 (циф.3.2, фиг.3), приемного регистра текущих значений указателей (циф.3.3, фиг.3), приемного регистра признаков изменения указателей (циф.3.4, фиг.3), формирователя выходных сигналов (циф.3.5, фиг.3), вычислителя значений указателей и признаков изменения указателей (циф.3.6, фиг.3), узла изменения значений счетчика №3 (циф.3.7, фиг.3), промежуточного регистра текущих значений указателей (циф.3.8, фиг.3), промежуточного регистра признаков изменения указателей (циф.3.9, фиг.3), регистра сохранения новых значений указателей (циф.3.10, фиг.3), регистра сохранения значений счетчика №3 (циф.3.11, фиг.3), регистра сохранения текущих значений указателей (циф.3.12, фиг.3) и регистра сохранения признаков изменения указателей (циф.3.13, фиг.3).
Блок памяти №2 (циф.4, фиг.1 и 3), организованный в виде циклического буфера, для сохранения новых текущих значений указателей, признаков изменения указателей и значений счетчика №3 для каждого виртуального контейнера VC-m в структуре виртуального контейнера VC-n (n=3, 4) в интервалах между циклами обработки.
Входной поток данных, сопровождаемый мультиплексированным сигналом готовности данных и мультиплексированным сигналом начала виртуальных контейнеров VC-n, поступает на узел управления (циф.1.1, фиг.2). При появлении уровня логической «1» на линии сигнала начала виртуального контейнера вырабатывается сигнал сброса «С» (фиг.2) для счетчиков №1 и №2 в соответствующей текущему значению шины адреса позиции, поступающего входного мультиплексированного потока виртуальных контейнеров VC-n. Счетчик №1 (циф.1.6, фиг.2) используется для подсчета байт в одной строке каждого виртуального контейнера VC-n. Счетчик №1 считает циклически по модулю 261 или 85, соответственно, для n=4 или n=3. Счетчик №2 (циф.1.7, фиг.2) используется для подсчета количества строк в каждом поступающем на вход виртуальном контейнере VC-n, в позиции, соответствующей текущему значению входной шины адреса. Счетчик №2 считает циклически по модулю 9. По значениям счетчиков №1 и №2 определяются положения трибутарных контейнеров TU-m в структуре каждого виртуального контейнера VC-n и расположение байтов Н4 для каждого виртуального контейнера VC-n. Положение трибутарных контейнеров TU-m в структуре каждого виртуального контейнера VC-n и номерация виртуальных контейнеров VC-n определяется вычислителем TU-m (циф.1.5, фиг.2) и отображается на шине адреса adr_TU-m (фиг.2). В зависимости от значений байтов Н4 вычислитель TU-m (циф.1.5, фиг.2) определяет положение байт V1, V2, V3 и V4 всех трибутарных контейнеров TU-m. Данная информация передается на формирователь сигналов управления контейнерами TU-m (циф.1.8, фиг.2), где происходит формирование сигналов: V1', V2' V3' и JS'. Сигналы V1', V2' и V3' указывают появление на входной шине data_k_VC-n данных, соответствующих позициям байт V1, V2 и V3. Сигнал JS' вырабатывается в позиции байта, соответствующего положительному изменению значения указателя виртуального контейнера VC-m (m=2, 12 или 11), т.е. байту, непосредственно следующему за байтом V3. Мультиплексированный сигнал готовности еn формируется в соответствии со значениями счетчиков №1 и №2 и входного мультиплексированного сигнала готовности данных, исключая байты заголовка РОН виртуальных контейнеров VC-n (n=3, 4) и фиксированные вставки [6].
По сигналам V1' и V2' узел управления и формирования новых значений указателей (циф.3.1, фиг.3) блока обработки TU-m->VC-m (фиг.3) определяет новые значения указателей начала виртуальных контейнеров VC-m и признаков изменения указателей каждого трибутарного контейнера TU-m (m=2, 12 или 11). В моменты отсутствия этих сигналов формирователь принимает и передает значения новых указателей вычислителю (циф.3.6, фиг.3), поступающие из блока памяти №2 (циф.4, фиг.3), без обработки. В структуре виртуальных контейнеров VC-n байты V1 и V2, принадлежащие одному трибутарному контейнеру TU-m, располагаются друг относительно друга на расстоянии не менее 21-го байта при m=2, 63-х байт при m=12 или 84-х байт при m=11, а учитывая, что на вход устройства поступает k виртуальных контейнеров VC-n - расстояние между байтами становится равным не менее 21k, 63k или 84k, соответственно. Для сохранения значений текущих указателей и признаков изменения указателей в процессе вычисления новых значений указателей и признаков изменения указателей используются соответствующие промежуточные регистры (циф.3.8 и циф.3.9, фиг.3). Счетчик №3 (циф.3.7, фиг.3) используется для подсчета количества байт, содержащихся в виртуальных контейнерах VC-m (m=2, 12 или 11), начиная с позиции байта V3 в трибутарном контейнере TU-m. Счетчик №3 считает циклически на длину, на единицу большую, чем длина соответствующих виртуальных контейнеров VC-m, пропуская байты заголовков РОН виртуальных контейнеров VC-n (n=3, 4) и фиксированные вставки [6], т.е. считая от 1 до 429 при m=2, от 1 до 141 при m=12 и от 1 до 105 при m=11.
Значения счетчика №3, значения текущих указателей и значения признаков изменения указателей в совокупности с шиной адреса adr_TU-m, номерующей трибутарные контейнеры TU-m, используются как входные сигналы формирователя выходных сигналов (циф.3.5, фиг.3). Формирователь выходных сигналов осуществляет формирование выходного мультиплексированного сигнала start_VC-m - сигнала начала виртуальных контейнеров VC-m, выходного мультиплексированного сигнала en_VC-m - сигнала наличия данных виртуальных контейнеров VC-m на выходной шине данных data_p_VC-m (сигнал готовности выходных данных) и сигналов выходной шины адреса adr_VC-m - шины номерации данных виртуальных контейнеров VC-m на выходной шине данных data_p_VC-m. Выходной сигнал начала виртуальных контейнеров start_VC-m формируется при совпадении значения текущего указателя и значения счетчика №3. При появлении признаков изменения указателя, признаков декремента или инкремента значение текущего указателя сравнивается со значением счетчика №3 минус 1 или плюс 1, соответственно. В соответствии с рекомендацией ITU-T G.707 [6], при инкременте байт V3 включается в состав виртуальных контейнеров VC-m, а при декременте байт V3 вместе со следующим за ним байтом исключаются из состава виртуальных контейнеров VC-m. Выходной сигнал en_VC-m формируется в зависимости от значений счетчика №3 (циф.3.7, фиг.3), значений признака изменения указателей и мультиплексированного сигнала готовности еn, исключая байты заголовка трибутарных контейнеров TU-m и фиксированные вставки [6]. Номерация виртуальных контейнеров VC-m, передаваемых по мультиплексированной выходной шине данных - data_p_VC-m, отображается на выходной шине адреса - adr_VC-m, которая формируется из шины адреса трибутарных контейнеров TU-m - adr_TU-m. Формирователь выходных сигналов осуществляет также выравнивание во времени сигналов выходной шины данных data_p_VC-m и выходной шины адреса adr_VC-m для согласования их во времени с выходными сигналами start_VC-m и en_VC-m, которые получают задержку в процессе обработки.
Блок обработки VC-n->TU-m (фиг.2) на каждом такте входного сигнала принимает байты входного мультиплексированного потока виртуальных контейнеров VC-n и соответствующие сигналы управления, поступающие с входных портов и из блока памяти №1, вычисляет расположение в VC-n трибутарных контейнеров TU-m и формирует сигналы управления, одна часть из которых передается обратно в блок памяти №1 для хранения до следующего цикла обработки, а другая часть передается на блок обработки TU-m->VC-m для дальнейшей обработки. В каждый момент времени обрабатываются данные только одного входного контейнера VC-n из к, мультиплексированных во входном потоке.
Блок обработки TU-m->VC-m (фиг.3) на каждом такте входного сигнала принимает байты мультиплексированного потока трибутарных контейнеров TU-m и соответствующие сигналы управления, поступающие с входных портов и из блока памяти №2, вычисляет значения новых и текущих указателей и признаков изменения указателей, выделяет в соответствии с их значениями из TU-m виртуальные контейнеры VC-m и формирует сигналы управления, одна часть из которых передается обратно в блок памяти №2 для хранения до следующего цикла обработки, а другая часть передается на формирователь выходных сигналов (циф.3.5, фиг.3), для дальнейшей передачи на выходные порты устройства.
1
1
Блок памяти №1 организован в виде циклического буфера глубиной k и шириной l битов. Глубина k циклического буфера соответствует количеству виртуальных контейнеров VC-n (n=3 или 4) во входном мультиплексированном потоке данных, а ширина l зависит от структуры обрабатываемого входного мультиплексированного потока и определяется сложением разрядности сохраняемых переменных: счетчики №1 и №2, значащие биты байта Н4 заголовка РОН виртуальных контейнеров VC-n, счетчики номерации виртуальных контейнеров VC-n (n=3, 4) и положения в них трибутарных контейнеров TU-m (m=2, 12, 11).
2
2
Блок памяти №2 организован в виде циклического буфера глубиной р и шириной l битов. Глубина р циклического буфера соответствует количеству виртуальных контейнеров VC-m (m=2, 12 или 11) во входном мультиплексированном потоке данных, а ширина l зависит от структуры входного потока и определяется сложением разрядности сохраняемых переменных: новый и текущий указатели, признак изменения указателя и счетчик №3.
Организация блоков памяти в виде циклических буферов позволяет осуществлять обработку мультиплексированного входного потока на частоте входного сигнала и исключить из устройства выделения виртуальных контейнеров сетей SDH схему управления памятью, которая должна осуществлять одновременно операции записи и чтения в память переменных, используемых при обработке.
Таким образом, предлагаемые устройство и способ выделения виртуальных контейнеров в сетях синхронной цифрой иерархии позволяет уменьшить количество аппаратных ресурсов используемых при обработке мультиплексированных потоков виртуальных контейнеров верхних уровней VC-n (n=4, 3) SDH, содержащих виртуальные контейнеры нижних уровней - VC-m (m=2, 12, 11).
ЛИТЕРАТУРА
1. Clauberg R. Data aggregation architectures for single-chip SDH/SONET framers. IBM J. RES. & DEV. Vol.47 №2/3 March/May 2003, p.211-221.
2. Заявка на изобретение RU 2005140290A, 21.05.2004.
3. Патент RU 2216110, 10.11.2003.
4. Патент US 5428612, 27.06.1995.
5. Патент US 5666351, 9.09.1997.
6. ITU-T Rec. G.707/Y.1322. Network Node Interface for the Synchronous Digital Hierarchy (SDH). (10/2000).