Способ и устройство для управления авторизацией виртуальной очереди вывода, а также компьютерный носитель информации
METHOD AND DEVICE TO CONTROL VIRTUAL OUTPUT QUEUE AUTHORIZATION  AND ALSO COMPUTER STORAGE MEDIA

Область техники
Настоящее изобретение относится к технологиям связи, а именно к способу и устройству для управления авторизацией виртуальной очереди вывода, а также к соответствующему компьютерному информационному носителю.
Предпосылки создания изобретения
Вместе с быстрым ростом количества пользователей и различных типов пользовательских сервисов непрерывно растет также объем информации, циркулирующей в сетях пакетной передачи данных, и соответственно непрерывно повышаются требования к комплексной производительности оборудования. В случае перегрузки сети, чтобы сеть оставалась управляемой, различные потоки данных необходимо обрабатывать различно, согласно их требованиям к качеству обслуживания (Quality of Service, QoS). Основной принцип такой политики дифференцированного обслуживания (differentiated services, Diffserv) - реализация разделения потоков пользовательских данных на классы согласно их требованиям к качеству обслуживания (QoS): когда сеть находится в состоянии бездействия, поток данных любого из пользователей может иметь свободный доступ к сети; но когда сеть имеет высокую нагрузку, потоки данных более высокого класса обслуживания при запросе и выделении ресурсов будут иметь более высокий приоритет по сравнению с потоками данных нижних классов, то есть реализуется приоритетное планирование, позволяющее обеспечить более высокое QoS.
В высокоскоростных сетях пакетной передачи данных постепенно стала применяться технология иерархического планирования на основе запросов, основными преимуществами которой является гибкость планирования и хорошая расширяемость пропускной способности сети. Организации, эксплуатирующие сети, для более эффективного обеспечения QoS согласно требованиям различных сервисов, таких как голосовые сервисы, видеосервисы и сервисы данных, могут применять уровни планирования, алгоритмы планирования, приоритеты, весовые коэффициенты или другие аналогичные элементы.
При использовании схемы иерархического планирования на основе запросов принятые сообщения назначают в соответствующие очереди VOQ согласно классам обслуживания, и затем авторизации передают в очереди VOQ, уровень за уровнем, из физического порта согласно заранее заданному соотношению уровней планирования, которое задают согласно QoS, после чего сообщения в очереди VOQ выбирают и планируют на вывод из очереди VOQ согласно количеству авторизаций, принятых данной очередью. Таким образом, многоуровневый алгоритм распределения авторизаций и решения на его основе являются ключевыми элементами для обеспечения высокого качества обслуживания (QoS) и для определения таких важных параметров каждого сервиса, как задержки, джиттер, пропускная способность и допустимость. Для обеспечения требуемого QoS, как правило, применяют планировщик со строгими приоритетами (Strict Priority, SP), позволяющий реализовать распределение по приоритетам для всех сервисов, а для выделения полос пропускания в соответствии с заданными весовыми коэффициентами применяют планировщики с взвешенной справедливой очередью (Weighted Fair Queuing (WFQ), взвешенной циклической очередью (Weighted Round Robin, WRR) или справедливой очередью (Fair Queuing, FQ).
Однако на существующем уровне техники, в методе распределения авторизаций на базе иерархического планирования на основе запросов, планировщики на каждом уровне функционируют независимо, в соответствии с собственными алгоритмами, и при этом, как правило, передачу класса обслуживания между уровнями планирования не реализуют. Фиг. 1 представляет собой блок-схему иерархического планирования на основе запросов, которая соответствует существующему уровню техники, при этом в соответствии с иллюстрацией фиг. 1 планировщик (In+1)-го уровня расположен на один уровень выше над планировщиком In-го уровня. В процедуре распределения авторизаций планировщик In-го уровня передает авторизацию в планировщик (In+1)-го уровня согласно собственному алгоритму планирования, после получения авторизации от соответствующего планировщика более высокого уровня. Если планировщик (In+1)-го уровня является планировщиком со строгими приоритетами, то не гарантировано, что разделение на классы обслуживания в планировщике со строгими приоритетами, будет отражено и в планировщике In-го уровня.
Из описанного выше следует, что на существующем уровне техники имеются, в основном, следующие недостатки:
1) метод распределения авторизаций, в котором планировщики на каждом уровне выполняют планирование независимо, является простым в реализации, а поскольку потоки сервисов с различными приоритетами и планировщики верхнего используют преобразование «множество в один» с планировщиками верхнего уровня, и передача приоритетов сервисов не поддерживается, планировщики верхнего уровня способны только принудительно назначать одинаковый приоритет для всех потоков сервисов планировщиков нижнего уровня, только с различными приоритетами; и
2) каждый планировщик является независимым, и поэтому шейпинг трафика с агрегацией сервисов одного пользователя не может быть реализован, то есть технология QoS Diffserv может быть реализована лишь в ограниченном объеме, если реализовано тонкое управление трафиком множества сервисов на основе их принадлежности различным пользователям.
Сущность изобретения
В вариантах осуществления настоящего изобретения предложены способ и устройство для управления авторизацией очереди VOQ, а также соответствующий компьютерный носитель информации, которые предназначены для преодоления недостатка существующего уровня техники, заключающегося в невозможности передачи приоритетов сервисов и в невозможности реализации шейпинга трафика с агрегацией сервисов одного пользователя.
В одном из вариантов осуществления настоящего изобретения предложен способ управления авторизацией очереди VOQ, который может включать следующее:
согласно алгоритму планирования в планировщике блока планирования, непосредственно связанного с физическим портом, и согласно весу и приоритету блока планирования на следующем уровне планирования блока планирования, определяют индекс блока планирования на следующем уровне планирования;
получают информацию о списке связей планирования для каждого планировщика в блоке планирования на следующем уровне планирования согласно индексу блока планирования на следующем уровне планирования, и определяют индекс авторизуемого планировщика, соответствующего классу обслуживания, который совпадает с текущей авторизацией в блоке планирования на следующем уровне планирования, согласно информации о списке связей планирования до тех пор, пока не будет определен индекс авторизуемой очереди VOQ, соответствующей классу облуживания, который совпадает с текущей авторизацией; и
текущую авторизацию передают из физического порта в очередь VOQ, соответствующую индексу авторизуемой очереди VOQ, уровень за уровнем, согласно индексу авторизуемого планировщика и индексу авторизуемой очереди VOQ.
Предпочтительно, способ может дополнительно включать:
перед передачей новой авторизации, на каждом уровне планирования, обновление индекса блока планирования на следующем уровне планирования относительно текущего уровня планирования согласно алгоритму планирования в планировщике, входящем в состав блока планирования на следующем уровне планирования, и согласно весу и приоритету блока планирования на следующем уровне планирования относительно текущего уровня планирования.
Предпочтительно, способ может дополнительно включать:
определение индекса блока планирования на следующем уровне планирования относительно текущего уровня планирования согласно информации о состоянии шейпинга для планировщика, входящего в состав блока планирования, непосредственно связанного с физическим портом; и
соответственно, соответствующую информацию о состоянии шейпинга также получают согласно индексу блока планирования на следующем уровне планирования относительно текущего уровня планирования и определяют индекс авторизуемого планировщика, соответствующего классу обслуживания, который совпадает с текущей авторизацией в блоке планирования на следующем уровне планирования, согласно полученной информации о состоянии шейпинга, до тех пор, пока не будет определен индекс авторизуемой очереди VOQ, соответствующей классу облуживания, который совпадает с текущей авторизацией.
Предпочтительно, индексами блоков планирования могут быть последовательные индексы, при этом приоритеты авторизации блоков планирования на соответствующих уровнях планирования могут определяться согласно заранее сконфигурированному отношению установки, а индексы планировщиков могут включать информацию о приоритете авторизации этих планировщиков в блоках планирования; и
в информации о списке связей планирования, и в информации о состоянии шейпинга в планировщиках индексы планировщиков блоков планирования, к которым эти планировщики принадлежат, могут быть индексами хранения.
Предпочтительно, перед шагом, на котором определяют индекс авторизуемого планировщика, соответствующего такому же классу обслуживания, способ может дополнительно включать следующее: определяют, находится ли передача приоритета на текущем уровне планирования в состоянии «активировано»;
соответственно, когда определено, что передача приоритета на текущем уровне планирования находится в состоянии «неактивировано», способ может дополнительно включать следующее:
получают информацию о списке связей планирования для планировщика в блоке планирования на следующем уровне планирования согласно индексу блока планирования на следующем уровне планирования и определяют индекс авторизуемого планировщика в блоке планирования на следующем уровне планирования согласно полученной информации о списке связей планирования до тех пор, пока не будет определен индекс авторизуемой очереди VOQ; и
текущую авторизацию передают из физического порта в очередь VOQ, соответствующую индексу авторизуемой очереди VOQ, уровень за уровнем, согласно индексу авторизуемого планировщика и индексу авторизуемой очереди VOQ.
Предпочтительно, перед шагом, на котором определяют индекс блока планирования на следующем уровне планирования, способ может дополнительно включать следующее:
информацию о хранении пакета сохраняют в соответствующую очередь VOQ согласно классу обслуживания и порту назначения сервиса, соответствующего этому пакету; и
соответственно способ может дополнительно включать следующее:
после передачи авторизации в соответствующую очередь VOQ, извлечение первой информации о хранении из очереди VOQ, получившей авторизацию, получение соответствующего пакета согласно извлеченной информации о хранении и вывод полученного пакета в порт назначения, соответствующий очереди VOQ, получившей авторизацию.
В настоящем изобретении предложено также устройство для управления авторизацией очереди VOQ, которое может включать первый блок определения, второй блок определения и блок передачи авторизации, при этом
первый блок определения может быть сконфигурирован для определения, согласно алгоритму планирования в планировщике блока планирования, непосредственно связанного с физическим портом, и согласно весу и приоритету блока планирования на следующем уровне планирования блока планирования, индекса блока планирования на следующем уровне планирования;
второй блок определения может быть сконфигурирован для получения информации о списке связей планирования для каждого планировщика в блоке планирования на следующем уровне планирования согласно индексу блока планирования на следующем уровне планирования, и для определения индекса авторизуемого планировщика, соответствующего классу обслуживания, который совпадает с текущей авторизацией в блоке планирования на следующем уровне планирования, согласно информации о списке связей планирования до тех пор, пока не будет определен индекс авторизуемой очереди VOQ, соответствующей классу облуживания, который совпадает с текущей авторизацией; и
блок передачи авторизации может быть сконфигурирован для передачи текущей авторизации из физического порта в очередь VOQ, соответствующую индексу авторизуемой очереди VOQ, уровень за уровнем, согласно индексу авторизуемого планировщика и индексу авторизуемой очереди VOQ.
Предпочтительно, устройство может дополнительно включать:
блок обновления, сконфигурированный, перед передачей новой авторизации, на каждом уровне планирования, для обновления индекса блока планирования на следующем уровне планирования относительно текущего уровня планирования согласно алгоритму планирования в планировщике, входящем в состав блока планирования на следующем уровне планирования, и согласно весу и приоритету блока планирования на следующем уровне планирования относительно текущего уровня планирования.
Предпочтительно, первый блок определения может быть дополнительно сконфигурирован для определения индекса блока планирования на следующем уровне планирования относительно текущего уровня планирования согласно информации о состоянии шейпинга для планировщика, входящего в состав блока планирования, непосредственно связанного с физическим портом; и
второй блок определения может быть дополнительно сконфигурирован для получения соответствующей информации о состоянии шейпинга согласно индексу блока планирования на следующем уровне планирования относительно текущего уровня планирования, и для определения индекса авторизуемого планировщика, соответствующего классу обслуживания, который совпадает с текущей авторизацией в блоке планирования на следующем уровне планирования, согласно полученной информации о состоянии шейпинга до тех пор, пока не будет определен индекс авторизуемой очереди VOQ, соответствующей классу облуживания, который совпадает с текущей авторизацией.
Предпочтительно, индексами блоков планирования могут быть последовательные индексы, при этом приоритеты авторизации блоков планирования на соответствующих уровнях планирования могут определяться согласно заранее сконфигурированному отношению установки, а индексы планировщиков могут включать информацию о приоритете авторизации этих планировщиков в блоках планирования; и
в информации о списке связей планирования, и в информации о состоянии шейпинга в планировщиках индексы планировщиков блоков планирования, к которым эти планировщики принадлежат, могут интерпретироваться как индексы хранения.
Предпочтительно, устройство может дополнительно включать третий блок определения, четвертый блок определения и пятый блок определения, при этом
третий блок определения может быть сконфигурирован, когда определено, что передача приоритета на текущем уровне планирования находится в состоянии «активировано», для приведения в действие первого блока определения, а когда определено, что передача приоритета на текущем уровне планирования находится в состоянии «неактивировано», для приведения в действие четвертого блока определения;
четвертый блок определения может быть сконфигурирован для получения информации о списке связей планирования для планировщика в блоке планирования на следующем уровне планирования согласно индексу блока планирования на следующем уровне планирования, и для определения индекса авторизуемого планировщика в блоке планирования на следующем уровне планирования согласно полученной информации о списке связей планирования до тех пор, пока не будет определен индекс авторизуемой очереди VOQ; и
пятый блок определения может быть сконфигурирован для передачи текущей авторизации из физического порта в очередь VOQ, соответствующую индексу авторизуемой очереди VOQ, уровень за уровнем, согласно индексу авторизуемого планировщика и индексу авторизуемой очереди VOQ.
Предпочтительно, устройство может дополнительно включать:
блок управления VOQ, сконфигурированный для сохранения информации с описанием ресурса хранения пакета в соответствующую очередь VOQ согласно классу обслуживания и порту назначения сервиса, соответствующего этому пакету, и после передачи авторизации в соответствующую очередь VOQ, для извлечения первой информации о хранении из очереди VOQ, получившей авторизацию, для получения соответствующего пакета согласно извлеченной информации о хранении, и для вывода полученного пакета в порт назначения, соответствующий очереди VOQ, получившей авторизацию.
В одном из вариантов осуществления настоящего изобретения предложен компьютерный носитель информации, на котором могут храниться машиноисполняемые инструкции, при этом машиноисполняемые инструкции могут быть сконфигурированы для исполнения рассмотренного выше способа управления авторизацией очереди VOQ.
В соответствии с техническими решениями, предложенными в вариантах осуществления настоящего изобретения, получают информацию о списке связей планирования для каждого планировщика в блоке планирования на следующем уровне планирования согласно индексу блока планирования на следующем уровне планирования относительно текущего уровня планирования и определяют индекс авторизуемого планировщика, соответствующего классу обслуживания, который совпадает с текущей авторизацией в блоке планирования на следующем уровне планирования, до тех пор, пока не будет определен индекс авторизуемой очереди VOQ, соответствующей классу обслуживания, который совпадает с текущей авторизацией; текущую авторизацию передают из физического порта, уровень за уровнем, в очередь VOQ, соответствующую индексу авторизуемой очереди VOQ согласно индексу авторизуемого планировщика и индексу авторизуемой очереди VOQ, в результате чего реализуют передачу класса обслуживания между уровнями планирования и передачу приоритетов обслуживания;
при этом планировщики в блоках планирования могут соответствовать различным сервисам, различное количество планировщиков может быть выбрано для формирования блоков планирования согласно различным сценариям применения, и может быть реализован шейпинг трафика с агрегацией множества пользовательских сервисов согласно соответствующей информации о состоянии шейпинга.
Краткое описание чертежей
Фиг. 1 представляет собой блок-схему иерархического планирования на основе запросов в соответствии с существующим уровнем техники;
Фиг. 2 представляет собой блок-схему алгоритма реализации способа управления авторизацией очереди VOQ в соответствии с одним из вариантов осуществления настоящего изобретения;
Фиг. 3 представляет собой структурную блок-схему блока планирования в соответствии с одним из вариантов осуществления настоящего изобретения;
Фиг. 4 представляет собой структурную блок-схему устройства для управления авторизацией очереди VOQ в соответствии с одним из вариантов осуществления настоящего изобретения; и
Фиг. 5 представляет собой блок-схему управления авторизацией очереди VOQ в соответствии с одним из вариантов осуществления настоящего изобретения.
Подробное описание изобретения
В вариантах осуществления настоящего изобретения, согласно алгоритму планирования в планировщике блока планирования, непосредственно связанного с физическим портом, и согласно весу и приоритету блока планирования на следующем уровне планирования относительно текущего блока планирования, определяют индекс блока планирования на следующем уровне планирования; получают информацию о списке связей планирования для каждого планировщика в блоке планирования на следующем уровне планирования согласно индексу блока планирования на следующем уровне планирования и определяют индекс авторизуемого планировщика, соответствующего классу обслуживания, который совпадает с текущей авторизацией в блоке планирования на следующем уровне планирования, согласно информации о списке связей планирования до тех пор, пока не будет определен индекс авторизуемой очереди VOQ, соответствующей классу облуживания, который совпадает с текущей авторизацией; и текущую авторизацию передают из физического порта в очередь VOQ, соответствующую индексу авторизуемой очереди VOQ, уровень за уровнем, согласно индексу авторизуемого планировщика и индексу авторизуемой очереди VOQ.
Ниже настоящее изобретение будет рассмотрено более подробно на примере приложенных чертежей и конкретных вариантов его осуществления.
В одном из вариантов осуществления настоящего изобретения предложен способ управления авторизацией очереди VOQ. Фиг. 2 представляет собой блок-схему алгоритма реализации способа управления авторизацией очереди VOQ в соответствии с одним из вариантов осуществления настоящего изобретения. В соответствии с иллюстрацией фиг. 2, способ включает следующие шаги:
Шаг 201: определяют индекс блока планирования на втором уровне планирования согласно алгоритму планирования в планировщике блока планирования, принадлежащего первому уровню планирования, и согласно весу и приоритету блока планирования на втором уровне планирования.
Перед шагом 201 информацию о хранении пакета сохраняют в соответствующую очередь VOQ согласно классу обслуживания и порту назначения сервиса, соответствующего этому пакету; и формируют авторизацию, которую передают в физический порт.
В данном варианте осуществления настоящего изобретения, в качестве предпочтительного метода реализации для формирования авторизаций и передачи их в физический порт, авторизации формируют согласно в соответствии с фиксированными временными интервалами и распределяют, равномерно, во все физические порты с использованием алгоритма WFQ или WRR, согласно требованиям, предъявляемым физическими портами к выделению скоростных ресурсов.
В данном варианте осуществления настоящего изобретения общее количество сформированных авторизаций определяют согласно требованиям к трафику, предъявляемым всеми физическими портами, при этом общее количество авторизаций, передаваемых в каждый физический порт, определяют согласно требованиям, предъявляемым к трафику каждым из физических портов в отдельности.
В данном варианте осуществления настоящего изобретения авторизации распределяют по очередям VOQ в соответствии с различными сервисами, принадлежащими соответствующим пользователям, согласно таким параметрам этих сервисов, как допустимость, задержка, джиттер, пропускная способность и т.п.
Данный вариант осуществления настоящего изобретения в качестве примера описан как имеющий три уровня планирования, но при этом техническое решение, предложенное в данном варианте осуществления изобретения, может применяться и в случае присутствия более трех уровней планирования.
В данном примере уровнем планирования, непосредственно связанным с физическим портом, является первый уровень планирования, блоками планирования, расположенными на первом уровне планирования, являются блоки планирования первого уровня, а планировщики в каждом из блоков планирования первого уровня являются планировщиками первого уровня; при этом уровнем планирования, непосредственно связанным с первым уровнем планирования, является второй уровень планирования и т.д.
В данном варианте осуществления настоящего изобретения приоритеты блоков планирования могут быть определены согласно отношению установки, заранее сконфигурированному пользователем, а индексы планировщиков включают информацию о приоритетах авторизации планировщиков в блоках планирования.
К примеру, индексы планировщиков первого уровня, расположенных на первом уровне планирования, указывают на приоритеты авторизации планировщиков первого уровня в блоках планирования первого уровня; при этом веса и приоритеты блоков планирования первого уровня могут быть сконфигурированы заранее;
в случае, когда блок 0 планирования первого уровня включает восемь планировщиков первого уровня, приоритеты авторизации этих восьми планировщиков определяют согласно весам и приоритетам этих восьми планировщиков, при этом данным восьми планировщикам первого уровня назначают идентификаторы 0-7 (соответствующие различным приоритетам авторизации), и при этом в качестве порядка возрастания приоритета авторизации выбирают порядок возрастания индексов, то есть планировщик 0 первого уровня обладает наивысшим приоритетом авторизации, а планировщик 7 первого уровня обладает наименьшим приоритетом авторизации. В случае, когда индексы блоков планирования первого уровня заданы четырехбитными двоичными числами, три младших бита двоичных чисел, соответствующих интервалу 0-7, могут отражать приоритеты (всего 7 приоритетов авторизации) планировщиков первого уровня в блоках планирования (In+1)-го уровня, а старший бит 0 может отражать индексы блоков планирования первого уровня на соответствующем первом уровне планирования; согласно такой политике, индексом блока 0 планирования первого уровня будет двоичное число 0000-0111 (соответствующее двоичным числам 0-7), причем старший бит индекса, равный 0, определяет индекс блока 0 планирования первого уровня на первом уровне планирования, а три младших бита 000-111 определяют приоритеты авторизации для планировщиков блока 0 планирования первого уровня; и, таким образом, индексы планировщиков содержат в себе информацию о приоритетах авторизации планировщиков в блоках планирования, которым они принадлежат.
В данном примере приоритеты авторизации для блоков планирования второго уровня, относящихся ко второму уровню планирования, определяют с использованием приоритетов авторизации планировщиков, относящихся к первому уровню планирования, с которым второй уровень планирования является связанным (и является подчиненным ему), то есть блоки планирования, непосредственно соединенные с более высокоприоритетными планировщиками (или подключенные к ним), будут иметь более высокие приоритеты. Если m блоков планирования из n блоков планирования на втором уровне планирования непосредственно связаны с планировщиками 0 в блоках планирования первого уровня, то после распределения авторизаций в планировщики 0, планировщики 0 передают эти авторизации в блоки планирования на втором уровне планирования согласно заранее сконфигурированным весам m блоков планирования второго уровня.
В данном примере, когда необходима реализация шейпинга трафика с агрегацией сервисов, индекс блока планирования на втором уровне планирования определяют согласно алгоритму планирования в планировщике второго уровня блока планирования второго уровня на втором уровне планирования, весу и приоритету блока планирования на следующем уровне планирования блока планирования, а также информации о состоянии шейпинга для планировщика второго уровня.
В информации о состоянии шейпинга, в планировщике, индекс планировщика в блоке планирования, которому принадлежит этот планировщик, интерпретируется как индекс хранения, при этом информацию о состоянии шейпинга определяют согласно заранее сконфигурированным требованиям к трафику для каждого из планировщиков и количеству распределяемых авторизаций, и при этом информация о состоянии шейпинга, равная 1, указывает на то, что соответствующий планировщик может получить авторизацию, а информация о состоянии шейпинга, равная 0, указывает на то, что требования к трафику, предъявляемые соответствующим планировщиком, были удовлетворены, и данному планировщику получение авторизации не нужно, при этом, также, состояние шейпинга для каждого планировщика может запрашиваться в ходе процедуры распределения каждой авторизации.
Шаг 202: получают информацию о списке связей планирования для планировщика второго уровня согласно индексу блока планирования второго уровня и определяют индекс авторизуемого планировщика, соответствующего классу обслуживания, который совпадает с текущей авторизации в блоке планирования на втором уровне планирования, согласно информации о списке связей планирования.
В данном примере, в информации о списке связей планирования, соответствующей планировщику, индекс планировщика в блоке планирования, к которому принадлежит этот планировщик, интерпретируется как индекс хранения, и, таким образом, использование индекса блока планирования в качестве основной единицы хранения, извлечения и обновления информации о списке связей планирования позволяет при распределении авторизации избежать затрат дополнительных временных слотов или ресурсов хранения списка связей.
В данном примере, информация о списке связей планирования включает в себя информацию о состоянии («пустой» или «полный») списка связей планировщика, при этом авторизация может быть передана в планировщик, только если его список связей не является пустым, при этом, также, информация о списке связей планирования может быть заранее заданной, и при этом, также, когда на следующем уровне планирования относительно текущего планировщика не имеется блоков планирования или очереди VOQ, список связей этого планировщика будет пустым.
В данном примере, когда необходима реализация трафика с агрегацией сервисов, получают соответствующую информацию о состоянии шейпинга согласно индексу блока планирования на втором уровне планирования и определяют индекс авторизуемого планировщика, соответствующего классу обслуживания, который совпадает с текущей авторизацией на втором уровне планирования, согласно полученной информации о состоянии шейпинга.
Шаг 203: авторизацию передают в планировщик, соответствующий индексу авторизуемого планировщика, который соответствует классу обслуживания, совпадающему с текущей авторизацией на втором уровне планирования.
Шаг 204: определяют индекс блока планирования на третьем уровне планирования согласно весу и приоритету блока планирования на втором уровне планирования.
Принцип определения индекса блока планирования на шаге 204 совпадает с принципом определения индекса блока планирования на шаге 201 и не будет описан повторно.
Шаг 205: получают информацию о списке связей планирования для планировщика третьего уровня согласно индексу блока планирования на третьем уровне планирования и определяют индекс авторизуемой очереди VOQ, соответствующей классу обслуживания, который совпадает с текущей авторизацией, согласно информации о списке связей планирования.
В данном примере при передаче каждой авторизации всякий раз заново определяют индексы блоков планирования на втором уровне планирования и третьем уровне планирования согласно алгоритмам планирования планировщиков в блоках планирования на первом уровне планирования и втором уровне планирования, а также весам и приоритетам блоков планирования на втором уровне планирования и третьем уровне планирования; и
соответственно, блоки планирования на первом уровне планирования и на втором уровне планирования обновляют также списки связей планирования в планировщиках, в результате чего получают индексы авторизуемых планировщиков, которые соответствуют классам обслуживания, совпадающим со следующими авторизациями в блоках планирования на следующем уровне планирования согласно соответствующим алгоритмам планирования до тех пор, пока не будут определены индексы авторизуемых очередей VOQ, которые соответствуют классам обслуживания, совпадающим со следующими авторизациями.
В данном примере один и тот же сервис на каждом уровне планирования будет иметь одинаковый приоритет, и поскольку приоритеты авторизации блоков планирования могут быть определены согласно заранее заданному отношению установки, сервис, соответствующий одному и тому же уровню обслуживания на каждом уровне планирования устанавливают (подчиняют) в планировщик следующего уровня планирования, имеющий такой же класс обслуживания. К примеру, если планировщик 0 первого уровня каждого из блоков планирования первого уровня на первом уровне планирования выполняет передачу авторизации в очередь VOQ, соответствующую сервису телевидения стандартной точности, планировщики, подключенные к планировщикам 0 первого уровня на втором уровне планирования и на третьем уровне планирования отвечают, соответственно, за передачу авторизации очереди VOQ, соответствующей сервису телевидения стандартной точности, и тогда каждый планировщик в блоках планирования на втором уровне планирования и на третьем уровне планирования вступает, для одного и того же сервиса, в отношение взаимно однозначного соответствия с каждым планировщиком в блоках планирования на более высоких уровнях планирования.
Перед шагом 201 необходимо определить, находится ли передача приоритета текущего уровня планирования в состоянии «активировано»;
соответственно, когда определено, что передача приоритета на текущем уровне планирования находится в состоянии «неактивировано», получают информацию о списке связей планирования для планировщика в блоке планирования на втором уровне планирования согласно индексу блока планирования на втором уровне планирования и определяют индекс авторизуемого планировщика в блоке планирования на втором уровне планирования согласно полученной информации о списке связей планирования;
получают информацию о списке связей планирования для каждого планировщика в блоке планирования на втором уровне планирования согласно индексу блока планирования на втором уровне планирования и определяют индекс авторизуемого планировщика в блоке планирования на втором уровне планирования согласно полученной информации о списке связей планирования, при этом авторизуемый планировщик и текущая авторизация могут соответствовать различным сервисам;
авторизацию передают в планировщик, соответствующий индексу авторизуемого планировщика, соответствующего классу обслуживания, который совпадает с текущей авторизацией на втором уровне планирования;
индекс блока планирования на третьем уровне планирования определяют согласно алгоритму планирования в планировщике на втором уровне планирования, а также весу и приоритету блока планирования на третьем уровне планирования; и
получают информацию о списке связей планирования для планировщика в блоке планирования на третьем уровне планирования согласно индексу блока планирования на третьем уровне планирования и определяют индекс авторизуемой очереди VOQ в блоке планирования на третьем уровне планирования.
Шаг 206: текущую авторизацию передают из планировщика, получившего авторизацию на втором уровне планирования, в очередь VOQ, соответствующую индексу авторизуемой очереди VOQ, согласно индексу авторизуемой очереди VOQ.
В данном примере приоритеты авторизации для блоков планирования на каждом из уровней планирования определяют с использованием приоритетов авторизации планировщиков, относящихся к более высоким уровням планирования, с которыми эти уровни планирования являются связанными непосредственно (являются подчиненными), то есть блоки планирования, непосредственно соединенные с одним планировщиком, будут иметь одинаковый приоритет авторизации. Соответственно, приоритет авторизации очереди VOQ может быть отслежен в обратном направлении до соответствующего планировщика на первом уровне планирования (самый высокий уровень планирования), при этом приоритет авторизации планировщика в блоке планирования, которому этот планировщик принадлежит, представляет собой приоритет авторизации, соответствующий данной очереди VOQ, а количество планировщиков с различными приоритетами на первом уровне планирования определяют согласно количеству уровней обслуживания сервисов, то есть приоритеты авторизации распределяют по уровням обслуживания, начиная с первого уровня планирования, при этом различные уровни обслуживания соответствуют различным приоритетам авторизации.
Очереди VOQ ассоциированы с различными классами обслуживания пользователей, при этом из очередей VOQ, получивших авторизацию, извлекают первую информацию о хранении, и затем получают соответствующие пакеты согласно извлеченной информации о хранения, после чего полученные пакеты выводят в порты назначения, соответствующие очередям VOQ, получившим авторизации.
Количество авторизаций, полученных очередью VOQ, определяет количество байтов, которые будут запланированы для вывода и выведены в пакете из этой очереди VOQ, т.е. ее пропускную способность; при этом интервал получения авторизации очередью VOQ определяет задержку и джиттер планирования и вывода пакета из очереди VOQ; и при этом приоритет очереди VOQ определяет класс обслуживания пользовательского сервиса, соответствующего этой очереди VOQ, в случае перегрузки сети.
В соответствии с техническим решением, предложенным в данном варианте осуществления настоящего изобретения, получают информацию о списке связей планирования для каждого планировщика в блоке планирования на следующем уровне планирования согласно индексу блока планирования на следующем уровне планирования относительно текущего уровня планирования и определяют индекс авторизуемого планировщика, соответствующего классу обслуживания, который совпадает с текущей авторизацией в блоке планирования на следующем уровне планирования, до тех пор, пока не будет определен индекс авторизуемой очереди VOQ, соответствующей классу обслуживания, который совпадает с текущей авторизацией; текущую авторизацию передают из физического порта, уровень за уровнем, в очередь VOQ, соответствующую индексу авторизуемой очереди VOQ согласно индексу авторизуемого планировщика и индексу авторизуемой очереди VOQ, в результате чего реализуют передачу класса обслуживания между уровнями планирования и передачу приоритетов обслуживания;
при этом планировщики в блоке планирования могут соответствовать различным сервисам, различное количество планировщиков может быть выбрано для формирования блоков планирования согласно различным сценариям применения, и может быть реализован шейпинг трафика с агрегацией множества пользовательских сервисов согласно соответствующей информации о состоянии шейпинга.
Индексами блоков планирования являются последовательные индексы, при этом приоритеты авторизации блоков планирования на соответствующих уровнях планирования определяют согласно заранее сконфигурированному отношению установки, конфигурация которого может зависеть от различных требований, а индексы планировщиков включают информацию о приоритете авторизации этих планировщиков в блоках планирования; и в информации о списке связей планирования, и в информации о состоянии шейпинга в планировщиках индексы планировщиков блоков планирования, к которым эти планировщики принадлежат, являются индексами хранения, то есть тонкое управление трафиком множества сервисов на основе их принадлежности различным пользователям может быть реализовано без дополнительных затрат аппаратных ресурсов.
Ниже будет более подробно описан блок планирования в рассмотренном выше варианте осуществления настоящего изобретения. Фиг. 5 представляет собой структурную схему блока планирования в соответствии с одним из вариантов осуществления настоящего изобретения. В соответствии с иллюстрацией фиг. 3, блок планирования состоит из группы планировщиков, имеющих последовательные индексы, при этом индексы планировщиков ассоциированы с приоритетами этих планировщиков в блоке планирования, и при этом алгоритм, применяемый в каждом из планировщиков, может быть сконфигурирован независимо, согласно требованиям конкретных практических применений, например, это может быть планировщик со строгими приоритетами (SP), WFQ-планировщик, WRR-планировщик или планировщик со справедливой очередью (FQ).
Блок планирования, показанный на фиг. 3, состоит из восьми планировщиков, при этом три младших бита (представляющие, соответственно, десятичные числа 1, 2, 3, 4, 5, 6, 7) индексов планировщиков определяют приоритеты этих планировщиков в блоке планирования так, что число 0 указывает на наивысший приоритет, а число 7 указывает на наименьший приоритет, при этом планировщики с последовательными индексами в блоке планирования могут рассматриваться как единый блок планирования (когда определено, что передача приоритетов находится в состоянии «неактивировано»), или могут вступать в отношение соответствия с планировщиками из блока планирования более высокого уровня для того же сервиса, соответственно (когда определено, что передача приоритетов находится в состоянии «активировано»). Когда планировщики образуют отношение соответствия с планировщиками из блока планирования более высокого уровня для того же сервиса, соответственно, может быть реализована передача приоритетов между блоками планирования, при этом количество планировщиков, входящих в состав каждого из блоков планирования, определяют на основе количества сервисов, требующих шейпинга трафика с агрегацией. К примеру, пользовательские сервисы могут быть разделены следующим образом: данные IP-телефонии (Internet Protocol, IP), видеосвязь, телевидение высокой четкости, телевидение по требованию стандартной четкости, онлайн-игры и высокоскоростной доступ к сети. Если приоритет сервиса IP-телефонии пользователя выше, чем сервиса видеосвязи, и оба из этих сервисов требуют шейпинга трафика с агрегацией, то есть, когда сервис IP-телефонии пользователя имеет избыточный трафик, и этот избыточный трафик выделяют для использования сервисом видеосвязи, то в этом случае блок планирования может быть сконфигурирован как состоящий из двух планировщиков, при этом очередь VOQ, которой будет соответствовать сервис IP-телефонии, ассоциируют с планировщиком, имеющим более высокий приоритет в блоке планирования, а очередь VOQ, которой будет соответствовать сервис видеосвязи, ассоциируют с планировщиком, имеющим меньший приоритет в блоке планирования. Аналогично, при необходимости может быть реализован шейпинг трафика с агрегацией сервисов телевидения высокой четкости, телевидения стандартной четкости по требованию и сервисов онлайн-игр, при помощи блока планирования, состоящего из четырех планировщиков, и очередей VOQ, которым эти четыре сервиса поставлены в соответствие (на которые отображены эти четыре сервиса) и которые, соответственно, ассоциированы с планировщиками, имеющими различный приоритет в блоке планирования. Количество сервисов, для которых выполняют шейпинг трафика с агрегацией, в блоке планирования может быть сконфигурировано согласно конкретному сценарию практического применения, благодаря чему может быть реализовано высокоточное управление QoS и экономия ресурсов.
В одном из вариантов осуществления настоящего изобретения дополнительно предложен компьютерный носитель информации, на котором хранят машиноисполняемые инструкции, при этом машиноисполняемые инструкции сконфигурированы для исполнения рассмотренного способа управления авторизацией очереди VOQ, показанного на фиг. 2.
В одном из вариантов осуществления настоящего изобретения дополнительно предложено устройство для управления авторизацией очереди VOQ. Фиг. 5 представляет собой структурную блок-схему устройства для управления авторизацией очереди VOQ в соответствии с одним из вариантов осуществления настоящего изобретения. В соответствии с иллюстрацией фиг. 4, устройство включает первый блок 41 определения, второй блок 42 определения, блок 43 передачи авторизации 43 и блоки 44 планирования, при этом
первый блок 41 определения сконфигурирован для определения, согласно алгоритму планирования в планировщике блока планирования 44, непосредственно связанного с физическим портом, и согласно весу и приоритету блока планирования 44 на следующем уровне планирования относительно текущего блока 44 планирования, индекса блока 44 планирования на следующем уровне планирования;
второй блок 42 определения сконфигурирован для получения информации о списке связей планирования для каждого планировщика в блоке 44 планирования на следующем уровне планирования согласно индексу блока 44 планирования на следующем уровне планирования и для определения индекса авторизуемого планировщика, соответствующего классу обслуживания, который совпадает с текущей авторизацией в блоке 44 планирования на следующем уровне планирования, согласно информации о списке связей планирования до тех пор, пока не будет определен индекс авторизуемой очереди VOQ, соответствующей классу облуживания, который совпадает с текущей авторизацией; и
блок 43 передачи авторизации сконфигурирован для передачи текущей авторизации из физического порта в очередь VOQ, соответствующую индексу авторизуемой очереди VOQ, уровень за уровнем, согласно индексу авторизуемого планировщика и индексу авторизуемой очереди VOQ.
Предпочтительно, устройство дополнительно включает:
блок 45 обновления, сконфигурированный, перед передачей новой авторизации, на каждом уровне планирования, для обновления индекса блока 44 планирования на следующем уровне планирования относительно текущего уровня планирования согласно алгоритму планирования в планировщике, входящем в состав блока 44 планирования на следующем уровне планирования, и согласно весу и приоритету блока 44 планирования на следующем уровне планирования относительно текущего уровня планирования.
Предпочтительно, первый блок 41 определения дополнительно сконфигурирован для определения индекса блока 44 планирования на следующем уровне планирования относительно текущего уровня планирования согласно информации о состоянии шейпинга для планировщика, входящего в состав блока 44 планирования, непосредственно связанного с физическим портом; и
второй блок 42 определения дополнительно сконфигурирован для получения соответствующей информации о состоянии шейпинга согласно индексу блока 44 планирования на следующем уровне планирования относительно текущего уровня планирования и для определения индекса авторизуемого планировщика, соответствующего классу обслуживания, который совпадает с текущей авторизацией в блоке планирования на следующем уровне планирования, согласно полученной информации о состоянии шейпинга до тех пор, пока не будет определен индекс авторизуемой очереди VOQ, соответствующей классу облуживания, который совпадает с текущей авторизацией.
Предпочтительно, индексами блоков 44 планирования могут быть последовательные индексы, при этом индексы блоков 44 планирования включают информацию о приоритетах блоков 44 планирования на соответствующих уровнях планирования и информацию о приоритете авторизации планировщиков, входящих в состав в блоках планирования 44, в блоках планирования 44; и
в информации о списке связей планирования и в информации о состоянии шейпинга в планировщиках индексы планировщиков в блоках 44 планирования, к которым эти планировщики принадлежат, могут интерпретироваться как индексы хранения.
Предпочтительно, устройство дополнительно включает третий блок 46 определения, четвертый блок 47 определения и пятый блок 48 определения, при этом
третий блок 46 определения сконфигурирован, когда определено, что передача приоритета на текущем уровне планирования находится в состоянии «активировано», для приведения в действие первого блока 41 определения, а когда определено, что передача приоритета на текущем уровне планирования находится в состоянии «неактивировано», для приведения в действие четвертого блока 47 определения;
четвертый блок 47 определения сконфигурирован для получения информации о списке связей планирования для планировщика в блоке 44 планирования на следующем уровне планирования согласно индексу блока 44 планирования на следующем уровне планирования, и для определения индекса авторизуемого планировщика в блоке 44 планирования на следующем уровне планирования согласно полученной информации о списке связей планирования до тех пор, пока не будет определен индекс авторизуемой очереди VOQ; и
пятый блок 48 определения сконфигурирован для передачи текущей авторизации из физического порта в очередь VOQ, соответствующую индексу авторизуемой очереди VOQ, уровень за уровнем, согласно индексу авторизуемого планировщика и индексу авторизуемой очереди VOQ.
Предпочтительно, устройство дополнительно включает:
блок 49 управления VOQ, сконфигурированный для сохранения информации с описанием ресурса хранения пакета в соответствующую очередь VOQ согласно классу обслуживания и порту назначения сервиса, соответствующего этому пакету, и после передачи авторизации в соответствующую очередь VOQ, для извлечения первой информации о хранении из очереди VOQ, получившей авторизацию, для получения соответствующего пакета согласно извлеченной информации о хранении, и для вывода полученного пакета в порт назначения, соответствующий очереди VOQ, получившей авторизацию.
На практике каждый из блоков, проиллюстрированных на фиг. 4, может быть реализован в устройстве для управления авторизацией очереди VOQ с помощью центрального процессорного блока (Central Processing Unit, CPU), цифрового сигнального процессора (Digital Signal Processor, DSP) или электрически программируемой вентильной матрицы (Field Programmable Gate Array, FPGA).
Фиг. 5 представляет собой блок-схему управления авторизацией очереди VOQ в соответствии с одним из вариантов осуществления настоящего изобретения. В соответствии с иллюстрацией фиг. 5, структура планирования в данном варианте осуществления настоящего изобретения построена на базе сетевой модели в одном из конкретных сценариев применения, в соответствии с конкретным договором об уровне сервиса, где уровень 1 планирования, уровень 2 планирования и уровень 3 планирования, показанные на иллюстрации, могут соответствовать планированию с управлением авторизацией на уровне порта, уровне сервиса и уровне пользователя соответственно. Пользователь 1, пользователь 2 и пользователь 3 имеют восемь сервисов с различными приоритетами, при этом приоритеты очередей VOQ, соответствующих различным сервисам, ставят в соответствие, или отображают, на соответствующие планировщики в блоке планирования на уровне 2 планирования через соответствующие планировщики в блоках планирования на уровне 3 планирования, и затем ставят в соответствие, или отображают, на соответствующие планировщики в блоке планирования на уровне 1 планирования через соответствующие планировщики в блоке планирования на уровне 2 планирования, при этом
восемь сервисов пользователя 1, имеющие различные приоритеты, в указанном порядке отображают на соответствующие очереди VOQ, а приоритеты этих VOQ отображают на планировщики 0-7 в блоке 21 планирования на уровне 2 планирования через планировщики 0-7 в соответствующем блоке 31 планирования на уровне 3 планирования, и отображают на планировщики 0-7 в блоке 11 планирования на уровне 1 планирования через соответствующие планировщики 0-7 в блоке 21 планирования на уровне 2 планирования; при этом, поскольку восемь сервисов пользователя 1 поставлены в соответствие, или отображены, на восемь планировщиков в том же блоке 31 планирования на уровне 3 планирования, то восемь сервисов пользователя 1 подвергают унифицированному шейпингу трафика с агрегацией;
аналогично, восемь сервисов пользователя 2, имеющие различные приоритеты, ставят в соответствие, или отображают, соответственно, на соответствующие очереди VOQ, а приоритеты этих очередей VOQ отображают на планировщики 0-7 в блоке 21 планирования на уровне 2 планирования через планировщики 0-4 в соответствующем блоках 321 и 322 планирования на уровне 3 планирования, и отображают на планировщики 0-7 в блоке 11 планирования на уровне 1 планирования через соответствующие планировщики 0-7 в блоке 21 планирования на уровне 2 планирования; при этом восемь сервисов пользователя 2 отображают на планировщики 0-4 в блоках 32 и 33 планирования на уровне 2 планирования соответственно, то есть для пользователя 2 выполняют шейпинг трафика с агрегацией сервисов, с элементарной единицей в 4 сервиса; и,
аналогично, восемь сервисов пользователя 2, имеющие различные приоритеты, отображают, соответственно, на соответствующие очереди VOQ, а приоритеты этих очередей VOQ отображают на планировщики 0-7 в блоке 21 планирования на уровне 2 планирования через планировщики 0-4 в соответствующем блоках 331, 332, 333 и 334 планирования на уровне 3 планирования и отображают на планировщики 0-7 в блоке 11 планирования на уровне 1 планирования через соответствующие планировщики 0-7 в блоке 21 планирования на уровне 2 планирования, при восемь сервисов пользователя 2 отображают на планировщики 0-4 в блоках 331, 332, 333 и 334 планирования на уровне 3 планирования соответственно, то есть для пользователя 3 выполняют шейпинг трафика с агрегацией сервисов, с элементарной единицей в 2 сервиса.
В соответствии с иллюстрацией фиг. 2, пользователь 2 на уровне 3 планирования имеет два блока планирования, при этом каждый из этих двух блоков планирования состоит из 4 планировщиков, при этом приоритет блока планирования, подключенного к планировщикам 0-3 на уровне 2 планирования, является более высоким, а приоритет блока планирования, подключенного к планировщикам 4-7, является менее высоким. При распределении авторизаций в уровень 3 планирования из планировщика 0 на уровне 2 планирования, уровень 3 планирования имеет несколько блоков планирования, принадлежащих планировщику 0 на уровне 2 планирования, и, следовательно, авторизации распределяют согласно весу каждого из блоков планирования, а значение веса конфигурируется пользователем. К примеру, в обоих блоках, блоке 0 планирования и блоке 1 планирования, имеются планировщики, подключенные к таким же планировщикам более высокого уровня, при этом вес блока 0 планирования задан равным 2, а вес блока 1 планирования задан равным 3. В этом случае пропорции авторизаций, распределяемых равномерно в блок 0 планирования и блок 1 планирования в процессе авторизации, составят 2:3. То есть приоритеты внутри блоков планирования распределяют в соответствии с их индексами, а приоритеты собственно блоков планирования распределяют согласно отношению установки, при этом приоритет блока планирования, подключенного к планировщикам, имеющим более высокий приоритет на предыдущем уровне, будет высоким, а приоритет блока планирования, подключенного к планировщикам с тем же приоритетом, останется таким же, и при этом авторизации распределяют согласно заданным весам. Соответственно, приоритет переданной авторизации одного и того же планировщика будет одинаковым.
Приоритеты авторизации для блоков планирования на каждом из уровней планирования определяют с использованием соответствующего отношения установки, в результате чего планировщики в блоках планирования, подключенных к одинаковым планировщикам, будут иметь одинаковый приоритет. Приоритеты авторизации очередей VOQ могут быть отслежены в обратном направлении к планировщикам на уровне 1 планирования, уровень за уровнем, согласно отношению конфигурации подключений, при этом приоритеты авторизации планировщиков в блоках планирования, которым эти планировщики принадлежат, являются приоритетами авторизации, соответствующими очередям VOQ, при этом количество планировщиков с различными приоритетами в блоке планирования на уровне 1 планирования определяют, как правило, на основе количества классов обслуживания, то есть авторизации из уровня 1 планирования распределяют согласно классам обслуживания.
В данном варианте осуществления настоящего изобретения установлено, что передача приоритетов на каждом уровне находится в состоянии «активировано», и, соответственно, процедура управления авторизацией очереди VOQ включает следующие шаги:
Шаг 501: авторизацию передают в физический порт согласно требованиям, предъявляемым этим физическим портом к трафику.
Шаг 502: авторизацию передают в планировщики блока планирования на уровне 1 планирования.
Текущую авторизацию передают в планировщик 0 блока 11 планирования на уровне 1 планирования.
Шаг 503: Определяют индекс блока планирования на уровне 2 планирования согласно алгоритмам планирования и информации о состоянии шейпинга для планировщиков уровня 1 планирования, а также весу и приоритету блоков планирования на уровне 2 планирования.
В данном варианте осуществления настоящего изобретения количество блоков планирования на уровне 1 планирования и количество блоков планирования на уровне 2 планирования не ограничено примером, показанным на фиг. 5, то есть на каждом из уровней планирования может присутствовать множество блоков планирования. Также, в данном варианте осуществления настоящего изобретения во всех планировщиках, входящих в состав блоков планирования на всех уровнях планирования, применяют алгоритм со строгими приоритетами (SP), но очевидно, может также применяться алгоритм WFQ.
Пусть уровень 2 планирования включает блок 21 планирования, при этом индексы блока планирования на уровне 2 планирования представляют собой двоичные числа 0000-1111, где старший бит, равный 0, указывает на индекс блока 21 планирования на уровне 2 планирования, а три младших бита, 000-111 (соответствующие планировщикам 0-7 блока 21 планирования), представляют собой индексы 7 планировщиков в блоке 21 планирования, при этом три младшие бита указывают также на приоритеты авторизации этих 7 планировщиков, где планировщик 0 имеет наивысший приоритет авторизации, а планировщик 7 имеет наименьший приоритет авторизации.
Шаг 504: получают информацию о списке связей планирования и информацию о состоянии шейпинга для каждого из планировщиков в блоке планирования на уровне 2 планирования согласно индексу блока планирования на уровне 2 планирования и определяют индекс авторизуемого планировщика, соответствующего классу обслуживания, которой совпадает с текущей авторизацией в блоке планирования на уровне 2 планирования, согласно полученной информации о списке связей планирования и информации о состоянии шейпинга.
Поскольку текущая авторизация передается планировщиком 0 блока 11 планирования на уровне 1 планирования, то есть авторизация может быть передана исключительно в планировщик блока планирования на уровне 2 планирования, который соответствует уровню обслуживания, совпадающему с планировщиком 0 в блоке 11 планирования на уровне 1 планирования, текущую авторизацию передают в планировщик 0 блока 21 планирования на уровне 2 планирования, если определено, что список связей планирования в планировщике 0 блока 21 планирования на уровне 2 планирования не является пустым, согласно информации о списке связей планирования, полученной из планировщика 0 блока 21 планирования на уровне 2 планирования, а информация о состоянии шейпинга равна 1,
при этом информацию о состоянии шейпинга определяют согласно заранее сконфигурированному требованию к трафику, предъявляемому планировщиком, и количеству распределяемых авторизаций, и при этом информация о состоянии шейпинга, равная 1, указывает на то, что соответствующий планировщик может получить авторизацию; при этом информация о списке связей планирования включает информацию о состоянии («пуст» или «заполнен») списка связей в планировщике, и авторизация может быть передана в планировщик, только если его список связей не является пустым, при этом, также, информация о списке связей планирования может быть задана заранее, и, также, когда на следующем уровне, после планировщика, не имеется очереди VOQ или блока планирования, список связей этого планировщика будет пустым.
Шаг 505: определяют индексы блоков планирования на уровне 3 планирования согласно алгоритму планирования и информации о состоянии шейпинга для планировщика 0 блока 21 планирования на уровне 2 планирования, а также весам и приоритетам блоков планирования на уровне 3 планирования.
Предполагается, что уровень 3 планирования включает блок 31 планирования, при этом индексы блока 31 планирования представляют собой двоичные числа 0000-1111, где старший бит, равный 0, указывает на индекс блока 31 планирования на уровне 3 планирования, а три младших бита, 000-111, указывают на приоритеты авторизации планировщиков 0-7 в блоке 31 планирования, причем планировщик 0 имеет наивысший приоритет авторизации.
Шаг 506: получают информацию о списке связей планирования и информацию о состоянии шейпинга для каждого из планировщиков в блоках планирования на уровне 3 планирования согласно индексам блоков планирования на уровне 3 планирования, и определяют индекс авторизуемого планировщика, соответствующего классу обслуживания, который совпадает с текущей авторизацией в блоках планирования на уровне 3 планирования, согласно полученной информации о списке связей планирования и информации о состоянии шейпинга.
Поскольку текущая авторизация передается планировщиком 0 блока 21 планирования на уровне 2 планирования, то есть авторизация может быть передана исключительно в планировщик, входящий в состав блоков планирования на уровне 3 планирования, который соответствует уровню обслуживания, совпадающему с планировщиком 0 в блоке 21 планирования на уровне 2 планирования, текущую авторизацию передают в блоки планирования на уровне 3 планирования согласно весам блоков 31, 321 и 331 планирования, если определено, что списки связей планирования в планировщиках 0 блоков 31, 321 и 331 планирования на уровне 3 планирования не являются пустыми, согласно информации о списке связей планирования, полученной из планировщиков 0 блоков 31, 321 и 331 планирования на уровне 2 планирования, и информация о состоянии шейпинга равна 1; когда определено, что список связей планирования в планировщике 0 блока 31 планирования на уровне 3 планирования не пуст, или что информация о состоянии шейпинга равна 0, то есть блоку 31 планирования не нужна авторизация, текущую авторизацию передают в блоки планирования на уровне 3 планирования согласно весам блоков 312 и 331 планирования; при этом, по аналогии, авторизации назначают в блоки планирования, установленные на одинаковый приоритет авторизации, согласно заданным весам.
Выполнение описанных шагов основано на распределении авторизации в планировщик 0 блока 31 авторизации на уровне 3 планирования.
Шаг 507: планировщик 0 блока 31 планирования на уровне 3 планирования получает соответствующий индекс авторизуемой очереди VOQ и передает авторизацию в очередь VOQ, соответствующую индексу авторизуемой очереди VOQ.
Из приведенного выше описания следует, что когда определено, что передача приоритетов на каждом уровне находится в состоянии «активировано», реализуют передачу приоритетов между уровнями планирования, при этом блок планирования на уровне 1 планирования распределяет сервисы по приоритетам, и приоритеты сервисов соответствуют классам обслуживания. Затем авторизации поочередно передают в планировщики в конкретных блоках планирования на уровне 2 планирования и уровне 3 планирования согласно структуре блоков планирования на каждом уровне и алгоритмам в планировщиках. И затем очереди VOQ получают авторизации, причем каждая очередь VOQ соответствуют пользовательским сервисам с определенным классом обслуживания. Планирование на уровне пользователей для пользователя 1, пользователя 2 и пользователя 3 реализуют при помощи различных блоков планирования: для пользователя 1 реализуют шейпинг трафика с агрегацией восьми сервисов, для пользователя 2 реализуют шейпинг трафика с агрегацией четырех сервисов, и для пользователя 3 реализуют шейпинг трафика с агрегацией двух сервисов; при этом реализуют передачу приоритетов каждого пользовательского сервиса и шейпинг трафика с агрегацией нескольких сервисов, а также реализуют сквозное точное управление QoS.
Специалисты в данной области техники должны понимать, что данный вариант осуществления настоящего изобретения может быть реализован в форме способа, системы или компьютерного программного продукта. Соответственно, настоящее изобретение может принимать форму чисто аппаратных вариантов его осуществления, чисто программных вариантов его осуществления, а также комбинации программных и аппаратных вариантов осуществления. При этом настоящее изобретение может принимать форму компьютерного программного продукта, реализуемого на машиночитаемом информационном носителе (включая, без ограничения перечисленным, дисковую память, память «для чтения» на компакт диске (Compact Disc Readonly Memory, CD-ROM) или оптическую память), содержащем машиночитаемые программные коды.
Настоящее изобретение было описано на примере блок-схем и/или блок-схем алгоритмов способа, оборудования (системы) и компьютерного программного продукта в соответствии с рассмотренным выше вариантом осуществления настоящего изобретения. Нужно понимать, что любые из последовательностей операций и/или блоков на блок-схемах и/или блок-схемах алгоритмов, а также комбинации последовательностей операций и/или блоков на блок-схемах и/или блок-схемах алгоритмов могут быть реализованы при помощи компьютерных программных инструкций. Такие компьютерные программные инструкции могут предоставляться в компьютер общего назначения, компьютер специального назначения, во встроенный процессор или процессоры другой программируемой аппаратуры для обработки данных, в результате чего получают автомат, что позволяет, с использованием инструкций, исполняемых процессорами компьютеров или процессорами другой программируемой аппаратуры для обработки данных, получить устройство для реализации функций, определенных в одной или более последовательности операций на блок-схемах алгоритмов или в одном или более блоках на блок-схемах.
Компьютерные программные инструкции могут при этом храниться в машиночитаемой памяти, способной управлять компьютером или другой программируемой аппаратурой для обработки данных, так, чтобы они функционировали заданным образом, то есть, с помощью инструкций, хранящихся в машиночитаемой памяти, может быть получено изделие, включающее в себя инструктирующее устройство, которое реализует функции, описанные в одной или более последовательностях операций блок-схем алгоритмов или в одном или более блоков блок-схем.
Эти компьютерные программные инструкции могут также загружаться в компьютер или в другую программируемую аппаратуру для обработки данных, так что последовательность функциональных шагов может быть выполнена на компьютере или другой программируемой аппаратуре для обработки данных, в результате чего получают реализуемую при помощи компьютера обработку данных, при этом инструкции, исполняемые на компьютере или другой программируемой аппаратуре для обработки данных, представляют собой шаги реализации функций, описанных в одной или более последовательностях инструкций на блок-схемах алгоритмов и/или одного или более блоков на блок-схемах.
Описанное выше представляет собой всего лишь предпочтительные варианты осуществления настоящего изобретения. Следует отметить, что специалисты в данной области техники, в пределах объема настоящего изобретения, могут быть способны выполнять различные усовершенствования и улучшения, при этом все такие усовершенствования и улучшения попадают в объем правовой защиты настоящего изобретения.