УСТРОЙСТВО СЕТЕВОЙ СВЯЗИ И СПОСОБ ИЗБИРАТЕЛЬНОГО ОГРАНИЧЕНИЯ ПОЛОСЫ ПРОПУСКАНИЯ КАДРА ПЕРЕДАЧИ
NETWORK COMMUNICATION DEVICE AND METHOD FOR SELECTIVE RESTRICTION OF BANDWIDTH OF TRANSMISSION FRAME

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к устройству сетевой связи, а более конкретно, относится к способу избирательного ограничения полосы пропускания по кадру передачи в устройстве сетевой связи.
УРОВЕНЬ ТЕХНИКИ
Традиционное сетевое оборудование имеет проблему в том, что гибкое управление, такое как распределение нагрузки и несимметричное состояние, не может выполняться с внешнего устройства. По этой причине, когда масштаб сети становится большим, осмысление и улучшение характера поведения системы становится затруднительным, так что требуются капитальные затраты, чтобы изменять схему и конфигурацию.
В качестве технического приема решения вышеупомянутых проблем рассматривается способ разделения функции передачи пакета и функции управления маршрутизацией сетевого оборудования. Например, сетевое оборудование отвечает за функцию передачи пакета, а устройство управления, которое внешне отделено от сетевого оборудования, отвечает за функцию управления. Таким образом, устройство управления может управлять передачей пакетов, и может быть построена гибкая сеть.
ПОЯСНЕНИЕ СЕТИ С ТИПОМ CD-РАЗДЕЛЕНИЯ
В качестве одной из сетей централизованного типа управления, в которой функции разделены, предлагается сеть с типом CD-разделения (C: Плоскость управления/D: плоскость данных), в которой узловое устройство на стороне плоскости данных управляется посредством устройства управления на стороне плоскости управления.
В качестве одного примера сети с типом CD-разделения приводится сеть открытого потока, которая использует технологию OpenFlow, в которой контроллер управляет коммутатором, чтобы выполнять управление маршрутизацией в сети. Подробности технологии OpenFlow будут описаны в непатентной литературе 1. Отметим, что OpenFlow-сеть является просто одним примером.
ПОЯСНЕНИЕ OPENFLOW-СЕТИ
В OpenFlow-сети последовательности передач данных, которые определяются на основе комбинации MAC-адреса, IP-адреса, номера порта и т.п., определяются как "поток". Управление маршрутизацией, восстановление после перебоя, распределение нагрузки и оптимизация выполняются в единицах потока.
В OpenFlow-сети контроллер открытого потока (OFC: OpenFlow-контроллер) в качестве устройства управления оперирует таблицей потоков в отношении управления маршрутизацией коммутатора открытого потока (OFS: OpenFlow-коммутатор), соответствующего узловому устройству, чтобы управлять режимом работы коммутатора открытого потока.
Контроллер и коммутатор соединяются друг с другом через защищенный канал, который является путем передачи данных, защищенным посредством выделенной линии или SSL (протокол защищенных сокетов). Контроллер и коммутатор передают или принимают сообщение открытого потока (OpenFlow-сообщение) на основе протокола открытого потока (OpenFlow-протокола) к или от друг друга, через защищенный канал.
Коммутаторы в сети открытого потока включают в себя граничные коммутаторы и центральные коммутаторы, которые формируют сеть открытого потока и находятся под управлением контроллера. Отметим, что граничный коммутатор - это коммутатор, расположенный на границе сети, которая отличается от сети открытого потока. Также, центральный коммутатор - это коммутатор, который используется, чтобы пересылать пакет в сети открытого потока. В сети открытого потока контроллер может оперировать таблицей потоков коммутатора в отношении маршрута и управлять последовательностями потоков от приема (входящего потока) пакетов на входной стороне граничного коммутатора (вход) до передачи (исходящего потока) пакетов на выходной стороне граничного коммутатора (выход).
Пакет также может быть прочитан как кадр. Различием между пакетом и кадром является просто различие блока данных, который обрабатывается в протоколе (PDU: протокольный блок данных). Пакет является PDU для "TCP/IP" (протокол управления передачей/протокол Интернета). С другой стороны, кадр является PDU для "Ethernet (товарный знак)".
Таблица потоков - это набор потоковых записей, каждая из которых определяет комбинацию условия определения (правила), чтобы указывать пакеты, которые обрабатываются как поток; статистической информации, которая указывает число раз, которое пакеты согласуются (совпадают) с правилом; и обработки контента (действия), которая выполняется по пакетам.
Правило потоковой записи определяется на основе различных комбинаций одних или всех данных соответствующих иерархий протокола, включенных в область (поле) заголовка пакета, и правило может быть распознано. В качестве примера данных соответствующих иерархий протокола приводятся адрес получателя передачи (адрес получателя), адрес источника передачи (адрес источника), порт получателя передачи (порт получателя) и порт источника передачи (порт источника) и т.п. Отметим, что вышеописанные адреса предполагаются как MAC-адрес (управление доступом к среде) или IP-адрес (адрес протокола Интернета). Также, в дополнение к вышесказанному, данные входного порта (входной порт) могут быть использованы в качестве правила потоковой записи. Также, в качестве правила потоковой записи, возможно устанавливать регулярное выражение или выражение с универсальным символом "*" для части (или всех) значений области заголовка пакета, обрабатываемого как поток.
Действие потоковой записи указывает операцию, в которой "пакет выводится/передается в конкретный порт", "пакет отбрасывается/устраняется (удаляется)", или "заголовок пакета перезаписывается". Например, коммутатор выводит пакет в порт, соответствующий идентификационным данным, когда действие потоковой записи указывает идентификационные данные выходного порта (номер выходного порта или т.п.), и коммутатор отбрасывает пакет, когда идентификационные данные выходного порта не указываются. Или, когда действие потоковой записи указывает данные заголовка, коммутатор перезаписывает заголовок пакета на основе данных заголовка.
Коммутатор выполняет действие потоковой записи для группы пакетов (последовательности пакетов), которая соответствует правилу потоковой записи. В частности, при приеме пакета, коммутатор осуществляет поиск в таблице потоков на предмет потоковой записи, которая имеет правило, согласующееся с данными заголовка принятого пакета. В качестве результата поиска, когда находится потоковая запись, которая имеет правило, согласующееся с данными заголовка принятого пакета, коммутатор обновляет статистические данные потоковой записи и выполняет операцию, которая определена как действие потоковой записи, в отношении принятого пакета. С другой стороны, как результат поиска, когда не находится потоковая запись, которая имеет правило, согласующееся с данными заголовка принятого пакета, коммутатор определяет, что принятый пакет является первым пакетом, и передает принятый пакет (или копию) через канал управления контроллеру в сети открытого потока и запрашивает вычисление маршрута пакета на основе (адреса) источника передачи-получателя передачи принятого пакета и принимает сообщение для установки потоковой записи в качестве ответа и затем обновляет таблицу потоков.
Отметим, что запись по умолчанию, которая имеет правило, согласующееся с данными заголовка всех пакетов с низким приоритетом, зарегистрирована в таблице потоков. Когда потоковая запись, согласующаяся с принятым пакетом, не найдена, принятый пакет согласуется с этой записью по умолчанию. Действием записи по умолчанию является "передача информации запроса принятого пакета контроллеру".
СУЩНОСТЬ СЕТИ ОТКРЫТОГО ПОТОКА
Обычно, в системе сети открытого потока контроллер и коммутаторы имеют соотношение соединения "1:N (множество)" во многих случаях.
Таким образом, поскольку возможен случай, когда контроллер принимает неуправляемые запросы от многих коммутаторов, существует возможность превышения лимита производительности обработки.
Когда контроллер принимает запросы сверх производительности обработки и попадает в состояние запрета обработки, каждый из коммутаторов теряет функцию управления, и сеть отсоединяется от соответствующих коммутаторов. Таким образом, существует необходимость, чтобы коммутатор выдавал запрос, принимая во внимание предел производительности обработки контроллера.
Также, в дополнение к защите производительности обработки контроллера, требовалось, чтобы производительность обработки самого коммутатора была защищена.
Таким образом, в свете как позиций защиты производительности обработки контроллера, так и защиты производительности обработки коммутатора, требовалось ограничение полосы пропускания между контроллером и коммутатором.
Однако требуется, чтобы ограничение полосы пропускания между контроллером и коммутатором предпочтительно выполнялось, поскольку цель и важность в качестве функции открытого потока являются различными в зависимости от вида сообщения.
В приоритетном управлении была цель в том, что кадр низкого приоритета должен избегать попадания в состояние отсутствия передачи.
РОДСТВЕННАЯ ТЕХНОЛОГИЯ
В качестве родственных технологий, патентная литература 1 (JP 2005-244417 A) раскрывает устройство управления полосой пропускания, способ управления полосой пропускания и программу для управления полосой пропускания. В этой родственной технологии секция обработки ограничения полосы пропускания хранит оставшееся количество X маркеров, которое остается в маркерной корзине. Секция наблюдения за количеством маркеров сравнивает сохраненное оставшееся количество маркеров и максимальное количество маркеров пакета. Секция приоритетного управления назначает емкость линии передачи данных, которая назначается для передачи с типом обеспечения пропускной способности на основе результата сравнения, в линию связи с типом "лучший из возможного".
Отметим, что корзина указывает "ведро" и является контейнером, который абстрагируется, чтобы собирать сетевой трафик, который должен быть передан.
СПИСОК ССЫЛОК
ПАТЕНТНЫЙ ДОКУМЕНТ 1
JP 2005-244417A
НЕПАТЕНТНЫЙ ДОКУМЕНТ 1
“OpenFlow Switch Specification, Version 1.0.0”, [онлайн], (31 декабря, 2009), Интернет (URL: http://www.openflowswitch.org/documents/openflow-spec-v1.0.0.pdf)
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Цель заключается в том, что приоритет назначается каждому кадру передачи, и передача и обработка отбрасывания реализуется, когда выполняется ограничение полосы пропускания, чтобы предотвращать перегрузку устройства получения передачи в устройстве сетевой связи.
Также, когда принимается большое количество кадров с более высокими приоритетами, типа PQ (организация очередей с приоритетами) традиционной системы приоритетного управления, проблема того, что кадры более низких приоритетов не передаются вообще, должна быть разрешена.
Существуют способы, такие как WFQ (взвешенная организация равноправных очередей) и CBWFQ (основанная на классах взвешенная организация равноправных очередей), для вышеупомянутых проблем. Однако эти способы являются способом избирательного управления передачей кадров, которыми наполнены множество подочередей (подочереди), предусмотренных для каждого приоритета с передачей данных. Поскольку для подочереди требуются ресурсы памяти, существует проблема распределения ресурсов.
Кроме того, предпочтительно, чтобы передача выполнялась равным образом, и одинаковая пакетная передача разрешалась, вне зависимости от приоритета кадра, когда устройство не находится в состоянии перегрузки.
Целью настоящего изобретения является предоставление устройства сетевой связи, в котором выполняется ограничение полосы пропускания, чтобы предотвращать перегрузку устройства получения передачи в дополнение к решению вышеупомянутой проблемы.
Устройство сетевой связи согласно настоящему изобретению включает в себя секцию 21 обработки открытого потока, которая регистрирует потоковую запись, определяющую правило и действие, чтобы единообразно управлять принятым кадром как потоком, в таблице потоков под управлением контроллера, секцию предоставления корзины, которая предоставляет совместно используемую корзину, соответствующую всем кадрам, и корзину приоритетов, соответствующую приоритету каждого из кадров, предназначенных контроллеру, секцию 23 оценки совместно используемой корзины, которая оценивает, предназначен или нет принятый кадр контроллеру, и оценивает совместно используемую корзину на предмет кадра, предназначенного контроллеру, секцию 24 оценки корзины приоритетов, которая оценивает корзину приоритетов, соответствующую приоритету кадра, чтобы определять передачу или отбрасывание, когда избирательное ограничение полосы пропускания кадра передачи выполняется в результате оценки совместно используемой корзины.
Способ избирательного ограничения полосы пропускания кадра передачи согласно настоящему изобретению выполняется устройством сетевой связи и включает в себя: регистрацию потоковой записи, определяющей правило и действие для единообразного управления принятым кадром в качестве потока, в таблицу потоков под управлением контроллера; предоставление совместно используемой корзины для всех кадров, назначенных упомянутому контроллеру, и корзины приоритетов для приоритета каждого кадра; оценку того, предназначен или нет принятый кадр упомянутому контроллеру, и оценку совместно используемой корзины в отношении кадра, предназначенного упомянутому контроллеру; и оценку корзины приоритетов, соответствующей приоритету кадра, чтобы определять передачу или отбрасывание, когда избирательное ограничение полосы пропускания кадра передачи выполняется в результате оценки совместно используемой корзины.
Программа согласно настоящему изобретению является программой, чтобы побуждать устройство сетевой связи выполнять обработку вышеупомянутого способа избирательного ограничения полосы пропускания кадра передачи. Следует отметить, что программа согласно настоящему изобретению может быть сохранена в запоминающем устройстве и на носителе записи.
Поскольку маркеры количеством, определенным на основе приоритета, добавляются в каждую корзину для каждого постоянного периода, даже когда прибывает большое количество кадров более высоких приоритетов, передача кадров в корзины более низких приоритетов никогда не прекращается. Также, поскольку все маркеры, оставшиеся в каждой корзине, добавляются в совместно используемую корзину, вне зависимости от приоритета для каждого постоянного периода, равная передача кадров передачи может выполняться в совместно используемой корзине. Кадр оценивается в порядке прибытия, чтобы определять, что кадр должен быть передан или отброшен, на основе использования или неиспользования маркера. Необязательно предусматривать подочередь для каждого приоритета, и в это же время ограничение полосы пропускания является возможным.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 - это схема, показывающая пример конфигурации системы сети открытого потока;
Фиг. 2 - это концептуальная схема, показывающая избирательное ограничение полосы пропускания в настоящем изобретении;
Фиг. 3 - это схема, показывающая пример того, что маркер присутствует в совместно используемой корзине;
Фиг. 4 - это схема, показывающая пример того, что маркер присутствует в корзине приоритетов;
Фиг. 5 - это схема, показывающая пример того, что маркер не присутствует в обеих корзинах;
Фиг. 6 - это блок-схема последовательности операций, показывающая работу коммутатора (устройства сетевой связи) согласно настоящему изобретению;
Фиг. 7 - это схема, показывающая обработку кадра, когда маркер присутствует в совместно используемой корзине;
Фиг. 8 - это схема, показывающая обработку кадра, когда маркер присутствует в корзине приоритетов;
Фиг. 9 - это схема, показывающая обработку кадра, когда маркер не присутствует в обеих корзинах;
Фиг. 10 - это схема, показывающая пример базовой конфигурации коммутатора (устройства сетевой связи) согласно настоящему изобретению; и
Фиг. 11 - это схема, показывающая пример подробной конфигурации коммутатора (устройства сетевой связи) согласно настоящему изобретению.
Описание примерных вариантов осуществления
Настоящее изобретение нацелено на систему сети типа CD-разделения. Здесь, система сети открытого потока (OpenFlow) как одна из систем сети типа CD-разделения будет описана в качестве примера. Однако, фактически, настоящее изобретение не ограничивается системой сети открытого потока.
<ПРИМЕРНЫЕ ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯ>
Примерные варианты осуществления будут описаны ниже со ссылкой на присоединенные чертежи.
(КОНФИГУРАЦИЯ СИСТЕМЫ)
Как показано на фиг. 1, система сети открытого потока включает в себя контроллер 10 и коммутаторы 20 (20-i, i=1 до n; n является произвольным числом).
Контроллер 10 является серверным устройством и назначает приоритет принятому кадру для каждого из коммутаторов 20 (20-i, i=1 до n). Здесь, контроллер 10 добавляет данные приоритета в потоковую запись, в которой определяется поведение принятого кадра, чтобы задавать его каждому из коммутаторов 20 (20-i, i=1 до n).
Каждый из коммутаторов 20 (20-i, i=1 до n) является устройством сетевой связи и выполняет избирательное ограничение полосы пропускания по кадру, проходящему в контроллер 10 в качестве получателя. Каждый из коммутаторов 20 (20-i, i=1 до n) классифицирует кадры, проходящие в контроллер 10 в качестве получателя, на основе множества определенных приоритетов.
Здесь, каждый из коммутаторов 20 (20-i, i=1 до n) оценивает кадр в таблице потоков, в которой была зарегистрирована потоковая запись, когда кадр принят. Когда приоритет назначен, каждый из коммутаторов 20 (20-i, i=1 до n) выполняет ограничение передачи принятого кадра в соответствии с приоритетом кадра.
Отметим, что среди коммутаторов 20 (20-i, i=1 до n), коммутатором, который выполняет обработку передачи кадра контроллеру 10, может быть только коммутатор, соответствующий граничному коммутатору входной стороны. Т.е. коммутатор 20, который прежде всех принимает кадр снаружи сети открытого потока, становится главной целью настоящего изобретения. Конечно, коммутатор, соответствующий центральному коммутатору, может быть целью настоящего изобретения, поскольку коммутатор может выполнять обработку передачи кадра контроллеру 10.
Избирательное ограничение полосы пропускания в настоящем изобретении применяет и добивается способа маркерной корзины.
В этом примерном варианте осуществления коммутатор 20, который является одним из коммутаторов 20 (20-i, i=1 до n) и принимает кадр, предоставляет одну совместно используемую корзину (общую корзину без зависимости от какого-либо приоритета) и множество корзин приоритетов (корзину для каждого приоритета) для кадра, предназначенного контроллеру 10. Только оценка количества маркеров и корзин предполагается к выполнению в таких корзинах. Такие корзины не используются в качестве матрицы для оценки, и буфера или очереди, которая используется от приема до передачи. В этом примерном варианте осуществления коммутатор 20 получает кадр из приемного буфера и проверяет, присутствует или нет маркер в какой-либо из корзин, соответствующих кадру. Если маркер присутствует в какой-либо корзине, коммутатор 20 передает кадр в буфер передачи. Если маркер не присутствует в какой-либо корзине, кадр отбрасывается. В оценке маркера или корзины кадр никогда не буферизуется.
Вначале, при приеме кадра, коммутатор 20 оценивает, предназначен или нет принятый кадр контроллеру 10, и оценивает совместно используемую корзину на предмет кадра, предназначенного контроллеру 10.
Если достаточное количество маркеров не присутствует в совместно используемой корзине, коммутатор 20, принимающий кадр, оценивает корзину приоритетов, соответствующую приоритету кадра, чтобы определять, должен ли он быть передан или отброшен.
(ПОЯСНЕНИЕ ПРИМЕРА АППАРАТНЫХ СРЕДСТВ)
Пример конкретной конфигурации аппаратных средств, чтобы реализовать контроллер 10 и каждый из коммутаторов 20 (20-i, i=1 до n) согласно настоящему изобретению, будет описан ниже.
В качестве примера контроллера 10 предполагается вычислительная машина, такая как PC (персональный компьютер), прибор, сервер с тонким клиентом, рабочая станция, универсальная ЭВМ и суперкомпьютер. Отметим, что контроллер 10 не ограничивается терминалом или сервером и может быть ретранслирующим устройством или периферийным устройством. Также, контроллер 10 может быть платой расширения, предусмотренной в вычислительной машине, или т.п., и виртуальной машиной (VM), основанной на физической машине.
В качестве примера каждого из коммутаторов 20 (20-i, i=1 до n) рассматривается сетевой коммутатор, маршрутизатор, прокси, шлюз, брандмауэр, балансировщик нагрузки (устройство распределения нагрузки), устройство управления полосой пропускания (формирователь пакетов), устройство управления средством контроля безопасности (SCADA: система диспетчерского контроля и сбора данных), посредник), базовая станция, точка доступа (AP), спутник связи (CS) или вычислительное устройство, которое имеет множество портов или т.п.
Вышеупомянутый контроллер 10 и каждый из коммутаторов 20 (20-i, i=1 до n) реализуются с помощью: процессора, который исполняет программу, чтобы выполнять предварительно определенную обработку; памяти для хранения программы и различных данных; и интерфейса, используемого для связи с сетью.
В качестве примера приводится вышеупомянутый процессор, CPU (центральный процессор), сетевой процессор (NP), микропроцессор, микроконтроллер или полупроводниковая интегральная схема (LSI: большая интегральная схема), которая имеет специализированную функцию) или т.п.
В качестве примера вышеупомянутой памяти приводится полупроводниковое запоминающее устройство, такое как RAM (оперативное запоминающее устройство), ROM (постоянное запоминающее устройство), EEPROM (электрически стираемое и программируемое постоянное запоминающее устройство) и флэш-память, внешнее запоминающее устройство, такое как HDD (накопитель на жестком диске) и SDD (твердотельный накопитель), съемный диск, такой как DVD (цифровой универсальный диск), и носители хранения, такие как SD-карта памяти (защищенная цифровая карта памяти). Также, это может быть буфер, регистр или т.п. Или это может быть запоминающее устройство, которое использует DAS (накопитель с прямым подключением), FC-SAN (волоконно-оптический канал - сеть устройств хранения данных), NAS (сетевое устройство хранения данных), IP-SAN (IP - сеть устройств хранения данных) или т.п.
Отметим, что вышеописанный процессор и вышеописанная память могут быть объединены на одном кристалле. Например, однокристальная конфигурация микрокомпьютера развивается в последние годы. Таким образом, рассматривается пример, в котором однокристальный микрокомпьютер, предусмотренный в электронном оборудовании или т.п., содержит процессор и память.
В качестве примера вышеописанного интерфейса приводится плата (материнская плата, плата ввода/вывода (I/O)), соответствующая передача данных по сети, полупроводниковая интегральная схема, такая как кристалл, в качестве сетевого адаптера, такого как NIC (сетевая интерфейсная плата), и аналогичной платы расширения, устройство связи, такое как антенна, или порт связи, такой как соединительный порт (разъем).
Также, в качестве примера сети рассматривается Интернет, LAN (локальная вычислительная сеть), беспроводная LAN, WAN (глобальная вычислительная сеть), магистральная линия связи, кабельная телевизионная (CATV) линия, фиксированная телефонная сеть, мобильная телефонная сеть, WiMAX (IEEE 802.16a), 3G, (3-е поколение), выделенная линия (арендованная линия), IrDA (Ассоциация по инфракрасной технологии передачи данных), Bluetooth (зарегистрированный товарный знак), последовательная линия связи, шина данных или т.п.
Отметим, что элементы конфигурации внутри контроллера 10 и каждого из коммутаторов 20 (20-i, i=1 до n) могут быть модулями, компонентами, специализированными устройствами или программами для их запуска (вызова).
Однако, фактически, настоящее изобретение не ограничивается этими примерами.
(ИЗБИРАТЕЛЬНОЕ ОГРАНИЧЕНИЕ ПОЛОСЫ ПРОПУСКАНИЯ)
Избирательное ограничение полосы пропускания в настоящем изобретении будет описано ниже подробно.
Коммутатор 20, который является одним из коммутаторов 20 (20-i, i=1 до n) и принимает кадр, использует два вида маркерных корзин и выполняет оценку ограничения полосы пропускания и оценку приоритета принятого кадра.
Вначале, при приеме кадра, коммутатор 20 предоставляет корзину, соответствующую приоритету кадра.
Коммутатор 20, принимающий кадр, добавляет маркеры количеством, определенным на основе каждого приоритета, в корзину, предоставленную для приоритета кадра.
Кроме того, коммутатор 20, принимающий кадр, предоставляет одну совместно используемую корзину перед оценкой этих корзин.
Как показано на фиг. 2, при приеме кадра, коммутатор 20 доставляет все маркеры, которые присутствуют в корзине, предусмотренной для каждого приоритета в это время, в совместно используемую корзину для каждого постоянного периода.
Однако глубина (емкость) совместно используемой корзины фиксирована величиной допуска пакетной передачи устройства. Когда маркеры выходят за пределы глубины (емкости) совместно используемой корзины, коммутатор 20, принявший кадр, отбрасывает переполняющие маркеры.
Как показано на фиг. 3, коммутатор 20, принявший кадр, равным образом оценивает и передает все кадры, независимо от приоритетов кадров, пока маркеры присутствуют в совместно используемой корзине.
Если маркер не присутствует в совместно используемой корзине, коммутатор 20, принявший кадр, переключается на избирательное ограничение полосы пропускания последней стадии, чтобы оценивать корзину, предусмотренную для каждого приоритета.
Как показано на фиг. 4, при переключении на предпочтительное ограничение, коммутатор 20, принявший кадр, проверяет корзину приоритетов, соответствующую приоритету, определенному во время идентификации потока для каждого из кадров, и выполняет обработку передачи, если маркер присутствует в корзине приоритетов, соответствующей приоритету.
Как показано на фиг. 5, коммутатор 20, принявший кадр, выполняет обработку отбрасывания кадра, если маркер не присутствует в корзине приоритетов.
Отметим, что коммутатор 20, принявший кадр, добавляет маркеры количеством, определенным на основе приоритета для каждого постоянного времени для каждой корзины приоритетов, даже если прибывает большое количество кадров высоких приоритетов. По этой причине, количество маркеров добавляется для каждого постоянного интервала времени во все корзины приоритетов, так что не возникает случая, что кадр не входит в состояние отсутствия передачи даже в корзинах низких приоритетов.
Также коммутатор 20, принявший кадр, добавляет все маркеры в корзинах приоритетов в совместно используемую корзину, независимо от приоритета кадра, после постоянного периода. По этой причине некоторые маркеры присутствуют в совместно используемой корзине для каждого постоянного периода, так что все кадры могут быть равным образом оценены и переданы независимо от приоритетов кадров.
Коммутатор 20, принявший кадр, оценивает кадры в порядке прибытия кадров, чтобы определять, должен ли кадр быть передан или отброшен, на основе того, используется ли маркер.
Коммутатору 20, принявшему кадр, не требуется предоставлять подочередь для каждого приоритета, и он может выполнять ограничение полосы пропускания в то же самое время.
(РАБОТА КОММУТАТОРА)
Работа коммутатора в настоящем изобретении будет описана ниже со ссылкой на фиг. 6.
(1) ЭТАП S101
Из коммутаторов 20 (20-i, i=1 до n) любой коммутатор принимает прибывший кадр.
(2) ЭТАП S102
Коммутатор 20, принявший кадр, осуществляет поиск в таблице потоков с использованием кадра. Т.е. коммутатор 20, принявший кадр, осуществляет поиск в таблице потоков на предмет кадра.
(3) ЭТАП S103
Коммутатор 20, принявший кадр, проверяет, попадает или нет кадр в потоковую запись.
(4) ЭТАП S104
Если кадр попадает в потоковую запись (Да на этапе S103), коммутатор 20, принявший кадр, проверяет, указывает ли действие потоковой записи передачу контроллеру 10.
(5) ЭТАП S105
Если действие потоковой записи является действием, отличным от передачи контроллеру 10, хотя кадр попадает в потоковую запись (Нет на этапе S104), коммутатор 20, принявший кадр, выполняет обработку кадра согласно действию. Следовательно, этот случай не включается в работу настоящего изобретения. Т.е. выполняется обработка кадра в обычной системе сети открытого потока.
Также, если обработка, свойственная открытому потоку, выполняется, чтобы уведомлять контролер 10 о результате поиска, что кадр не попадает в какую-либо потоковую запись и является неизвестным кадром (Нет на этапе S103), коммутатор 20, принявший кадр, выполняет обработку кадра, назначенного контроллеру 10. Эта операция включается в работу настоящего изобретения, и выполняется оценка совместно используемой корзины и корзин приоритетов.
Также, если кадр попадает в потоковую запись, и дополнительно действие потоковой записи указывает передачу контроллеру 10 (Да на этапе S104), коммутатор 20, принявший кадр, аналогично оценивает совместно используемую корзину и корзины приоритетов, что включается в работу настоящего изобретения.
(6) ЭТАП S106
Коммутатор 20, принявший кадр, измеряет количество маркеров в совместно используемой корзине и проверяет, присутствует или нет маркер в совместно используемой корзине, когда коммутатор 20 выполняет обработку, свойственную открытому потоку, чтобы уведомлять контроллер 10 о результате поиска, что кадр не попадает в какую-либо потоковую запись и поэтому является неизвестным кадром (Нет на этапе S103), или когда кадр попадает в потоковую запись, а действие потоковой записи указывает передачу, предназначенную контроллеру 10 (Да на этапе S104).
(7) ЭТАП S107
Если никакой маркер не присутствует в совместно используемой корзине (Нет на этапе S106), коммутатор 20, принявший кадр, проверяет, присутствует или нет какой-либо маркер в корзине, предусмотренной для каждого приоритета.
(8) ЭТАП S108
Коммутатор 20, принявший кадр, передает кадр, предназначенный контроллеру 10, когда маркер присутствует в совместно используемой корзине (Да на этапе S106), или когда никакой маркер не присутствует в совместно используемой корзине, и маркер присутствует в корзине приоритетов для кадра (Да на этапе S107).
В это время, как показано на фиг. 7, когда маркер присутствует в совместно используемой корзине, коммутатор 20, принявший кадр, выполняет обработку изъятия маркера(ов), соответствующих количеству переданных кадров, из совместно используемой корзины.
Также, как показано на фиг. 8, когда маркер присутствует в корзине приоритетов, соответствующей кадру, коммутатор 20, принявший кадр, выполняет обработку изъятия маркера(ов), соответствующих количеству переданных кадров из корзины приоритетов.
(9) ЭТАП S109
Коммутатор 20, принявший кадр, выполняет обработку отбрасывания кадра, если никакой маркер не присутствует в совместно используемой корзине, а также никакой маркер не присутствует в корзине приоритетов кадра (Нет на этапе S107).
Т.е., как показано на фиг. 9, коммутатор 20, принявший кадр, выполняет обработку отбрасывания кадра, если никакой маркер не зарезервирован в оценке как совместно используемой корзины, так и корзины приоритетов.
Коммутатор 20, принявший кадр, добавляет маркеры количеством, взвешенным или определенным в соответствии с каждым приоритетом, в корзину приоритетов для каждого постоянного интервала времени.
Т.е. добавляемое количество маркеров отличается для каждой корзины приоритетов.
В это время общее количество маркеров, добавленных в корзину приоритетов равно максимальному количеству передач, которое может быть передано контроллеру 10 коммутатором 20, принявшим кадр.
После добавления маркеров в корзину приоритетов, коммутатор 20, принявший кадр, назначает все маркеры во всех корзинах приоритетов совместно используемой корзине без условия для каждого постоянного интервала времени и, следовательно, добавляет маркеры в совместно используемую корзину.
Однако глубина (емкость) совместно используемой корзины равна максимальному количеству пакетных передач. Поэтому, коммутатор 20, принявший кадр, не добавляет маркеры с глубиной(емкостью) или больше в совместно используемую корзину и отбрасывает лишние маркеры.
Коммутатор 20, принявший кадр, добавляет маркеры количеством, взвешенным снова, в пустую корзину приоритетов после предварительно определенного интервала времени.
Т.е. коммутатор 20, принявший кадр, добавляет маркеры в корзину приоритетов после того, как все корзины приоритетов стали пустыми. Коммутатор 20, принявший кадр, организует и периодически повторяет момент, когда корзина приоритетов становится пустой, и момент, когда маркер предварительно определенного количества добавляется.
Однако, как показано на фиг. 2, относительно добавления в совместно используемую корзину, не требуется, чтобы совместно используемая корзина была пустой.
(РЕЗУЛЬТАТ)
В настоящем изобретении максимальное количество добавления в корзину приоритетов, рассматриваемое в качестве окончательной оценки, определяется как максимальное количество передач устройства. Таким образом, не возникает случая, что превышается максимальное количество передач в какой-либо момент времени, вследствие операции принудительного опустошения всех корзин приоритетов единовременно перед добавлением. По этой причине, управление полосой пропускания, такое как QoS, управление, основанное на производительности обработки, и управление для предотвращения превышения допустимого диапазона приема устройства получения передачи не могут выполняться.
Также, с точки зрения управления приоритетом, ожидается результат, аналогичный WFQ. Кроме того, одновременно с вышеуказанным результатом возможно реализовывать характерное преимущество способа маркерной корзины, в котором маркеры из корзин приоритетов периодически собираются в совместно используемую корзину, и пакетные передачи могут разрешаться равномерно независимо от вида кадра в диапазоне совместно используемой корзины.
Отметим, что традиционный способ маркерной корзины не используется для ограничения полосы пропускания и управления приоритетом, а используется, чтобы измерять величину полосы пропускания.
С другой стороны, настоящее изобретение добивается избирательного ограничения полосы пропускания, применяя способ маркерной корзины и предоставляя корзину для каждого приоритета. По этой причине, в корзине приоритетов, маркеры добавляются во все корзины. Поэтому может быть реализована гарантия полосы пропускания всех приоритетов, и полоса пропускания может быть гарантирована даже относительно кадра низкого приоритета.
Кроме того, в настоящем изобретении, поскольку не требуется предусматривать буфер для хранения кадра для каждого приоритета в классификации кадра по классу приоритета, в отличие от традиционного способа приоритетного управления, ресурсы памяти могут быть сэкономлены, и реализация упрощается.
<ДОПОЛНИТЕЛЬНОЕ ПОЯСНЕНИЕ>
Каждый из коммутаторов 20 (20-i, i=1 до n) согласно настоящему изобретению может также быть описан, как показано в последующих дополнительных пояснениях. Однако настоящее изобретение не ограничивается последующими примерами описания. Здесь, ради простоты описания, каждый из коммутаторов 20 (20-i, i=1 до n) представляется как "коммутатор 20".
<ДОПОЛНИТЕЛЬНОЕ ПОЯСНЕНИЕ 1>
Пример базовой конфигурации коммутатора 20 согласно настоящему изобретению будет описан ниже со ссылкой на фиг. 10.
Коммутатор 20 согласно настоящему изобретению содержит секцию 21 обработки открытого потока, секцию 22 задания корзины, секцию 23 оценки совместно используемой корзины и секцию 24 оценки корзины приоритетов.
Секция 21 обработки открытого потока регистрирует потоковую запись, в которой определены правило и действие, чтобы единообразно управлять принятыми кадрами как потоком, в таблице потоков в соответствии с управлением посредством контроллера 10.
Секция 22 задания корзины предоставляет совместно используемую корзину, соответствующую всем кадрам; и корзину приоритетов, соответствующую приоритету каждого кадра, для кадров, предназначенных контроллеру 10.
Секция 23 оценки совместно используемой корзины оценивает, предназначен или нет принятый кадр контроллеру 10, и оценивает совместно используемую корзину на предмет кадров, назначенных контроллеру 10.
Если избирательное ограничение полосы пропускания кадра передачи выполняется в результате оценки совместно используемой корзины, секция 24 оценки корзины приоритетов оценивает корзину приоритетов, соответствующую приоритету каждого кадра, и определяет, должен ли кадр быть передан или отброшен.
<ДОПОЛНИТЕЛЬНОЕ ПОЯСНЕНИЕ 2>
Пример подробной конфигурации коммутатора 20 согласно настоящему изобретению будет описан со ссылкой на фиг. 11.
Отметим, что объяснение содержимого, общего с показанным на фиг. 10, опускается.
Секция 22 задания корзины содержит секцию 211 задания корзины приоритетов и секцию 222 задания совместно используемой корзины.
Секция 221 задания корзины приоритетов предоставляет корзину для каждого приоритета принятого кадра.
Секция 222 задания совместно используемой корзины предоставляет одну совместно используемую корзину перед оценкой корзины приоритетов, предоставленной для каждого приоритета.
Коммутатор 20 согласно настоящему изобретению дополнительно содержит секцию 25 обработки маркера.
Секция 25 обработки маркера содержит секцию 251 добавления маркера, секцию 252 передачи маркера и секцию 253 отбрасывания маркера.
Секция 251 добавления маркера добавляет маркеры количеством, определенным на основе приоритета, в корзину, предусмотренную для каждого приоритета.
Секция 252 передачи маркеров доставляет все маркеры, которые присутствуют в корзине, предусмотренной для каждого приоритета в это время, в совместно используемую корзину для каждого постоянного периода.
Если маркеры превышают емкость совместно используемой корзины и переполняют ее, секция 253 отбрасывания маркера отбрасывает переполняющие маркеры.
Пока маркер присутствует в совместно используемой корзине, секция 23 оценки совместно используемой корзины оценивает и передает все кадры независимо от приоритета принятого кадра.
Если никакой маркер не присутствует в совместно используемой корзине, секция 24 оценки корзины приоритетов переключается на избирательное ограничение полосы пропускания и оценивает корзину, предусмотренную для каждого приоритета, и затем проверяет, присутствует или нет маркер в корзине, соответствующей приоритету принятого кадра. Секция 24 оценки корзины приоритетов выполняет обработку передачи для принятого кадра, если маркер присутствует в корзине приоритетов, соответствующей приоритету принятого кадра, в качестве проверенного результата. Также, секция 24 оценки корзины приоритетов выполняет обработку отбрасывания для принятого кадра, если никакой маркер не присутствует в корзине, соответствующей приоритету принятого кадра.
<ДОПОЛНИТЕЛЬНОЕ ПОЯСНЕНИЕ 3>
Вышеупомянутая конфигурация будет описана ниже более подробно со ссылкой на фиг. 10 и фиг. 11.
Секция 21 обработки открытого потока осуществляет поиск в таблице потоков на основе прибывшего кадра, чтобы определять, попадает или нет кадр в потоковую запись. Секция 21 обработки открытого потока проверяет, указывает или нет действие потоковой записи передачу, предназначенную контроллеру 10, если кадр попадает в потоковую запись. Если действие потоковой записи является действием за исключением передачи, предназначенной контроллеру 10, секция 21 обработки открытого потока выполняет обработку кадра в соответствии с действием.
Секция 23 оценки совместно используемой корзины измеряет количество маркеров в совместно используемой корзине и проверяет, присутствует или нет какой-либо маркер в совместно используемой корзине, если выполняется процесс уведомления контроллера 10 о том, что кадр не попадает в потоковую запись и является неизвестным кадром, или если кадр попадает в потоковую запись, и действие потоковой записи указывает передачу, предназначенную контроллеру 10.
Секция 24 оценки корзины приоритетов проверяет, присутствует или нет какой-либо маркер в корзине, предусмотренной для каждого приоритета, если никакой маркер не присутствует в совместно используемой корзине.
Секция 21 обработки открытого потока передает кадр, предназначенный контроллеру 10, если маркер присутствует в совместно используемой корзине, или если маркер не присутствует в совместно используемой корзине, но маркер присутствует в корзине приоритетов кадра.
Если маркер присутствует в совместно используемой корзине, секция 23 оценки совместно используемой корзины выполняет обработку изъятия маркера(ов), соответствующих количеству переданных кадров из совместно используемой корзины.
Если маркер присутствует в корзине приоритетов кадра, секция 24 оценки корзины приоритетов выполняет обработку изъятия маркера(ов), соответствующих количеству переданных кадров, из корзины приоритетов.
Секция 21 обработки открытого потока выполняет обработку отбрасывания кадра, если маркер не присутствует в совместно используемой корзине, а также маркер не присутствует в корзине приоритетов кадра.
<ДОПОЛНИТЕЛЬНОЕ ПОЯСНЕНИЕ 4>
Отметим, что вышеописанная конфигурация реализуется посредством процессора, который управляется на основе программы, чтобы исполнять предварительно определенную обработку; памяти для хранения программы и различных данных; и интерфейса, используемого для связи с сетью.
<ЗАМЕЧАНИЕ>
Как упомянуто выше, примерные варианты осуществления настоящего изобретения были описаны подробно. Фактически, настоящее изобретение не ограничивается вышеупомянутыми примерными вариантами осуществления. Таким образом, модификация в диапазоне без отступления от сущности и объема настоящего изобретения включается в настоящее изобретение.
Отметим, что эта патентная заявка испрашивает приоритет на основе японской патентной заявки № JP 2011-250191, и раскрытие ее содержится в данном документе по ссылке.