RU2777035C1 - Method for probabilistic weighted fair queue maintenance and a device implementing it - Google Patents

Method for probabilistic weighted fair queue maintenance and a device implementing it Download PDF

Info

Publication number
RU2777035C1
RU2777035C1 RU2021129027A RU2021129027A RU2777035C1 RU 2777035 C1 RU2777035 C1 RU 2777035C1 RU 2021129027 A RU2021129027 A RU 2021129027A RU 2021129027 A RU2021129027 A RU 2021129027A RU 2777035 C1 RU2777035 C1 RU 2777035C1
Authority
RU
Russia
Prior art keywords
vector
data traffic
queues
queue
priority data
Prior art date
Application number
RU2021129027A
Other languages
Russian (ru)
Inventor
Роман Борисович Трегубов
Сергей Юрьевич Андреев
Александр Васильевич Королев
Сергей Викторович Костин
Алексей Георгиевич Коркин
Original Assignee
Федеральное государственное казенное военное образовательное учреждение высшего образования Академия Федеральной службы охраны Российской Федерации
Filing date
Publication date
Application filed by Федеральное государственное казенное военное образовательное учреждение высшего образования Академия Федеральной службы охраны Российской Федерации filed Critical Федеральное государственное казенное военное образовательное учреждение высшего образования Академия Федеральной службы охраны Российской Федерации
Application granted granted Critical
Publication of RU2777035C1 publication Critical patent/RU2777035C1/en

Links

Images

Abstract

FIELD: communication technology.
SUBSTANCE: invention relates to a method for fair queue maintenance in routers of a transport communication network. The absolute weight for each queue, the rate of receipt of priority data traffic streams and the average packet size for each priority data traffic stream are set. All options (combinations) of active queues are formed. For each option (combination) of active queues, a vector of service intensities (WM) is calculated. A vector of service intensity intervals (IntWM) is formed for each vector of service intensities. Streams of priority data traffic are received to the input ports of the device. Priority data traffic flows are classified into classes according to the ToS Precedence field of the IP packet header, or according to the DSCP field of the IP packet header. The priority data traffic flows are routed to the corresponding output ports of the router based on the routing table. Data traffic packets of the appropriate class are queued in accordance with the ToS Precedence field of the IP packet header, or in accordance with the DSCP field of the IP packet header, the current status of the output port of the device is checked. The presence of packets in queues is checked, if the queues are not empty, a vector of active queues is formed, a vector of service intensity intervals taking into account the vector of active queues is selected. A random number evenly distributed in the range from 0 to 1 is generated. The number of the active queue is selected taking into account a random number and the vector of service intensity intervals (IntWM). The packet is transmitted to the output port of the device, the current state of the output port of the device is updated.
EFFECT: reduction in the complexity of calculations with the support of a large number of classes or service flows.
3 cl, 9 dwg

Description

Область техникиTechnical field

Данное изобретение относится к области телекоммуникаций и, в частности, к способу справедливого обслуживания очередей в маршрутизаторах транспортной сети связи.This invention relates to the field of telecommunications and, in particular, to a method of fair queue service in routers of a transport communication network.

Уровень техникиState of the art

В настоящее время с развитием глобальной сети Интернет и предоставления пользователям широкого круга мультимедийных услуг важным вопросом является обеспечение качества обслуживании сетевого трафика (Quality of Service, QoS). При обеспечении качества обслуживания в транспортных сетях связи на базе протокола IP множество потоков трафика данных предъявляют различные требования по качеству обслуживания и соответственно разделяют ресурсы маршрутизатора транспортной сети связи. На сегодняшний день в глобальной сети Интернет используется механизм дифференцированного обслуживания, который позволяет «справедливо» распределить ресурсы маршрутизатора транспортной сети связи между отдельными классами трафика и обеспечить приоритетное обслуживание некоторой его части. Дифференцированное обслуживание предполагает разделение всего трафика на несколько классов на основе требований к обслуживанию, предъявляемых каждым из них.At present, with the development of the global Internet and the provision of a wide range of multimedia services to users, an important issue is to ensure the quality of service for network traffic (Quality of Service, QoS). In providing quality of service in IP-based transport networks, multiple data traffic flows have different quality of service requirements and accordingly share the resources of a transport network router. Today, the global Internet uses a differentiated service mechanism that allows you to "fairly" distribute the resources of the router of the transport communication network between individual classes of traffic and provide priority service to some of it. Differentiated services divides all traffic into multiple classes based on the service requirements of each class.

Современная транспортная сеть связи с коммутацией пакетов включает множество узлов (маршрутизаторов, коммутаторов, хостов и т.д.), соединенных каналами связи. Каждый маршрутизатор имеет от 1 до n входных портов, к которым подключены входящие каналы связи, и от 1 до n выходных портов, к которым подключены исходящие каналам связи. При этом маршрутизатор является общим ресурсом транспортной сети связи. Известна проблема, связанная с выделением ограниченного количества совместно используемых ресурсов (буферной памяти и пропускной способности выходного порта) для конкурирующих пользователей, приложений и классов обслуживания. Дисциплина планирования очереди позволяет управлять доступом к фиксированной величине пропускной способности выходного порта, выбирая следующий пакет, который передается по порту. Существует много различных дисциплин планирования очередей, каждая из которых пытается найти правильный баланс между сложностью, контролем и справедливостью. Дисциплина планирования очередей, поддерживаемая поставщиками маршрутизаторов, зависит от реализации, что означает отсутствие реальных отраслевых стандартов. Тем не менее, поставщик иногда ссылается на свою собственную реализацию в качестве стандарта. Сложность с признанием любой реализации в качестве стандарта заключается в том, что каждый поставщик сочетает в себе функции из ряда известных общих дисциплин планирования очередей для обеспечения общей функциональности, которая необходима их клиентам для управления перегрузкой выходного порта.A modern packet-switched transport communication network includes many nodes (routers, switches, hosts, etc.) connected by communication channels. Each router has from 1 to n input ports to which incoming communication channels are connected, and from 1 to n output ports to which outgoing communication channels are connected. In this case, the router is a common resource of the transport communication network. There is a known issue with the allocation of a limited amount of shared resources (buffer memory and egress port bandwidth) to competing users, applications, and classes of service. The queue scheduling discipline allows you to control access to a fixed amount of output port bandwidth by choosing the next packet that is transmitted on the port. There are many different queuing disciplines, each trying to strike the right balance between complexity, control, and fairness. The queuing discipline supported by router vendors is implementation dependent, which means there are no real industry standards. However, a vendor sometimes refers to their own implementation as a standard. The difficulty in accepting any implementation as a standard is that each vendor combines features from a number of known common queuing disciplines to provide the common functionality that their customers need to manage egress port congestion.

Затруднения возникают, когда пакеты поступают в выходной порт быстрее, чем они могут быть переданы. Это означает, что интерфейс маршрутизатора считается перегруженным. Задержка, вызываемая перегрузкой, может варьироваться в диапазоне от времени, необходимого для передачи последнего бита ранее прибывшего пакета до бесконечности, где пакет сбрасывается из-за отсутствия места в буфере памяти (очереди). Важно минимизировать количество перегруженных каналов связи в сети, так как перегрузки уменьшают пропускную способность сети, увеличивают сквозные задержки пакетов, вызывают джиттер и могут привести к потере пакета, если в буфере недостаточно буферной памяти для хранения всех пакетов, ожидающих передачи. Модуль маршрутизатора, который выполняет процедуру обслуживания очередей, называют планировщиком.Difficulties arise when packets arrive at the output port faster than they can be transmitted. This means that the router interface is considered to be overloaded. The delay caused by congestion can range from the time it takes to transmit the last bit of a previously arrived packet to infinity, where the packet is discarded due to lack of space in the memory buffer (queue). It is important to minimize the number of congested links in a network, as congestion reduces network throughput, increases end-to-end packet delays, causes jitter, and can result in packet loss if there is not enough buffer memory in the buffer to hold all the packets waiting to be transmitted. The router module that performs the queuing procedure is called the scheduler.

Первые маршрутизаторы использовали планировщик First-in First-out (FIFO) «первый - пришел, первый - ушел» на каждом выходном порту. В FIFO на каждом выходном порту поддерживается одна очередь. Когда поступает новый пакет, то он помещается в конец очереди и пока очередь не пуста, маршрутизатор передает пакеты из очереди, принимая пакет от начала очереди (т.е. принимая «самый старый» пакет). Таким образом, FIFO предоставляет простой сервис наилучших усилий для всех приложений. FIFO имеет ряд серьезных недостатков. Во-первых, «жадный источник», который отправляет пакеты с чрезвычайно высокой битовой скоростью, может вытеснить другие источники и получить большую пропускную способность канала связи, чем другие источники. Во-вторых, если несколько более коротких пакетов находятся позади очень длинных пакетов, то схема FIFO приводит к большей средней задержке (на пакет), чем, если бы более короткие пакеты были переданы до более длинного пакета. В-третьих, в соответствии со схемой FIFO нет никаких механизмов для обеспечения качества обслуживания трафика данных от высокоприоритетных источников, например, чувствительных к задержкам (мультимедийного трафика).The first routers used a first-in-first-out (FIFO) scheduler on each egress port. The FIFO maintains one queue per output port. When a new packet arrives, it is placed at the end of the queue, and as long as the queue is not empty, the router forwards the packets from the queue, accepting the packet from the front of the queue (i.e., accepting the "oldest" packet). Thus, FIFO provides a simple best effort service for all applications. FIFO has a number of serious disadvantages. First, a "greedy source" that sends packets at an extremely high bit rate can preempt other sources and gain more bandwidth than other sources. Second, if several shorter packets are behind very long packets, then the FIFO scheme results in a larger average delay (per packet) than if the shorter packets were transmitted before the longer packet. Thirdly, according to the FIFO scheme, there are no mechanisms to ensure the quality of service of data traffic from high-priority sources, such as delay-sensitive (multimedia traffic).

Для обеспечения гарантий по задержкам может быть использован планировщик с приоритетами (Priority queuing, PQ). В классическом планировщике PQ пакеты сначала классифицируются системой, а затем помещаются в различные приоритетные очереди. Пакеты забираются на обслуживание из очереди только в том случае, если все очереди с более высоким приоритетом пустые. В каждой приоритетной очереди пакеты обслуживаются в порядке FIFO. Достоинством данного планировщика является простота реализации и возможность обеспечения низкой задержки для высокоприоритетного трафика данных. Недостатком является отсутствие возможности исключения влияния потоков друг на друга. Если высокоприоритетный трафик данных будет постоянно поступать в очередь с высокой интенсивностью, то трафик данных, поступающий в другие очереди, будет заблокирован.A priority queuing (PQ) scheduler can be used to provide delay guarantees. In a classic PQ scheduler, packets are first classified by the system and then placed into different priority queues. Packets are only taken out of the queue for service if all higher priority queues are empty. In each priority queue, packets are served in FIFO order. The advantage of this scheduler is the ease of implementation and the ability to provide low latency for high priority data traffic. The disadvantage is the inability to exclude the influence of threads on each other. If high-priority data traffic is constantly entering the high-density queue, then data traffic entering other queues will be blocked.

