Изобретение относится к устройству и способу для мультиплексирования и, в частности, к устройству для мультиплексирования элементов данных посредством динамического управления буфером и способу реализации.
В общем случае устройство мультиплексирования осуществляет последовательный отбор и мультиплексирование входных данных. На фиг. 1 показана известная структура устройства мультиплексирования, в которой используется система "Round Robin". Устройство мультиплексирования предназначено для последовательного мультиплексирования данных, поступающих во входной порт, причем для каждого входного порта предусмотрены буферы от bfl до bfn, используемые для хранения полученных данных (элементов данных). Таким образом, устройство мультиплексирования выполняет мультиплексирование путем последовательного считывания данных, вводимых в каждый буфер bfl - bfn.
Согласно вышеупомянутой системе "Round Robin" устройство мультиплексирования считывает и мультиплексирует данные (элемент данных), хранящиеся в соответствующем буфере, перебирая по порядку все буферы от bfl до bfn. Однако в устройстве мультиплексирования, использующем указанную систему "Round Robin", в случае, если поток данных (трафик) концентрируется на конкретном буфере, элемент данных может потеряться из-за переполнения буфера либо может возникнуть задержка буфера, как показано на фиг. 2.
На фиг. 2 представлена схема, иллюстрирующая возникновение переполнения буфера в устройстве мультиплексирования.
Упомянутая выше концентрация трафика на конкретном буфере при мультиплексировании возникает следующим образом.
Во-первых, если сам трафик появляется в виде пакета от источника данных, этот трафик накапливается в буфере. Во-вторых, во время процесса внутренней маршрутизации в устройстве возникает уплотнение трафика, когда множество входных трафиков должны быть выведены в один и тот же тракт. В-третьих, трафик уплотняется, когда в нем из-за неустойчивой синхронизации (дрожаний), появляющейся в результате разнообразных задержек внутри схемы, возрастает длина пакета.
Соответственно в устройстве мультиплексирования по системе "Round Robin", упомянутой выше, при неравномерном входном трафике и длинных пакетах количество элементов данных, подлежащих вводу в конкретный блок, может относительно возрасти. Следовательно, элемент данных может быть потерян из-за переполнения буфера благодаря концентрации трафика, а также внутри буфера может возникнуть задержка при передаче. Поскольку в случае, когда количество данных, вводимых в конкретный буфер, становится относительно меньше, эффективность использования буфера существенно ухудшается, рассмотренное выше устройство мультиплексирования становится неэффективным, если трафик неравномерный и если пункт назначения, в который направляется трафик, переуплотнен.
Целью изобретения является создание устройства и способа для мультиплексирования элементов данных, вводимых в асинхронном режиме с использованием входного буфера, соответствующего уровню трафика.
Для достижения указанной цели предлагается устройство мультиплексирования элементов данных в асинхронном режиме передачи, содержащее буферную часть, которая содержит буферы элементов данных, соответствующие входным портам, для элементов памяти, полученных через входные порты, счетчики, количество которых соответствует количеству буферов для хранения количества элементов данных, подлежащих хранению в буферах; блок единичных синхроимпульсов для определения счетной единицы элементов данных, хранящихся в счетчиках; селектор для выдачи управляющих сигналов для выбора буферов, имеющих максимальные значения, путем сравнения друг с другом значений счетчиков и блок для ввода выхода буферного блока и мультиплексирования введенных данных в соответствии с управляющим сигналом, в котором предотвращается появление переполнения буфера путем обработки в первую очередь элементов данных, выводимых из буфера, в котором хранится больше всего элементов данных.
Более полная оценка и понимание существа изобретения, а также множества его преимуществ станут очевидными из последующего подробного описания со ссылками на сопровождающие чертежи, в которых фиг. 1 изображает схему известного устройства мультиплексирования, построенного по системе "Round Robin", фиг. 2 изображает схему возникновения переполнения буфера в известном устройстве мультиплексирования, фиг. 3 изображает схему устройства для мультиплексирования элементов данных в асинхронном режиме согласно настоящему изобретению, фиг. 4 изображает блок-схему способа мультиплексирования элементов данных в асинхронном режиме согласно настоящему изобретению.
Услуги связи, обеспечиваемые в сети в асинхронном режиме, имеют широкий диапазон скорости трафика, а также отличаются различными особенностями трафика. Однако, поскольку ресурсы сети ограничены, необходим способ управления сетью, обеспечивающий выполнение всех услуг по установлению связи без потери качества. Настоящее изобретение предлагает способ эффективного функционирования устройства мультиплексирования посредством управления буфером элементов данных в соответствии с уровнем трафика, который заранее устанавливается в устройстве мультиплексирования трафика элементов данных. Таким образом, настоящее изобретение может помочь ограничить такие показатели качества связи, как наличие искажений элементов данных и задержек при передаче элементов данных, которые могут появиться, когда выбранный буфер, имеющий фиксированный объем, используется для любого входного порта элементов данных и дает эффект совместного использования буфера всеми портами с точки зрения эффективности его использования.
Устройство для мультиплексирования элементов данных в асинхронном режиме согласно настоящему изобретению содержит буферный блок 10 (фиг. 3) первого контроллера 20, второго контроллера 30 и третьего контроллера 40.
Во-первых, буферный блок 10 содержит буферы от BF1 до BFn. Буферы BF1 - BFn предназначены для хранения и считывания вводимых в них элементов данных, а каждый буфер BF содержит также буфер элементов данных 11, буфер 12 с тремя состояниями для управления и формирования синхроимпульса записи CLKwr и счетчик 13 для управления и формирования синхроимпульса считывания CLKrd. Буферы BF1 - BFn подключены каждый к входному порту, находящемуся во взаимно однозначном соответствии с соответствующим буфером BF1 - BFn, а выходной порт буфера BF1-BFn подключен к мультиплексору 42 третьего контроллера 40.
Буфер элемента данных 11, подключенный к входному порту, запоминает полученный элемент данных. Буфер 12 с тремя состояниями обеспечивает синхросигнал записи CLKwr для запоминания таким образом элемента данных, введенного в буфер элемента данных 11, при подаче на его вход управляющего синхроимпульса записи и выполняет функцию управления синхроимпульсом записи, который подается при вводе правильного элемента данных. Счетчик 13 выдает синхроимпульс считывания CLKrd для считывания элемента данных, хранящегося в буфере элемента данных 11. Синхроимпульсы считывания формируются счетчиком 13, так чтобы синхроимпульс считывания подавался столько раз, сколько элементов данных необходимо последовательно считать в некоторый момент времени из выбранного буфера элемента данных 11.
Первый контроллер 20 подсчитывает количество элементов данных, хранящихся в каждом буфере BF1 - BFn, и выполняет функцию поиска буфера, в котором хранится самое большое количество элементов данных, путем сравнения друг с другом подсчитанных значений количества элементов данных. Первый контроллер содержит счетчики CLKw1 - CLKwn 211 - 21n для подсчета CLKwr, т.е. элементов данных, действительно хранящихся в каждом буфере BF1 - BFn; селектор 23 для поиска максимального значения путем сравнения друг с другом подсчитанных значений и счетчик единичных синхроимпульсов CNTi 22 для установки счетной единицы счетчика. Счетчик единичных синхроимпульсов 22 определяет, сколько элементов данных, взятых в качестве единицы, будет считаться за единицу при подсчете в буферном блоке 10 элементов данных, подлежащих хранению. В селекторе 23 выбирается максимальное значение путем сравнения друг с другом значений счетчиков 311 - 31n, и если есть множество максимальных значений, то должно быть выбрано то, которое не выбиралось в течение большого времени.
Второй контроллер 30 выполняет функцию выбора буфера, имеющего значение счетчика количества выборов каждого буфера BF1 - BFn, которое соответствует допустимому числу r, которое не выбирается при максимуме в буферах BF1 - BFn. Второй контроллер 30 содержит счетчики CNTr1 - CNTrn для подсчета синхроимпульсов считывания CLKrd1 - CLRrdn, используемых при фактическом считывании элемента данных из каждого буфера BF1 - BFn, компараторы (для сравнения с величиной r) 321 - 32n для сравнения друг с другом подсчитанных значений, выводимых из каждого счетчика 311 - 31n, которые достигли допустимого значения r, и селектор 33 для последовательного выбора одного из значений, которое достигло допустимой величины r, при условии, если существует множество значений, достигших допустимого r.
Третий контроллер 40 выбирает один из буферов, выбранных первым и вторым контроллерами 20 и 30, и управляет считыванием элемента данных из выбранного буфера. Третий контроллер 40 содержит селектор 41 для приема выходов первого и второго контроллеров 20 и 30 и выбора одного выхода, имеющего приоритет, и мультиплексор 42 для выбора выходных элементов данных соответствующего буфера BF1 - BFn согласно выходному сигналу селектора 41.
Таким образом, в устройстве мультиплексирования буферный блок 10 хранит элементы данных, полученные через входной порт в каждом соответствующем буфере. Первый контроллер 20 выбирает буфер, где хранится самое большое количество элементов данных, путем подсчета синхроимпульсов записи CLKwr, подаваемых на каждый буфер BF1 - BFn, а второй контроллер 30 выбирает буфер, имеющий допустимое r, которое не является самым большим числом, выбираемым путем подсчета синхроимпульсов считывания CLKrd, подаваемых на каждый буфер BF1 - BFn. Таким образом, третий контроллер 40 мультиплексирует и выводит элемент данных, хранящихся в буфере, имеющий приоритет, в буферном блоке 10 в соответствии с сигналом выбора, выдаваемым первым и вторым контроллерами 20 и 30.
Работа устройства мультиплексирования согласно настоящему изобретению осуществляется следующим образом.
Если в сети с асинхронным режимом передачи необходимо мультиплексировать множество входных трафиков, обеспечивая при этом определенное качество обслуживания, то должно быть организовано эффективное, т.е. экономичное, управление вышеуказанными буферами BF1 - BFn. С этой целью устройство мультиплексирования согласно настоящему изобретению подсчитывает количество элементов данных, хранящихся в каждом буфере BF1 - BFn, и сравнивает подсчитанные значения друг с другом, чтобы считывать элемент данных из того буфера, где хранится самое большое количество элементов данных. Таким образом, может быть предотвращено ухудшение эффективности использования буфера. Подсчет количества элементов данных в каждом буфере выполняется для того, чтобы считывать элемент данных из буфера, для которого имеется самая большая вероятность возникновения переполнения, что выясняется посредством выявления того, какой из буферов имеет самое большое количество элементов данных.
В способе управления буфером согласно изобретению подсчитывается и сравнивается количество элементов данных, хранящихся в каждом буфере, для считывания элемента данных с выбором буфера, имеющего самое большое значение, при этом используется следующий алгоритм управления.
Во-первых, если подсчитано количество элементов данных, хранящихся в буферах BF1 - BFn, в качестве периода элемента данных из единиц (c = 1, 2, 3, . ..) должна быть выбрана базовая единица i, так чтобы можно было динамически регулировать скорость управления выводом элемента данных в соответствии с изменением уровня трафика. В настоящем изобретении период элемента данных T1 принят равным 2.76 us (разделитель элементов данных).
Во-вторых, буфер, имеющий самое большое значение, выбирается путем сравнения друг с другом количества элементов данных, хранящихся в буферах BF1 - BFn, и обнаружения самого большого значения m. Количество хранящихся элементов данных, относящихся к каждому буферу BF1 - BFn, обозначается соответственно b1, b2, b3,..., bn.
В-третьих, когда среди буферов BF1 - BFn выбран буфер, в котором хранится самое большое количество элементов данных, количество элементов данных, подлежащих считыванию из соответствующего буфера, отбирается в виде j единиц (j = 1, 2, 3,...) для динамической регулировки режима хранения элементов данных в буфере в соответствии с изменением уровня трафика. То есть, посредством увеличения значения j элементов данных считывается столько, сколько составляет увеличенное значение j из буфера, имеющего максимальную вероятность появления переполнения, и, в противном случае, при уменьшении значения j меньшее число элементов данных должно считываться из буфера.
В-четвертых, если j≤c, то количество элементов данных, подлежащих считыванию из буфера, будет лежать внутри диапазона c, поскольку сравнение выполняется посредством "i" единицы, которая представляет собой период элемента данных из c единиц. Здесь пустой элемент данных удаляется из физического слоя, так что ввод элемента данных из физического слоя в слой АТМ (асинхронный режим передачи) составляет 2.76 us или менее.
В-пятых, в случае, когда при сравнении имеет место одинаковое значение подсчета элементов данных буферов (bx = by, где x и y - произвольные целые числа), выбирается буфер bold, который дольше всех не выбирался. Для выполнения такой операции управления подсчитывается количество (bsn, n = 1, 2, 3, ...) выборов каждого буфера, и подсчитанные значения следует сравнить друг с другом. Если bs1 = bs2 = bs3 = ... = bsn, то последовательность выбора будет такова bs1, bs2, bs3, ... bsn.
В-шестых, при bold = r соответствующий буфер выбирается первым. Здесь "r" устанавливается, исходя из показателя качества обслуживания, например, исходя из необходимости устранения неустойчивой синхронизации или задержек передачи.
И, наконец, в седьмых, если m>>j, то количество элементов данных, подлежащих считыванию из соответствующего буфера, устанавливается по значению "m".
На фиг. 4 представлена блок-схема, поясняющая способ мультиплексирования элементов данных при асинхронном режиме согласно настоящему изобретению. Bn (где n = 1, 2, 3, . ..) обозначает количество элементов в буфере, bold обозначает буфер, который дольше всех не выбирался; и bsn (n = 1, 2, 3, ...) обозначает количество выборов каждого буфера. Также "i" обозначает количество элементов данных, подлежащих считыванию в некоторый момент времени из выбранного буфера; "m" обозначает количество элементов данных буфера, в котором хранится самое большое количество элементов данных; и "r" обозначает количество элементных временных тактов невыбранного буфера.
На шаге 411 (фиг. 4) устанавливаются значения i и j. Здесь i выбирается в элементарных периодах из c единиц (c = 1, 2, 3, ...) как счетная единица элементов данных, вводимых в буфер, а j обозначает количество элементов данных, подлежащих последовательному считыванию в некоторый момент времени из выбранного буфера. Далее, на шаге 412 подсчитываются элементы данных, введенные в каждый входной буфер. Здесь подсчет ведется по i и значение i пропорционально с единиц элементов данных, умноженному на целое число (где i = 1c, 2c, 3c. .. и "c" - элемент данных). То есть, когда i = 5c, каждые 5 элементов данных считываются как один после введения. Имеется различие в применении параметров трафика, что определяется путем выбора подходящего значения i при установке вызова, поскольку трафик подсчитывается при каждой связи.
На шаге 413 проверяется, равно ли bsn, указывающее количество выборов каждого буфера, величине "r", представляющей отрезок времени, когда буфер не выбирался, и если это так, то для продолжения работы на шаге 420 выбирается буфер, у которого bsn = r.
Однако, если результатом шага 413 является "нет", то выполняются шаги 416 и 417, для того, чтобы можно было найти максимальное значение (m) путем сравнения друг с другом значений (b1, b2, b3, ..., bn) подсчета элементов данных, хранящихся в каждом буфере.
Здесь, если на шаге 416 было определено множество максимальных значений m, то на шаге 417 выбирается буфер bold, который не выбирался дольше других. После этого выполняются шаги 418 и 419, и в случае установления множества буферов bold буферы выбираются в следующей последовательности bs1, bs2, bs3, ..., bsn (и bsx x - произвольное целое число от 1 до n).
Если на шаге 416 выясняется, что максимальное значение m не является множественным, а существует в единственном числе, либо после того, как был выбран буфер на последующих шагах 414 или 419, то корректируются значение счетчика буфера, измененное на шаге 420, и значение bold. На шаге 421 величина "m", представляющая количество элементов данных, хранящихся в буфере, где находится больше всего элементов данных, сравнивается с "j", представляющим количество элементов данных, подлежащих считыванию в момент, с которого начинается сравнение буферов.
На этом этапе, если m<j, то есть количество элементов данных, хранящихся в выбранном буфере, меньше количества элементов данных, подлежащих считыванию, то на шаге 422 j приравнивается к m, и на шаге 423 элементы данных считываются из выбранного буфера. Здесь количество элементов данных, подлежащих считыванию, является результатом умножения j на целое число, а j может быть выбрано (j = 1, 2, 3, ...), в частности, если j = 5, то элементы данных считываются по 5 единиц. Если m≥j, выполняется шаг 423. В зависимости от буферов значение j может быть разным. Поскольку длина пакета у трафиков может быть разной, то в случае с трафиком с большой длиной пакета значение j увеличивают, чтобы считывать как можно больше элементов данных из буфера, и наоборот, в случае с трафиком с меньшей длиной пакета значение j уменьшают, чтобы считывать из буфера меньшее количество элементов данных.
Если во время продолжения вызова вновь рассматривается параметр качества обслуживания, то на шаге 424 вновь определяется, достигнуто ли согласование, и на шаге 425 обновляются значения i и j. Значения i и j выбираются, когда устанавливается вызов, и могут быть изменены в процессе обработки вызова. Поскольку нормирование выполняется таким образом, что повторное согласование с параметром трафика может иметь место, когда вызов продолжается, показатель трафика может быть изменен во время обработки вызова.
Как было описано выше, устройство мультиплексирования согласно изобретению эффективно мультиплексирует трафик элементов данных посредством управления буфером элементов данных в соответствии с уровнем трафика. Таким образом, устройство мультиплексирования может улучшить показатели качества связи, например, в части искажения элементов данных или задержки передачи данных, возникающих когда выбранный буфер, имеющий фиксированный объем, используется для каждого входного порта элементов данных, а также обеспечивает преимущества с точки зрения эффективности использования буфера, когда все порты совместно используют буфер.
Настоящее изобретение может быть использовано в терминальном оборудовании (здесь и далее обозначаемое как TE), передающем оборудовании, включающем оконечное устройство сети 1/2 (NT-1/2), концентратор и мультиплексор, и системах автоматической телефонной связи, то есть в любом оборудовании, относящемся к сетям связи.
Также настоящее изобретение можно реализовать, используя буфер (память), селектор и другие пассивные устройства. Эти устройства являются широкодоступными компонентами и имеют достаточное быстродействие для работы с блоком 2.7 us, что положительно сказывается на затратах и облегчает разработку схемы.
Изобретение относится к устройству и способу для мультиплексирования элементов данных посредством динамического управления буфером. Достигаемый технический результат - улучшение показателя качества связи. Устройство содержит буферную часть, которая включает буферы элементов данных, соответствующие входным портам и предназначенные для хранения элементов данных, принимаемых через входные порты, счетчики, количество которых соответствует количеству буферов, предназначенные для хранения количества элементов данных, подлежащих хранению в буферах, блок единичных синхроимпульсов для определения счетной единицы элементов данных, подлежащих хранению в счетчиках, селектор для выдачи управляющих сигналов для выбора буферов, имеющих максимальные значения, путем сравнения друг с другом значений счетчиков, и блок для ввода выхода буферного блока и мультиплексирования введенных элементов данных в соответствии с управляющим сигналом. В устройстве предотвращается переполнение буфера благодаря обработке в первую очередь элементов данных, выводимых из буфера, в котором хранится больше всего элементов данных. 3 с. и 1 з. п. ф-лы, 4 ил.
Экспресс - информация | |||
Сер | |||
Передача информации | |||
- М.: ВИНИТИ, 1993, N 12, реферат 38 - "Управление перегрузкой в широкополосных цифровых сетях интегрального обслуживания", с.7, 10, 2, 5, 7-й абзацы | |||
BUTTO MILENA AT AL., "IEEE J | |||
Select | |||
Areas Commun.", 1991, 9, N 3, p.335 - 345 | |||
DE 3221685 A1, 08.12.83 | |||
DE 3410632 A1, 26.09.85. |
Авторы
Даты
1999-04-27—Публикация
1996-12-25—Подача