Область техники, к которой относится изобретение
Настоящее изобретение относится к устройству управления распределением полос, способу управления распределением полос и программе управления распределением полос для управления полосами, распределяемыми для множества узлов оптической сети (ONU), образующих систему пассивной оптической сети Gigabit Ethernet (зарегистрированная торговая марка) (GE-PON).
Уровень техники
Недавно была внедрена система GE-PON, в которой используется сеть Gigabit Ethernet для передачи данных с использованием кадра Ethernet (зарегистрированная торговая марка) между центральной станцией и каждым семейством. Как показано на фиг.1, система GE-PON включает в себя терминал 104 оптической линии (OLT), расположенный на стороне центральной станции, и узлы 101-103 оптической сети (ONU), расположенные соответственно по терминалам 121-123 связи на абонентской стороне. Обратимся теперь к фиг.1, со ссылками на которую будет описана конфигурация системы с использование GE-PON.
Как можно видеть из фиг.1, терминал OLT 104 через оптоволоконный кабель 106 с одной сердцевиной соединен с оптическим разветвителем 105 (узел ветвления) в системе GE-PON. Оптический разветвитель 105 на стороне восходящей линии связи подсоединен через оптоволоконные кабели 107-109 с одной сердцевиной к узлам ONU 101-103 соответственно. Узлы ONU 101-103 подсоединены соответственно к терминалам 121-123 связи, что обеспечивает взаимно однозначное соответствие между ними.
В системе GE-PON, показанной на фиг.1, терминал OLT 104 выполняет операцию планирования, выдавая грант на передачу узлам ONU 101-103. Получив грант от OLT 104, узел ONU (101-103) передает на терминал OLT 104 данные согласно гранту на передачу. Таким образом, открывается возможность избежать конфликтной ситуации между элементами 111-113 данных в кабеле 106 между OLT 104 и оптическим разветвителем 105.
Весьма важно обеспечить управление полосами в грантах на передачу для соответствующих узлов ONU 101-103 согласно соглашению об уровне сервиса (SLA), заключенному между стороной-учреждением связи и стороной абонентов, использующей терминалы 121-123 связи, чтобы реализовать тем самым управление полосами, гарантирующее беспристрастный подход к уровням сервиса терминалов 121-123.
Беспристрастный подход к уровням сервиса в особенности необходим для обеспечения различия между полосами для уровня высокоскоростного сервиса и уровня низкоскоростного сервиса.
Терминал OLT 104 системы GE-PON имеет внутреннюю конфигурацию, включающую в себя планировщик 301 динамического распределения полос (DBA), как показано на фиг.2. Планировщик 301 DBA осуществляет обработку для вычисления полос, распределяемых узлами ONU 101-103.
Каждый из узлов ONU 101-103 системы GE-PON сконфигурирован с использованием секции 302 вычисления оценки данных, остающихся в буфере, и буфера 304 данных, как показано на фиг.2. Секция 302 уведомляет терминал OLT 104 о значении запроса длины очереди. Буфер 304 данных запоминает элементы данных, полученные от терминалов 121-123, а затем посылает эти элементы данных на терминал OLT 104 в соответствии с длиной очереди грантов на передачу.
В системе GE-PON, как можно видеть из фиг.3, между терминалом OLT 104 и узлами ONU 101-103 передаются пропускающие сообщения 201-203 и отчетные сообщения 211-213.
В каждом отчетном сообщении 211-213 хранятся значения запроса длины очереди, то есть параметры элементов данных, оставшихся в буферах 304 данных узлов ONU 101-103. В каждом пропускающем сообщении 201-203 хранятся значения запроса длины очереди, полученные из отчетных сообщений 211-213, и значения длины очереди грантов на передачу, вычисленные планировщиком 301 динамического распределения полос (DBA) в терминале OLT 104. Узлы ONU 101-103 имеют возможность посылать на терминал OLT 104 объемы элементов данных, указанные значениями длины очереди грантов на передачу, которые хранятся в пропускающих сообщениях 201-203.
Обратимся теперь к фиг.3 и 4, со ссылками на которые будет описана операция управления, выполняемая планировщиком 301 DBA.
Сначала узлы ONU 101-103 посылают на терминал OLT 104 отчетные сообщения 211-213, содержащие значения запроса длины очереди (шаг А1).
Планировщик 301 DBA в цикле n 401 DBA принимает отчетные сообщения 211-213 от узлов ONU 101-103 под управлением терминала OLT 104 и получает значения запроса длины очереди из соответствующих отчетных сообщений (шаг А2).
После этого в цикле n+1 402 DBA планировщик 301 DBA вычисляет полосы, распределяемые соответствующим узлам 101-103, для получения значений длины очереди грантов на передачу в соответствии с алгоритмом 311 DBA (шаг А3).
Планировщик 301 DBA передает в узлы ONU 101-103 пропускающие сообщения 201-203 соответственно, содержащие значения длины очереди грантов на передачу и значения запроса длины очереди, полученные соответственно от узлов ONU 101-103 (шаг А4).
Каждый из узлов ONU 101-103 принимает пропускающие сообщения 201-203 от терминала OLT 104 (шаг А5). В соответствии со значениями длины очереди грантов на передачу в пропускающих сообщениях 201-203 от терминала OLT 104 узлы ONU 101-103 посылают элементы данных передачи на терминал OLT 104 (шаг А6). Каждый узел ONU посылает эти данные на терминал OLT 104 в соответствии с временными характеристиками передачи, хранящимися в соответствующем пропускающем сообщении.
Обратимся теперь к фиг.5 и 6, со ссылками на которые будет описан алгоритм DBA для известного уровня техники. На фиг.5 показан алгоритм 311 DBA в виде блок-схемы, а на фиг.6 показаны параметры, используемые алгоритмом 311.
Параметры для алгоритма 311 DBA включают в себя значение RBWn запроса длины очереди (№5 на фиг.6), запрошенное каждым узлом ONU (101-103), и параметры SLA, такие как максимальное предельное значение MaxBWn полосы (№2 на фиг.6), минимальное гарантированное значение MinBwn полосы (№3 на фиг.6) и фиксированное значение FBWn полосы (№4 на фиг.6).
Эти параметры представлены в единицах TQ, указывающих временной интервал, выделенный для передачи в цикле DBA. Таким образом, значение в единицах TQ может быть преобразовано в значение в единицах «бит на секунду (бит/с)» следующим образом:
[бит/с]=каждый параметр [TQ]/цикл DBA[TQ]×1Гбит/с (Гигабит в секунду).
Например, максимальное предельное значение полосы MaxBWn [TQ] преобразуется в [бит/с] следующим образом:
MaxBWn [бит/с]=MaxBWn [TQ]/цикл DBA [TQ]×1 Гбит/с.
Далее описывается стандартный алгоритм 311 DBA, показанный на фиг.5.
Сначала планировщик 301 DBA принимает значения RBWn запроса длины очереди для узлов ONU 101-103 (шаг S1).
Планировщик 301 DBA осуществляет обработку для вычисления скорректированных фиксированных значений FBW'n полосы и значения Fn длины оставшейся очереди для узлов ONU 101-103 (шаг S2).
При вычислении FBW'n для каждого ONU планировщик 301 DBA выполняет сравнение значения RBWn запроса длины очереди, минимального гарантированного значения MinBWn и фиксированного значения FBWn для вычисления скорректированных фиксированных значений FBW'n полосы, как показано на фиг.7.
Условие 1: Если «RBWn≥MinBWn>FBWn», то FBW'n=MinBWn.
Условие 2: Если «MinBWn>RBWn≥FBWn», то FBW'n=RBWn.
Условие 3: В противном случае (отличном от условий 1 и 2) FBW'n=FBWn.
При вычислении длины Φn оставшейся очереди планировщик 301 DBA вычитает скорректированное фиксированное значение FBW'n полосы из значения RBWn запроса длины очереди (RBWn-FBW'n), как показано на фиг.8, для результирующего вычисления длины Φn оставшейся очереди (длина оставшейся очереди не распределяется).
То есть если RBWn≥FBW'n, то Φn=RBWn-FBW'n.
Если RBWn<FBW'n, то Φn=0.
Далее планировщик 301 DBA вычисляет в этот момент времени оставшуюся полосу TBW (шаг S3).
Планировщик 301 DBA выполняет вычисление:
TBW=цикл DBA-Σ FBW'n.
Затем планировщик 301 DBA вычисляет динамически распределяемое значение полосы для динамического распределения оставшейся полосы TBW узлам ONU 101-103 в соответствии с отношением длины Φn оставшейся очереди (шаг S4).
То есть DBWn вычисляется следующим образом:
DBWn=TBW×Φn/ΣΦn.
Планировщик 301 DBA складывает скорректированное фиксированное значение FBW'n полосы, полученное на шаге S2, со значением динамически распределяемой DBWn полосы, полученного на шаге S4, (FBW'n+DBWn) для вычисления временно распределяемой полосы TABWn (шаг S5).
То есть TABWn вычисляется следующим образом:
TABWn=FBW'n+DBWn.
После этого временно распределяемая полоса TABWn, полученная на шаге S5, сравнивается с максимальным предельным значением MaxBWn полосы (шаг S6).
Если TABWn≥MaxBWn, то поскольку временно распределяемая полоса TABWn больше или равна максимальному предельному значению MaxBWn полосы, TABWn обновляется на MaxBWn.
Если TABWn<MaxBWn, то поскольку временно распределяемая полоса TABWn меньше максимального предельного значения MaxBWn полосы, TABWn не обновляется на MaxBWn.
Далее выполняется проверка с целью отличия узла ONU, для которого распределение полосы завершено, от узла ONU, для которого распределение полосы не завершено (шаг S7).
Когда на шаге S6 временно распределяемая полоса TABWn обновляется до максимального предельного значения MaxBWn полосы, TABWn сравнивается со значением RBWn запроса длины очереди.
Если TABWn≤RBWn, то значение окончательно распределяемой полосы ABWn для узла ONUn (n-целое число, лежащее в диапазоне от единицы до трех в этом случае) устанавливается равным TABWn, чем завершается распределение полосы.
Если временно распределяемая полоса TABWn на шаге S6 не обновляется, то планировщик 301 DBA вычисляет TABWn, а также длину Φn оставшейся очереди.
Если RBWn≥TABWn, то Φn=RBWn-TABWn.
Если RBWn<TABWn, то Φn=0. Значение ABWn окончательно распределяемой полосы для ONUn, для которого Φn равно нулю (Φn=0), устанавливается равным RBWn, чем завершается распределение полосы.
Планировщик 301 DBA обновляет оставшуюся полосу TBW (шаг S8).
Планировщик 301 DBA выполняет вычисление TBW: TBW=цикл DBA-ΣABWm-TABWn (m указывает на узел ONU, для которого завершено распределение, а n указывает на узел ONU, для которого распределение не завершено).
Далее определяется, должно ли вновь выполняться распределение полос, а именно требуется ли цикл шагов для распределения полос (шаг S9).
Такой цикл потребуется, если оставшаяся полоса TBW, полученная на шаге 8, больше нуля, и существует по меньшей мере один узел ONU, для которого распределение полосы не завершено («да» на шаге S9). Затем поток операций переходит к шагу S4 для вычисления динамически распределяемого значения DBWn полосы.
В других случаях, а именно если TBW равно нулю или распределение полос завершено для всех узлов ONU, то определяется, что цикл не требуется («нет» на шаге S9), и распределение полос заканчивается.
Согласно известному алгоритму 311 DBA, описанному выше, значения ABWn окончательно распределяемой полосы вычисляются для узлов ONU с 101 по 103 соответственно согласно отношениям значений RBWn запроса очереди от соответствующих узлов ONU 101-103. В результате в узлы ONU 101-103 передаются пропускающие сообщения, каждое из которых содержит значения длины очереди грантов на передачу, включая значения полосы для окончательного распределения.
В качестве документа, поданного до настоящего изобретения, имеется, например, выложенная патентная заявка Японии № 2004-336578, описывающая систему многоточечной оптической передачи, в которой терминал OLT через оптические каналы передачи соединен с множеством узлов ONU. Терминал OLT распределяет полосы узлам ONU, используя нисходящий сигнал, а каждый узел ONU передает восходящий сигнал на терминал OLT, используя временной интервал полосы, распределенной терминалом OLT. Терминал OLT включает в себя узел аккумулирования параметра запроса связи, который аккумулирует параметр запроса связи, содержащийся в принятом сигнале запроса связи, чтобы тем самым получить для каждого узла ONU аккумулированный параметр запроса связи как результат аккумулирования соответствующих параметров в прошлом, и узел распределения полос для распределения каждому узлу ONU восходящей полосы с использованием веса в соответствии с аккумулированным параметром запроса связи для узла ONU, вычисленным узлом аккумулирования параметра запроса связи. Таким образом, терминал OLT имеет возможность эффективно распределить полосу в соответствии с параметром связи в прошлом, полученным посредством простого вычисления.
В качестве примера можно привести выложенную патентную заявку Японии № 2005-012800, описывающую способ динамического распределения полос, предложенный с учетом мультиплексного сервиса, с использованием сети GE-PON, в которой один терминал OLT через сеть ODN связан с большим количеством узлов ONU и в которой терминал OLT распределяет полосу каждому узлу ONU в связи с запросом полосы, поступившим от узла ONU на передачу данных. Способ включает в себя этап распределения минимальной полосы, гарантированной для каждой услуги, запрошенной узлом ONU, во всех имеющихся полосах, и этап, на котором, после того как всем узлам ONU, запросившим полосу, распределена минимальная полоса при наличии среди имеющихся полос доступной полосы, полоса, запрошенная узлом ONU, распределяется, если сумма полос, запрошенных узлами ONU, меньше, чем имеющаяся на данный момент полоса. Если сумма полос больше, чем имеющаяся на данный момент полоса, то для каждого узла ONU с учетом размера очереди ONU и значения веса для каждой очереди определяется новая запрошенная полоса для распределения полосы пропорционально новой запрошенной полосе.
Известному стандартному алгоритму 311 DBA, показанному на фиг.5, присущи проблемы, требующие своего разрешения.
Первая проблема заключается в том, что в состоянии перегруженности из-за конечного объема буфера 304 данных каждого узла ONU (101-103) из узлов ONU 101-103 на терминал OLT 104 посылается одно и то же значение RBWn запроса длины очереди. В стандартном алгоритме 311 DBA по фиг.5 значения ABWn окончательно распределяемой полосы, окончательно распределенные соответствующим узлам ONU, вычисляются в соответствии отношениями значений RBWn окончательно распределяемой полосы, полученными от узлов ONU. Таким образом, терминал OLT 104 распределяет значения RBWn, подлежащие окончательному распределению узлам ONU, согласно одному и тому же отношению.
Это приводит к недостатку, состоящему в том, что значения RBWn окончательно распределяемой полосы, распределенные соответствующим узлам ONU, не указывают полосы, которые гарантируют беспристрастный подход к уровням сервиса терминалов.
Рассмотрим случай, при котором, например, максимальное предельное значение MaxBWn полосы составляет 1000 Мбит/с для двух узлов ONU, то есть ONU1 101 и ONU2 102, и составляет 100 Мбит/с для узла ONU3 103. Однако с целью упрощения описания положим, что согласно другому соглашению SLA значение MaxBWn равно 0 Мбит/с для любого узла ONU. Положим также, что в стандартном алгоритме 311 DBA цикл DBA установлен равным 1000 TQ.
Для всех узлов ONU 101-103 трафик от терминалов 121-123 связи является максимальным трафиком 1000 Мбит/с. Таким образом, полагаем, что появляется состояние перегруженности, и каждый узел ONU посылает на терминал OLT 104 отчетное сообщение, содержащее максимальное значение MaxBuf для буфера 304 данных в качестве значения RBWn запроса длины очереди.
Следовательно, в алгоритме 311 DBA по фиг.5 на шаге S1 получают значение запроса длины очереди RBWn=MaxBuf.
На шаге S2 значение RBWn, минимальное гарантированное значение MinBWn полосы и фиксированное значение FBWn полосы сравнивают друг с другом для вычисления скорректированного фиксированного значения FBW'n полосы.
Условие 1: Если «RBWn≥MinBWn>FBWn», то FBW'n=MinBWn.
Условие 2: Если «MinBWn>RBWn≥FBWn», то FBW'n=RBWn.
Условие 3: В противном случае (отличном от условий 1 и 2) FBW'n=FBWn.
Поскольку фиксированное значение FBWn равно нулю и минимальное гарантированное значение MinWn равно нулю, условие 1 удовлетворяется, и, следовательно, скорректированное фиксированное значение FBW'n полосы равно нулю.
Длину Φn оставшейся очереди получают следующим образом: RBWn-FBW'n=MaxBuf-0=MaxBuf.
Далее на шаге S3 получают оставшуюся полосу TBW следующим образом: цикл DBW-Σ FBW'n=1000 Мбит/с-0=1000 Мбит/с.
На шаге S4 вычисляют значение DBWn динамически распределяемой полосы следующим образом:
TBW×Φn/Σ Φn=1000 Мбит/с×MaxBuf/3MaxBuf=333 Мбит/с.
На шаге S5 получают временно распределяемую полосу TABWn следующим образом: FBW'n+DBWn=0+333 Мбит/с=333 Мбит/с.
На шаге S6, если TAB≥MaxWn, то TABWn обновляется на MaxWn. Если TAB<MaxWn, то TABWn не обновляется.
При условиях, что максимальное предельное значение полосы для узла ONU1 101, то есть MaxBW1 составляет 1000 Мбит/с, максимальное предельное значение полосы для узла ONU2 102, то есть MaxBW2 составляет 1000 Мбит/с, максимальное предельное значение полосы для узла ONU3 103, то есть MaxBW3 составляет 100 Мбит/с, временно распределяемая полоса TABW3 для узла ONU3 103 обновляется на 100 Мбит/с. Следовательно, временно распределяемые полосы TABW1, TABW2 и TABW3 устанавливаются равными 333 Мбит/с, 333 Мбит/с и 100 Мбит/с соответственно.
На шаге S7 ищутся узлы ONU, распределение для которых не закончено. В результате определяется, что распределение завершено для узла ONU1 101 и ONU2 102 и не завершено для узла ONU3 103.
Поскольку временно распределяемые полосы TABW1 и TABW2 для узлов ONU 101 и ONU2 102 обновлены не были, планировщик 301 DBA вычисляет длину оставшейся очереди: Φn=RBWn-TABWn. Длина Φn оставшейся очереди для узла ONU1 101 получается следующим образом: Φ1=RBW1-TABW1=MaxBuf-333. Длина Φn оставшейся очереди для узла ONU2 102 получается следующим образом: Φ2=RBW2-TABW2=MaxBuf-333.
На шаге S8 планировщик 301 DBA получает оставшуюся полосу следующим образом: TBW=цикл DBA-ΣABWm-TABWn=1000 Мбит/с-2×333 Мбит/с-100 Мбит/с=234 Мбит/с.
После этого управление переходит к шагу S4 в цикле для вычисления значения динамически распределяемой полосы в виде DBWn=TBW×Φn/ΣΦn=234 Мбит/с×(MaxBuf-333 Мбит/с)/(2×(MaxBuf-333 Мбит/с))=117 Мбит/с.
Таким образом, значение окончательно распределяемой полосы для узла ONU1 101 составит: ABW1=333 Мбит/с+117 Мбит/с=450 Мбит/с. Аналогичным образом, значение окончательно распределяемой полосы для узла ONU2 102 составит: ABW2=333 Мбит/с+117 Мбит/с=450 Мбит/с. Значение окончательно распределяемой полосы для узла ONU3 103 составит: ABW3=100 Мбит/с.
Соотношение полос для узлов ONU1 101, ONU2 102 и ONU3 103 составит 9:9:2. Таким образом, во время сервиса узлом ONU1 101 и узлом ONU2 102, которые имеют максимальное предельное значение MaxBWn полосы, равное 1000 Мбит/с, и узлом ONU3 103, который имеет максимальное предельное значение MaxBWn полосы, равное 100 Мбит/с, соотношение 10:10:1 реализовать невозможно.
Вторая проблема состоит в следующем. Когда максимальное предельное значение MaxBWn полосы мало или когда система работает с низкоскоростным трафиком, значение ABWn окончательно распределяемой полосы в любом случае будет меньше, чем длина оставшегося кадра ONU. Следовательно, кадр не сможет быть доставлен, и данные останутся в буфере 304 данных каждого узла ONU (101-103).
Если длина кадра, оставшегося в узле ONU (101-103), составляет, например, 1500 байт, то длина очереди грантов на передачу, необходимая между сетью GE и сетью PON, составит (1500 байт+20 байт)/2=760 TQ. Однако согласно стандартному алгоритму 311 DBA даже в том случае, если окончательно распределенная длина очереди грантов на передачу меньше 760 TQ, эта длина очереди запоминается в пропускающем сообщении, которое посылается в узел ONU (101-103). Однако даже в том случае, когда принято пропускающее сообщение, меньшее 760 TQ, узел ONU не сможет передать 1500-байтовый кадр, оставшийся в буфере 304 данных. Следовательно, длинный кадр останется в буфере 304 данных.
Третья проблема состоит в том, что кадр Ethernet является кадром переменной длины и поэтому может возникнуть ситуация, в которой вся полоса, распределенная, как было показано выше, не сможет быть использована. Поскольку в известном алгоритме 311 DBA эффективность использования линии во внимание не принимается, может случиться так, что выполнение алгоритма в целом значительно ухудшится.
Хотя в выложенных патентных заявках Японии № 2004-336578 и 2005-012800 описаны способы распределения частот соответствующим узлам ONU, в них не рассматривается реализация управления полосами, гарантирующая беспристрастный подход к уровням сервиса узлов ONU.
Сущность изобретения
Таким образом, целью данных вариантов осуществления изобретения является создание устройства управления распределением полос, способа управления распределением полос и программы управления распределением полос, способных обеспечить управление полосами, гарантирующее беспристрастный подход к уровням сервиса для узлов ONU.
Эта цель по настоящему изобретению достигается согласно изложенным ниже аспектам.
Согласно настоящему изобретению предлагается устройство управления распределением полос для управления полосами, распределяемыми по множеству узлов оптической сети (ONU), причем устройство включает в себя узел распределения полос для установки полосы, распределяемой каждому из узлов ONU, в соответствии с отношением максимальных предельных значений полосы для узлов ONU.
В устройстве управления распределением полос узел распределения полос устанавливает распределяемую полосу для оставшейся полосы, распределяемой в устройстве управления распределением полос, в соответствии с отношением максимальных предельных значений полосы. Узел распределения полос распределяет оставшуюся полосу узлам ONU.
Устройство управления распределением полос дополнительно включает в себя управляющую таблицу для управления максимальными предельными значениями полосы для узлов ONU. Узел распределения полос устанавливает распределяемую полосу, подлежащую распределению для каждого из узлов ONU, в соответствии с отношением максимальных предельных значений полосы, управляемых управляющей таблицей.
Устройство управления распределением полос дополнительно включает в себя узел получения значения запроса длины очереди для получения значения запроса длины очереди для узла ONU, узел вычисления накопленного фиксированного значения полосы для вычисления накопленного фиксированного значения полосы в соответствии со значением запроса длины очереди и узел вычисления оставшейся полосы для вычисления оставшейся полосы, распределяемой в устройстве управления распределением полос, в соответствии с накопленным фиксированным значением полосы. Узел распределения полос устанавливает распределяемую полосу для оставшейся полосы в соответствии с максимальным предельным значением полосы.
В устройстве управления распределением полос максимальное предельное значение полосы является одним из параметров соглашения об уровнях сервиса (SLA), установленных для каждого из узлов ONU.
Устройство управления распределением полос дополнительно включает в себя узел определения для определения того, меньше ли распределяемая полоса, распределяемая узлом распределения полос, значения запроса длины очереди, и достигла ли распределяемая полоса полосы трафика с максимальным передаваемым узлом данных (MTU), необходимой трафику для передачи кадра, имеющего длину MTU, и узел изменения распределяемой полосы для изменения распределяемой полосы на фиксированное значение полосы для ONU, если узел определения определяет, что распределяемая полоса меньше значения запроса длины очереди и что она достигла полосы трафика с MTU.
Устройство управления распределением полос дополнительно включает в себя узел коррекции распределяемой полосы для коррекции распределяемой полосы, распределенной узлом распределения полос, с тем чтобы она стала целым кратным полосы трафика с MTU.
В устройстве управления распределением полос узел коррекции распределяемой полосы корректирует распределяемую полосу, с тем чтобы она стала целым кратным полосы трафика с MTU, если распределяемая полоса, распределенная узлом распределения полос, меньше значения запроса длины очереди.
Согласно настоящим вариантам осуществления изобретения предлагается способ управления распределением полос для использования с устройством управления распределением полос для управления полосами, подлежащими распределению по множеству узлов ONU. Способ включает в себя шаг распределения полос для установки распределяемой полосы, подлежащей распределению каждому из узлов ONU, в соответствии с отношением максимальных предельных значений полосы для узлов ONU.
В способе управления распределением полос шаг распределения полос включает в себя установку распределяемой полосы для оставшейся полосы, распределяемой в устройстве управления распределением полос, в соответствии с отношением максимальных предельных значений полосы, и распределение оставшейся полосы узлам ONU.
В способе управления распределением полос устройство управления распределением полос включает в себя управляющую таблицу для управления максимальными предельными значениями полосы для каждого из узлов ONU. Шаг распределения полос включает в себя установку распределяемой полосы, подлежащую распределению для каждого из узлов ONU, в соответствии с отношением максимальных предельных значений полосы, управляемых управляющей таблицей.
Способ управления распределением полос дополнительно включает в себя шаг получения значения запроса длины очереди, состоящий в получении значения запроса длины очереди для ONU, шаг вычисления накопленного фиксированного значения полосы для вычисления накопленного фиксированного значения полосы, состоящий в вычислении накопленного фиксированного значения полосы в соответствии со значением запроса длины очереди, и шаг вычисления оставшейся полосы, состоящий в вычислении оставшейся полосы, распределяемой в устройстве управления распределением полос, в соответствии с накопленным фиксированным значением полосы. Шаг распределения полос включает в себя установку распределяемой полосы для оставшейся полосы, распределенной узлом ONU, в соответствии с отношением максимальных предельных значений полосы.
В способе управления распределением полос максимальное предельное значение полосы является одним из параметров SLA, установленных для каждого из узлов ONU.
Способ управления распределением полос дополнительно включает в себя шаг определения, состоящий в определении того, меньше ли распределяемая полоса, распределенная на шаге распределения полос, значения запроса длины очереди, и достигла ли распределяемая полоса полосы трафика с MTU, необходимой трафику для передачи кадра, имеющего длину MTU, и шаг изменения распределяемой полосы, состоящий в изменении распределяемой полосы на фиксированное значение полосы для ONU, если на шаге определения определяется, что распределяемая полоса меньше значения запроса длины очереди и что она достигла полосы трафика с MTU.
Способ управления распределением полос дополнительно включает в себя шаг коррекции распределяемой полосы, состоящий в коррекции распределяемой полосы, распределенной на шаге распределения полос, с тем чтобы она стала целым кратным полосы трафика с MTU.
В способе управления распределением полос шаг коррекции распределяемой полосы включает в себя коррекцию распределяемой полосы, с тем чтобы она стала целым кратным полосы трафика с MTU, если распределяемая полоса, распределенная на шаге распределения полос, меньше значения запроса длины очереди.
Согласно настоящему изобретению предлагается компьютерный программный продукт, воплощенный на считываемом компьютером носителе и содержащий код, который при его выполнении инициирует компьютер выполнять обработку распределения полос для установки распределяемой полосы для каждого из узлов ONU на основе отношения максимальных предельных значений полосы для узлов ONU.
В компьютерном программном продукте обработка управления распределением полос устанавливает распределяемую полосу для оставшейся полосы, распределяемой в устройстве управления распределением полос, в соответствии с отношением максимальных предельных значений полосы, и при обработке распределения полос оставшаяся полоса распределяется по узлам ONU.
В компьютерном программном продукте обработка управления распределением полос устанавливает распределяемую полосу, подлежащую распределению каждому из узлов ONU, в соответствии с отношением максимальных предельных значений полосы, управляемых управляющей таблицей.
Компьютерный программный продукт дополнительно включает в себя обработку, состоящую в получении значения запроса длины очереди, для получения значения запроса длины очереди для узла ONU, обработку, состоящую в вычислении накопленного фиксированного значения полосы, для вычисления накопленного фиксированного значения полосы в соответствии со значением запроса длины очереди, и обработку, состоящую в вычислении оставшейся полосы, для вычисления оставшейся полосы, распределяемой в устройстве управления распределением полос, в соответствии с накопленным фиксированным значением полосы. Обработка, состоящая в распределении полос, устанавливает распределяемую полосу для оставшейся полосы, вычисленной посредством обработки, состоящей в вычислении оставшейся полосы, в соответствии с отношением максимальных предельных значений полосы.
В компьютерном программном продукте максимальное предельное значение полосы является одним из параметров соглашения об уровнях сервиса (SLA), установленных для каждого из узлов ONU.
Компьютерный программный продукт дополнительно включает в себя обработку определения для определения того, меньше ли распределяемая полоса, распределяемая узлом распределения полос, значения запроса длины очереди, и достигла ли распределяемая полоса полосы трафика с максимальным передаваемым узлом данных (MTU), необходимой трафику для передачи кадра, имеющего длину MTU, и обработку, состоящую в изменении распределяемой полосы, для изменения распределяемой полосы на фиксированное значение полосы для ONU, если при обработке определения определяется, что распределяемая полоса меньше значения запроса длины очереди и что она достигла полосы трафика с MTU.
Компьютерный программный продукт дополнительно включает в себя обработку, состоящую в коррекции распределяемой полосы, для коррекции распределяемой полосы, распределенной узлом распределения полос, с тем чтобы она стала целым кратным полосы трафика c MTU.
В компьютерном программном продукте обработка, состоящая в коррекции распределяемой полосы, корректирует распределяемую полосу, с тем чтобы она стала целым кратным полосы трафика с MTU, если распределяемая полоса, распределенная узлом распределения полос, меньше значения запроса длины очереди.
В устройстве управления распределением полос, способе управления распределением полос и компьютерном программном продукте для управления распределением полос согласно вариантам осуществления настоящего изобретения распределяемые полосы, подлежащие распределению соответствующим узлам ONU, определяют на основе максимальных предельных значений полосы для узлов ONU, и, следовательно, можно реализовать управление полосами, которое гарантирует беспристрастный подход к уровням сервиса узлов ONU.
Краткое описание чертежей
Цели и признаки настоящего изобретения станут более очевидными из последующего подробного описания, взятого вместе с сопроводительными чертежами, на которых:
фиг.1 - блок-схема, показывающая конфигурацию известной из уровня техники системы GE-PON;
фиг.2 - блок-схема, показывающая внутреннюю конфигурацию терминала OLT 104 и узлов ONU 101-103 системы GE-PON;
фиг.3 - схема, показывающая пропускающие сообщения 211-213 и отчетные сообщения 211-213, поочередно передаваемые между терминалом OLT 104 и узлами ONU 101-103;
фиг.4 - схема, показывающая операцию управления планировщика 301 DBA;
фиг.5 - блок-схема стандартного алгоритма 311 DBA;
фиг.6 - таблица, показывающая параметры, которые используются в алгоритме 311 DBA;
фиг.7 - диаграмма, поясняющая способ вычисления скорректированного фиксированного значения FBW'n полосы;
фиг.8 - диаграмма, поясняющая способ получения длины Φn оставшейся очереди;
фиг.9 - блок-схема, показывающая системную конфигурацию для одного варианта системы GE-PON;
фиг.10 - блок-схема, показывающая алгоритм 1211 DBA для одного варианта осуществления изобретения;
фиг.11 - таблица, показывающая параметры, используемые в алгоритме 1211 DBA;
фиг.12 - диаграмма, показывающая условия 1-4 на шаге S112 алгоритма 1211 DBA;
фиг.13 - диаграмма, показывающая условия 5 и 6 на шаге S112 алгоритма 1211 DBA;
фиг.14 - график, показывающий эффективность использования линии для алгоритма 1211 DBA; и
фиг.15 - график, показывающий эффективность использования линии при реальном трафике.
Описание вариантов осуществления изобретения
Обратимся теперь к фиг.9, со ссылками на которую будут описаны аспекты устройства управления распределением полос согласно одному варианту осуществления изобретения.
В этом варианте осуществления устройство 1204 управления распределением полос управляет полосами, подлежащими распределению по множеству узлов ONU 1201-1203. Устройство 1204 устанавливает полосы распределения в соответствии с отношениями максимальных предельных значений полосы для узлов ONU 1201-1203. Это открывает возможность реализации управления полосами, способного гарантировать беспристрастный подход к уровням сервиса узлов ONU 1201-1203. Обратимся теперь к сопроводительным чертежам, со ссылками на которые будет описан вариант устройства управления распределением полос. В последующем описании устройство 1204 называется терминалом оптической линии (OLT).
Обратимся к фиг.9, со ссылками на которую описывается системная конфигурация системы GE-PON по данному варианту осуществления изобретения. На фиг.9 показана системная конфигурация системы GE-PON.
В данном варианте системы GE-PON терминал OLT 1204 осуществляет связь с тремя узлами ONU, то есть ONU1 1201, ONU2 1202 и ONU3 1203.
Терминал OLT 1204 через оптоволоконный кабель 1206 с одной сердцевиной соединен с оптическим разветвителем 1205 (узел ветвления). Оптический разветвитель 1205 на стороне восходящей линии связи через оптоволоконные кабели 1207-1209 с одной сердцевиной соответственно подсоединен к множеству узлов ONU 1201-1203. Узлы ONU подсоединены к терминалам 1221-1223 связи соответственно, что обеспечивает взаимнооднозначное соответствие между ними. Терминалы 1221-1223 связи передают элементы 1211-1213 данных в узлы ONU 1201-1203 соответственно.
Терминал OLT 1204 включает в себя планировщик 1210 DBA, который управляет восходящим трафиком соответствующих узлов ONU 1201-1203 согласно алгоритму 1211 DBA.
Обратимся далее к фигурам 10 и 11, со ссылками на которые будет описана операция управления алгоритма 1211 DBA по данному варианту осуществления. На фиг.10 показана блок-схема алгоритма 1211 DBA, а на фиг.11 показаны параметры, используемые алгоритмом 1211 DBA.
Сначала планировщик 1210 DBA получает значения RBWn запроса длины очереди для узлов ONU 1201-1203 (шаг S101).
Затем планировщик 1210 DBA выполняет обработку, вычисляя скорректированные фиксированные значения FBW'n полосы и значения длины Φn оставшейся очереди для узлов ONU 1201-1203 (шаг S102).
При вычислении FBW'n значение RBWn запроса длины очереди, минимальное гарантированное значение MinBWn полосы и фиксированное значение FBWn полосы сравнивают друг с другом для получения скорректированных фиксированных значений FBW'n, как показано на фиг.7.
Условие 1: Если «RBWn≥MinBWn>FBWn», то FBW'n=MinBWn.
Условие 2: Если «MinWn>RBWn≥FBWn», то FBW'n=RBWn.
Условие 3: В противном случае (отличном от условий 1 и 2) FBW'n=FBWn.
Для вычисления длины Φn оставшейся очереди планировщик 1210 DBA вычитает скорректированное фиксированное значение FBW'n полосы из значения RBWn запроса длины очереди (RBWn-FBW'n), как показано на фиг.8, для получения в результате длины Φn оставшейся очереди (длина оставшейся очереди не распределяется).
То есть, если RBWn≥FBW'n, то Φn=RBWn-FBW'n.
Если RBWn<FBW'n, то Φn=0.
Далее планировщик 1210 DBA вычисляет оставшуюся полосу TBW в данный момент времени (шаг S103).
Планировщик 1210 DBA подсчитывает количество узлов ONU, для которых полоса ExBWn переноса больше нуля, для вычисления TBW:
TBW=цикл DBA-ΣFBW'n-BWMTU×m (m - это количество узлов ONU, для которых ExBWn больше нуля). В этой связи полоса ExBWn переноса является параметром, возможно обновляемым на шагах S110, S111 и S112, которые описываются ниже.
Затем планировщик 1210 DBA вычисляет значение DBWn динамически распределяемой полосы для динамического распределения оставшейся полосы TBW узлам ONU 101-103 в соответствии с отношением максимальных предельных значений MaxBWn полосы (шаг S104).
То есть DBWn вычисляется следующим образом:
DBWn=TBW×MaxBWn/ΣMaxBWn.
Затем планировщик 1210 DBA складывает скорректированное фиксированное значение FBW'n полосы, полученное на шаге S102, со значением DBWn динамически распределяемой полосы, полученным на шаге S104, (FBW'n+DBWn) для вычисления временно распределяемой полосы TABWn (шаг S105).
TABWn вычисляется следующим образом:
TABWn=FBW'n+DBWn.
После этого временно распределяемая полоса TABWn, полученная на шаге S105, сравнивается с максимальным предельным значением MaxBWn полосы. Если TABWn больше MaxBWn, то TABWn обновляется, как показано ниже. В противном случае TABWn не обновляется (шаг S106).
Если TABWn≥MaxBWn, то планировщик 1210 DBA устанавливает TABWn=MaxBWn.
Если TABWn<MaxBWn, то планировщик 1210 DBA не обновляет TABWn.
Далее выполняется проверка с целью отличия узла ONU, для которого распределение полосы завершено, от узла ONU, для которого распределение полосы не завершено (шаг S107).
Если временно распределяемая полоса TABWn, полученная на шаге S105, на шаге S106 обновляется до максимального предельного значения MaxBWn полосы, то TABWn сравнивается со значением RBWn запроса длины очереди.
Если TABWn≤RBWn, то значение ABWn окончательно распределяемой полосы устанавливается равным TABWn, чем завершается распределение полосы.
Если временно распределяемая полоса TABWn, полученная на шаге S105, на шаге S106 не обновилась, то планировщик 1210 DBA вычисляет TABWn, а также длину Φn оставшейся очереди следующим образом.
Если RBWn≥TABWn, то Φn=RBWn-TABWn.
Если RBWn<TABWn, то Φn=0. Значение ABWn окончательно распределяемой полосы для ONUn, для которого Φn=0, устанавливается равным RBWn, а затем завершается распределение полосы.
Затем планировщик 1210 DBA обновляет оставшуюся полосу TBW (шаг S108).
При вычислении TBW с использованием значения окончательно распределяемой полосы для узла ONU, для которого распределение на шаге S107 завершено, и для узла ONU, для которого распределение на шаге S107 не завершено, планировщик 301 DBA выполняет вычисление TBW: TBW=цикл DBA-ΣABWm-TABWn (m указывает на узел ONU, для которого завершено распределение, а n указывает на узел ONU, для которого распределение не закончено).
Далее выполняется проверка, чтобы определить, требуется ли повторный цикл шагов для распределения полос (шаг S109).
Определяется, что этот цикл потребуется, если оставшаяся полоса TBW, вычисленная на шаге 108, больше нуля, и существует по меньшей мере один узел ONU, для которого распределение полосы не завершено («да» на шаге S109). Затем процесс переходит к шагу S104.
В других случаях, а именно если TBW равно нулю или распределение полос завершено для всех узлов ONU, то определяется, что цикл не требуется («нет» на шаге S109), и процесс переходит к шагу S110. Если TBW равно нулю, то ABWn устанавливается равным TABWn для узла ONU, для которого распределение не завершено. Далее процесс переходит к шагу S110.
После этого значение ABWn окончательно распределяемой полосы нормализуется до целого кратного полосы BWMTU трафика c MTU для коррекции значения ABWn окончательно распределяемой полосы (шаг S110). Остаток добавляется к ExBWn.
Однако если RBWn<TABWn, то Φn устанавливается равным нулю. Нормализация не выполняется для узла ONU, у которого значение ABWn окончательно распределяемой полосы равно RBWn на шаге S109.
Другими словами, планировщик 1210 DBA вычисляет ABWn и ExBWn: ABWn=ABWn-(ABWn mod BWMTU); и ExBWn=ExBWn+(ABWn mod BWMTU).
Однако если RBWn<TABWn и Φn установлено в нуль, то операция не выполняется для узлов ONU, у которых значение ABWn окончательно распределяемой полосы равно RBWn на шаге S109.
Затем обновляется оставшаяся полоса TBW, как показано ниже.
Сначала к TBW добавляется BWMTU×m, которое было вычтено на шаге S103. А именно, TBW=TBW+BWMTU×m.
Для узлов ONU, для которых распределение на шаге S107 не завершено и для которых полоса ExBWn переноса больше нуля, к значению ABWn окончательно распределяемой полосы добавляется полоса BWMTU трафика c MTU (ABWn+BWMTU). В то же самое время полоса BWMTU трафика c MTU вычитается из полосы ExBWn переноса (ExBWn-BWMTU).
Если существует множество узлов ONU для вышеуказанной операции, то планировщик 1210 DBA выполняет обработку случайным образом, как указано ниже, для вычисления значения ABWn окончательно распределяемой полосы: ABWn=ABWn+BWMTU. Планировщик 1210 также вычисляет ExBWn:ExBWn=ExBWn-BWMTU.
Поскольку n≥m (n указывает на узел ONU с незавершенным распределением, а m указывает на узел ONU с завершенным распределением), для поддержания оставшейся полосы TBW в диапазоне положительных значений каждый раз, когда к значению ABWn окончательно распределяемой полосы добавляется полоса BWMTU трафика c MTU (ABWn+BWMTU), оставшаяся полоса обновляется следующим образом: TBW=TBW-BWMTU. Операция проводится многократно, пока TBW не станет меньше BWMTU или пока существует какой-либо узел ONUn, для которого выполняется неравенство ExBWn>0 (шаг S111).
Далее значение ABWn окончательно распределяемой полосы, значение RBWn запроса длины очереди и полоса BWMTU трафика c MTU сравниваются друг с другом для обновления ABWn и полосы ExWBn переноса (шаг S112).
На фиг.12 и 13 показана обработка на шаге S112. На фиг.12 показана обработка для условий 1-4 на шаге S112, а на фиг.13 показана обработка для условий 5 и 6 на шаге S112.
Условие 1: Если ABWn≥RBWn≥BWMTU, то ABWn=RBWn.
Условие 2: Если RBWn≥ABWn≥BWMTU, то ABWn не обновляется.
Условие 3: Если ABWn≥BWMTU≥RBWn, то ABWn=RBWn.
Условие 4: Если RBWn≥BWMTU≥ABWn, то ABWn=FBWn (распределение выполняется только для фиксированной полосы) и ExBWn=ABWn-FBWn.
Условие 5: Если BWMTU≥ABWn≥RBWn, то ABWn=RBWn.
Условие 6: Если BWMTU≥RBWn≥ABWn, то ABWn=RBWn (распределение выполняется только для фиксированной полосы) и ExBWn=ABWn-FBWn.
При обработке в операции на шаге S112 выполняется проверка для определения, меньше ли значение ABWn окончательно распределяемой полосы, чем значение RBWn запроса длины очереди, и достигло ли оно полосы BWMTU трафика c MTU, необходимой для трафика, чтобы передать кадр длиной MTU. В условии 4 по фиг.12 и условии 6 по фиг.13 значение ABWn и полоса ExBWn переноса обновляются.
Как было показано выше, согласно алгоритму 1211 DBA по данному варианту для вычисления значения DBWn динамически распределяемой полосы на шаге S104 оставшаяся полоса TBW распределяется согласно отношению максимальных предельных значений MaxBWn полосы (параметр соглашения SLA). Следовательно, даже в состоянии перегруженности можно гарантировать беспристрастный подход к уровням сервиса узлов ONU 1201-1203.
На основе предложенной концепции полосы ExBWn переноса на шаге S112 выполняется проверка для определения, достигло ли значение ABWn окончательно распределяемой полосы полосы BWMTU трафика c MTU, необходимой для трафика кадра, имеющего длину MTU. Следовательно, можно избежать недостатка, состоящего в том, что в буфере данных узла ONU (1201-1203) остается длинный кадр.
Далее приводится отдельное описание обработки указанной операции в алгоритме 1211 DBA по варианту осуществления изобретения, показанному на фиг.10. Положим, что для алгоритма 1211 установлено «цикл DAB=30000 TQ» и «полоса BWMTU трафика c MTU=810 TQ».
Положим также, что терминал OLT 104 содержит управляющую таблицу с параметрами SLA, установленными для узлов ONU 1201-1203, как показано ниже. Единицами измерения являются TQ, а единицы в круглых скобках являются преобразованными значениями, выраженными в битах в секунду (бит/с).
< параметры SLA узла ONU1 1201 >
Максимальное предельное значение MaxBW1=30000 (1000 Мбит/с)
Минимальное гарантированное значение MinBW1=3000 (100 Мбит/с)
Фиксированное значение FBW1 полосы=300 (10 Мбит/с)
< параметры SLA узла ONU2 1202 >
Максимальное предельное значение MaxBW2=15000 (500 Мбит/с)
Минимальное гарантированное значение MinBW2=1500 (50 Мбит/с)
Фиксированное значение FBW2 полосы=150 (5 Мбит/с)
< параметры SLA узла ONU3 1203 >
Максимальное предельное значение MaxBW3=3000 (100 Мбит/с)
Минимальное гарантированное значение MinBW3=300 (10 Мбит/с)
Фиксированное значение FBW3 полосы=30 (1 Мбит/с)
Для каждого узла ONU (1201-1203) емкость (максимальное значение запроса длины очереди) буфера данных устанавливается равной 50000 TQ.
Также предполагается, что система находится в состоянии перегруженности из-за трафика 1000 Мбит/с, поступающего от каждого из терминалов 1221-1223 связи.
Сначала планировщик 1210 DBA принимает значения RBWn запроса длины очереди от всех узлов ONU 1201-1203 (шаг S101).
Поскольку данный вариант находится в состоянии перегруженности, RBWn является значением, показывающим емкость буфера данных каждого узла ONU.
Следовательно, RBW1=50000, RBW2=50000 и RBW3=50000.
После этого для каждого узла ONU вычисляется скорректированное фиксированное значение FBW'n полосы и длина Φn оставшейся очереди (шаг S102).
При вычислении FBWn значение RBWn запроса длины очереди, минимальное гарантированное значение MinBWn полосы и фиксированное значение FBWn полосы сравниваются друг с другом для получения скорректированных фиксированных значений FBW'n полосы, как показано на фиг.7.
Условие 1: Если RBWn≥MinBWn>FBWn, то FBW'n=MinBWn.
Условие 2: Если MinBWn>RBWn≥FBWn, то FBW'n=RBWn.
Условие 3: В противном случае (отличном от условий 1 и 2) FBW'n=FBWn.
Поскольку для узла ONU1 1201 RBW1=50000, MinBWn=3000 и FBW1=300, условие 1 удовлетворяется и получается, что FBW'1=MinBW1=3000.
Для узла ONU2 1202 условие 1 выполняется, поскольку RBW2=50000, MinBW2=1500 и FBW2=150.
Это приводит к тому, что FBW'2=MinBW2=1500.
Условие 1 также применимо для узла ONU3 1203, поскольку RBW3=50000, MinBW3=300 и FBW3=30. Следовательно, получается что FBW'3=MinBW3=300.
При вычислении длины Φn оставшейся очереди планировщик 1210 DBA вычитает из значения RBWn запроса длины очереди скорректированное фиксированное значение FBW'n полосы (RBWn-FBW'n), как показано на фиг.8, для получения Φn в качестве нераспределенной длины очереди запросов.
То есть если RBWn≥FBW'n, то Φn=RBWn-FBW'n.
Если RBWn<FBW'n, то Φn=0.
Для узла ONU1 1201 RBW1 (50000)≥FBW'1 (3000), и, следовательно, Φ1 получается в виде Φ1=RBW1-FBW'1=50000-3000=47000.
Поскольку для узла ONU2 1202 RBW2 (50000)≥FBW'2 (1500), и, следовательно, Φ2 получается в виде Φ2=RBW2-FBW'2=50000-1500=48500.
Для узла ONU3 1203 RBW3 (50000)≥FBW'3 (300). Следовательно, Φ3 вычисляется в виде Φ3=RBW3-FBW'3=50000-300=49700.
Далее получают оставшуюся полосу TBW для данного момента времени (шаг S103).
Планировщик 1210 DBA вычисляет TBW: TBW=цикл DBA-ΣFBW'n-BWMTU×m (m - это количество узлов ONU, для которых ExBWn больше нуля).
Предположим, что полоса переноса установлена в данный момент времени в виде ExBW1<0, ExBW2<0 и ExBW3<0 для узлов ONU 1201-1203.
Поскольку m=0, оставшуюся полосу TBW получают следующим образом: TBW=цикл DBA-ΣFBW'n-BWMTU×m=30000-(3000+1500+300)=30000-4800=25200.
Затем планировщик 1210 DBA вычисляет значение DBWn динамически распределяемой полосы для динамического распределения оставшейся полосы TBW узлам ONU 101-103 в соответствии с отношением максимальных предельных значений MaxBWn полосы (шаг S104).
Короче говоря, DBWn=TBW×MaxBWn/ΣMaxBWn.
Для узла ONU1 1201 DBW1 получают следующим образом DBW1=25200×30000/(30000+15000+3000)=15750.
Также DBW2 узла ONU2 получают как: DBW2=25200×15000/(30000+15000+3000)=7875.
Для узла ONU3 1203 DBW3 получают следующим образом DBW3=25200×3000/(30000+15000+3000)=1575.
Далее планировщик 1210 DBA складывает скорректированное фиксированное значение FBW'n полосы, полученное на шаге S102, со значением DBWn динамически распределяемой полосы, полученным на шаге S104, (FBW'n+DBWn) для вычисления временно распределяемой полосы TABWn (шаг S105).
То есть TABWn вычисляется следующим образом:
TABWn=FBW'n+DBWn.
Для узла ONU1 1201 TABW1 получают как: TABW1=FBW'1+DBW1=3000+15750=18750.
Аналогичным образом для узла ONU2 1202 TABW2 вычисляют как: TABW2=FBW'2+DBW2=1500+7875=9375.
Для узла ONU3 1203 TABW3 получают как: TABW3=FBW'3+DBW3=300+1575=1875.
Далее временно распределяемую полосу TABWn, полученную на шаге S105, сравнивают с максимальным предельным значением MaxBWn (шаг S106).
Если TABWn≥MaxBWn, то, поскольку временно распределяемая полоса TABWn больше или равна максимальному предельному значению MaxBWn полосы, то TABWn обновляется на MaxBWn.
Если TABWn<MaxBWn, то поскольку полоса TABWn меньше MaxBWn, TABWn не обновляется.
Таким образом, TABW1 для узла ONU1 1201 равна 18750, то есть меньше 30000. Поскольку TABW1 меньше MaxBW1 и не обновляется, TABW1=18750.
Для узла ONU2 1202 TABW2 равна 9375, что меньше 15000. TABW2 меньше MaxBW2 и не обновляется, и TABW2 устанавливают равной 18750.
TABW3 для узла ONU3 1203 составляет 1875<30000. TABW3 меньше MaxBW3, и поэтому не обновляется, и получается, что TABW3=1875.
Затем планировщик 1210 DBA выполняет проверку, чтобы отличить узел ONU, для которого распределение полосы завершено, от узла ONU, для которого распределение полосы не завершено (шаг S107).
Если на шаге S106 временно распределяемая полоса TABWn обновляется на максимальное предельное значение MaxBWn полосы, то планировщик 1210 DBA сравнивает TABWn со значением RBWn запроса длины очереди.
Если TABWn≤RBWn, то значение ABWn окончательно распределяемой полосы для узла ONUn устанавливают равным TABWn, завершая тем самым распределение полосы.
Если значение TABWn на шаге S106 не распределено, то планировщик 1210 DBA вычисляет TABWn и длину Φn оставшейся очереди.
Если RBWn≥TABWn, то Φn получают как: Φn=RBWn-TABWn.
Если RBWn<TABWn, то Φn=0. Для узла ONUn, для которого Φn=0, значение ABWn окончательно распределяемой полосы устанавливают равным RBWn, завершая тем самым распределение полосы.
Таким образом, поскольку на шаге S106 временно распределяемая полоса TABW не обновляется ни для какого узла ONU, планировщик 1210 DBA вычисляет TABWn и Φn.
Для узла ONU1 1201 длину Φ1 оставшейся очереди получают как: Φ1=RBW1-TABW1=50000-18750=31250>0. Таким образом, предполагается, что распределение не завершено.
Значение Φ2 для узла ONU2 1202 получают как: Φ2=RBW2-TABW2=50000-9375=40625>0. Аналогичным образом считается, что данное распределение не завершено.
Φ3 для ONU3 1203 вычисляют как: Φ3=RBW3-TABW3=50000-1875=48125>0. Поэтому считается, что данное распределение не завершено.
Затем планировщик 1210 DBA обновляет оставшуюся полосу TBW (шаг S108).
Для получения TBW планировщик 1210 DBA выполняет вычисление: TBW=цикл DBA-ΣABWa-TABWb (a указывает на узел ONU, для которого распределение завершено, а b указывает на узел ONU, для которого распределение не завершено).
Таким образом, TBW получают как: TBW=30000-0-(18750+9375+1875)=30000-30000=0.
Вслед за этим выполняется проверка для определения, требуется ли цикл шагов для распределения полосы (шаг S109).
При определении необходимости выполнения указанного цикла шагов, если оставшаяся полоса TBW, полученная на шаге 108, больше нуля и существует по меньшей мере один узел ONU, для которого распределение полосы не завершено, то определяется, что оставшаяся полоса TBW существует («да» на шаге S109). Затем процесс переходит к шагу S104 для получения значения DBWn динамически распределяемой полосы.
В других случаях, то есть если TBW равно нулю или распределение полос завершено для всех узлов ONU, то определяется, что оставшейся полосы TBW не существует («нет» на шаге S109), и процесс переходит к шагу S110.
Если TBW=0, то планировщик 1210 DBA считает, что ABWn=TABWn для узла ONU, для которого распределение полосы не завершено. Процесс переходит к шагу S110.
Поскольку TBW=0, считается, что оставшаяся полоса TBW отсутствует («нет» на шаге S109). Для узла ONU1 1201 значение ABW1 окончательно распределяемой полосы получают как ABW1=TABW1=18750.
Значение ABW2 для узла ONU2 1202 вычисляют как ABW2= TABW2=9375.
Аналогичным образом для узла ONU3 1203 значение ABW3 получают как ABW3=TABW3=1875.
Затем значение ABWn окончательно распределяемой полосы нормализуют до целого кратного полосы BWMTU трафика c MTU, корректируя тем самым значение ABWn окончательно распределяемой полосы (шаг S110). В этой операции остаток добавляется к ExBWn.
Таким образом, для ONU1 1201 ABW1 вычисляют как ABW1=18750-(18750 mod 810)=18630. Полосу ExBW1 переноса получают как ExBW1=18750 mod 810=120.
В случае для ONU2 1202 ABW2 вычисляют как ABW2=9375-(9375 mod 810)=8190, а полосу ExBW2 получают как ExBW2=9375 mod 810=465.
Также для ONU3 1203 ABW3 получают как ABW3=1875-(1875 mod 810)=1620, а полосу ExBW3 получают как ExBW3=1875 mod 810=255.
Затем оставшуюся полосу TBW обновляют следующим образом.
Сначала к TBW добавляется BWMTU×m, которое было вычтено на шаге S103.
А именно, TBW=TBW+BWMTU×m.
Если TBW>BWMTU, то для узлов ONU, для которых распределение на шаге S107 не завершено и для которых полоса ExBWn переноса больше нуля, к значению ABWn окончательно распределяемой полосы добавляется полоса BWMTU трафика c MTU (ABWn+BWMTU). В то же самое время полоса BWMTU трафика c MTU вычитается из полосы ExBWn переноса (ExBWn-BWMTU).
Другими словами, планировщик 1210 DBA вычисляет ABWn и ExBWn: ABWn=ABWn+BWMTU; и ExBWn=ExBWn-BWMTU.
Поскольку n≥m каждый раз, когда к значению ABWn окончательно распределяемой полосы добавляется полоса BWMTU трафика c MTU (ABWn+BWMTU), оставшаяся полоса обновляется следующим образом: TBW=TBW-BWMTU. Операция проводится многократно, пока TBW не станет меньше BWMTU или пока существует какой-либо узел ONUn, для которого выполняется неравенство ExBWn>0.
Поскольку TBW=0 на шаге S108 и m=0 на шаге S103, TBW получают как TBW=0+810×0=0.
Поскольку TBW равно нулю и меньше BWMTU, процесс переходит к шагу S112, хотя ExBW1, ExBW2 и ExBW3 больше нуля.
Далее планировщик 1210 DBA сравнивает значение ABWn окончательно распределяемой полосы, значение RBWn запроса длины очереди и полосу BWMTU трафика c MTU друг с другом для обновления FBWn и полосы ExWBn переноса.
На фиг.12 и 13 показана обработка на шаге S112.
Для узла ONU1 1201 ABW1 равна 18630, RBW1 равна 50000, а BWMTU равна 810.
Следовательно, выполняются следующие неравенства: RBW1 (50000)≥ABW1 (18630)≥BWMTU (810). Поэтому случай для ONU1 1201 соответствует условию 2, показанному на фиг.12.
Аналогичным образом для узла ONU2 1202 ABW2 равна 8910, RBW2 равна 50000, а BWMTU равна 810.
Следовательно, выполняются следующие неравенства: RBW2 (50000)≥ABW2 (8910)≥BWMTU (810). Поэтому случай для ONU2 1202 соответствует условию 2, показанному на фиг.12.
Для узла ONU3 1203 ABW3 равна 1620, RBW3 равна 50000, а BWMTU равна 810.
Следовательно, выполняются следующие неравенства: RBW3 (50000)≥ABW3 (1620)≥BWMTU (810). Случай для ONU3 1203 соответствует условию 2, показанному на фиг.12.
Поскольку узлы с ONU1 1201 по ONU3 1203 соответствуют условию 2 по фиг.12, значение ABWn не обновляется. Таким образом, значение окончательно распределяемой полосы определяется как ABW1=18630 для узла ONU1 1201, ABW2=8910 для узла ONU2 1202 и ABW3=1620 для узла ONU3 1203.
В алгоритме 1211 DBA по данному варианту оставшаяся полоса TBW распределяется в соответствии с отношением максимальных предельных значений MaxBWn (параметр SLA). Это позволяет обеспечить беспристрастный подход к уровням сервиса даже в состоянии перегруженности.
Например, в данном варианте отношение для MaxBWn представлено как MaxBW1:MaxBW2:MaxBW3=30000:15000:3000=10:5:1.
Отношение значений DBWn динамически распределяемой полосы, вычисленное с использованием TBW, выражается как (ABW1-MinBW1+ExBW1):(ABW2-MinBW2+ExBW2):(ABW3-MinBW3+ExBW3)=(18630-3000+120):(8910-1500+465):(1620-300+255)=15750:7875:1575=10:5:1.
Следовательно, поскольку значение DBWn динамически распределяемой полосы распределяется в соответствии с отношением максимальных предельных значений MaxBWn полосы, можно гарантировать беспристрастный подход к сервисам.
Согласно алгоритму 1211 DBA по данному варианту предложена концепция полосы ExBWn переноса, и на шаге S112 выполняется проверка, чтобы определить, достигло ли значение ABWn окончательно распределяемой полосы полосы BWMTU трафика c MTU, необходимой для трафика кадра, имеющего длину MTU. Следовательно, можно избежать недостатка, состоящего в том, что в буфере данных узла ONU (1201 - 1203) остается длинный кадр.
В алгоритме 1211 DBA согласно данному варианту, когда система находится в состоянии систематизации (когда ABWn меньше значения RBWn запроса длины очереди), ABWn корректируется до целого кратного полосы BWMTU трафика c MTU. Таким образом, появляется возможность повышения эффективности использования линии для коротких и длинных кадров, часто используемых в реальном трафике.
На фиг.14 показана взаимосвязь между эффективностью использования линии и длиной кадра, когда принят алгоритм 1211 DBA согласно данному варианту изобретения. На фиг.15 показан пример распределения значений длины кадра в реальном трафике. Как можно видеть из графика на фиг.15, в реальном трафике часто используются короткие и длинные кадры. Эффективность использования линии для коротких и длинных кадров получается высокой.
Вышеописанные варианты являются походящими для реализации согласно настоящему изобретению. Однако настоящее изобретение не ограничивается этими вариантами, и их можно модифицировать различными способами, не выходя за рамки объема и существа настоящего изобретения.
Например, последовательность операций обработки на фиг.10, выполняемой согласно алгоритму 1211 DBA, показанному на фиг.10, может также выполняться компьютерной программой. Такая компьютерная программа может быть записана на оптическом носителе записи, магнитном носителе записи, оптомагнитном носителе записи или полупроводниковом носителе записи, так чтобы эта компьютерная программа с него считывалась для загрузки в информационный процессор для ее исполнения. Также компьютерную программу можно получить от внешнего устройства, подсоединенного к информационному процессору, через предварительно определенную сеть, так чтобы информационный процессор выполнял последовательность операций согласно алгоритму 1211 DBA.
Устройство управления распределением полос, способ управления распределением полос и программный продукт управления распределением полос согласно вариантам настоящего изобретения применимы к системе GE-PON.
Хотя настоящее изобретение было описано со ссылками на конкретные иллюстративные варианты его осуществления, оно не сводится к этим вариантам, а ограничивается только прилагаемой формулой изобретения. Должно быть ясно, что специалисты в данной области техники могут изменить или модифицировать эти варианты, не выходя за рамки объема и существа настоящего изобретения.
Изобретение относится к технике связи. Технический результат состоит в управлении полосами, гарантирующем беспристрастный подход к уровням сервиса узлов ONU. Для этого устройство управления распределением полос для управления полосами, подлежащими распределению по множеству узлов оптической сети (ONU), включает в себя узел распределения полос, который устанавливает распределяемую полосу, подлежащую распределению каждому узлу ONU, в соответствии с отношением максимальных предельных значений полосы для ONU. 3 н. и 21 з.п. ф-лы, 15 ил.
секцию получения значения запроса длины очереди для получения значения запроса длины очереди для узла ONU;
секцию вычисления накопленного фиксированного значения полосы для вычисления накопленного фиксированного значения полосы в соответствии со значением запроса длины очереди; и секцию вычисления оставшейся полосы для вычисления оставшейся полосы, распределяемой в устройстве управления распределением полос, в соответствии с накопленным фиксированным значением полосы, где секция распределения полос устанавливает распределяемую полосу для оставшейся полосы, распределенной в соответствии с отношением максимальных предельных значений полосы.
шаг вычисления накопленного фиксированного значения полосы для вычисления накопленного фиксированного значения полосы, состоящий в вычислении накопленного фиксированного значения полосы в соответствии со значением запроса длины очереди;
и шаг вычисления оставшейся полосы, состоящий в вычислении оставшейся полосы, распределяемой в устройстве управления распределением полос, в соответствии с накопленным фиксированным значением полосы, где
шаг распределения полос содержит установку распределяемой полосы для оставшейся полосы, распределенной узлам ONU, в соответствии с отношением максимальных предельных значений полосы.
шаг определения, состоящий в определении того, меньше ли распределяемая полоса, распределенная на шаге распределения полос, значения запроса длины очереди, и достигла ли распределяемая полоса полосы трафика с MTU, необходимой трафику для передачи кадра, имеющего длину MTU; и
шаг изменения распределяемой полосы, состоящий в изменении распределяемой полосы до фиксированного значения полосы для ONU, если на шаге определения определяется, что распределяемая полоса меньше значения запроса длины очереди и что она достигла полосы трафика с MTU.
обработку, состоящую в получении значения запроса длины очереди, для получения значения запроса длины очереди для ONU; обработку, состоящую в вычислении накопленного фиксированного значения полосы, для вычисления накопленного фиксированного значения полосы в соответствии со значением запроса длины очереди; и
обработку, состоящую в вычислении оставшейся полосы, для вычисления оставшейся полосы, распределяемой в устройстве управления распределением полос, в соответствии с накопленным фиксированным значением полосы, где
обработка, состоящая в распределении полос, устанавливает распределяемую полосу для оставшейся полосы, вычисленной посредством обработки, состоящей в вычислении оставшейся полосы, в соответствии с отношением максимальных предельных значений полосы.
обработку определения для определения того, меньше ли распределяемая полоса, распределяемая узлом распределения полос, значения запроса длины очереди, и достигла ли распределяемая полоса полосы трафика с максимальным передаваемым узлом данных (MTU), необходимой трафику для передачи кадра, имеющего длину MTU; и
обработку, состоящую в изменении распределяемой полосы, для изменения распределяемой полосы на фиксированное значение полосы для ONU, если при обработке определения определяется, что распределяемая полоса меньше значения запроса длины очереди и что она достигла полосы трафика с MTU.
RU 95121152 А, 20.12.1997 | |||
RU 98104069 А, 10.02.2000 | |||
US 08361355 А, 16.08.1996 | |||
WO 9707606 А, 27.02.1997. |
Авторы
Даты
2008-10-20—Публикация
2006-11-01—Подача