Для устранения недостатков планировщиков FIFO и PQ была разработана дисциплина планирования очередей - взвешенное справедливое обслуживание очереди (Weighted Fair Queuing, WFQ). WFQ поддерживает справедливое распределение полосы пропускания для пакетов переменной длины с помощью аппроксимации обобщенной системы совместного использования процессоров (Generalized Processor Sharing, GPS). GPS - это идеальный планировщик, который обеспечивает каждому потоку гарантированную скорость передачи битов (пропускную способность) и справедливо распределяет избыточную полосу пропускания между потоками в соответствии с их относительными весами полосы пропускания (см., Кучерявый Е.А. Управление трафиком и качество обслуживания в сети Интернет. - СПб. Наука и Техника, 2004. - 152 с.). В результате GPS может обеспечить сквозные задержки и гарантии справедливости для приоритетных потоков трафика данных до тех пор, пока потоки не превышают выделенную долю пропускной способности исходящего канала связи. К сожалению, дисциплина GPS неосуществима на практике, потому что обслуживает бит за один раз (такт). Реальный планировщик должен завершить обслуживание всего пакета из очереди, прежде чем он перейдет к следующей очереди.To eliminate the shortcomings of the FIFO and PQ schedulers, a queuing discipline was developed - weighted fair queue service (Weighted Fair Queuing, WFQ). WFQ maintains fair bandwidth allocation for variable length packets by using an approximation of Generalized Processor Sharing (GPS). GPS is an ideal scheduler that provides each stream with a guaranteed bit rate (bandwidth) and fairly distributes excess bandwidth between streams according to their relative bandwidth weights (see E.A. Kucheryavy, Traffic Management and Network Quality of Service Internet, St. Petersburg Science and Technology, 2004, 152 p.). As a result, GPS can provide end-to-end delays and fairness guarantees for priority data traffic flows as long as the flows do not exceed the allocated share of the uplink bandwidth. Unfortunately, the GPS discipline is not practical because it services bits at a time (clock). The real scheduler has to finish servicing the entire packet from the queue before it can move on to the next queue.

Серьезная проблема WFQ заключается в том, что моделирование GPS может предсказать, что многие пакеты могут в конечном итоге иметь одно и то же виртуальное время окончания. Обновление функции виртуального времени между двумя последовательными поступлениями пакетов может потребовать большого количества вычислений. В частности, если в канале связи одновременно передаются N активных сеансов (потоков трафика данных), то обновление виртуального времени может повлечь за собой вычисление O(N) сеансов или очередей. Количество активных потоков может быть очень большим. Например, могут существовать десятки тысяч или даже сотни тысяч очередей, использующих один канал связи. Это приводит к пропорционально большому количеству вычислений. Эта проблема называется итеративным удалением.A serious problem with WFQ is that GPS simulations can predict that many packets may end up with the same virtual end time. Updating the virtual time function between two successive packet arrivals can be computationally intensive. In particular, if N active sessions (data traffic streams) are simultaneously transmitted in the communication channel, then updating the virtual time may entail computing O(N) sessions or queues. The number of active threads can be very large. For example, there may be tens of thousands or even hundreds of thousands of queues using a single communication channel. This results in a proportionately large number of calculations. This problem is called iterative deletion.

Из-за высокой сложности, связанной с моделированием системы GPS, за последнее время были предложены различные решения данной проблемы. Для упрощения расчетов виртуального времени было предложено множество методов. Некоторые из таких методов - самосинхронизированная справедливая очередь (Self-Clocked Fair Queuing, SCFQ), «виртуальные часы» (Virtual Clock, VC), справедливая очередь начального времени (Start-time Fair Queuing, SFQ), фреймовая справедливая очередь (Frame-Based Fair Queuing, FFQ), самосинхронизированная справедливая очередь с минимальной задержкой (Minimum-Delay Self-Clocked Fair Queuing, MD-SCFQ) и планирование дискретной скорости (Discrete-Rate, DR). В общем случае такие упрощающие подходы приводят к снижению справедливости (изоляция потока), либо к увеличению границы задержки или не решают проблему повторяющегося удаления.Due to the high complexity associated with modeling a GPS system, various solutions to this problem have been proposed recently. Many methods have been proposed to simplify the calculation of virtual time. Some of these methods are Self-Clocked Fair Queuing (SCFQ), Virtual Clock (VC), Start-time Fair Queuing (SFQ), Frame-Based Fair Queuing. Fair Queuing, FFQ), Minimum-Delay Self-Clocked Fair Queuing (MD-SCFQ), and Discrete-Rate (DR) scheduling. In general, such simplifying approaches lead to a decrease in fairness (flow isolation), or to an increase in the delay margin, or do not solve the problem of repeated deletion.

Известно устройство «Планировщик взвешенного справедливого обслуживания» (патент US 7461159 В2 от 2.12.2008 г.), который использует моделирование GPS для определения порядка обслуживания объектов, использует новую динамическую структуру данных со сложным, но простым механизмом обновления указателей. Предпочтительные варианты планировщика выполняют фиксированный объем работы на одно событие планирования. Событие планирования может быть либо вычислением новой виртуальной метки времени завершения при новом поступлении в планировщик, либо определением того, какие объекты должны покинуть систему GPS, поскольку их метка времени завершения истекла. Такой планировщик может использоваться при планировании пакетов в устройстве обработки пакетов, таком как маршрутизатор, планировании доступа программных процессов к компьютерному процессору или тому подобном. Планировщик может реализовать взвешенную справедливую очередь (WFQ).A device "Weighted Fair Service Scheduler" is known (patent US 7461159 B2 dated December 2, 2008), which uses GPS modeling to determine the order of servicing objects, uses a new dynamic data structure with a complex but simple mechanism for updating pointers. The preferred scheduler options perform a fixed amount of work per scheduling event. The scheduling event can either be a calculation of a new virtual completion timestamp on new arrivals to the scheduler, or a determination of which objects should leave the GPS system because their completion timestamp has expired. Such a scheduler can be used when scheduling packets in a packet processing device such as a router, scheduling access of software processes to a computer processor, or the like. The scheduler may implement a weighted fair queuing (WFQ).

Известен способ «Справедливое обслуживание очередей с использованием динамических весов (DWFQ)» (патент US 7023866 В2 от 4.04.2006 г.) включающий в себя этапы: запрос входящих пакетов в очередях, связанных с соответствующими классами обслуживания; передача исходящих пакетов из указанных очередей в соответствии с расписанием, определяемым весами, связанными с классами обслуживания, используемыми планировщиком очередей; а также динамическое изменение весов в реальном времени, приводящее к тому, что размер очереди для каждого класса обслуживания перемещается к целевому значению, при котором выполняется задержка передачи, связанная с классом обслуживания.The known method "Fair queue service using dynamic weights (DWFQ)" (patent US 7023866 B2 dated 4.04.2006) includes the following steps: requesting incoming packets in the queues associated with the respective classes of service; transmitting outgoing packets from said queues in accordance with a schedule determined by weights associated with service classes used by the queue scheduler; and real-time dynamic weighting that causes the queue size for each service class to move towards a target value that satisfies the transmission delay associated with the service class.

Известно устройство «Формирователь общей взвешенной справедливой очереди (WFQ)» (патент US 8638664 В2 от 28.01.2014 г.), включающее в себя порт, буфер, модуль управления потоком и модуль дифференциации услуг. Порт сконфигурирован для отправки и приема пакета, причем порт соединен с сетевым объектом. Буфер сконфигурирован для хранения пакета. Модуль управления потоком сконфигурирован для управления передачей пакета внутри сетевого устройства. Модуль дифференциации обслуживания соединен с буфером и модулем управления потоком. Модуль дифференциации услуг сконфигурирован для регулирования хранения пакета в буфере и для регулирования передачи пакета от сетевого устройства к сетевому объекту. Модуль дифференциации услуг также сконфигурирован для определения избыточной полосы пропускания, доступной внутри сетевого устройства, и для распределения избыточной полосы пропускания для передачи пакета сетевому объекту.It is known the device "Shaper of a common weighted fair queue (WFQ)" (patent US 8638664 B2 dated January 28, 2014), which includes a port, a buffer, a flow control module and a service differentiation module. The port is configured to send and receive a packet, and the port is connected to a network entity. The buffer is configured to hold the packet. The flow control module is configured to control the transmission of a packet within the network device. The service differentiation module is connected to the buffer and the flow control module. The service differentiation module is configured to regulate the storage of the packet in the buffer and to regulate the transmission of the packet from the network device to the network entity. The service differentiation module is also configured to determine the excess bandwidth available within the network device and allocate the excess bandwidth to transmit the packet to the network entity.

Наиболее близким по технической сущности к заявляемому способу и выбранным в качестве прототипа является «Способ и устройство для выполнения взвешенного планирования очередей с использованием набора коэффициентов справедливости» (патент US 10291540 В2 от 14.05.2019 г.), заключающийся в том, что осуществляют прием пакетных данных из нескольких портов источника; классификацию пакетных данных на основе нескольких портов источника и связанных с ними портов назначения; сортировку пакетных данных по нескольким очередям в буфере; планирование каждой из множества очередей для передачи на основе временного веса каждой из множества очередей, который вычисляется на основе набора факторов справедливости, причем набор факторов справедливости включает в себя: бит валидности соответствующей очереди, вес приоритета соответствующей очереди, идентификацию первой позиции, указывающую на позицию соответствующей очереди, и идентификацию второй позиции, указывающую на позицию последней запланированной очереди с наивысшим приоритетом из предыдущего раунда, планирование далее включает выбор из по меньшей мере двух очередей с одинаковым максимальным весом приоритета, и при этом дополнительная сумма добавляется к временному весу соответствующей очереди, если идентификация первой позиции указывает на более низкую позицию, чем идентификация второй позиции, и при этом дополнительная сумма равна количеству очередей, выбранных из по меньшей мере двух очередей с одинаковым максимальным весом приоритета; и обновление статического состояния соответствующей очереди из нескольких очередей, реагирующих на пакет данных, вводимый в соответствующую очередь или выводимый из соответствующей очереди; отправка выходных пакетных данных, снятых с очереди планировщика, к месту назначения.The closest in technical essence to the claimed method and selected as a prototype is the "Method and device for performing weighted queue scheduling using a set of fairness coefficients" (patent US 10291540 B2 dated May 14, 2019), which consists in receiving packet data from multiple source ports; classifying the packet data based on multiple source ports and their associated destination ports; sorting packet data into multiple queues in a buffer; scheduling each of the plurality of queues for transmission based on the time weight of each of the plurality of queues, which is calculated based on a set of fairness factors, the set of fairness factors including: a validity bit of the corresponding queue, a priority weight of the corresponding queue, a first position identification indicating the position of the corresponding queue, and identifying a second position indicating the position of the last scheduled queue with the highest priority from the previous round, scheduling further includes selecting from at least two queues with the same maximum priority weight, with an additional amount added to the time weight of the corresponding queue if the identification the first position indicates a lower position than the identification of the second position, and while the additional amount is equal to the number of queues selected from at least two queues with the same maximum priority weight; and updating the static state of the respective queue of the plurality of queues responsive to the data packet being input to or output from the respective queue; sending the batch output dequeued from the scheduler to the destination.

