СПОСОБ И УСТРОЙСТВО ДЛЯ КОНТРОЛЯ ПЕРЕГРУЗКИ СЕТИ НА БАЗЕ КАДРА PFC, СИСТЕМА И НОСИТЕЛЬ ДАННЫХ
METHOD AND DEVICE FOR MONITORING NETWORK CONGESTION BASED ON PFC FRAME, SYSTEM AND DATA CARRIER

Ссылка на родственную заявку
Данная заявка испрашивает приоритет на основании заявки на патент Китая №201811654832.Х под названием «Способ и устройство для контроля перегрузки сети на базе кадра PFC, система и носитель данных», поданной в патентное ведомство Китая 29 декабря 2018 года, содержание которой полностью включено в настоящий документ посредством ссылки.
Область техники, к которой относится настоящее изобретение
Настоящее изобретение относится к области сетевых коммуникационных технологий, в частности, к способу и устройству для контроля перегрузки сети на базе кадра PFC, системе и носителю данных.
Предшествующий уровень техники настоящего изобретения
Функция PFC (управление потоком на основе приоритетов) представляет собой одну из функций в семействе протоколов IEEE Data Center Bridge (Мостовое соединение центра обработки данных) и является усовершенствованием механизма прерывания при традиционном управлении потоками данных. После обнаружения перегрузки сети приемный терминал уведомляет передающий терминал о необходимости приостановки передачи данных посредством кадра PFC PAUSE. Однако, поскольку PFC полностью останавливает передачу данных соответствующего приоритета, могут возникать определенные проблемы, включающие в себя: произвольное время прерывания, что может привести к потере пакетов, повторной передаче предыдущего протокола, распространению перегрузки и тому подобному; отказ механизмов, зависящих от некоторых неотложных данных и данных с ограничением времени, таких как данные синхронизации времени, когда для контроля перегрузки используется PFC; отказ функции приоритетного прерывания, обусловленный функцией PFC (например, некоторые механизмы TSN (сети телекоммуникационной поддержки) требуют отключения функции PFC), и т.п.
Вышеизложенное служит лишь для облегчения понимания технической задачи, описанной в настоящем документе, и не является признанием того, что оно является известным уровнем техники.
Краткое раскрытие настоящего изобретения
Основанная цель настоящего изобретения заключается в том, чтобы предложить способ контроля перегрузки сети на базе кадра PFC, призванный решить технические проблемы, связанные с потерей пакетов, невозможностью своевременной передачи аварийных данных и отказа механизма приоритетного прерывания вследствие запуска PFC при возникновении перегрузки сети.
Для достижения указанной цели настоящим изобретением предложен способ контроля перегрузки сети на базе кадра PFC. Этот способ контроля перегрузки сети на базе кадра PFC предусматривает: получение приемным терминалом системы связи, когда физический или логический канал связи перегружен, приоритета, соответствующего перегруженной очереди; определение приемным терминалом параметра замедления и/или длительности паузы в соответствии с приоритетом; генерирование приемным терминалом данных управления перегрузкой сети на базе кадра PFC, исходя из параметра замедления, длительности паузы и приоритета; и передачу приемным терминалом команды на устранение перегрузки сети, включающей в себя данные управления, на передающий терминал системы связи с тем, чтобы на основании данных управления передающий терминал мог определить скорость передачи потока данных в соответствии с приоритетом.
Для достижения указанной цели настоящим изобретением предложен энергонезависимый машиночитаемый носитель данных, в котором хранятся исполняемые компьютером команды, причем исполняемые компьютером команды сконфигурированы с возможностью инициирования реализации способа согласно настоящему изобретения.
Для достижения указанной цели настоящим изобретением предложен компьютерный программный продукт, содержащий компьютерную программу, которая хранится в энергонезависимом машиночитаемом носителе данных, причем компьютерная программа включает в себя программные команды, которые при их исполнении компьютером инициирует реализацию им способа согласно настоящему изобретению.
Краткое описание фигур
На фиг. 1 представлена структурная схема системы связи в аппаратной рабочей среде, которая используется при реализации технического решения согласно настоящему изобретению;
На фиг. 2 показана блок-схема, иллюстрирующая способ контроля перегрузки сети на базе кадра PFC согласно настоящему изобретению;
На фиг. 3 показана схема, иллюстрирующая стандартный формат кадра PFC PAUSE согласно настоящему изобретению;
На фиг. 4 показана другая блок-схема, иллюстрирующая способ контроля перегрузки сети на базе кадра PFC согласно настоящему изобретению;
На фиг. 5 показана схема, иллюстрирующая формат расширенного поля «priority_enable_vector» согласно настоящему изобретению;
На фиг. 6 показана схема, иллюстрирующая формат модифицированного поля времени;
На фиг. 7 показана схема, иллюстрирующая формат кадра PFC, как при замедлении, так и при прерывании со вторым приоритетом согласно настоящему изобретению;
На фиг. 8 показана схема, иллюстрирующая формат кадра PFC при замедлении, как со вторым приоритетом, так и с третьим приоритетом согласно настоящему изобретению;
На фиг. 9 показана еще одна блок-схема, иллюстрирующая способ контроля перегрузки сети на базе кадра PFC согласно настоящему изобретению;
На фиг. 10 показана схема, иллюстрирующая формат кадра PFC с добавленным полем «reduce» согласно настоящему изобретению;
На фиг. 11 показана схема, иллюстрирующая формат кадра PFC, как при замедлении, так и при прерывании с приоритетом 2 согласно настоящему изобретению;
На фиг. 12 показана схема, иллюстрирующая формат кадра PFC при замедлении, как со вторым приоритетом, так и с третьим приоритетом согласно настоящему изобретению;
На фиг. 13 показана еще одна блок-схема, иллюстрирующая способ контроля перегрузки сети на базе кадра PFC согласно настоящему изобретению;
На фиг. 14 показана схема, иллюстрирующая формат кадра PFC с добавленным полем TLV согласно настоящему изобретению;
На фиг. 15 показана схема, иллюстрирующая формат кадра PFC при замедлении со вторым приоритетом и при прерывании с третьим приоритетом согласно настоящему изобретению; и
На фиг. 16 показана схема, иллюстрирующая функциональные модули в составе устройства для контроля перегрузки сети на базе кадра PFC согласно настоящему изобретению.
Примеры реализации, функции, признаки и преимущества настоящего изобретения будут подробно описаны ниже в привязке к вариантам его осуществления и прилагаемым чертежам.
Подробное раскрытие настоящего изобретения
Следует понимать, что конкретные варианты осуществления заявленного изобретения, описанные в настоящем документе, представлены исключительно для иллюстрации настоящего изобретения и не претендуют на его ограничение.
На фиг. 1 представлена структурная схема системы связи в аппаратной рабочей среде, которая используется при реализации технического решения согласно настоящему изобретению.
Как показано на фиг. 1, система связи может включать в себя: процессор 1001, такой как CPU (центральный процессор); сетевой интерфейс 1004; интерфейс 1003 пользователя; память 1005; и коммуникационную шину 1002. Коммуникационная шина 1002 выполнена с возможностью обеспечения соединительной связи между этими компонентами. Интерфейс 1003 пользователя может включать в себя дисплей и устройство ввода, такое как клавиатура, а в необязательном варианте интерфейс 1003 пользователя может дополнительно включать в себя стандартный проводной интерфейс или стандартный беспроводной интерфейс. Сетевой интерфейс 1004 может необязательно включать в себя стандартный проводной интерфейс или стандартный беспроводной интерфейс (например, интерфейс Wi-Fi (стандарт «Беспроводная достоверность»)). Память 1005 может представлять собой быстродействующее оперативное запоминающее устройство (RAM) или стабильную память (например, энергонезависимое запоминающее устройство), такую как запоминающее устройство на магнитных дисках. В необязательном варианте память 1005 может представлять собой запоминающее устройство, отдельное от процессора 1001, описанного выше.
В необязательном варианте система связи может дополнительно включать в себя камеру, высокочастотную (RF) схему, датчик, аудиоцепь, модуль Wi-Fi и тому подобное. Датчик может представлять собой, например, оптический датчик, датчик движения или иной датчик подобного рода. Очевидно, что система связи может быть дополнительно снабжена другими датчиками, такими как гироскоп, барометр, гигрометр, термометр и инфракрасный датчик, которые не перечислены в настоящем документе.
Специалистам в данной области техники должно быть очевидно, что структура системы связи, показанная на фиг. 1, не устанавливает ограничение для системы связи, и система связи может включать в себя большее или меньшее количество компонентов, чем показано на фиг. 1, или комбинацию некоторых компонентов, или иную схему расположения компонентов.
Как показано на фиг. 1, память 1005, в качестве запоминающей среды компьютера, может включать в себя операционную систему, модуль сетевой связи, модуль интерфейса пользователя и программу контроля перегрузки сети на базе кадра PFC.
В системе связи, показанной на фиг. 1, сетевой интерфейс 1004 выполнен, главным образом, с возможностью подключения к серверу второго уровня и осуществления обмена данными с указанным сервером; интерфейс 1003 пользователя выполнен, главным образом, с возможностью соединения с клиентом (терминалом пользователя) и осуществления обмена данными с указанным клиентом; а процессор 1001 может быть выполнен с возможностью вызова программы контроля перегрузки сети на базе кадра PFC, которая хранится в памяти 1005.
В этом варианте осуществления настоящего изобретения система связи включает в себя: память 1005, процессор 1001 и программу контроля перегрузки сети на базе кадра PFC, которая хранится в памяти 1005 и приводится в исполнение процессором 1001. Вызов процессором 1001 программы контроля перегрузки сети на базе кадра PFC, хранящейся в памяти 1005, инициирует реализацию стадий способа контроля перегрузки сети на базе кадра PFC согласно различным вариантам осуществления настоящего изобретения.
Настоящим изобретением дополнительно предложен способ контроля перегрузки сети на базе кадра PFC. Блок-схема, иллюстрирующая способ контроля перегрузки сети на базе кадра PFC согласно настоящему изобретению, показана на фиг. 2.
PFC определяется на полнодуплексном МАК-уровне с подключениями типа «точка-точка». Функцию PFC поддерживают многие существующие сетевые устройств, причем PFC позволяет создать до восьми очередей в одном Ethernet-канале, и назначить каждой очереди свой приоритет (CoS) так, что каждая очередь может ставиться на паузу и возобновляться по отдельности, обеспечивая при этом непрерывное прохождение трафика других очередей.
Стандартный формат кадра PFC PAUSE (далее по тексту именуемого «кадр PFC») показан на фиг. 3, где поле «МАС-адрес получателя» представляет собой поле МАС-адреса получателя, которое занимает шесть байт и имеет выделенное значение 01-80-С2-00-00-01; поле «МАС-адрес источника» представляет собой поле МАК-адреса источника, которое занимает шесть байт; поле «Тип/длина» представляет собой поле длины или типа Ethernet-кадра, которое имеет значение 88-08 и указывает на то, что этот кадр является управляющим МАС-кадром; поле «Код управления операции» обозначает коды управления операции MAC, которые занимают два байта; поле «priority_enable_vector» обозначает информацию о векторе приоритета, которая занимает два байта, из которых старший байт является зарезервированным байтом и по умолчанию установлен на ноль, а каждый бит младшего байта указывает на то, является ли соответствующее время time[n] действительным, причем величина е[n] отображает приоритет n, и если приоритет е[n] равен единице, то время time[n] будет действительным, а если приоритет е[n] равен нулю, то время time[n] будет недействительным; а поле «time (время)» обозначает время приостановки передачи кадров, включающее в себя восемь упорядоченных блоков от time[0] до time[7], причем каждый такой блок содержит два байта. Если приоритет е[n] равен нулю, то время time[n] не имеет значения, а если приоритет е[n] равен 1, то время time[n] будет представлять время, на которое приемная станция приостанавливает передачу сообщений с приоритетом n. Отрезок времени, а именно «pause_quanta», отображает время, потребное микросхеме физического уровня для передачи 512 бит данных, и общее время «priority_timer[n]=time[n]*pause_quanta», где величина time[n] принимает значение, лежащее в диапазоне от 0 до 65535. Следовательно, для каждой передачи кадров PFC PAUSE максимальный промежуток времени, потребный одноранговому устройству для приостановки передачи, составляет: 65535*pause_quanta.
Способ контроля перегрузки сети на базе кадра PFC включает в себя стадии S10-S40, описанные ниже.
На стадии S10 приемный терминал системы связи получает приоритет, соответствующий перегруженной очереди, когда физический или логический канал связи перегружен.
Когда очередь определенного приоритета перегружена, дополнительно обеспечивается получение приоритета, соответствующего перегруженной очереди.
Следует отметить, что приемный терминал определяет конкретные значения поля «priority_enable_vector», поля «time (время)» и прочих полей кадра PFC на основании приоритета очереди, а стандартный формат кадра PFC оптимизирован в настоящем изобретении таким образом, что поле «priority_enable_vector», соответствующее оптимизированному кадру PFC, содержит два байта, а именно старший байт и младший байт. Каждый бит младшего байта указывает на то, приостановлена ли временно передача данных в очереди соответствующего приоритета, а каждый бит старшего байта указывает на то, замедленна ли временно передача данных в очереди соответствующего приоритета.
На стадии S20 приемный терминал определяет параметр замедления и/или длительность паузы в соответствии с приоритетом.
При возникновении перегрузки сети решение по устранению перегрузки дополнительно принимается с учетом длины перегруженной очереди. Иначе говоря, передающий терминал уведомляется о необходимости устранения перегруженной очереди путем временной приостановки передачи данных, или путем временного замедления передачи данных, или путем первоначальной временной приостановки передачи данных с последующим временным замедлением передачи данных. Какой конкретно режим устранения перегрузки использовать, определяется на основании длины текущей очереди. Иначе говоря, пользователь заранее задает соотношение зависимости между длиной очереди и режимом устранения перегрузки, и в случае возникновения перегрузки сети извлекается соотношение зависимости, соответствующее длине очереди, на основании которого определяется режим устранения перегрузки сети.
В частности, возможности по устранению перегрузки сети согласно настоящему изобретению делятся на два типа, один из которых предусматривает временную приостановку передачи данных, а другой - временное замедление передачи данных. Если предполагается использовать возможность по устранению перегрузки сети, которая заключается во временной приостановке передачи данных, то необходимо определить продолжительность паузы в соответствии с приоритетом; а если предполагается использовать возможность по устранению перегрузки сети, которая заключается во временном замедлении передачи данных, то необходимо определить скорость замедления и продолжительность замедления в соответствии с приоритетом.
На стадии S30 приемный терминал генерирует данные управления перегрузкой сети на базе кадра PFC, исходя из параметра замедления, длительности паузы и приоритета.
После определения приоритета, параметра замедления и продолжительности паузы дополнительно генерируются данные управления перегрузкой сети на базе кадра PFC с учетом параметра замедления, продолжительности паузы и приоритета. Следует отметить, что стандартный кадр PFC лишь отражает возможность временной приостановки передачи данных перегруженной очереди, а настоящее изобретение является усовершенствованием на базе стандартного кадра PFC, которое поддерживает временную приостановку наряду с временным замедлением передачи данных, и которое реализуется с помощью данных управления.
На стадии S40 приемный терминал передает команду на устранение перегрузки сети, включающей в себя данные управления, на передающий терминал системы связи с тем, чтобы на основании данных управления передающий терминал мог определить скорость передачи потока данных в соответствии с приоритетом.
На основании параметра замедления, продолжительности паузы и приоритета приемный терминал генерирует данные управления перегрузкой сети на базе кадра PFC, и приемный терминал передает команду на устранение перегрузки сети, включающей в себя данные управления, на передающий терминал с тем, чтобы на основании данных управления передающий терминал мог определить скорость передачи потока данных в соответствии с приоритетом. Следует отметить, что если предусмотрен вариант временной приостановки передачи данных, то скорость передачи данных на передающем терминале будет нулевой.
Кроме того, в одном из примеров реализации настоящего изобретения после выполнения стадии S40 описываемый способ дополнительно предусматривает следующее: по истечении контрольного времени, соответствующего данным управления, передающий терминал передает поток данных на приемный терминал с заданной скоростью (стадия S50).
После приема команды на устранение перегрузки сети передающий терминал регулирует скорость передачи данных на основании данных управления, содержащихся в команде на устранение перегрузки сети. При этом данные управления дополнительно содержат контрольное время, т.е. длительность приостановки и длительность замедления. По истечении контрольного времени передающий терминал восстанавливает скорость передачи данных, т.е. передает поток данных на приемный терминал с заданной скоростью.
Кроме того, в одном из примеров реализации настоящего изобретения перед выполнением стадии S10 описываемый способ дополнительно предусматривает следующее: приемный терминал определяет наличие перегрузки в какой-либо из очередей в реальном масштабе времени, исходя из длины соответствующей очереди (стадия S60).
Приемный терминал определяет в реальном масштабе времени, не перегружена ли каждая очередь, на основании длины очереди, соответствующей каждой очереди, и в случае выявления перегруженной очереди требуется своевременное устранение такой перегрузки во избежание парализации сети.
В частности, стадия S60 предусматривает следующее: приемный терминал определяет, не превышает ли длина очереди пороговое значение (стадия S61). Если длина очереди превышает или равна пороговому значению, то устанавливается факт перегрузки очереди.
Приемный терминал устанавливает в реальном масштабе времени длину каждой очереди и сравнивает длину очереди с пороговым значением. Пороговое значение представляет собой граничную величину для детектирования перегрузки, которая задается пользователем в зависимости от фактической ситуации, но это решение не носит ограничительного характера в настоящем изобретении. Если длина очереди, соответствующей определенному приоритету, превышает пороговое значение, то устанавливается факт перегрузки очереди. И наоборот, если длина очереди не превышает пороговое значение, то устанавливается, что эта очередь не перегружена, и что в регулировании трафика нет необходимости.
В способе контроля перегрузки сети на базе кадра PFC согласно вариантам осуществления настоящего изобретения в случае перегрузки физического или логического канала связи приемный терминал системы связи получает приоритет, соответствующий перегруженной очереди; затем на основании перегруженной очереди приемный терминал определяет параметр замедления и/или продолжительность паузы в соответствии с приоритетом; после этого приемный терминал генерирует данные управления перегрузкой сети на базе кадра PFC, исходя из параметра замедления, продолжительности паузы и приоритета, и передает команду на устранение перегрузки сети, включающей в себя данные управления, на передающий терминал системы связи с тем, чтобы на основании данных управления передающий терминал мог определить скорость передачи потока данных в перегруженной очереди. За счет регулирования трафика данных с помощью данных управления устраняется проблема перегрузки сети, при этом предотвращается потеря пакетов при передаче данных, обеспечивается своевременная передача аварийных данных, и может быть эффективно реализован механизм приоритетного прерывания.
На основании описанного выше варианта осуществления и в привязке к фиг. 4 предложен способ контроля перегрузки сети на базе кадра PFC согласно настоящему изобретению. В этом варианте осуществления настоящего изобретения стадия S30 предусматривает выполнение стадий S31-S33, описанных ниже. В этом варианте осуществления настоящего изобретения зарезервированный старший байт в поле «priority_enable_vector» в формате кадра PFC используется в качестве поля активации функции замедления. Формат расширенного поля «priority_enable_vector» показан на фиг. 5. Аналогично младшему байту, где восемь битов отображают соответствующий приоритет, величина r[n] отображает приоритет n, причем если величина r[n] равна единице, то это указывает на активацию функции замедления с приоритетом n, а если величина r[n] равна нулю, то это указывает на то, что активирована функция замедления. Информация, потребная для выполнения функции замедления, включает в себя такие величины, как скорость замедления и продолжительность замедления, которые формируются путем модифицирования поля времени. Как показано на фиг. 6, модифицированные величины time_s[n] и time_t[n] отображают, соответственно, скорость замедления и продолжительность замедления. Скорость замедления может быть выражена в процентах, и она может принимать значения в пределах от 0 до 100, что соответствует 0-100%, и отображать скорость после замедления, полученную путем умножения первоначальной скорости передачи на процентную величину. Скорость замедления может также иметь кратную форму и принимать значения в пределах 1-127, получаемые путем деления первоначальной скорости передачи на кратную величину.
Стадия S31 предусматривает следующее: если режим устранения перегрузки определен как режим приостановки и замедления передачи согласно заданной стратегии контроля, то поле «priority_enable_vector» и поле времени, соответствующие кадру PFC, обновляются с учетом продолжительности паузы, параметра замедления и приоритета для получения первого кадра PFC и принятия первого кадра PFC в качестве данных управления.
Заданная стратегия контроля предусматривает три режима устранения перегрузки, а именно режим приостановки и замедления, режим приостановки и режим замедления. Приемный терминал определяет текущий режим устранения перегрузки на основании заданной стратегии контроля, исходя из суммарного трафика, соответствующего текущей перегруженной очереди. Заданная стратегия контроля адаптируется пользователем в соответствии с его требованиями, что не носит ограничительного характера в настоящем изобретении.
Если режим устранения перегрузки определен как режим приостановки и замедления передачи согласно заданной стратегии контроля, то это указывает на необходимость временной приостановки и временного замедления передачи данных, и должны быть активированы функции приостановки и замедления, соответствующие приоритету. Иначе говоря, необходимо установить бит, соответствующий приоритету в младшем байте поля «priority_enable_vector» кадра PFC, а также бит, соответствующий приоритету в старшем байте поля «priority_enable_vector» кадра PFC. При этом бит, соответствующий приоритету в поле времени кадра PFC, обновляется на основании продолжительности паузы и параметра замедления.
Следует отметить, что при одновременной реализации временной приостановки и временного замедления передачи данных, продолжительность паузы будет такой же, что и продолжительность замедления в соответствии с параметром замедления, т.е. величина time_t[n] будет отображать, как продолжительность замедления, так и продолжительность паузы. Последовательность реализации временной приостановки и временного замедления передачи данных определяется на основании заданной стратегии контроля.
Кадр PFC, обновленный на основании параметра замедления, продолжительности паузы и приоритета, служит в качестве данных управления.
Например, функция замедления и функция приостановки используются с одним и тем же приоритетом, а поле времени преобразуется в информацию о замедлении, причем скорость замедления принимает кратное значение. В случае перегрузки очереди обе функции из числа функции замедления и функции приостановки реализуются для одного и того же приоритета. Как показано на фиг. 7, второй приоритет должен быть замедлен и приостановлен при скорости замедления, кратной 10, а оба параметра из числа продолжительности замедления и продолжительности паузы равны 300. Соответствующая величина time_s[2] равна 10, величина time_t[2] равна 300, а остальные поля времени установлены на ноль. Величина r[2] активации замедления и величина е[2] активации приостановки обе установлены на единицу, остальные величины r[n] и е[n] установлены на ноль, а десятичное значение всего поля «priority_enable_vector» равно 1028.
На стадии S32, если режим устранения перегрузки определен как режим приостановки согласно заданной стратегии контроля, то поле «priority_enable_vector» и поле времени, соответствующие кадру PFC, обновляются с учетом продолжительности паузы и приоритета для получения второго кадра PFC и принятия второго кадра PFC в качестве данных управления.
Если режим устранения перегрузки определен как режим приостановки согласно заданной стратегии контроля, то это указывает на то, что должен быть установлен бит, соответствующий приоритету в младшем байте поля «priority_enable_vector» кадра PFC, после чего продолжительность паузы обновляется в соответствии с положением, в котором поле времени соответствует приоритету. Кадр PFC, обновленный на основании продолжительности паузы и приоритета, служит в качестве данных управления.
На стадии S33, если режим устранения перегрузки определен как режим замедления согласно заданной стратегии контроля, то поле «priority_enable_vector» и поле времени, соответствующие кадру PFC, обновляются с учетом параметра замедления и приоритета для получения третьего кадра PFC и принятия третьего кадра PFC в качестве данных управления.
Если режим устранения перегрузки определен как режим замедления согласно заданной стратегии контроля, то должна быть активирована функция замедления, соответствующая приоритету. Иначе говоря, должен быть установлен бит, соответствующий приоритету в старшем байте поля «priority_enable_vector» кадра PFC, после чего параметр замедления обновляется в соответствии с положением, в котором поле времени соответствует приоритету.
Например, при перегрузке очереди используется только функция замедления, и поле времени преобразуется в информацию о замедлении, где скорость замедления выражена в процентах. Как показано на фиг. 8, второй и третий приоритеты должны быть замедлены, соответственно, при скоростях 50% и 20% в течение времени 300 и 500. Соответствующая величина time_s[2] равна 50, величина time_t[2] равна 300, величина time_s[3] равна 20, величина time_t[3] равна 500, а остальные поля времени установлены на ноль. Обе величины r[2] и r[3] активации замедления установлены на единицу, остальные величины r[n] установлены на ноль, все величины е[n] установлены на ноль, а десятичное значение всего поля «priority_enable_vector» составляет 3072.
В рамках способа контроля перегрузки сети на базе кадра PFC согласно вариантам осуществления настоящего изобретения генерируются новые данные управления, что обеспечивается путем активации зарезервированного старшего байта в поле «priority_enable_vector» и переопределения поля времени, и на основании данных управления устраняется проблема перегрузки сети, при этом повышается гибкость механизма контроля перегрузки сети и расширяются технические средства для устранения перегрузки сети.
На основании описанных выше вариантов осуществления и в привязке к фиг. 9 предложен способ контроля перегрузки сети на базе кадра PFC согласно настоящему изобретению. В этом варианте осуществления настоящего изобретения стадия S30 предусматривает выполнение стадий S34-S36, описанных ниже. В этом варианте осуществления настоящего изобретения зарезервированный старший байт в поле «priority_enable_vector» в формате кадра PFC используется в качестве поля активации функции замедления. Формат расширенного поля «priority_enable_vector» показан на фиг. 5, и он согласуется с описанием, которое представлено в привязке к фиг. 5, и поэтому далее по тексту повторно не описывается. Информация, потребная для выполнения функции замедления, включает в себя такие величины, как скорость замедления и продолжительность замедления, которые формируются путем добавления поля уменьшение («reduce») после поля времени, которое включает в себя восемь упорядоченных блоков от reduce [0] до reduce [7], причем каждый такой блок содержит два байта, где старшие семь битов величины reduce[n] отображают скорость замедления reduce_s[n], а младшие девять битов величины reduce[n] отображают продолжительность замедления reduce_t[n]. Формат кадра PFC с добавленным полем уменьшения показан на фиг. 10. Скорость замедления может быть выражена в процентах или в виде кратной величины, что согласуется с описанием, которое представлено в привязке к фиг. 6, и поэтому далее по тексту она повторно не описывается. Продолжительность замедления reduce_t[n] принимает значение в пределах 0-512, и находится в том же блоке, что и «pause_quanta» в кадре PFC, отображая время, потребное микросхеме физического уровня для передачи 512 бит данных, и общее время «priority_reduce_time[n]=reduce_t[n]*pause_quanta».
На стадии S34, если режим устранения перегрузки определен как режим приостановки и замедления согласно заданной стратегии контроля, то к кадру PFC добавляется поле уменьшения, и поле «priority_enable_vector» и поле уменьшения, соответствующие кадру PFC, обновляются на основании продолжительности паузы, параметра замедления и приоритета с целью получения четвертого кадра PFC и принятия четвертого кадра PFC в качестве данных управления.
Если режим устранения перегрузки определен как режим приостановки и замедления согласно заданной стратегии контроля, то это указывает на необходимость временной приостановки и временного замедления передачи данных, и должны быть активированы функции приостановки и замедления в соответствии с приоритетом. Иначе говоря, необходимо установить бит, соответствующий приоритету в младшем байте поля «priority_enable_vector» кадра PFC, а также бит, соответствующий приоритету в старшем байте поля «priority_enable_vector» кадра PFC. При этом после поля времени добавляется поле уменьшения, после чего параметр замедления обновляется в соответствии с положением, в котором поле уменьшения соответствует приоритету.
Кадр PFC с добавленным полем уменьшения, обновленный с учетом параметра замедления, продолжительности паузы и приоритета, служит в качестве данных управления.
Например, функция замедления и функция приостановки используются с одним и тем же приоритетом, а в качестве информации о замедлении добавляется поле уменьшения, причем скорость замедления принимает процентное значение. Как показано на фиг. 11, второй приоритет должен быть замедлен и приостановлен при 10% скорости замедления с продолжительностью замедления, равной 300, и продолжительностью приостановки, равной 5000. Соответствующая величина time[2] равна 5000, величина reduce_s[2] равна 10, величина reduce_t[2] равна 300, а остальные поля времени и уменьшения установлены на ноль. Величина r[2] активации замедления и величина е[2] активации приостановки обе установлены на единицу, остальные величины r[n] и е[n] установлены на ноль, а десятичное значение всего поля «priority_enable_vector» равно 1028.
На стадии S35, когда режим устранения перегрузки определен как режим приостановки согласно заданной стратегии контроля, поле «priority_enable_vector» и поле времени, соответствующие кадру PFC, обновляются с учетом продолжительности паузы и приоритета для получения пятого кадра PFC и принятия пятого кадра PFC в качестве данных управления.
Если режим устранения перегрузки определен как режим приостановки согласно заданной стратегии контроля, то это указывает на то, что должна быть использована возможность временной приостановки передачи данных, и что должна быть активирована функция приостановки, соответствующая приоритету. Иначе говоря, должен быть установлен бит, соответствующий приоритету в младшем байте поля «priority_enable_vector» кадра PFC, после чего продолжительность паузы обновляется в соответствии с положением, в котором поле времени соответствует приоритету. Кадр PFC, обновленный с учетом продолжительности паузы и приоритета, служит в качестве данных управления.
На стадии S36, когда режим устранения перегрузки определен как режим замедления передачи согласно заданной стратегии контроля, к кадру PFC добавляется поле уменьшения, и поле «priority_enable_vector» и поле уменьшения, соответствующие кадру PFC, обновляются с учетом параметра замедления и приоритета для получения шестого кадра PFC и принятия шестого кадра PFC в качестве данных управления.
Если режим устранения перегрузки определен как режим замедления передачи согласно заданной стратегии контроля, то это указывает на то, что должна быть использована возможность временного замедления передачи данных, и что должна быть активирована функция замедления, соответствующая приоритету. Иначе говоря, должен быть установлен бит, соответствующий приоритету в старшем байте поля «priority_enable_vector» кадра PFC, при этом после поля времени добавляется поле уменьшения, после чего параметр замедления обновляется в соответствии с положением, в котором поле уменьшения соответствует приоритету.
Например, при перегрузке очереди используется только функция замедления, и в качестве информации о замедлении добавляется поле уменьшения, где скорость замедления выражена в процентах. Как показано на фиг. 12, второй и третий приоритеты должны быть замедлены, соответственно, при скоростях 50% и 20% в течение времени 300 и 500. Соответствующая величина reduce_s[2] равна 50, величина reduce_t[2] равна 300, величина reduce_s[3] равна 20, величина reduce_t[3] равна 500, а остальные поля уменьшения установлены на ноль. Обе величины r[2] и r[3] активации замедления установлены на единицу, остальные величины r[n] установлены на ноль, все величины е[n] установлены на ноль, а десятичное значение всего поля «priority_enable_vector» равно 3072.
В рамках способа контроля перегрузки сети на базе кадра PFC согласно вариантам осуществления настоящего изобретения генерируются новые данные управления, что обеспечивается путем активации зарезервированного старшего байта в поле «priority_enable_vector» и добавления поля уменьшения после поля времени в качестве информации о замедлении, и на основании данных управления устраняется проблема перегрузки сети, при этом повышается гибкость механизма контроля перегрузки сети и расширяются технические средства для устранения перегрузки сети.
На основании описанных выше вариантов осуществления и в привязке к фиг. 13 предложен способ контроля перегрузки сети на базе кадра PFC согласно настоящему изобретению. В этом варианте осуществления настоящего изобретения стадия S30 предусматривает выполнение стадий S37-S39, описанных ниже. В этом варианте осуществления настоящего изобретения зарезервированный старший байт в поле «priority_enable_vector» в формате кадра PFC используется в качестве поля активации функции замедления. Формат расширенного поля «priority_enable_vector» показан на фиг. 5, и он согласуется с описанием, которое представлено в привязке к фиг. 5, и поэтому далее по тексту повторно не описывается. После поля времени добавляется поле TLV (Тип-Длина-Значение), обозначая информацию, потребную функции замедления. Количество добавленных полей TLV соответствует количеству приоритетов, активирующих функцию замедления, при этом может быть добавлено максимум восемь полей TLV. Информация, потребная функции замедления, содержится в суб-TLV. Формат кадра PFC с добавленным полем TLV показан на фиг. 14. «Тип» отображает тип замедления, который может представлять собой общее замедление, включающее в себя только скорость замедления и продолжительность замедления; или же он может представлять собой другой алгоритм замедления, такой как алгоритм RP (точка реакции), или иные специальные алгоритмы замедления. «Тип» занимает два байта, а «Длина» занимает четыре байта. Когда в поле «priority_enable_vector» активирована только функция приостановки, т.е. когда e[n]=1, а r[n]=0, два байта величины time[n] отображают начальную продолжительность паузы без добавления поля TLV; когда активирована только функция замедления, т.е. когда е[n]=0, а r[n]=1, величина time[n] недействительна, и добавлено соответствующее поле TLV и суб-TLV; а когда активированы обе функции из числа функции приостановки и функции замедления, т.е. когда e[n]=1, а r[n]=1, величина time[n] отображает продолжительность паузы, и добавлено соответствующее поле TLV и суб-TLV.
На стадии S37, когда режим устранения перегрузки определен как режим приостановки и замедления согласно заданной стратегии контроля, к кадру PFC добавляется поле TLV, и поле «priority_enable_vector», поле времени и поле TLV, соответствующие кадру PFC, обновляются с учетом продолжительности паузы, параметра замедления и приоритета для получения седьмого кадра PFC и принятия седьмого кадра PFC в качестве данных управления.
Если режим устранения перегрузки определен как режим приостановки и замедления согласно заданной стратегии контроля, это указывает на то, что требуется временная приостановка и временное замедление передачи данных, и что должны быть активированы функция приостановки и функция замедления, соответствующие приоритету. Иначе говоря, должен быть установлен бит, соответствующий приоритету в младшем байте поля «priority_enable_vector» кадра PFC, и должен быть установлен бит, соответствующий приоритету в старшем байте поля «priority_enable_vector» кадра PFC. При этом после поля времени добавляется поле TLV, после чего параметр замедления обновляется в соответствии с положением, в котором поле TLV соответствует приоритету. Следует отметить, что поле TLV добавляется только тогда, когда активирована функция замедления. Кадр PFC с добавленным полем TLV, обновленный с учетом параметра замедления, продолжительности паузы и приоритета, служит в качестве данных управления.
Например, при перегрузке очереди некоторые приоритеты принимают функцию замедления, тогда как некоторые другие приоритеты принимают функцию приостановки, и в качестве информации о замедлении добавляется поле TLV, где тип замедления использует алгоритм RP. Формат кадра PFC показан на фиг. 15, где второй приоритет должен быть замедлен, а третий приоритет должен быть приостановлен. Тип замедления использует алгоритм RP с продолжительностью паузы 30000. Величина time[3] составляет 30000, а остальные поля времени установлены на ноль. Обе величины из числа величины r[2] активации замедления и величины е[3] активации приостановки установлены на единицу, остальные величины r[n] и е[n] установлены на ноль, а десятичное значение всего поля «priority_enable_vector» составляет 1032. В блоке «Тип» находится алгоритм RP, а переносимые параметры находятся в субполях TLV.
На стадии S38, когда режим устранения перегрузки определен как режим приостановки согласно заданной стратегии контроля, поле «priority_enable_vector» и поле времени, соответствующие кадру PFC, обновляются с учетом продолжительности паузы и приоритета для получения восьмого кадра PFC и принятия восьмого кадра PFC в качестве данных управления.
Если режим устранения перегрузки определен как режим приостановки согласно заданной стратегии контроля, то это указывает на то, что должна быть использована возможность временной приостановки передачи данных, и что должна быть активирована функция приостановки, соответствующая приоритету. Иначе говоря, должен быть установлен бит, соответствующий приоритету в младшем байте поля «priority_enable_vector» кадра PFC, после чего продолжительность паузы обновляется в соответствии с положением, в котором поле времени соответствует приоритету. Кадр PFC, обновленный с учетом продолжительности паузы и приоритета, служит в качестве данных управления.
На стадии S39, когда режим устранения перегрузки определен как режим замедления согласно заданной стратегии контроля, к кадру PFC добавляется поле TLV, и поле «priority_enable_vector» и поле TLV, соответствующие кадру PFC, обновляются с учетом параметра замедления и приоритета для получения девятого кадра PFC и принятия девятого кадра PFC в качестве данных управления.
Если режим устранения перегрузки определен как режим замедления согласно заданной стратегии контроля, это указывает на то, что должна быть использована возможность временного замедления передачи данных, и что должна быть активирована функция замедления, соответствующая приоритету. Иначе говоря, должен быть установлен бит, соответствующий приоритету в старшем байте поля «priority_enable_vector» кадра PFC; при этом после поля времени добавляется поле TLV, после чего параметр замедления обновляется в соответствии с положением, в котором поле TLV соответствует приоритету.
В рамках способа контроля перегрузки сети на базе кадра PFC согласно вариантам осуществления настоящего изобретения генерируются новые данные управления, что обеспечивается путем активации зарезервированного старшего байта в поле «priority_enable_vector» и добавления поля TLV после поля времени в качестве информации о замедлении, и на основании данных управления устраняется проблема перегрузки сети, при этом повышается гибкость механизма контроля перегрузки сети и расширяются технические средства для устранения перегрузки сети.
Настоящим изобретением также предложено устройство для контроля перегрузки сети на базе кадра PFC. На фиг. 16 показана схема, иллюстрирующая функциональные модули в устройстве для контроля перегрузки сети на базе кадра PFC согласно настоящему изобретению.
Устройство для контроля перегрузки сети на базе кадра PFC включает в себя: модуль 10 сбора данных, посредством которого приемный терминал системы связи получает приоритет, соответствующий перегруженной очереди, когда физический или логический канал связи находится в перегруженном состоянии; модуль 20 определения, посредством которого приемный терминал определяет параметр замедления и/или продолжительность паузы, соответствующие приоритету; генерирующий модуль 30, с помощью которого приемный терминал генерирует данные управления перегрузкой сети на базе кадра PFC на основании параметра замедления, продолжительности паузы и приоритета; и передающий модуль 40, посредством которого приемный терминал передает команду на устранение перегрузки сети, включающую в себя данные управления, на передающий терминал системы связи с тем, чтобы на основании данных управления передающий терминал определил скорость передачи потока данных в соответствии с приоритетом.
Кроме того, устройство для контроля перегрузки сети на базе кадра PFC может дополнительно включать в себя: модуль детектирования, посредством которого приемный терминал определяет в режиме реального времени, возникла ли перегрузка в какой-либо очереди, исходя из длины очереди.
Кроме того, модуль детектирования, в частности, включает в себя: блок оценки, с помощью которого приемный терминал определяет, не превышает ли длина очереди пороговое значение. Если длина очереди превышает или равна пороговому значению, то устанавливается факт перегрузки очереди.
Кроме того, генерирующий модуль 30 может включать в себя: первый генерирующий подмодуль, выполненный с возможностью обновления - на основании продолжительности паузы, параметра замедления и приоритета, когда режим устранения перегрузки определен как режим приостановки и замедления согласно заданной стратегии контроля - поля «priority_enable_vector» и поля времени, соответствующих кадру PFC, с целью получения первого кадра PFC и принятия первого кадра PFC в качестве данных управления; второй генерирующий подмодуль, выполненный с возможностью обновления - на основании продолжительности паузы и приоритета, когда режим устранения перегрузки определен как режим приостановки согласно заданной стратегии контроля - поля «priority_enable_vector» и поля времени, соответствующих кадру PFC, с целью получения второго кадра PFC и принятия второго кадра PFC в качестве данных управления; и третий генерирующий подмодуль, выполненный с возможностью обновления - на основании параметра замедления и приоритета, когда режим устранения перегрузки определен как режим замедления согласно заданной стратегии контроля - поля «priority_enable_vector» и поля времени, соответствующих кадру PFC, с целью получения третьего кадра PFC и принятия третьего кадра PFC в качестве данных управления.
Кроме того, генерирующий модуль 30 может включать в себя: четвертый генерирующий подмодуль, выполненный с возможностью добавления к кадру PFC поля уменьшения («reduce»), когда режим устранения перегрузки определен как режим приостановки и замедления согласно заданной стратегии контроля, и обновления - на основании продолжительности паузы, параметра замедления и приоритета - поля «priority_enable_vector», поля времени и поля уменьшения, соответствующих кадру PFC, с целью получения четвертого кадра PFC и принятия четвертого кадра PFC в качестве данных управления; пятый генерирующий подмодуль, выполненный с возможностью обновления - на основании продолжительности паузы и приоритета, когда режим устранения перегрузки определен как режим приостановки согласно заданной стратегии контроля - поля «priority_enable_vector» и поля времени, соответствующих кадру PFC, с целью получения пятого кадра PFC и принятия пятого кадра PFC в качестве данных управления; и шестой генерирующий подмодуль, выполненный с возможностью добавления к кадру PFC поля уменьшения («reduce»), когда режим устранения перегрузки определен как режим замедления согласно заданной стратегии контроля, и обновления - на основании параметра замедления и приоритета - поля «priority_enable_vector» и поля уменьшения, соответствующих кадру PFC, с целью получения шестого кадра PFC и принятия шестого кадра PFC в качестве данных управления.
Кроме того, генерирующий модуль 30 может включать в себя: седьмой генерирующий подмодуль, выполненный с возможностью добавления к кадру PFC поля TLV, когда режим устранения перегрузки определен как режим приостановки и замедления согласно заданной стратегии контроля, и обновления - на основании продолжительности паузы, параметра замедления и приоритета - поля «priority_enable_vector», поля времени и поля TLV, соответствующих кадру PFC, с целью получения седьмого кадра PFC и принятия седьмого кадра PFC в качестве данных управления; восьмой генерирующий подмодуль, выполненный с возможностью обновления - на основании продолжительности паузы и приоритета, когда режим устранения перегрузки определен как режим приостановки согласно заданной стратегии контроля - поля «priority_enable_vector» и поля времени, соответствующих кадру PFC, с целью получения восьмого кадра PFC и принятия восьмого кадра PFC в качестве данных управления; и девятый генерирующий подмодуль, выполненный с возможностью добавления к кадру PFC поля TLV, когда режим устранения перегрузки определен как режим замедления согласно заданной стратегии контроля, и обновления - на основании параметра замедления и приоритета - поля «priority_enable_vector» и поля TLV, соответствующих кадру PFC, с целью получения девятого кадра PFC и принятия девятого кадра PFC в качестве данных управления.
Кроме того, устройство для контроля перегрузки сети на базе кадра PFC может дополнительно включать в себя: блок регулировки, с помощью которого приемный терминал передает поток данных на приемный терминал с заданной скоростью по истечении контрольного времени, соответствующего данным управления.
Настоящим изобретением также предложен энергонезависимый машиночитаемый носитель данных для хранения исполняемых компьютером команд, исполнение которых инициирует реализацию любого варианта осуществления способа из числа вариантов его осуществления, описанных выше.
Настоящим изобретением также предложен компьютерный программный продукт, включающий в себя компьютерную программу, хранящуюся в энергонезависимом машиночитаемом носителе данных, причем компьютерная программа содержит программные команды, которые при их исполнении компьютером инициирует реализацию им способа согласно любому из вариантов его осуществления, описанных выше.
Следует отметить, что термины «содержит», «содержащий» или любые их производные, используемые в контексте настоящего документа, являются неисключающими, так что процесс, способ, продукт или система, которая включает в себя ряд элементов, включает в себя не только указанные элементы, но также содержит и другие элементы, которые не перечислены явным образом, или дополнительно включает в себя элементы, присущие таким процессам, способам, продуктам или системам. При отсутствии дополнительных ограничений элемент, определенный как «содержащий…», не исключает возможности наличия дополнительных идентичных элементов в процессе, способе, продукте или системе, включающей в себя данный элемент.
Порядковые номера вариантов осуществления настоящего изобретения использованы исключительно в целях описания, и не отражают какие-либо преимущества вариантов осуществления заявленного изобретения.
После ознакомления с подробным описанием вариантов осуществления настоящего изобретения, представленным выше, специалистам в данной области техники должно быть совершенно понятно, что способ согласно описанному выше варианту его осуществления может быть реализован с помощью программных средств с дополнительных использованием базовых аппаратных средств общего назначения. Очевидно, что он может быть также реализован аппаратными средствами, но во многих случаях первый вариант является более предпочтительным. Исходя из этого понимания, технические решения настоящего изобретения - в целом или в той своей части, которая улучшает известный уровень техники - могут быть реализованы в виде программного продукта, причем этот программный продукт хранится в носителе данных, который описан выше (таком как постоянное запоминающее устройство (ROM)/оперативное запоминающее устройство (RAM), жесткий диск или оптический диск), и содержит ряд команд, инициирующих реализацию терминалом (в качестве которого может быть использован мобильный телефон, компьютер, сервер, установка кондиционирования воздуха или сетевое устройство или иное устройство подобного рода) способов согласно различным вариантам осуществления настоящего изобретения.
Представленное выше описание раскрывает лишь предпочтительные варианты осуществления настоящего изобретения, и не претендует на то, чтобы каким-либо образом ограничивать объем заявленного изобретения; при этом все эквивалентные структуры или эквиваленты процессов, которые могут быть модифицированы с учетом содержания настоящего описания и прилагаемых чертежей, или которые могут быть прямо или опосредованно применены к другим областям техники, также входят в объем настоящего изобретения.