Наиболее близким по технической сущности к заявляемому устройству и выбранным в качестве прототипа является «Система для выполнения взвешенного планирования очередей с использованием набора коэффициентов справедливости» (патент US 10291540 В2 от 14.05.2019 г.), содержащая: по меньшей мере один процессор; по меньшей мере один материальный нетранзитивный машиночитаемый носитель информации, хранящий инструкции, которые при выполнении по меньшей мере одним процессором заставляют систему выполнять способ использования планировщика для обработки запросов, включающий: прием пакетных данных из нескольких портов источника; классификацию пакетных данных на основе нескольких портов источника и портов назначения, связанных с ними; сортировку пакетных данных в несколько очередей в буфере; планирование каждой из множества очередей для передачи на основе временного веса каждой из множества очередей, который вычисляется на основе набора факторов справедливости, причем набор факторов справедливости включает в себя: бит валидности соответствующей очереди, вес приоритета соответствующей очереди, идентификацию первой позиции, указывающую на позицию соответствующей очереди, и идентификацию второй позиции, указывающую на позицию последней запланированной очереди с наивысшим приоритетом из предыдущего раунда, планирование далее включает выбор из по меньшей мере двух очередей с одинаковым максимальным весом приоритета, и при этом временный вес соответствующей очереди увеличивается на дополнительную сумму, если идентификация первой позиции указывает на более низкую позицию, чем идентификация второй позиции, и при этом дополнительная сумма равна количеству очередей, выбранных из по меньшей мере двух очередей с одинаковым максимальным весом приоритета; и обновление статического состояния соответствующей очереди из нескольких очередей, реагирующих на пакет данных, вводимый в соответствующую очередь или выводимый из соответствующей очереди; и отправка выходных пакетных данных, снятых с очереди планировщика, к месту назначения.The closest in technical essence to the claimed device and selected as a prototype is "A system for performing weighted scheduling of queues using a set of fairness coefficients" (patent US 10291540 B2 dated May 14, 2019), containing: at least one processor; at least one tangible non-transitive computer-readable storage medium storing instructions that, when executed by at least one processor, cause the system to perform a method of using a scheduler to process requests, including: receiving packet data from multiple source ports; classifying packet data based on multiple source ports and destination ports associated with them; sorting packet data into multiple queues in a buffer; scheduling each of the plurality of queues for transmission based on the time weight of each of the plurality of queues, which is calculated based on a set of fairness factors, the set of fairness factors including: a validity bit of the corresponding queue, a priority weight of the corresponding queue, a first position identification indicating the position of the corresponding queue, and identifying a second position indicating the position of the last scheduled queue with the highest priority from the previous round, scheduling further includes selecting from at least two queues with the same maximum priority weight, and wherein the time weight of the corresponding queue is increased by an additional amount if the identification the first position indicates a lower position than the identification of the second position, and while the additional amount is equal to the number of queues selected from at least two queues with the same maximum priority weight; and updating the static state of the respective queue of the plurality of queues responsive to the data packet being input to or output from the respective queue; and sending the output packet data dequeued from the scheduler to the destination.

Технической проблемой является высокая сложность вычислений при поддержки большого количества классов или потоков обслуживания. Еще одной технической проблемой является низкая точность аппроксимации обобщенной системы совместного использования процессоров (GPS).A technical problem is the high computational complexity when supporting a large number of classes or service flows. Another technical problem is the low accuracy of the Generalized Processor Sharing System (GPS) approximation.

Техническим результатом является уменьшение сложности вычислений при поддержки большого количества классов обслуживания за счет того, что дополнительно включены от 1 до n модулей вероятностного взвешенного справедливого обслуживания очередей, причем каждый включает модуль расчета вектора интенсивностей, модуль расчета вектора интервалов, модуль выбора пакета, генератор случайного числа, модуль формирования комбинаций активных очередей.The technical result is to reduce the complexity of calculations while supporting a large number of classes of service due to the fact that from 1 to n modules of probabilistic weighted fair queuing are additionally included, each including a module for calculating the intensity vector, a module for calculating the vector of intervals, a package selection module, a random number generator , a module for generating combinations of active queues.

Еще одним техническим результатом является то, что настоящее изобретение позволяет более точно осуществить аппроксимацию обобщенной системы совместного использования процессоров (GPS). Данный технический результат достигается за счет того, что на первом этапе устанавливают абсолютный вес для каждой очереди, скорость поступления потоков приоритетного трафика данных и средний размер пакетов для каждого потока приоритетного трафика данных, формируют все варианты (комбинации) активных очередей, рассчитывают для каждого варианта (комбинации) активных очередей вектор интенсивностей обслуживания (WM), формируют вектор интервалов интенсивностей обслуживания (IntWM) для каждого вектора интенсивностей обслуживания, на втором этапе проверяют текущее состояние выходного порта устройства, проверяют наличие пакетов в очередях, если очереди не пусты, то формируют вектор активных очередей, осуществляют выбор вектора интервалов интенсивностей обслуживания с учетом вектора активных очередей, генерируют случайное число, равномерно распределенное в интервале от 0 до 1, выбирают номер активной очереди с учетом случайного числа и вектора интервалов интенсивностей обслуживания (IntWM), передают пакет в выходной порт устройства, обновляют текущее состояние выходного порта устройства.Another technical result is that the present invention allows a more accurate approximation of the Generalized Processor Sharing System (GPS). This technical result is achieved due to the fact that at the first stage, the absolute weight for each queue, the arrival rate of priority data traffic flows and the average packet size for each priority data traffic flow are set, all options (combinations) of active queues are formed, calculated for each option ( combinations) of active queues, the service intensity vector (WM), form the service intensity interval vector (IntWM) for each service intensity vector, at the second stage, check the current state of the output port of the device, check the presence of packets in the queues, if the queues are not empty, then form the vector of active queues, select the vector of service intensity intervals taking into account the vector of active queues, generate a random number uniformly distributed in the interval from 0 to 1, select the number of the active queue, taking into account the random number and the vector of service intensity intervals (IntWM), eating a packet to the output port of the device, updating the current state of the output port of the device.

Создание способа вероятностного взвешенного справедливого обслуживания очередей и устройства его реализующее направлены на решение данной технической проблемы, позволяющие уменьшить сложность вычислений при поддержки большого количества классов обслуживания и более точно аппроксимировать обобщенную систему совместного использования процессоров (GPS).The creation of a method for probabilistic weighted fair queuing and a device that implements it are aimed at solving this technical problem, allowing to reduce the complexity of calculations while supporting a large number of classes of service and more accurately approximate the generalized processor sharing system (GPS).

Раскрытие изобретенияDisclosure of invention

В заявленном способе эта техническая проблема решается тем, что в способе вероятностного взвешенного справедливого обслуживания очередей, заключающемся в том, что на первом этапе устанавливают абсолютный вес для каждой очереди, скорость поступления потоков приоритетного трафика данных и средний размер пакетов для каждого потока приоритетного трафика данных, формируют все варианты (комбинации) активных очередей, рассчитывают для каждого варианта (комбинации) активных очередей вектор интенсивностей обслуживания (WM), формируют вектор интервалов интенсивностей обслуживания (IntWM) для каждого вектора интенсивностей обслуживания, на втором этапе принимают потоки приоритетного трафика данных на входные порты устройства, классифицируют потоки приоритетного трафика данных на классы в соответствии с полем ToS Precedence заголовка IP пакета, либо в соответствии с полем DSCP заголовка IP пакета, маршрутизируют потоки приоритетного трафика данных на соответствующие выходные порты устройства на основании таблицы маршрутизации, помещают в очередь пакеты трафика данных соответствующего класса в соответствии с полем ToS Precedence заголовка IP пакета, либо в соответствии с полем DSCP заголовка IP пакета, проверяют текущее состояние выходного порта устройства, проверяют наличие пакетов в очередях, если очереди не пусты, то формируют вектор активных очередей, осуществляют выбор вектора интервалов интенсивностей обслуживания с учетом вектора активных очередей, генерируют случайное число, равномерно распределенное в интервале от 0 до 1, выбирают номер активной очереди с учетом случайного числа и вектора интервалов интенсивностей обслуживания (IntWM), передают пакет в выходной порт устройства, обновляют текущее состояние выходного порта устройства.In the claimed method, this technical problem is solved by the fact that in the method of weighted probabilistic fair queuing, which consists in the fact that at the first stage, the absolute weight for each queue, the arrival rate of priority data traffic flows and the average packet size for each priority data traffic flow, all options (combinations) of active queues are formed, the service intensity vector (WM) is calculated for each option (combination) of active queues, the service intensity interval vector (IntWM) is formed for each service intensity vector, at the second stage priority data traffic flows are received at the input ports devices, classify priority data traffic flows into classes in accordance with the ToS Precedence field of the IP packet header, or in accordance with the DSCP field of the IP packet header, route priority data traffic flows to the corresponding output ports of the device on the OS routing table, queue data traffic packets of the corresponding class in accordance with the ToS Precedence field of the IP packet header, or in accordance with the DSCP field of the IP packet header, check the current state of the device's output port, check the presence of packets in the queues, if the queues are not empty, then a vector of active queues is formed, a vector of service intensity intervals is selected taking into account the vector of active queues, a random number uniformly distributed in the interval from 0 to 1 is generated, an active queue number is selected taking into account the random number and the vector of service intensity intervals (IntWM), the packet is transmitted to the output port of the device, update the current state of the output port of the device.

Новая совокупность существенных признаков позволяет достичь указанного технического результата за счет того, что на первом этапе устанавливают абсолютный вес для каждой очереди, скорость поступления потоков приоритетного трафика данных и средний размер пакетов для каждого потока приоритетного трафика данных, формируют все варианты (комбинации) активных очередей, рассчитывают для каждого варианта (комбинации) активных очередей вектор интенсивностей обслуживания (WM), формируют вектор интервалов интенсивностей обслуживания (IntWM) для каждого вектора интенсивностей обслуживания, на втором этапе проверяют текущее состояние выходного порта устройства, проверяют наличие пакетов в очередях, если очереди не пусты, то формируют вектор активных очередей, осуществляют выбор вектора интервалов интенсивностей обслуживания с учетом вектора активных очередей, генерируют случайное число, равномерно распределенное в интервале от 0 до 1, выбирают номер активной очереди с учетом случайного числа и вектора интервалов интенсивностей обслуживания (IntWM), передают пакет в выходной порт устройства, обновляют текущее состояние выходного порта устройства.A new set of essential features allows to achieve the specified technical result due to the fact that at the first stage, the absolute weight is set for each queue, the rate of arrival of priority data traffic flows and the average packet size for each priority data traffic flow, all options (combinations) of active queues are formed, for each option (combination) of active queues, the service intensity vector (WM) is calculated, the service intensity interval vector (IntWM) is formed for each service intensity vector, at the second stage, the current state of the device output port is checked, and the presence of packets in the queues is checked if the queues are not empty , then a vector of active queues is formed, a vector of service intensity intervals is selected taking into account the vector of active queues, a random number is generated uniformly distributed in the interval from 0 to 1, the active queue number is selected taking into account the random number and vector service rate intervals (IntWM), send a packet to the output port of the device, update the current state of the output port of the device.

Для достижения указанной выше цели в соответствии с другим аспектом настоящего изобретения предложено устройство вероятностного взвешенного справедливого обслуживания очередей.In order to achieve the above object, in accordance with another aspect of the present invention, a probabilistic weighted fair queuing apparatus is provided.

В заявленном устройстве эта задача решается тем, что устройство вероятностного приоритетного обслуживания очередей, содержащее от 1 до n входных портов для приема потоков приоритетного трафика данных, классификатор, выполненный с возможностью отнесения потоков трафика данных к классам в соответствии с полем ToS Precedence заголовка IP пакета, либо в соответствии с полем DSCP заголовка IP пакета, модуль маршрутизации, выполненный с возможностью продвижения пакета в выходной порт в соответствии с таблицей маршрутизации, от 1 до n модулей очередей для помещения пакетов в очередь соответствующего класса в соответствии с полем ToS Precedence заголовка IP пакета, либо в соответствии с полем DSCP заголовка IP пакета; измерения скорости поступления трафика данных и средней длины пакетов соответствующего класса, от 1 до n выходных портов для передачи потоков приоритетного трафика данных в канал связи, отличающийся тем, что дополнительно включены от 1 до n модулей вероятностного взвешенного справедливого обслуживания очередей, причем потоки приоритетного трафика данных поступают на входные порты, затем с входных портов потоки приоритетного трафика данных передаются на вход классификатора, выход классификатора соединен с входом модуля маршрутизации, с выхода модуля маршрутизации потоки приоритетного трафика данных поступают на вход соответствующего модуля очередей, с выхода модуля очередей потоки приоритетного трафика данных передаются в соответствующий модуль вероятностного взвешенного справедливого обслуживания очередей, с выхода модуля вероятностного взвешенного справедливого обслуживания очередей потоки приоритетного трафика данных поступают на выходные порты.In the claimed device, this problem is solved by the fact that a device for probabilistic priority queuing, containing from 1 to n input ports for receiving priority data traffic flows, a classifier configured to classify data traffic flows in accordance with the ToS Precedence field of the IP packet header, or in accordance with the DSCP field of the IP header of the packet, a routing module configured to forward the packet to the output port in accordance with the routing table, from 1 to n queue modules for placing packets in the queue of the corresponding class in accordance with the ToS Precedence field of the IP header of the packet, or according to the DSCP field of the IP packet header; measuring the rate of data traffic arrival and the average length of packets of the corresponding class, from 1 to n output ports for transmitting priority data traffic flows to the communication channel, characterized in that from 1 to n modules of probabilistic weighted fair queuing are additionally included, moreover, priority data traffic flows arrive at the input ports, then from the input ports the priority data traffic flows are transmitted to the input of the classifier, the output of the classifier is connected to the input of the routing module, from the output of the routing module the flows of priority data traffic arrive at the input of the corresponding queue module, from the output of the queue module the priority data traffic flows are transmitted to the corresponding probabilistic weighted fair queuing module, from the output of the probabilistic weighted fair queuing module, priority data traffic flows arrive at the output ports.

Согласно одному из частных вариантов реализации модуль вероятностного взвешенного справедливого обслуживания очередей содержит модуль расчета вектора интенсивностей, выполненный с возможностью расчета вектора интенсивностей обслуживания (WM), конфигурации параметров, как минимум, абсолютного веса для каждой очереди, скорости поступления потоков приоритетного трафика данных и среднего размера пакетов для каждого потока приоритетного трафика данных, модуль расчета вектора интервалов, выполненный с возможностью формирования вектора интервалов интенсивностей обслуживания (IntWM) для каждого вектора интенсивностей обслуживания, модуль выбора пакета, выполненный с возможностью продвижения пакетов из множества очередей соответствующего класса в выходной порт, проверке и обновления текущего состояния выходного порта маршрутизатора, проверки наличия пакетов в очередях, выбора вектора интервалов интенсивностей обслуживания с учетом вектора активных очередей, выбора номер активной очереди с учетом случайного числа и вектора интервалов интенсивностей обслуживания (IntWM), генератор случайного числа, выполненный с возможностью генерации случайного числа, равномерно распределенного в интервале от 0 до 1, модуль формирования комбинаций активных очередей, выполненный с возможностью формирования всех комбинаций активных очередей, при этом все модули в устройстве соединены посредством общей внутренней шины AXI4, которая выступает в качестве средства обмена информацией между модулями.According to one particular implementation, the probabilistic weighted fair queuing module comprises a rate vector calculation module configured to calculate a service rate vector (WM), configure parameters of at least an absolute weight for each queue, an arrival rate of priority data traffic flows, and an average size packets for each priority data traffic flow, an interval vector calculation module configured to generate a service rate interval vector (IntWM) for each service rate vector, a packet selection module configured to forward packets from a plurality of queues of the corresponding class to an output port, check and updating the current state of the router's output port, checking for the presence of packets in queues, selecting a vector of service intervals based on the vector of active queues, selecting an active queue number based on m of a random number and a vector of service intensity intervals (IntWM), a random number generator configured to generate a random number uniformly distributed in the interval from 0 to 1, a module for generating combinations of active queues, configured to generate all combinations of active queues, while all modules in the device are connected via a common internal AXI4 bus, which acts as a means of information exchange between modules.

Все модули могут быть реализованы по известной схеме, например, маршрутизатор Eltex ME 5000 (см. https://eltex-co.ru/catalog/provider_edge_router/marshrutizator_me5000).All modules can be implemented according to a well-known scheme, for example, the Eltex ME 5000 router (see https://eltex-co.ru/catalog/provider_edge_router/marshrutizator_me5000).

Новая совокупность существенных признаков позволяет достичь указанного технического результата за счет дополнительно введенных от 1 до n модулей вероятностного взвешенного справедливого обслуживания очередей, при этом каждый модуль вероятностного взвешенного справедливого обслуживания очередей содержит модуль расчета вектора интенсивностей, модуль расчета вектора интервалов, модуль выбора пакета, генератор случайного числа, модуль формирования комбинаций активных очередей.A new set of essential features allows you to achieve the specified technical result due to additionally introduced from 1 to n modules of probabilistic weighted fair queuing, while each module of probabilistic weighted fair queuing contains a module for calculating the intensity vector, a module for calculating the vector of intervals, a package selection module, a random generator numbers, a module for generating combinations of active queues.

Проведенный анализ уровня техники позволил установить, что аналоги, характеризующиеся совокупностью признаков, тождественных всем признакам заявленных способа вероятностного приоритетного обслуживания очередей и устройство его реализующее, отсутствуют. Следовательно, каждое из заявленных изобретений соответствует условию патентоспособности «новизна».The analysis of the prior art made it possible to establish that there are no analogues characterized by a set of features that are identical to all the features of the claimed method of probabilistic priority queue service and a device that implements it. Therefore, each of the claimed inventions meets the condition of patentability "novelty".

Результаты поиска известных решений в данной и смежных областях техники с целью выявления признаков, совпадающих с отличительными от прототипа признаками заявленного объекта, показали, что они не следуют явным образом из уровня техники. Из уровня техники также не выявлена известность влияния предусматриваемых существенными признаками заявленного изобретения преобразований на достижение указанного технического результата. Следовательно, каждое из заявленных изобретений соответствует условию патентоспособности «изобретательский уровень».The results of the search for known solutions in this and related fields of technology in order to identify features that match the distinguishing features of the prototype of the claimed object showed that they do not follow explicitly from the prior art. From the prior art, the influence of the transformations provided for by the essential features of the claimed invention on the achievement of the specified technical result has not been revealed either. Therefore, each of the claimed inventions meets the condition of patentability "inventive step".

«Промышленная применимость» обусловлена наличием элементарной базы, на основе которой могут быть выполнены устройства, реализующие данный способ и устройство с достижением указанного в изобретении результата."Industrial applicability" is due to the presence of an elementary base, on the basis of which devices can be made that implement this method and device with the achievement of the result specified in the invention.

Для более понятной иллюстрации технических решений согласно вариантам осуществления настоящего изобретения ниже приведено краткое описание сопроводительных чертежей.To more clearly illustrate the technical solutions according to the embodiments of the present invention, a brief description of the accompanying drawings is given below.

На фиг. 1 - схема работы способа вероятностного взвешенного справедливого обслуживания очередей;In FIG. 1 is a diagram of the operation of the probabilistic weighted fair queuing method;

на фиг. 2 - устройство вероятностного взвешенного справедливого обслуживания очередей;in fig. 2 - device for probabilistic weighted fair queuing;

на фиг. 3 - схема модуля вероятностного взвешенного справедливого обслуживания очередей;in fig. 3 is a diagram of a module for probabilistic weighted fair queuing;

на фиг. 4 - фрагмент транспортной сети связи в среде сетевого симулятора OMNet++;in fig. 4 - a fragment of the transport communication network in the environment of the network simulator OMNet++;

на фиг. 5 - результаты имитационного моделирования, среднего времени ожидания пакетов в планировщиках WFQ, GPS и предлагаемого изобретения;in fig. 5 shows simulation results, average packet latency in WFQ, GPS schedulers, and the present invention;

на фиг. 6 - результаты имитационного моделирования, среднего времени ожидания пакетов первого приоритета в планировщиках WFQ, GPS и предлагаемого изобретения;in fig. 6 shows simulation results, average latency of first priority packets in WFQ, GPS schedulers, and the present invention;

на фиг. 7 - результаты имитационного моделирования, среднего времени ожидания пакетов второго приоритета в планировщиках WFQ, GPS и предлагаемого изобретения;in fig. 7 shows simulation results, average latency of second priority packets in WFQ, GPS schedulers, and the present invention;

на фиг. 8 - результаты имитационного моделирования, среднего времени ожидания пакетов третьего приоритета в планировщиках WFQ, GPS и предлагаемого изобретения.in fig. 8 shows simulation results, average latency of third priority packets in WFQ, GPS schedulers, and the present invention.

Ниже будут полностью и четко описаны технические решения для вариантов осуществления настоящего изобретения со ссылками на сопроводительные чертежи. Должно быть, очевидно, что варианты осуществления, описанные ниже, являются только частью настоящего изобретения, а не всеми возможными вариантами осуществления настоящего изобретения. Все другие варианты осуществления, полученные специалистами в данной области техники на основе вариантов осуществления настоящего изобретения и не использующие творческий подход, попадают под объем охраны настоящего изобретения.The technical solutions for the embodiments of the present invention will be fully and clearly described below with reference to the accompanying drawings. It should be obvious that the embodiments described below are only a part of the present invention and not all possible embodiments of the present invention. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention and not using creativity fall within the protection scope of the present invention.

Реализация заявленного способа заключается в следующем (фиг. 1).The implementation of the claimed method is as follows (Fig. 1).

Первый этап.First stage.

101. Устанавливают абсолютный вес для каждой очереди, скорость поступления потоков приоритетного трафика данных и средний размер пакетов для каждого потока приоритетного трафика данных.101. Set the absolute weight for each queue, the arrival rate of the priority data traffic streams, and the average packet size for each priority data traffic stream.

102. Формируют все варианты (комбинации) активных очередей.102. Form all variants (combinations) of active queues.

103. Рассчитывают для каждого варианта (комбинации) активных очередей вектор интенсивностей обслуживания (WM).103. For each option (combination) of active queues, a service intensity vector (WM) is calculated.

104. Формируют вектор интервалов интенсивностей обслуживания (IntWM) для каждого вектора интенсивностей обслуживания.104. A service rate interval vector (IntWM) is generated for each service rate vector.

Второй этап.Second phase.

105. Принимают потоки приоритетного трафика данных на входные порты маршрутизатора.105. Receive streams of priority data traffic to the input ports of the router.

106. Классифицируют потоки приоритетного трафика данных на классы в соответствии с полем ToS Precedence заголовка IP пакета, либо в соответствии с полем DSCP заголовка IP пакета.106. Classify priority data traffic flows into classes in accordance with the ToS Precedence field of the IP packet header, or in accordance with the DSCP field of the IP packet header.

107. Маршрутизируют потоки приоритетного трафика данных на соответствующие выходные порты маршрутизатора на основании таблицы маршрутизации.107. Route priority data traffic flows to the corresponding output ports of the router based on the routing table.

108. Помещают в очередь пакеты трафика данных соответствующего класса в соответствии с полем ToS Precedence заголовка IP пакета, либо в соответствии с полем DSCP заголовка IP пакета.108. The data traffic packets of the corresponding class are queued in accordance with the ToS Precedence field of the IP packet header, or in accordance with the DSCP field of the IP packet header.

109. Проверяют текущее состояние выходного порта маршрутизатора.109. Check the current state of the output port of the router.

110. Проверяют наличие пакетов в очередях, если очереди не пусты, то формируют вектор активных очередей.110. Check the presence of packets in the queues, if the queues are not empty, then form a vector of active queues.

111. Осуществляют выбор вектора интервалов интенсивностей обслуживания с учетом вектора активных очередей.111. A vector of intervals of service rates is selected taking into account the vector of active queues.

112. Генерируют случайное число, равномерно распределенное в интервале от 0 до 1.112. Generate a random number uniformly distributed in the range from 0 to 1.

113. Выбирают номер активной очереди с учетом случайного числа и вектора интервалов интенсивностей обслуживания (IntWM).113. The number of the active queue is selected, taking into account a random number and a vector of service intensity intervals (IntWM).

114. Передают пакет в выходной порт маршрутизатора.114. Send the packet to the output port of the router.

115. Обновляют текущее состояние выходного порта маршрутизатора.115. Update the current state of the output port of the router.

Заявленный способ вероятностного взвешенного справедливого обслуживания очередей позволяет достичь указанного технического результата устранение дискриминации низкоприоритетного трафика данных, а также уменьшение среднесетевой задержки пакетов для низкоприоритетного трафика за счет того, что на первом этапе устанавливают абсолютный вес для каждой очереди, скорость поступления потоков приоритетного трафика данных и средний размер пакетов для каждого потока приоритетного трафика данных, формируют все варианты (комбинации) активных очередей, рассчитывают для каждого варианта (комбинации) активных очередей вектор интенсивностей обслуживания (WM), формируют вектор интервалов интенсивностей обслуживания (IntWM) для каждого вектора интенсивностей обслуживания, на втором этапе проверяют текущее состояние выходного порта маршрутизатора, проверяют наличие пакетов в очередях, если очереди не пусты, то формируют вектор активных очередей, осуществляют выбор вектора интервалов интенсивностей обслуживания с учетом вектора активных очередей, генерируют случайное число, равномерно распределенное в интервале от 0 до 1, выбирают номер активной очереди с учетом случайного числа и вектора интервалов интенсивностей обслуживания (IntWM), передают пакет в выходной порт маршрутизатора, обновляют текущее состояние выходного порта маршрутизатора.The claimed method of probabilistic weighted fair queuing allows to achieve the specified technical result by eliminating discrimination of low-priority data traffic, as well as reducing the average network delay of packets for low-priority traffic due to the fact that at the first stage, the absolute weight for each queue, the rate of arrival of priority data traffic flows and the average packet size for each flow of priority data traffic, all options (combinations) of active queues are formed, the service intensity vector (WM) is calculated for each option (combination) of active queues, the service intensity interval vector (IntWM) is formed for each service intensity vector, on the second stage, they check the current state of the output port of the router, check the presence of packets in the queues, if the queues are not empty, then form the vector of active queues, select the vector of service intensity intervals based on the vector of active queues, generate a random number uniformly distributed in the range from 0 to 1, choose the number of the active queue based on the random number and the vector of service intervals (IntWM), send the packet to the router output port, update the current state of the router output port .

Устройство вероятностного взвешенного справедливого обслуживания очередей (фиг. 2) состоит из от 1 до n входных портов, классификатора 21, модуля маршрутизации 22, от 1 до n модулей очередей 23, от 1 до n модулей вероятностного взвешенного справедливого обслуживания очередей 24, от 1 до n выходных портов, при этом потоки приоритетного трафика данных поступают на входные порты, затем с входных портов потоки приоритетного трафика данных передаются на вход классификатора, выход классификатора соединен с входом модуля маршрутизации, с выхода модуля маршрутизации потоки приоритетного трафика данных поступают на вход соответствующего модуля очередей, с выхода модуля очередей потоки приоритетного трафика данных передаются в соответствующий модуль вероятностного взвешенного справедливого обслуживания очередей, с выхода модуля вероятностного взвешенного справедливого обслуживания очередей потоки приоритетного трафика данных поступают на выходные порты.The probabilistic weighted fair queuing device (FIG. 2) consists of 1 to n input ports, a classifier 21, a routing module 22, 1 to n queue modules 23, 1 to n probabilistic weighted fair queuing modules 24, from 1 to n output ports, while the priority data traffic streams arrive at the input ports, then from the input ports the priority data traffic streams are transmitted to the input of the classifier, the output of the classifier is connected to the input of the routing module, from the output of the routing module the streams of priority data traffic arrive at the input of the corresponding queue module , from the output of the queuing module, the priority data traffic flows are transferred to the corresponding module of the probabilistic weighted fair queuing, from the output of the probabilistic weighted fair queuing module, the priority data traffic flows arrive at the output ports.

Входные порты от 1 до n выполнены с возможностью приема потоков приоритетного трафика данных.Input ports from 1 to n are configured to receive streams of priority data traffic.

Классификатор 21 выполнен с возможностью отнесения потоков трафика данных к классам в соответствии с полем ToS Precedence заголовка IP пакета, либо в соответствии с полем DSCP заголовка IP пакета.Classifier 21 is configured to classify data traffic flows according to the ToS Precedence field of the IP packet header, or according to the DSCP field of the IP packet header.

Модуль маршрутизации 22, выполненный с возможностью продвижения пакета в выходной порт в соответствии с таблицей маршрутизации.Routing module 22 configured to forward the packet to the output port in accordance with the routing table.

Модули очередей 23 (от 1 до n) выполнены с возможностью помещения пакетов в очередь соответствующего класса в соответствии с полем ToS Precedence заголовка IP пакета, либо в соответствии с полем DSCP заголовка IP пакета; измерения скорости поступления трафика данных и средней длины пакетов соответствующего класса.Queue modules 23 (from 1 to n) are configured to place packets in a queue of the appropriate class in accordance with the ToS Precedence field of the IP packet header, or in accordance with the DSCP field of the IP packet header; measuring the rate of data traffic arrival and the average length of packets of the corresponding class.

Выходные порты от 1 до n выполнены с возможностью передачи потоков приоритетного трафика данных в канал связи.Output ports from 1 to n are configured to transfer priority data traffic streams to the communication channel.

Модули вероятностного взвешенного справедливого обслуживания очередей 24 (от 1 до n), каждый из которых содержит модуль расчета вектора интенсивностей 24.1, модуль расчета вектора интервалов 24.2, модуль выбора пакета 24.3, генератор случайного числа 24.4, модуль формирования комбинаций активных очередей 24.5 при этом все модули в устройстве соединены посредством общей внутренней шины AXI4, которая выступает в качестве средства обмена информацией между модулями.Probabilistic weighted fair queuing modules 24 (from 1 to n), each of which contains a module for calculating the intensity vector 24.1, a module for calculating the vector of intervals 24.2, a packet selection module 24.3, a random number generator 24.4, a module for generating combinations of active queues 24.5, while all modules in the device are connected via a common internal bus AXI4, which acts as a means of information exchange between modules.

Модуль расчета вектора интенсивностей 24.1, выполненный с возможностью расчета вектора интенсивностей обслуживания (WM), конфигурации параметров, как минимум, абсолютного веса для каждой очереди, скорости поступления потоков приоритетного трафика данных и среднего размера пакетов для каждого потока приоритетного трафика данных.A rate vector calculation module 24.1 configured to calculate a service rate vector (WM), parameter configuration of at least an absolute weight for each queue, an arrival rate of priority data traffic streams, and an average packet size for each priority data traffic stream.

Модуль расчета вектора интервалов 24.2, выполненный с возможностью формирования вектора интервалов интенсивностей обслуживания (IntWM) для каждого вектора интенсивностей обслуживания.An interval vector calculation module 24.2, configured to generate a service rate interval vector (IntWM) for each service rate vector.

Модуль выбора пакета, выполненный с возможностью продвижения пакетов из множества очередей соответствующего класса в выходной порт, проверке и обновления текущего состояния выходного порта маршрутизатора, проверки наличия пакетов в очередях, выбора вектора интервалов интенсивностей обслуживания с учетом вектора активных очередей, выбора номер активной очереди с учетом случайного числа и вектора интервалов интенсивностей обслуживания (IntWM).A packet selection module configured to forward packets from a plurality of queues of the corresponding class to the output port, check and update the current state of the router's output port, check for the presence of packets in queues, select the vector of service intensity intervals taking into account the vector of active queues, select the number of the active queue taking into account a random number and a vector of service intensity intervals (IntWM).

Генератор случайного числа 24.4, выполненный с возможностью генерации случайного числа, равномерно распределенного в интервале от 0 до 1.Random number generator 24.4 configured to generate a random number uniformly distributed between 0 and 1.

Модуль формирования комбинаций активных очередей, выполненный с возможностью формирования всех комбинаций активных очередей.A module for generating combinations of active queues, configured to generate all combinations of active queues.

Модуль восстановления приоритетов 27.7, выполненный с возможностью восстановления исходного приоритета в поле DSCP заголовка IP пакета, либо в поле ToS Precedence заголовка IP пакета с учетом таблицы соответствия.Priority recovery module 27.7, configured to restore the original priority in the DSCP field of the IP packet header, or in the ToS Precedence field of the IP packet header, taking into account the lookup table.

Все модули могут быть реализованы по известной схеме, например, маршрутизатор Eltex ME 5000 (см. https://eltex-co.ru/catalog/provider_edge_router/marshrutizator_me5000).All modules can be implemented according to a well-known scheme, for example, the Eltex ME 5000 router (see https://eltex-co.ru/catalog/provider_edge_router/marshrutizator_me5000).

Устройство работает следующим образом.The device works as follows.

На первом этапе конфигурируют модуль вероятностного взвешенного справедливого обслуживания очередей 24. В модуле расчета вектора интенсивностей 24.1 устанавливают абсолютный вес для каждой очереди, скорость поступления потоков приоритетного трафика данных и средний размер пакетов для каждого потока приоритетного трафика данных. На основании этих данных в модуле формирования комбинаций активных очередей формируют все варианты (комбинации) активных очередей. В модуле расчета вектора интенсивностей 24.1 рассчитывают для каждого варианта (комбинации) активных очередей вектор интенсивностей обслуживания (WM). В модуле расчета вектора интервалов 24.2 формируют вектор интервалов интенсивностей обслуживания (IntWM) для каждого вектора интенсивностей обслуживания.At the first stage, the probabilistic weighted fair queuing module 24 is configured. In the intensity vector calculation module 24.1, the absolute weight for each queue, the arrival rate of priority data traffic streams, and the average packet size for each priority data traffic stream are set. Based on these data, all variants (combinations) of active queues are formed in the module for generating combinations of active queues. In the rate vector calculation module 24.1, a service rate vector (WM) is calculated for each option (combination) of active queues. In the interval vector calculation module 24.2, a service rate interval vector (IntWM) is generated for each service rate vector.

На втором этапе принимают потоки приоритетного трафика данных на входные порты маршрутизатора и затем передают в классификатор. В классификаторе 21 классифицируют потоки приоритетного трафика данных на классы в соответствии с полем ToS Precedence заголовка IP пакета, либо в соответствии с полем DSCP заголовка IP пакета. После классификатора 21 потоки приоритетного трафика данных поступают в модуль маршрутизации, где осуществляется продвижение пакетов в соответствии с таблицей маршрутизации на соответствующий модуль очередей. В модуле очередей 23 помещают в очередь пакеты трафика данных соответствующего класса в соответствии с полем ToS Precedence заголовка IP пакета, либо в соответствии с полем DSCP заголовка IP пакета. Модуль выбора пакета 24.3 проверяет текущее состояние выходного порта маршрутизатора и проверяет наличие пакетов в очередях соответствующего модуля очередей 23, если очереди не пусты, то в модуле формирования комбинаций активных очередей 24.5 формируют вектор активных очередей, а затем осуществляют выбор вектора интервалов интенсивностей обслуживания с учетом вектора активных очередей. Одновременно с этим в генераторе случайного числа 24.4 генерируют случайное число, равномерно распределенное в интервале от 0 до 1. С учетом случайного числа и вектора интервалов интенсивностей обслуживания (IntWM) в модуле выбора пакета выбирают номер активной очереди соответствующего модуля очередей 23 и передают пакет в выходной порт маршрутизатора. После этого в модуле выбора пакета 24.3 обновляют текущее состояние выходного порта маршрутизатора.At the second stage, streams of priority data traffic are received at the input ports of the router and then transferred to the classifier. Classifier 21 classifies priority data traffic flows into classes according to the ToS Precedence field of the IP packet header, or according to the DSCP field of the IP packet header. After classifier 21, priority data traffic flows enter the routing module, where packets are promoted in accordance with the routing table to the corresponding queue module. In the queue module 23, the data traffic packets of the corresponding class are queued in accordance with the ToS Precedence field of the IP packet header, or in accordance with the DSCP field of the IP packet header. The packet selection module 24.3 checks the current state of the output port of the router and checks for the presence of packets in the queues of the corresponding queue module 23; active queues. At the same time, a random number evenly distributed in the range from 0 to 1 is generated in the random number generator 24.4. Taking into account the random number and the service intensity interval vector (IntWM), the active queue number of the corresponding queue module 23 is selected in the packet selection module and the packet is transmitted to the output router port. After that, in the package selection module 24.3, the current state of the output port of the router is updated.

Интерактивный процесс функционирования устройства следует рассмотреть на примере. Допустим, в устройство поступают три потока приоритетного трафика данных на разные входные порты, которые необходимо передать на один выходной порт. Скорость поступления пакетов от первого источника - 30 Кбит/с, от второго источника - 21 Кбит/с, от третьего источника - 14,7 Кбит/с. Средний размер пакетов от всех источников равен 500 байт. На выходном порту установлена пропускная способность равная 31,4 Кбит/с.The interactive process of the device operation should be considered with an example. Suppose a device receives three streams of priority data traffic on different input ports that need to be transferred to one output port. The packet arrival rate from the first source is 30 Kbps, from the second source - 21 Kbps, from the third source - 14.7 Kbps. The average packet size from all sources is 500 bytes. The output port has a bandwidth of 31.4 Kbps.

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

Figure 00000001
, вес второго потока трафика данных
Figure 00000002
, вес третьего потока трафика данных
Figure 00000003
. На основе абсолютных весов для каждой очереди, скорости поступления потоков приоритетного трафика данных и среднего размера пакетов для каждого потока приоритетного трафика данных в модуле формирования активных очередей формируют варианты (комбинации) активных очередей. Для представленных потоков приоритетного трафика данных получаются следующие варианты (комбинации) активных очередей -
Figure 00000004
Figure 00000005
Figure 00000006
Figure 00000007
Figure 00000008
Figure 00000009
Figure 00000010
At the first stage, the module of probabilistic weighted fair queuing 24 is configured in the device at the output port.
Figure 00000001
, the weight of the second data traffic flow
Figure 00000002
, the weight of the third data traffic flow
Figure 00000003
. Based on the absolute weights for each queue, the arrival rate of priority data traffic streams, and the average packet size for each priority data traffic stream, variants (combinations) of active queues are formed in the active queuing module. For the presented flows of priority data traffic, the following variants (combinations) of active queues are obtained -
Figure 00000004
Figure 00000005
Figure 00000006
Figure 00000007
Figure 00000008
Figure 00000009
Figure 00000010

В модуле расчета вектора интенсивностей 24.1 рассчитывают для каждого варианта (комбинации) активных очередей вектор интенсивностей обслуживания (WM), который представлен в таблице 1.In the intensity vector calculation module 24.1, a service intensity vector (WM) is calculated for each option (combination) of active queues, which is presented in Table 1.

Таблица 1 - Вектор интенсивностей обслуживания (WM)Table 1 - Service rate vector (WM)

Варианты (комбинации) активных очередейVariants (combinations) of active queues Вектор интенсивностей обслуживания (WM)Service rate vector (WM)

Figure 00000011
Figure 00000011
Figure 00000012
Figure 00000012
Figure 00000013
Figure 00000013
Figure 00000014
Figure 00000014
Figure 00000015
Figure 00000015
Figure 00000016
Figure 00000016
Figure 00000017
Figure 00000017
Figure 00000018
Figure 00000018
Figure 00000019
Figure 00000019
Figure 00000020
Figure 00000020
Figure 00000021
Figure 00000021
Figure 00000022
Figure 00000022
Figure 00000023
Figure 00000023
Figure 00000024
Figure 00000024

В модуле расчета вектора интервалов 24.2 для каждого вектора интенсивностей обслуживания формируют вектор интервалов интенсивностей обслуживания (IntWM), представленный в таблице 2.In the interval vector calculation module 24.2, for each service intensity vector, a service intensity interval vector (IntWM) is generated, shown in Table 2.

Таблица 2 - Вектор интервалов интенсивностей обслуживания (IntWM)Table 2 - Service rate interval vector (IntWM)

Вектор интенсивностей обслуживания (WM)Service rate vector (WM) Вектор интервалов интенсивностей обслуживания (IntWM)Service rate interval vector (IntWM)

Figure 00000025
Figure 00000025
Figure 00000026
Figure 00000026
Figure 00000027
Figure 00000027
Figure 00000028
Figure 00000028
Figure 00000029
Figure 00000029
Figure 00000030
Figure 00000030
Figure 00000031
Figure 00000031
Figure 00000032
Figure 00000032
Figure 00000033
Figure 00000033
Figure 00000034
Figure 00000034
Figure 00000035
Figure 00000035
Figure 00000036
Figure 00000036
Figure 00000037
Figure 00000037
Figure 00000038
Figure 00000038

После того как будет сконфигурирован модуль вероятностного взвешенного справедливого обслуживания очередей 24 на входные порты устройства поступают 3 потока приоритетного трафика данных. В классификаторе осуществляется отнесения потоков трафика данных к соответствующим классам на основании значения поля ToS Precedence заголовка IP пакета, либо в соответствии с полем DSCP заголовка IP пакета. В модуле маршрутизации 22 все потоки трафика данных перенаправляются на выходной порт, который соединен каналом связи с встречным маршрутизатором. Из модуля маршрутизации 22 пакеты приоритетного трафика данных поступают в модуль очередей 23, в котором помещают пакеты в очередь соответствующего класса на основе значений в поле ToS Precedence заголовка IP пакета, либо в поле DSCP заголовка IP пакета. Модуль выбора пакета 24.3 проверяет наличие пакетов в очередях модуля очередей 23, если очереди не пусты, то в модуле формирования комбинаций активных очередей 24.5 формируют вектор активных очередей. Далее в модуле выбора пакета 24.3 осуществляют выбор вектора интервалов интенсивностей обслуживания с учетом вектора активных очередей (таблица 2). Одновременно с этим в генераторе случайного числа 24.4 генерируют случайное число, равномерно распределенное в интервале от 0 до 1.After the probabilistic weighted fair queuing module 24 is configured, 3 streams of priority data traffic arrive at the input ports of the device. The classifier assigns data traffic flows to the corresponding classes based on the value of the ToS Precedence field of the IP packet header, or in accordance with the DSCP field of the IP packet header. In the routing module 22, all data traffic flows are redirected to the output port, which is connected by a communication channel to the opposite router. From the routing module 22, priority data traffic packets enter the queue module 23, which places the packets in the queue of the appropriate class based on the values in the ToS Precedence field of the IP packet header, or in the DSCP field of the IP packet header. The package selection module 24.3 checks for the presence of packets in the queues of the queue module 23, if the queues are not empty, then a vector of active queues is formed in the module for generating combinations of active queues 24.5. Next, in the package selection module 24.3, a vector of intervals of service rates is selected taking into account the vector of active queues (table 2). At the same time, a random number is generated in the random number generator 24.4, uniformly distributed in the range from 0 to 1.

В модуле выбора пакета 24.3 выбирают номер активной очереди с учетом случайного числа и вектора интервалов интенсивностей обслуживания и передают пакет в выходной порт маршрутизатора. После обслуживания пакета модуль выбора пакета 24.3 обновляет текущее состояние выходного порта устройства.In the packet selection module 24.3, the active queue number is selected, taking into account a random number and a vector of service intervals, and the packet is transmitted to the output port of the router. After serving the packet, the packet selection module 24.3 updates the current state of the output port of the device.

Благодаря новой совокупности существенных признаков достигается указанный технический результат за счет дополнительно введенных от 1 до n модулей вероятностного взвешенного справедливого обслуживания очередей 24, при этом каждый модуль вероятностного взвешенного справедливого обслуживания очередей 24 содержит модуль расчета вектора интенсивностей 24.1, модуль расчета вектора интервалов 24.2, модуль выбора пакета 24.3, генератор случайного числа 24.4, модуль формирования комбинаций активных очередей 24.5.Thanks to a new set of essential features, the specified technical result is achieved by additionally introduced from 1 to n modules of probabilistic weighted fair queuing 24, each module of probabilistic weighted fair queuing 24 contains a module for calculating the intensity vector 24.1, a module for calculating the vector of intervals 24.2, a selection module package 24.3, random number generator 24.4, module for generating combinations of active queues 24.5.

Правомерность теоретических предпосылок проверялась на фрагменте транспортной сети связи в среде сетевого симулятора OMNet++ при следующих исходных данных (фиг. 4):The validity of the theoretical premises was tested on a fragment of the transport communication network in the OMNet++ network simulator environment with the following initial data (Fig. 4):

- число маршрутизаторов в транспортной сети связи

Figure 00000039
- number of routers in the transport communication network
Figure 00000039

- число источников информации

Figure 00000040
- number of information sources
Figure 00000040

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

Figure 00000041
Кбит/с;- packet arrival rate of the first data traffic flow
Figure 00000041
Kbps;

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

Figure 00000042
Кбит/с;- the rate of arrival of packets of the second data traffic flow
Figure 00000042
Kbps;

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

Figure 00000043
Кбит/с;- packet arrival rate of the third data traffic stream
Figure 00000043
Kbps;

- средняя длина пакетов всех потоков трафика данных

Figure 00000044
бит;- average packet length of all data traffic flows
Figure 00000044
bit;

- пропускная способность канала связи

Figure 00000045
Кбит/с.- bandwidth of the communication channel
Figure 00000045
kbps.

Анализ результатов имитационного моделирования (фиг. 5-8) показывает, что среднее время ожидания пакетов в очереди планировщика GPS и в предложенной группе изобретений практически не отличаются во всем диапазоне коэффициента использования канала связи. Значения среднего времени ожидания пакетов в очереди планировщика WFQ лежат ниже значений среднего времени ожидания пакетов в очереди планировщика GPS в диапазоне коэффициента использования канала связи от 0,6 до 1. Тем самым предложенная группа изобретений позволяет более точно аппроксимировать обобщенную систему совместного использования процессоров (GPS).Analysis of the simulation results (Fig. 5-8) shows that the average waiting time for packets in the GPS scheduler queue and in the proposed group of inventions practically do not differ in the entire range of the communication channel utilization factor. The values of the average waiting time of packets in the queue of the WFQ scheduler are lower than the values of the average waiting time of packets in the queue of the GPS scheduler in the range of the communication channel utilization factor from 0.6 to 1. Thus, the proposed group of inventions allows to more accurately approximate the generalized processor sharing system (GPS) .

Вычислительная сложность планировщика WFQ равна O(N), где N - это число очередей (см. Кучерявый Е.А. Управление трафиком и качество обслуживания в сети Интернет. - СПб. Наука и Техника, 2004. - 187 с). В предлагаемой группе изобретений вычислительная сложность уменьшается за счет того, что на первом этапе устанавливают абсолютный вес для каждой очереди, скорость поступления потоков приоритетного трафика данных и средний размер пакетов для каждого потока приоритетного трафика данных, формируют все варианты (комбинации) активных очередей, рассчитывают для каждого варианта (комбинации) активных очередей вектор интенсивностей обслуживания (WM), формируют вектор интервалов интенсивностей обслуживания (IntWM) для каждого вектора интенсивностей обслуживания, на втором этапе принимают потоки приоритетного трафика данных на входные порты устройства, классифицируют потоки приоритетного трафика данных на классы в соответствии с полем ToS Precedence заголовка IP пакета, либо в соответствии с полем DSCP заголовка IP пакета, маршрутизируют потоки приоритетного трафика данных на соответствующие выходные порты маршрутизатора на основании таблицы маршрутизации, помещают в очередь пакеты трафика данных соответствующего класса в соответствии с полем ToS Precedence заголовка IP пакета, либо в соответствии с полем DSCP заголовка IP пакета, проверяют текущее состояние выходного порта маршрутизатора, проверяют наличие пакетов в очередях, если очереди не пусты, то формируют вектор активных очередей, осуществляют выбор вектора интервалов интенсивностей обслуживания с учетом вектора активных очередей, генерируют случайное число, равномерно распределенное в интервале от 0 до 1, выбирают номер активной очереди с учетом случайного числа и вектора интервалов интенсивностей обслуживания (IntWM), передают пакет в выходной порт устройства, обновляют текущее состояние выходного порта устройства.The computational complexity of the WFQ scheduler is O(N), where N is the number of queues (see E. A. Kucheryavy, traffic control and quality of service on the Internet. - St. Petersburg. Science and Technology, 2004. - 187 p.). In the proposed group of inventions, the computational complexity is reduced due to the fact that, at the first stage, the absolute weight for each queue, the arrival rate of priority data traffic flows and the average packet size for each priority data traffic flow are set, all options (combinations) of active queues are formed, calculated for of each option (combination) of active queues, the service intensity vector (WM), form the service intensity interval vector (IntWM) for each service intensity vector, at the second stage receive priority data traffic flows to the input ports of the device, classify the priority data traffic flows into classes according to with the ToS Precedence field of the IP packet header, or in accordance with the DSCP field of the IP packet header, route priority data traffic flows to the corresponding output ports of the router based on the routing table, queue data traffic packets x of the corresponding class in accordance with the ToS Precedence field of the IP packet header, or in accordance with the DSCP field of the IP packet header, check the current state of the output port of the router, check the presence of packets in the queues, if the queues are not empty, then form a vector of active queues, select the vector intervals of service rates, taking into account the vector of active queues, generate a random number uniformly distributed in the interval from 0 to 1, select the number of the active queue, taking into account the random number and the vector of service rate intervals (IntWM), transmit the packet to the output port of the device, update the current state of the output device port.

На фигуре 9 А) показано, что для комбинации активных очередей

Figure 00000046
то есть в трех очередях находятся пакеты соответствующего класса, вектор интенсивностей обслуживания WM равен
Figure 00000047
и вектор интервалов интенсивностей обслуживания IntWM равен
Figure 00000048
В случае, если выходной порт устройства свободен, то выбирают номер активной очереди с учетом случайного числа и вектора интервалов интенсивностей обслуживания (IntWM). Если случайное число попало в диапазон от 0 до 0,51, то передают пакет в выходной порт устройства из очереди 1 класса. Если случайное число попало в диапазон от 0,51 до 0,816, то передают пакет в выходной порт устройства из очереди 2 класса. Если случайное число попало в диапазон от 0,816 до 1, то передают пакет в выходной порт устройства из очереди 3 класса.Figure 9A) shows that for a combination of active queues
Figure 00000046
that is, there are packets of the corresponding class in three queues, the service rate vector WM is equal to
Figure 00000047
and the service rate interval vector IntWM is equal to
Figure 00000048
If the output port of the device is free, then the number of the active queue is selected taking into account a random number and a vector of service intensity intervals (IntWM). If the random number is in the range from 0 to 0.51, then the packet is transmitted to the output port of the device from the class 1 queue. If the random number is in the range from 0.51 to 0.816, then the packet is transmitted to the output port of the device from the class 2 queue. If the random number is in the range from 0.816 to 1, then the packet is transmitted to the output port of the device from the class 3 queue.

На фигуре 9 Б) показано, что для комбинации активных очередей

Figure 00000049
то есть в трех очередях находятся пакеты соответствующего класса, вектор интенсивностей обслуживания WM равен
Figure 00000050
и вектор интервалов интенсивностей обслуживания IntWM равен
Figure 00000051
В случае, если выходной порт устройства свободен, то выбирают номер активной очереди с учетом случайного числа и вектора интервалов интенсивностей обслуживания (IntWM). Если случайное число попало в диапазон от 0 до 1, то передают пакет в выходной порт устройства из очереди 1 класса. Ввиду того, что диапазон попадания случайного числа для очередей 2 и 3 класса совпадает с диапазоном попадания случайного числа для очереди 1 класса, то они не рассматриваются.Figure 9 B) shows that for a combination of active queues
Figure 00000049
that is, there are packets of the corresponding class in three queues, the service rate vector WM is equal to
Figure 00000050
and the service rate interval vector IntWM is equal to
Figure 00000051
If the output port of the device is free, then the number of the active queue is selected taking into account a random number and a vector of service intensity intervals (IntWM). If the random number is in the range from 0 to 1, then the packet is transmitted to the output port of the device from the class 1 queue. Since the hit range of a random number for class 2 and 3 queues is the same as the hit range of a random number for class 1 queue, they are not considered.

На фигуре 9 В) показано, что для комбинации активных очередей

Figure 00000052
то есть в трех очередях находятся пакеты соответствующего класса, вектор интенсивностей обслуживания WM равен
Figure 00000053
и вектор интервалов интенсивностей обслуживания IntWM равен
Figure 00000054
В случае, если выходной порт устройства свободен, то выбирают номер активной очереди с учетом случайного числа и вектора интервалов интенсивностей обслуживания (IntWM). Если случайное число попало в диапазон от 0 до 0,735, то передают пакет в выходной порт устройства из очереди 1 класса. Если случайное число попало в диапазон от 0,735 до 1, то передают пакет в выходной порт устройства из очереди 3 класса. Ввиду того, что для очереди 2 класса диапазон попадания случайного числа совпадает с диапазоном попадания случайного числа для очереди 1 класса, то данная очередь не рассматриваются.Figure 9B) shows that for a combination of active queues
Figure 00000052
that is, there are packets of the corresponding class in three queues, the service rate vector WM is equal to
Figure 00000053
and the service rate interval vector IntWM is equal to
Figure 00000054
If the output port of the device is free, then the number of the active queue is selected taking into account a random number and a vector of service intensity intervals (IntWM). If the random number is in the range from 0 to 0.735, then the packet is transmitted to the output port of the device from the class 1 queue. If the random number is in the range from 0.735 to 1, then the packet is sent to the output port of the device from the class 3 queue. Due to the fact that for the class 2 queue, the hit range of the random number coincides with the hit range of the random number for the class 1 queue, this queue is not considered.

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

Figure 00000055
за счет того, что необходимо рассматривать не все очереди, а только часть из них в зависимости от номера активной очереди, случайного числа и вектора интервалов интенсивностей обслуживания (IntWM).Therefore, for the considered group of inventions, the computational complexity decreases and is equal to
Figure 00000055
due to the fact that it is necessary to consider not all queues, but only a part of them, depending on the number of the active queue, a random number and the vector of service intensity intervals (IntWM).

Заявленные способ вероятностного взвешенного справедливого обслуживания очередей и устройство его реализующее обеспечивают уменьшение сложности вычислений при поддержки большого количества классов или потоков обслуживания, а также позволяет более точно осуществить аппроксимацию обобщенной системы совместного использования процессоров (GPS) за счет того, что на первом этапе устанавливают абсолютный вес для каждой очереди, скорость поступления потоков приоритетного трафика данных и средний размер пакетов для каждого потока приоритетного трафика данных в модуле расчета вектора интенсивностей 24.1, формируют все варианты (комбинации) активных очередей в модуле формирования комбинаций активных очередей 24.5, рассчитывают для каждого варианта (комбинации) активных очередей вектор интенсивностей обслуживания (WM) в модуле расчета вектора интенсивностей 24.1, формируют вектор интервалов интенсивностей обслуживания (IntWM) для каждого вектора интенсивностей обслуживания в модуле расчета вектора интервалов 24.2, на втором этапе принимают потоки приоритетного трафика данных на входные порты маршрутизатора, классифицируют потоки приоритетного трафика данных на классы в соответствии с полем ToS Precedence заголовка IP пакета, либо в соответствии с полем DSCP заголовка IP пакета в классификаторе 21, маршрутизируют потоки приоритетного трафика данных на соответствующие выходные порты маршрутизатора на основании таблицы маршрутизации в модуле маршрутизации 22, помещают в очередь пакеты трафика данных соответствующего класса в соответствии с полем ToS Precedence заголовка IP пакета, либо в соответствии с полем DSCP заголовка IP пакета в модуле очередей 23, проверяют текущее состояние выходного порта маршрутизатора, проверяют наличие пакетов в очередях в модуле выбора пакета 24.3, если очереди не пусты, то формируют вектор активных очередей в модуле формирования комбинаций активных очередей 24.5, осуществляют выбор вектора интервалов интенсивностей обслуживания с учетом вектора активных очередей в модуле очередей 23, генерируют случайное число, равномерно распределенное в интервале от 0 до 1, в генераторе случайного числа 24.4, выбирают номер активной очереди в модуле выбора пакета 24.3 с учетом случайного числа и вектора интервалов интенсивностей обслуживания (IntWM), передают пакет в выходной порт маршрутизатора из модуля выбора пакета 24.3, обновляют текущее состояние выходного порта маршрутизатора в модуле выбора пакета 24.3.The claimed method of probabilistic weighted fair queuing and the device that implements it provide a reduction in the complexity of calculations while supporting a large number of classes or service flows, and also allows you to more accurately approximate the generalized processor sharing system (GPS) due to the fact that at the first stage the absolute weight is set for each queue, the rate of arrival of priority data traffic flows and the average packet size for each priority data traffic flow in the intensity vector calculation module 24.1, all options (combinations) of active queues are formed in the module for generating combinations of active queues 24.5, calculated for each option (combination) active queues service rate vector (WM) in the rate vector calculation module 24.1, form a service rate interval vector (IntWM) for each service rate vector in the vector calculation module intervals 24.2, at the second stage they receive priority data traffic flows to the input ports of the router, classify priority data traffic flows into classes in accordance with the ToS Precedence field of the IP packet header, or in accordance with the DSCP field of the IP packet header in classifier 21, route the priority traffic flows data to the corresponding output ports of the router based on the routing table in the routing module 22, queue the data traffic packets of the corresponding class in accordance with the ToS Precedence field of the IP packet header, or in accordance with the DSCP field of the IP packet header in the queue module 23, check the current state output port of the router, check the presence of packets in the queues in the packet selection module 24.3, if the queues are not empty, then form the vector of active queues in the module for generating combinations of active queues 24.5, select the vector of service intensity intervals taking into account the active vector of queues in the queue module 23, generate a random number uniformly distributed in the interval from 0 to 1, in the random number generator 24.4, select the number of the active queue in the package selection module 24.3, taking into account the random number and the vector of service intensity intervals (IntWM), transmit the packet to the output port of the router from the package selection module 24.3, update the current state of the output port of the router in the package selection module 24.3.

Claims (3)

1. Устройство вероятностного взвешенного справедливого обслуживания очередей, содержащее от 1 до n входных портов для приема потоков приоритетного трафика данных, классификатор, выполненный с возможностью отнесения потоков трафика данных к классам в соответствии с полем ToS Precedence заголовка IP пакета, либо в соответствии с полем DSCP заголовка IP пакета, модуль маршрутизации, выполненный с возможностью продвижения пакета в выходной порт в соответствии с таблицей маршрутизации, от 1 до n модулей очередей для помещения пакетов в очередь соответствующего класса в соответствии с полем ToS Precedence заголовка IP пакета, либо в соответствии с полем DSCP заголовка IP пакета; измерения скорости поступления трафика данных и средней длины пакетов соответствующего класса, от 1 до n выходных портов для передачи потоков приоритетного трафика данных в канал связи, отличающееся тем, что дополнительно включены от 1 до n модулей вероятностного взвешенного справедливого обслуживания очередей, причем потоки приоритетного трафика данных поступают на входные порты, затем с входных портов потоки приоритетного трафика данных передаются на вход классификатора, выход классификатора соединен с входом модуля маршрутизации, с выхода модуля маршрутизации потоки приоритетного трафика данных поступают на вход соответствующего модуля очередей, с выхода модуля очередей потоки приоритетного трафика данных передаются в соответствующий модуль вероятностного взвешенного справедливого обслуживания очередей, с выхода модуля вероятностного взвешенного справедливого обслуживания очередей потоки приоритетного трафика данных поступают на выходные порты.1. A probabilistic weighted fair queuing device containing from 1 to n input ports for receiving priority data traffic streams, a classifier configured to classify data traffic streams into classes in accordance with the ToS Precedence field of the IP packet header, or in accordance with the DSCP field header of the IP packet, a routing module configured to forward the packet to the output port in accordance with the routing table, from 1 to n queue modules for placing packets in the queue of the appropriate class in accordance with the ToS Precedence field of the IP header of the packet, or in accordance with the DSCP field IP packet header measuring the rate of data traffic arrival and the average length of packets of the corresponding class, from 1 to n output ports for transmitting priority data traffic flows to the communication channel, characterized in that from 1 to n modules of probabilistic weighted fair queuing are additionally included, moreover, priority data traffic flows arrive at the input ports, then from the input ports the priority data traffic flows are transmitted to the input of the classifier, the output of the classifier is connected to the input of the routing module, from the output of the routing module the flows of priority data traffic arrive at the input of the corresponding queue module, from the output of the queue module the priority data traffic flows are transmitted to the corresponding module of the probabilistic weighted fair queuing, from the output of the module of the probabilistic weighted fair queuing, priority data traffic flows arrive at the output ports. 2. Устройство по п. 1, в котором модуль вероятностного взвешенного справедливого обслуживания очередей содержит модуль расчета вектора интенсивностей, выполненный с возможностью расчета вектора интенсивностей обслуживания (WM), конфигурации параметров, как минимум, абсолютного веса для каждой очереди, скорости поступления потоков приоритетного трафика данных и среднего размера пакетов для каждого потока приоритетного трафика данных, модуль расчета вектора интервалов, выполненный с возможностью формирования вектора интервалов интенсивностей обслуживания (IntWM) для каждого вектора интенсивностей обслуживания, модуль выбора пакета, выполненный с возможностью продвижения пакетов из множества очередей соответствующего класса в выходной порт, проверке и обновления текущего состояния выходного порта маршрутизатора, проверки наличия пакетов в очередях, выбора вектора интервалов интенсивностей обслуживания с учетом вектора активных очередей, выбора номер активной очереди с учетом случайного числа и вектора интервалов интенсивностей обслуживания (IntWM), генератор случайного числа, выполненный с возможностью генерации случайного числа, равномерно распределенного в интервале от 0 до 1, модуль формирования комбинаций активных очередей, выполненный с возможностью формирования всех комбинаций активных очередей, при этом все модули в устройстве соединены посредством общей внутренней шины AXI4, которая выступает в качестве средства обмена информацией между модулями.2. The device according to claim 1, in which the probabilistic weighted fair queuing module contains a rate vector calculation module configured to calculate the service rate vector (WM), parameter configuration, at least the absolute weight for each queue, the rate of arrival of priority traffic flows data and average packet size for each priority data traffic flow, an interval vector calculation module configured to generate a service rate interval vector (IntWM) for each service rate vector, a packet selection module configured to promote packets from a plurality of queues of the corresponding class to the output port, checking and updating the current state of the output port of the router, checking the presence of packets in queues, choosing a vector of service intensity intervals, taking into account the vector of active queues, choosing an active queue number, taking into account a random number service intensity interval vector (IntWM), a random number generator configured to generate a random number uniformly distributed in the interval from 0 to 1, a module for generating combinations of active queues, configured to generate all combinations of active queues, while all modules in device are connected via a common internal AXI4 bus, which acts as a means of information exchange between modules. 3. Способ вероятностного взвешенного справедливого обслуживания очередей, осуществляемый устройством по п. 1, заключающийся в том, что на первом этапе устанавливают абсолютный вес для каждой очереди, скорость поступления потоков приоритетного трафика данных и средний размер пакетов для каждого потока приоритетного трафика данных, формируют все варианты (комбинации) активных очередей, рассчитывают для каждого варианта (комбинации) активных очередей вектор интенсивностей обслуживания (WM), формируют вектор интервалов интенсивностей обслуживания (IntWM) для каждого вектора интенсивностей обслуживания, на втором этапе принимают потоки приоритетного трафика данных на входные порты устройства, классифицируют потоки приоритетного трафика данных на классы в соответствии с полем ToS Precedence заголовка IP пакета, либо в соответствии с полем DSCP заголовка IP пакета, маршрутизируют потоки приоритетного трафика данных на соответствующие выходные порты маршрутизатора на основании таблицы маршрутизации, помещают в очередь пакеты трафика данных соответствующего класса в соответствии с полем ToS Precedence заголовка IP пакета, либо в соответствии с полем DSCP заголовка IP пакета, проверяют текущее состояние выходного порта устройства, проверяют наличие пакетов в очередях, если очереди не пусты, то формируют вектор активных очередей, осуществляют выбор вектора интервалов интенсивностей обслуживания с учетом вектора активных очередей, генерируют случайное число, равномерно распределенное в интервале от 0 до 1, выбирают номер активной очереди с учетом случайного числа и вектора интервалов интенсивностей обслуживания (IntWM), передают пакет в выходной порт устройства, обновляют текущее состояние выходного порта устройства.3. The method of probabilistic weighted fair queuing performed by the device according to claim 1, which consists in setting the absolute weight for each queue, the arrival rate of priority data traffic flows and the average packet size for each priority data traffic flow at the first stage, form all variants (combinations) of active queues, for each variant (combination) of active queues, a service intensity vector (WM) is calculated, a service intensity interval vector (IntWM) is formed for each service intensity vector, at the second stage priority data traffic flows are received at the input ports of the device, classify the priority data traffic flows into classes in accordance with the ToS Precedence field of the IP packet header, or in accordance with the DSCP field of the IP packet header, route the priority data traffic flows to the corresponding output ports of the router based on the routing table tations, queue data traffic packets of the corresponding class in accordance with the ToS Precedence field of the IP packet header, or in accordance with the DSCP field of the IP packet header, check the current state of the device output port, check the presence of packets in the queues, if the queues are not empty, then form the vector of active queues, select the vector of service intensity intervals taking into account the vector of active queues, generate a random number uniformly distributed in the interval from 0 to 1, select the number of the active queue taking into account the random number and the vector of service intensity intervals (IntWM), transmit the packet to the output device port update the current state of the device output port.
RU2021129027A 2022-01-21 Method for probabilistic weighted fair queue maintenance and a device implementing it RU2777035C1 (en)

Publications (1)

Publication Number Publication Date
RU2777035C1 true RU2777035C1 (en) 2022-08-01

Family

ID=

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7023866B2 (en) * 1995-10-11 2006-04-04 Alcatel Canada Inc. Fair queue servicing using dynamic weights (DWFQ)
US8638664B2 (en) * 2002-03-15 2014-01-28 Broadcom Corporation Shared weighted fair queuing (WFQ) shaper
RU2678404C2 (en) * 2017-06-23 2019-01-29 Федеральное государственное бюджетное образовательное учреждение высшего образования "Пензенский государственный университет" Method of dispatching of switch queues with service quality maintaining
US10291540B2 (en) * 2014-11-14 2019-05-14 Cavium, Llc Method and apparatus for performing a weighted queue scheduling using a set of fairness factors

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7023866B2 (en) * 1995-10-11 2006-04-04 Alcatel Canada Inc. Fair queue servicing using dynamic weights (DWFQ)
US8638664B2 (en) * 2002-03-15 2014-01-28 Broadcom Corporation Shared weighted fair queuing (WFQ) shaper
US10291540B2 (en) * 2014-11-14 2019-05-14 Cavium, Llc Method and apparatus for performing a weighted queue scheduling using a set of fairness factors
RU2678404C2 (en) * 2017-06-23 2019-01-29 Федеральное государственное бюджетное образовательное учреждение высшего образования "Пензенский государственный университет" Method of dispatching of switch queues with service quality maintaining

Similar Documents

Publication Publication Date Title
JP3715098B2 (en) Packet distribution apparatus and method in communication network
KR100323258B1 (en) Rate guarantees through buffer management
US11595315B2 (en) Quality of service in virtual service networks
Aujla et al. An ensembled scheme for QoS-aware traffic flow management in software defined networks
EP1528728A1 (en) Packet scheduling based on quality of service and index of dispersion for counts
US20040064582A1 (en) Apparatus and method for enabling intserv quality of service using diffserv building blocks
Yaghmaee et al. A model for differentiated service support in wireless multimedia sensor networks
RU2777035C1 (en) Method for probabilistic weighted fair queue maintenance and a device implementing it
RU2776658C1 (en) Method for probabilistic priority queue maintenance and a device implementing it
EP1232627A1 (en) Method and system for controlling transmission of packets in computer networks
Gospodinov The affects of different queuing disciplines over FTP, video and VoIP performance.
Asaduzzaman et al. The Eight Class of Service Model-An Improvement over the Five Classes of Service
Jha et al. New Queuing Technique for Improving Computer Networks QoS
Tong et al. Quantum varying deficit round robin scheduling over priority queues
Rahouti et al. QoSP: A priority-based queueing mechanism in software-defined networking environments
KR101681613B1 (en) Apparatus and method for scheduling resources in distributed parallel data transmission system
EP4307641A1 (en) Guaranteed-latency networking
Vila-Carbó et al. Analysis of switched Ethernet for real-time transmission
CN113242606B (en) Low-delay data transmission method and device
Wu et al. Flow-Level Traffic Scheduling in Data Center Networks
Nejakar et al. Development of modified RED AQM algorithm in computer network for congestion control
Mohammed et al. Comparison of Schecduling Schemes in IPV4 and IPV6 to Achieve High QoS
Datta et al. A Traffic Prioritization Framework For Smart Home IoT Networks using Programmable Data Planes
Sh et al. A Comparison Study of FIFO, PQ, and WFQ Disciplines Using OPNET Simulation
Martinez-Morais et al. Providing QoS with the deficit table scheduler