СПОСОБ И УСТРОЙСТВО ДЛЯ ОБЕСПЕЧЕНИЯ QoS ДЛЯ АБОНЕНТОВ MP
METHOD AND APPARATUS FOR PROVIDING QoS FOR MP SUBSCRIBERS

УРОВЕНЬ ТЕХНИКИ
Область техники, к которой относится изобретение
Варианты осуществления изобретения относятся к области образования сетей; и более определенно, к качеству обслуживания (QOS) по многоканальному протоколу.
Уровень техники
Многоканальный протокол (MP) (описанный в Запросе на комментарии (RFC) 1990, "Многоканальный протокол PPP ("протокола передачи от точки к точке") (MP)", август 1996 г.) позволяет множество физических каналов компоновать в единственный логический канал связи. Например, абонент может иметь множество каналов связи цифровой абонентской линии (DSL, ЦАЛ), которые могут быть сгруппированы в единственный логический канал связи с объединенной полосой пропускания всех многочисленных каналов DSL. Пакеты фрагментируются на множество фрагментов, и фрагменты дистрибутивным образом передаются по множеству физических каналов.
Обычный сетевой элемент, который обеспечивает поддержку QOS для многоканального протокола, применяет свойства QOS для каждого из множества физических каналов. Например, в обычном сетевом элементе, отдельная группа очередей выделяется для каждого из множества физических каналов, связанных с абонентом (количество очередей в группе зависит от схемы уровней приоритетов). В обычной схеме уровней приоритетов QOS протокола межсетевого взаимодействия (IP), которая включает в себя восемь уровней приоритетов, каждый физический канал связи, связанный с абонентом, имеет 8 очередей (по одной очереди для каждого уровня приоритетов). Таким образом, общее количество очередей, необходимых для поддержки QOS, составляет количество физических каналов, умноженное на количество очередей в группе очередей.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Изобретение лучше всего можно понять, ссылаясь на последующее описание и прилагаемые чертежи, которые используются для того, чтобы проиллюстрировать варианты осуществления изобретения. На чертежах:
фиг.1 иллюстрирует примерную сеть, выполненную с многоканальным протоколом в соответствии с одним вариантом осуществления изобретения;
фиг.2A - блок-схема последовательности операций способа, иллюстрирующая модуль многоканального протокола в сетевом элементе фиг.1 в соответствии с одним вариантом осуществления изобретения;
фиг.2B - блок-схема последовательности операций способа, иллюстрирующая модуль протокола передачи от точки к точке и модуль планирования качества обслуживания сетевого элемента фиг.1 в соответствии с одним вариантом осуществления изобретения;
фиг.3 иллюстрирует обеспечение поддержки QOS на уровне абонентов в соответствии с одним вариантом осуществления изобретения; и
фиг.4A, 4B и 4C - блок-схемы последовательности операций способа, иллюстрирующие обеспечение поддержки многоканального протокола для абонентов в соответствии с одним вариантом осуществления изобретения.
ПОДРОБНОЕ ОПИСАНИЕ
В последующем описании сформулированы многочисленные конкретные подробности. Однако должно быть понятно, что варианты осуществления изобретения могут быть осуществлены на практике без этих конкретных подробностей. В других случаях, известные схемы, структуры и технические приемы подробно не показаны для того, чтобы не затенять понимание этого описания. Специалисты в данной области техники, с помощью включенного описания, будут в состоянии реализовывать соответствующие функциональные возможности без чрезмерного экспериментирования.
Ссылки в описании изобретения на "один вариант осуществления", "вариант осуществления", "примерный вариант осуществления" и т.д. указывают на то, что описанный вариант осуществления может включать в себя конкретный признак, структуру или характеристику, но каждый вариант осуществления не обязательно может включать в себя этот конкретный признак, структуру или характеристику. Кроме того, такие фразы необязательно относятся к одному и тому же варианту осуществления. К тому же, когда конкретный признак, структура или характеристика описаны в связи с вариантом осуществления, это указывает, что он находится в пределах знания специалистов в данной области техники, позволяя осуществлять такой признак, структуру или характеристику в связи с другими вариантами осуществления, независимо от того, описаны ли они явно.
В последующем описании и формуле изобретения могут использоваться термины "связаны" и "соединены", наряду с их производными. Должно быть понятно, что эти термины не предназначены в качестве синонимов друг для друга. Термин "связаны" используется для того, чтобы указать, что два или более элементов, которые могут быть или не быть в прямом физическом или электрическом контакте друг с другом, объединены или взаимодействуют друг с другом. Термин "соединены" используется для того, чтобы указать установление связи между двумя или более элементами, которые связаны друг с другом.
Технические приемы, показанные на чертежах, могут быть реализованы с использованием кода и данных, сохраняемых и выполняемых в одном или более электронных устройствах (например, компьютере, сетевом элементе и т.д.). Такие электронные устройства сохраняют и сообщают (внутренним образом и с помощью других электронных устройств через сеть) код и данные, используя машинно-читаемые носители, такие как машинные носители для хранения данных (например, магнитные диски; оптические диски; оперативное запоминающее устройство; постоянное запоминающее устройство; устройства флэш-памяти) и машинные средства связи (например, электрическую, оптическую, акустическую или другую форму распространяемых сигналов, таких как несущие волны, инфракрасные сигналы, цифровые сигналы и т.д.). Дополнительно, такие электронные устройства обычно включают в себя совокупность из одного или более процессоров, связанных с одним или более другими компонентами, такими как устройство хранения данных, одно или более устройств ввода-вывода пользователя (например, клавиатуру и/или дисплей) и подключение к сети. Связь совокупности процессоров и других компонентов обычно выполняется через одну или более шин и мостов (также называемых шинным контроллером). Устройство хранения данных и сигналы, переносящие сетевой трафик, соответственно, представляют один или более машинные носители для хранения данных и машинные средства связи. Таким образом, устройство хранения данных данного электронного устройства обычно сохраняет код и/или данные для выполнения на совокупности из одного или более процессоров этого электронного устройства. Конечно, одна или более частей варианта осуществления изобретения могут быть реализованы с использованием различных комбинаций программного обеспечения, встроенного программного обеспечения и/или аппаратного обеспечения.
Как используется в данном описании, сетевой элемент (например, маршрутизатор, переключатель, мост и т.д.) представляет собой часть сетевого оборудования, которая включает в себя аппаратное обеспечение и программное обеспечение, которое коммуникационным образом подсоединяется к другому оборудованию в сети (например, к другим сетевым элементам, компьютерным оконечным станциям и т.д.). Компьютерные оконечные станции абонентов (например, рабочие станции, дорожные компьютеры, карманные компьютеры, мобильные телефоны и т.д.) обращаются к содержимому/услугам, обеспечиваемым через Интернет, и/или к содержимому/услугам, обеспечиваемым в виртуальных частных сетях (VPN), накладывающихся на Интернет. Как правило, вычислительные оконечные станции абонентов связаны (например, через аппаратуру, устанавливаемую в помещении пользователя, связанную с сетью доступа, беспроводным образом с сетью доступа) с краевыми сетевыми элементами, которые связаны через основные сетевые элементы Интернета с вычислительными оконечными станциями серверов.
Некоторые сетевые элементы поддерживают конфигурацию множества контекстов. Как используется в данном описании, каждый контекст представляет собой экземпляр виртуального сетевого элемента (например, виртуального маршрутизатора или виртуального моста). Каждый контекст обычно совместно использует один или более вычислительные ресурсы (например, запоминающее устройство, циклы обработки данных и т.д.) с другими контекстами, выполненными на краевом сетевом элементе, и все же является независимо управляемым. Например, в случае множества виртуальных маршрутизаторов, каждый из виртуальных маршрутизаторов совместно использует вычислительные ресурсы, но отдельно от других виртуальных маршрутизаторов относительно его административного домена, пространства имен аутентификации, авторизации и учета (AAA), IP-адреса и базы (баз) данных маршрутизации. Благодаря этому разделению, поставщики услуг могут применять множество контекстов, чтобы обеспечивать прямой сетевой доступ для потребителей и/или обеспечивать различные классы услуг для потребителей.
Описаны способ и устройство для обеспечения поддержки качества обслуживания (QOS) для абонентов многоканального протокола (MP) на уровне абонентов. В одном варианте осуществления изобретения, сетевой элемент фрагментирует пакет, предназначенный для абонента, на множество фрагментов и добавляет любые необходимые инкапсуляции (например, инкапсуляцию протокола MP, инкапсуляцию протокола передачи от точки к точке, инкапсуляции второго уровня). Сетевой элемент компонует фрагменты вместе, чтобы сформировать групповой пакет MP. Сетевой элемент посылает групповой пакет MP в единственную выходную очередь, связанную с абонентом. Фрагменты дистрибутивным образом передаются через каналы связи, связанные с абонентом. В другом варианте осуществления изобретения, информация упорядочивания MP не добавляется к фрагментам, за исключением ситуации, когда единственная выходная очередь может поддерживать каждый фрагмент.
Фиг.1 иллюстрирует примерную сеть, выполненную с многоканальным протоколом в соответствии с одним вариантом осуществления изобретения. Сетевой элемент 120 связан с всемирной сетью 110 связи (например, с Интернетом). Сетевой элемент 120 дополнительно связан с вычислительным устройством 130. В соответствии с некоторыми вариантами осуществления изобретения, сетевой элемент 120 обеспечивает сетевые услуги для вычислительного устройства 130 (например, доступ к всемирной сети 110 связи (WAN, ВСС)). Помимо этого, в соответствии с некоторыми вариантами осуществления изобретения, сетевой элемент 120 представляет собой краевой сетевой элемент. Как используется в данном описании, краевой сетевой элемент расположен на краю автономной системы, которая коммуникационным образом связывает некоторое количество основных сетевых элементов (например, включая сетевые элементы в пределах WAN 110) с другим оборудованием, принадлежащим другим автономным системам. Как используется в данном описании, автономная система представляет собой совокупность из одного или более сетевых элементов (краевых и/или основных сетевых элементов) под управлением одного или более поставщиков сетевых услуг, которые индивидуально представляют общую стратегию маршрутизации в общей сети (например, в Интернете).
Вычислительное устройство 130 может принимать различные формы в зависимости от вариантов осуществления изобретения, которые включают в себя рабочую станцию, настольный компьютер, дорожный компьютер, карманный компьютер, мобильный телефон и т.д. Вычислительное устройство 130 связано с сетевым элементом 120 через сеть 115 доступа. Сеть 115 доступа может включать в себя один или более сетевых элементов (например, переключатель второго уровня (например, мультиплексор доступа к цифровой абонентской линии (DSLAM), концентратор доступа по протоколу L2TP (сетевой протокол туннелирования канального уровня) (LAC)) и т.д.). Кроме того, в некоторых вариантах осуществления изобретения, сетевой элемент 120 может быть сетевым сервером протокола L2TP. Дополнительно, хотя для целей простоты на фиг.1 это не показано, должно быть понятно, что вычислительное устройство 130, вероятно, связано с сетевым элементом 120 через аппаратуру, устанавливаемую в помещении пользователя (например, модемы, домашние маршрутизаторы и т.д.).
Сетевой элемент 120 включает в себя модуль 150 MP, модуль 152 PPP (протокола передачи от точки к точке), модуль 154 планирования QOS и запоминающее устройство 156. В соответствии с одним вариантом осуществления изобретения, модуль 150 MP, модуль 152 PPP и модуль 154 QOS включены в виде части выходного модуля обработки данных линейной платы сетевого элемента 120. Каждый из них будет описан более подробно в данном описании ниже. Вычислительное устройство 130 связано с сетевым элементом 120 с помощью каналов 160, 162, 164 и 166 связи. Должно быть понятно, что характеристики каждого из этих каналов связи могут быть отличающимися (например, полоса пропускания). Все вместе, эти каналы связи формируют комплект 140 каналов связи MP (каналы 160, 162, 164 и 166 связи представляют собой составляющие каналы связи совокупного комплекта 140 каналов связи MP). Таким образом, абонент вычислительного устройства 130 имеет четыре канала связи с сетевым элементом 120. Дополнительно, абонент вычислительного устройства 130 является абонентом MP (абонент использует функциональные возможности MP на сетевом элементе 120).
В соответствии с одним вариантом осуществления изобретения, сетевой элемент 120 использует многоканальный протокол, чтобы фрагментировать пакеты, принимаемые от WAN 110, предназначенные для вычислительного устройства 130, и селективно распределяет фрагменты по каналам 160, 162, 164 и 166 связи. Должно быть понятно, что в вариантах осуществления изобретения различное количество каналов связи связывает вычислительное устройство 130 с сетевым элементом 120. Однако обычно абонент вычислительного устройства 130 имеет по меньшей мере два канала связи, связывающие сетевой элемент 120 с вычислительным устройством 130. Также должно быть понятно, что, если сетевой элемент в пределах сети 115 доступа (например, переключатель второго уровня) присутствует между вычислительным устройством 130 и сетевым элементом 120, вычислительное устройство 130 имеет множество каналов связи, связывающих его с сетевым элементом в пределах сети 115 доступа, и что сетевой элемент может иметь единственный совокупный канал связи (совокупность каждого из множества каналов связи вычислительного устройства 130), связанный с сетевым элементом 120.
Фиг.2A представляет блок-схему последовательности операций способа, иллюстрирующую модуль 150 MP в сетевом элементе 120 фиг.1 в соответствии с одним вариантом осуществления изобретения. Архитектура модуля 150 MP, иллюстрируемого на фиг.2A, является примером архитектуры модуля MP, и другие  альтернативные архитектуры могут использоваться с вариантами осуществления изобретения, описанными в данном описании. При операции 1, пакет, предназначенный для вычислительного устройства 130, вводится в модуль 150 MP, и модуль 210 определения фрагментов определяет, должен ли пакет быть фрагментирован. В соответствии с одним вариантом осуществления изобретения, если пакет превышает некоторый размер, модуль 150 MP фрагментирует пакет на множество фрагментов. Пороговое значение размера, которое может запускать фрагментирование, может быть сконфигурировано сетевым администратором и/или установлено в виде стратегии в сетевом элементе 120. Если фрагментирование не должно выполняться, то при операции 2A, модулем 220 упорядочивания MP к пакету добавляется порядковый номер MP. Как известно в уровне техники, порядковые номера MP используются приемным устройством (например, вычислительным устройством 130 и/или аппаратурой, устанавливаемой в помещении пользователя, связанной с вычислительным устройством 130) во время восстановления пакетов (например, в случае, если пакеты принимаются не по порядку). Кроме того, при операции 3A, к пакету добавляется инкапсуляция MP модулем 222 инкапсуляции MP, и при операции 4A, пакет посылается в модуль 152 PPP для дальнейшей обработки данных, которая будет описана более подробно в данном описании ниже.
Если модуль 210 определения фрагментирования определяет, что пакет должен быть фрагментирован, то при операции 2B, модуль 212 определения QOS определяет, имеет ли абонент, связанный с пакетом (например, абонент, связанный с вычислительным устройством 130), атрибуты QOS (например, атрибуты ограничения скорости, атрибуты планирования и т.д.), которые необходимо обрабатывать. В соответствии с одним вариантом осуществления изобретения, запись абонента, связанная с этим абонентом, указывает, имеет ли абонент атрибуты QOS. В соответствии с одним вариантом осуществления изобретения, модуль 112 (212) определения QOS обращается к запоминающему устройству 156, чтобы определить, имеет ли запись абонента атрибуты QOS. Должно быть понятно, что запоминающее устройство 156 может не включать в себя полную запись абонента. Например, плата управления (не показана для целей простоты) может сообщать в модуль 150 MP, что абонент, связанный с пакетом, имеет атрибуты QOS. Дополнительно должно быть понятно, что в некоторых вариантах осуществления изобретения, начальный поиск в структуре данных записи абонента выполняется на более ранней стадии обработки данных (например, входным модулем обработки данных на линейной плате, принимающей пакет). Например, поиск AAA (аутентификации, авторизации и учета) был выполнен (например, RADIUS (Службой дистанционной аутентификации пользователей по коммутируемым линиям), Diameter и т.д.) для того, чтобы идентифицировать запись абонента для абонента, и информация в записи абонента посылается в выходной модуль обработки данных (например, в модуль 150 MP, модуль 152 PPP, модуль 154 планирования QOS) и/или сохраняется в запоминающем устройстве 156. В соответствии с одним вариантом осуществления изобретения, запись абонента также идентифицирует один или более виртуальных маршрутизаторов в сетевом элементе 210, с которым этот абонентский трафик должен быть связан, и физический объект, переносящий этот абонентский трафик (например, схема), связывается с интерфейсом этого виртуального маршрутизатора.
Если атрибуты QOS для абонента не применяются, то при операции 3B, модуль 216 фрагментирования MP фрагментирует пакет в соответствии с протоколом MP. Каждый из этих фрагментов посылается в модуль 220 упорядочивания MP, в котором для каждого из фрагментов добавляется порядковый номер. Модуль 220 упорядочивания MP при операции 5B посылает эти фрагменты с порядковыми номерами в модуль 222 инкапсуляции MP. Модуль 222 инкапсуляции MP добавляет инкапсуляцию MP к каждому из фрагментов, и при операции 6B посылает каждый из фрагментов в модуль 152 PPP для дальнейшей обработки данных.
Если атрибуты QOS для абонента применяются, то при операции 3C, модуль 214 установления групп выполняет предварительную обработку групп фрагментов MP. В соответствии с одним вариантом осуществления изобретения, предварительная групповая обработка данных включает в себя определение того, сколько фрагментов будут получены из пакета, создавая связанный список фрагментов пакетов, который включает в себя информацию относительно того, как обращаться к каждому из фрагментов, и порядок фрагментов. Помимо этого, предварительная групповая обработка данных может включать в себя установку флага в пакете, который указывает, что этот пакет представляет собой групповой пакет. Также могут быть установлены другие флаги (например, флаг может указывать, что если какой-либо из фрагментов отбрасывается, тогда вся группа фрагментов должна быть отброшена).
После того как модуль 214 установления групп заканчивает выполнение предварительной групповой обработки данных, при операции 4C, модуль 224 групповой обработки данных MP сохраняет свойства предварительной групповой обработки данных. В соответствии с одним вариантом осуществления изобретения, модуль 224 групповой обработки данных MP сохраняет свойства предварительной групповой обработки данных в запоминающем устройстве 156. Модуль 224 групповой обработки данных MP при операции 5C посылает пакет в модуль 216 фрагментирования MP, при этом модуль 216 фрагментирования MP фрагментирует пакет в первый фрагмент MP. В соответствии с некоторыми вариантами осуществления изобретения, модуль 216 фрагментирования MP сохраняет свойства первого фрагмента MP в запоминающем устройстве 156 (например, размер фрагмента, указатель на фрагмент и т.д.).
В соответствии с одним вариантом осуществления изобретения, пакет, принимаемый модулем 216 фрагментирования MP, включает в себя индикацию, указывающую, что пакет является групповым пакетом MP. Если пакет представляет собой групповой пакет MP, модуль 216 фрагментирования MP при операции 6C посылает фрагмент MP в модуль 222 инкапсуляции MP, при этом модуль 222 инкапсуляции MP добавляет инкапсуляцию MP к фрагменту MP. Модуль 222 инкапсуляции MP при операции 7C посылает фрагмент MP в модуль 152 PPP для дальнейшей обработки данных. При операции 8C, модуль 224 групповой обработки данных MP принимает фрагмент от модуля 152 PPP (с дополнительными инкапсуляциями), который будет описан более подробно со ссылкой на фиг.2B. Модуль 224 групповой обработки данных MP компонует этот фрагмент вместе в группу и при операции 9C определяет, следует ли делать больше фрагментов. Каждый дополнительный фрагмент будет следовать операциям, подобным операциям 6C-9C. Должно быть понятно, что порядковые номера MP не должны применяться к любому из фрагментов в групповом пакете MP. После того, как каждый фрагмент из группы был сделан и был обработан модулем 150 MP и модулем 152 PPP, при операции 10C, модуль 224 групповой обработки данных MP посылает всю группу в модуль 154 планирования QOS для дальнейшей обработки.
Фиг.2B представляет блок-схему последовательности операций способа, иллюстрирующую модуль 152 PPP и модуль 154 планирования QOS сетевого элемента 120 в соответствии с одним вариантом осуществления изобретения. При операции 1, модуль 152 PPP принимает пакет (пакет может быть нефрагментированным пакетом (например, посланным во время операции 4A на фиг.1)), фрагментом помеченного флагом пакета без QОS (например, посланным во время операции 6B на фиг.1), или фрагментом группового пакета MP (например, посланным во время операции 7C на фиг.1). При операции 2, модуль 240 инкапсуляции PPP инкапсулирует пакет или фрагмент с информацией PPP. При операции 3, модуль 242 инкапсуляции второго уровня инкапсулирует пакет или фрагмент с информацией второго уровня.
Если модуль 152 PPP обрабатывает нефрагментированный пакет для абонента со свойствами QOS, то при операции 4A, модуль 152 PPP посылает пакет в модуль 154 планирования QOS. Модуль 246 организации очереди QOS при операции 5A помещает пакет в очередь 270 абонентов. Очередь 270 абонентов является очередью, представляющей комплект 140 каналов связи MP. Хотя на фиг.2B для целей простоты это не показано, очередь 270 абонентов представляет собой одну из группы очередей, связанных с абонентом. Например, количество очередей в группе очередей зависит от используемой схемы уровней приоритетов. Обычная схема уровней приоритетов QOS IP включает в себя восемь уровней приоритетов. Таким образом, для схемы QOS IP, в группе очередей абонент может иметь восемь очередей. В соответствии с одним вариантом осуществления изобретения, выбранная очередь абонента зависит от уровня приоритета входящего пакета.
Если модуль 152 PPP обрабатывает фрагмент для абонента без свойств QOS, то при операции 4B, пакет посылается абоненту. Если модуль 152 PPP обрабатывает фрагмент группового пакета MP, то при операции 4C модуль 152 PPP посылает фрагмент в модуль 150 MP.
При операции 5C, модуль 154 планирования QOS принимает групповой пакет MP от модуля 150 MP (например, посланный модулем 224 групповой обработки данных MP во время операции 10C на фиг.2A). При операции 6C, модуль 246 организации очереди QOS определяет, может ли очередь 270 абонентов поддерживать каждый фрагмент в групповом пакете MP. Например, очередь 270 абонентов имеет предварительно определенное количество фрагментов, которые она поддерживает, называемое глубиной очереди 270 абонентов. В соответствии с одним вариантом осуществления изобретения, глубина очереди 270 абонентов зависит от абонентов. Другими словами, некоторые абоненты могут иметь отличающуюся глубину очереди абонентов от глубины очереди других абонентов. Глубина очереди абонентов может быть найдена в записи абонентов для конкретного абонента. Если очередь 270 абонентов поддерживает каждый фрагмент, то при операции 7C модуль 248 упорядочивания групп MP применяет порядковый номер к каждому из фрагментов. Однако, если очередь 270 абонентов не может поддерживать каждый фрагмент из группового пакета MP, в соответствии с одним вариантом осуществления изобретения, весь групповой пакет MP будет отброшен, и порядковые номера не будут применяться к фрагментам.
Таким образом, в соответствии с одним вариантом осуществления изобретения, модуль 154 планирования QOS принимает свои решения планирования, основываясь скорее на свойствах группового пакета MP, чем на свойствах каждого фрагмента. Другими словами, в отличие от обычных сетевых элементов, обеспечивающих поддержку QOS для абонентов MP, каждый фрагмент группового пакета MP обрабатывается подобным образом. Например, либо каждый фрагмент будет передаваться абоненту, либо ни один из фрагментов не будет передан абоненту. Как было предварительно описано, в обычном сетевом элементе, обеспечивающем поддержку QOS для абонентов MP, фрагменты индивидуально обрабатываются и индивидуально передаются абонентам MP. Таким образом, некоторые из фрагментов пакета могут быть переданы, в то время как другие могут быть отброшены (например, если одна или более очередей каналов связи не может поддерживать фрагменты). Должно быть понятно, что абонент может реконструировать пакет, только если приняты все фрагменты. Таким образом, если абонент не принимает каждый фрагмент пакета, абонент будет отбрасывать фрагменты, которые он принял. Однако должно быть понятно, что полоса пропускания уже использовалась (то есть фрагменты были переданы абоненту), и ресурсы абонентов и/или ресурсы сетевых элементов были использованы излишним образом (например, при попытке реконструировать пакет). Кроме того, если абонент не принимает каждый фрагмент пакета, абонент также должен согласовывать порядковые номера. Например, если один фрагмент абонентом не принят, абонент будет иметь пропуск одного порядкового номера, который должен быть согласован.
С другой стороны, в некоторых вариантах осуществления изобретения, порядковые номера добавляются к фрагментам группового пакета MP, если вся группа MP, вероятно, будет передана (и таким образом, вероятно, будет принята абонентом). Поэтому вероятно, что абонент не должен будет выполнять обработку, чтобы приводить в соответствие пропуск порядкового номера. Помимо этого, в некоторых вариантах осуществления изобретения, если, вероятно, не будет передан каждый фрагмент единственного группового пакета MP (например, он может быть помещен в очередь абонентов), никакие фрагменты передаваться не будут. Другими словами, в некоторых вариантах осуществления изобретения отбрасывается весь групповой пакет MP, если отброшены какие-либо его фрагменты. Таким образом, полоса пропускания сохраняется, и сберегаются используемые ресурсы (например, циклы обработки данных, память и т.д.).
При операции 8C, модуль 246 организации очереди QOS помещает каждый из фрагментов группового пакета MP в очередь 270 абонентов. Затем фрагменты дистрибутивным образом передаются в вычислительное устройство 130 по каналам 160, 162, 164 и 166 связи. В различных вариантах осуществления изобретения фрагменты могут быть дистрибутивным образом переданы различными способами, которые включают в себя циклическую, справедливо взвешенную организацию очереди и приоритетную справедливо взвешенную организацию очереди. В соответствии с одним вариантом осуществления изобретения, как предварительно было описано, очередь 270 абонентов представляет собой одну из группы очередей, связанных с абонентом. Например, количество очередей группы может зависеть от используемой схемы уровней приоритетов (например, обычная схема уровней приоритетов IP включает в себя 8 уровней приоритетов; таким образом, может быть 8 очередей (по одной для каждого уровня приоритетов)). Однако должно быть понятно, что в отличие от обычных сетевых элементов, обеспечивающих QOS для абонентов MP, для каждого из каналов 160, 162, 164 и 166 связи нет группы очередей. Таким образом, в соответствии с одним вариантом осуществления изобретения, каждый фрагмент некоторого группового пакета MP помещается в единственную очередь, связанную с абонентом (каждый фрагмент связан с таким же уровнем приоритета). Таким образом, в некоторых вариантах осуществления изобретения, общее количество очередей, требуемых для поддержки QOS для абонентов MP, основано на количестве очередей в группе очередей, связанных с этим абонентом MP, и не основано на количестве каналов связи, связанных с абонентом MP. Таким образом, по сравнению с обычными сетевыми элементами, варианты осуществления изобретения сокращают общее количество очередей, необходимых для поддержки QOS для абонента MP. Должно быть понятно, что сокращение количества очередей сокращает количество необходимых ресурсов (например, распределенную память для хранения очередей, циклы обработки данных и т.д.).
Фиг.3 изображает альтернативное представление сетевого элемента, обеспечивающего поддержку QOS на уровне абонентов в соответствии с одним вариантом осуществления изобретения. Модуль 216 MP фрагментирования принимает пакет 300. Пакет 300 принадлежит абоненту MP, и атрибуты QOS применяются для этого абонента MP. Модуль 216 фрагментирования MP фрагментирует пакет 300 на четыре фрагмента (фрагменты фраг1 302-фраг4 308). Должно быть понятно, что в одном варианте осуществления изобретения, модуль 216 фрагментирования MP единовременно фрагментирует пакет в единственный фрагмент. Фрагмент фраг1 304 посылается в модуль (модули) 320 инкапсуляции, в котором фрагмент инкапсулируется с помощью одной или более инкапсуляций 310 (например, с помощью инкапсуляции MP, инкапсуляции PPP, инкапсуляции второго уровня). Модуль (модули) 320 инкапсуляции посылает инкапсулированный фрагмент фраг1 302 в модуль 224 групповой обработки данных MP. Модуль 224 групповой обработки данных MP компонует инкапсулированный фрагмент фраг1 в групповой пакет 330 MP. Подобным способом, каждый из фрагментов фраг2 304-фраг4 308 инкапсулируется с помощью одной или более инкапсуляций и компонуется в групповой пакет 330 MP.
После того как группа 330 MP завершена (например, после того, как каждый фрагмент первоначального пакета 300 скомпонован в группу 330 MP), модуль 248 упорядочивания групп MP применяет порядковый номер к каждому фрагменту в группе 330 MP. Таким образом, порядковые номера пор1 312-пор4 318 применяются к фрагментам фраг1 302-фраг4 308, соответственно, как иллюстрируется в групповом пакете MP с порядковыми номерами 332. Модуль 246 организации очереди QOS принимает групповой пакет MP с порядковыми номерами 332 и помещает каждый фрагмент в очередь 270 абонентов (очередь 270 абонентов не включает в себя информацию инкапсуляции или порядковые номера каждого фрагмента для целей простоты). Фрагменты фраг1 302-фраг4 308 дистрибутивным образом передаются через каналы связи 160, 162, 164 и 166 абонента, соответственно. Хотя распределение, иллюстрируемое на фиг.3, представляет собой циклический метод, другие альтернативные дистрибутивные технические приемы также находятся в пределах объема изобретения.
Фиг.4A, 4B и 4C представляют блок-схемы последовательности операций способа, иллюстрирующие обеспечение поддержки многоканального протокола для абонентов в соответствии с одним вариантом осуществления изобретения. В блоке 402, пакет вводится в выходной модуль обработки данных сетевого элемента (например, на линейной плате сетевого элемента), и процесс переходит к блоку 404. В соответствии с одним вариантом осуществления изобретения, на стадии, на которой пакет вводится в выходной модуль обработки данных, пакет уже подвергся входной обработке данных, которая включает в себя определение адресата пакета и абонента, связанного с пакетом (например, посредством выполнения поиска записи абонента в структуре данных записи абонента, определения приоритета пакета и т.д.). В блоке 404, пакет вводится в модуль обработки данных MP, и процесс переходит к блоку 406. Таким образом, в соответствии с одним вариантом осуществления изобретения, пакет представляет собой пакет MP.
В блоке 406, делается определение, следует ли фрагментировать пакет. Например, в соответствии с одним вариантом осуществления изобретения, если пакет превышает предварительно определенный размер, то этот пакет будет фрагментирован. Конечно, должно быть понятно, что другие критерии определения, фрагментировать ли пакет, также находятся в пределах объема изобретения (например, конфигурация, приоритет пакета и т.д.). Если фрагментирование должно быть выполнено, то процесс переходит к блоку 414.
В блоке 414, делается определение, применяются ли свойства QOS для абонента, связанного с пакетом. Например, в соответствии с одним вариантом осуществления изобретения, свойства QOS указаны в записи абонента, связанной с абонентом. Свойства QOS могут указывать некоторое количество различных обстоятельств, в зависимости от варианта осуществления изобретения, которые включают в себя: стратегию ограничения скорости, свойства планирования QOS (например, глубину очередей абонента, алгоритмы планирования и т.д.) и т.д. Если свойства QOS применяются к абоненту, то процесс переходит к блоку 450 (который будет описан со ссылкой на фиг.4B). Однако, если свойства QOS к абоненту не применяются (таким образом, никакая обработка QOS не требуется), то процесс переходит к блоку 416.
В блоке 416, пакет фрагментируется, и процесс переходит к блоку 418. В блоке 418, к каждому фрагменту добавляется порядковый номер и каждый фрагмент инкапсулируется с информацией инкапсуляции MP, и процесс переходит к блоку 420. В блоке 420, модуль PPP инкапсулирует каждый фрагмент с помощью инкапсуляции PPP и второго уровня, и процесс переходит к блоку 422, в котором каждый фрагмент передается абоненту.
Обратимся опять к блоку 406, если фрагментирование не должно выполняться, то процесс переходит к блоку 408. В блоке 408, к пакету добавляется порядковый номер, и пакет инкапсулируется с помощью инкапсуляции MP, и процесс переходит к блоку 410. Пакет посылается в модуль обработки данных PPP для дальнейшей обработки данных в блоке 410, и процесс переходит к блоку 412. В блоке 412, пакет инкапсулируется с помощью инкапсуляции PPP и инкапсуляции второго уровня (например, с помощью инкапсуляций PPPoE, инкапсуляций PPPoA, инкапсуляций PPPoAoE и т.д.), и процесс переходит к блоку 480, который будет описан более подробно со ссылкой на фиг.4C.
Что касается фиг.4B, то на ней, в блоке 450, модуль MP подготавливается к групповой обработке фрагментов. Например, в соответствии с одним вариантом осуществления изобретения, модуль MP определяет, сколько фрагментов будет создано из пакета, определяет начало и окончание каждого фрагмента в пакете, создает связанный список для группового пакета MP, устанавливает флаг в пакете, указывающий групповой пакет MP, и устанавливает другие флаги в пакете (например, может быть установлен флаг, который указывает, что если один фрагмент отбрасывается, то все фрагменты в групповом пакете MP должны быть отброшены). Процесс переходит от блока 450 к блоку 452.
В блоке 452, для каждого фрагмента, который будет получен из пакета, выполняются блоки 454-462. В блоке 454, пакет фрагментируется, и процесс переходит к блоку 456. В блоке 456, свойства фрагмента сохраняются. В соответствии с одним вариантом осуществления изобретения, сохраняемые свойства фрагмента включают в себя размер фрагмента, указатель на текущий фрагмент в связанном списке и т.д. Процесс переходит к блоку 458, в котором фрагмент инкапсулируется с помощью инкапсуляции MP. Процесс переходит от блока 458 к блоку 460, в котором фрагмент дополнительно инкапсулируется с помощью инкапсуляций PPP и второго уровня. Процесс переходит от блока 460 к блоку 462.
В блоке 462, инкапсулированный фрагмент компонуется в групповой пакет MP, и если во фрагменте остается больше фрагментов, подлежащих созданию, процесс переходит обратно к блоку 454. Однако, если больше нет остающихся фрагментов, подлежащих созданию, процесс переходит к блоку 464. В блоке 464 делается определение, поддерживает ли очередь абонента каждый фрагмент (например, имеет ли очередь абонента располагаемые позиции очереди для каждого из фрагментов). Если очередь абонента не может поддерживать каждый фрагмент, таким образом, каждый фрагмент не может быть передан абоненту, то процесс переходит к блоку 466, в котором предпринимается альтернативное действие. В то время как в одном варианте осуществления изобретения весь групповой пакет MP отбрасывается, если очередь абонентов не может поддерживать каждый фрагмент, в альтернативных вариантах осуществления изобретения, фрагменты помещаются в буфер до тех пор, пока очередь не сможет поддерживать каждый фрагмент. Однако, если абонент может поддерживать каждый фрагмент, то процесс переходит к блоку 468.
В блоке 468, к каждому из фрагментов применяется порядковый номер, и процесс переходит к блоку 470. В блоке 470, каждый фрагмент помещается в очередь абонента, и процесс переходит к блоку 472. Должно быть понятно, что очередь абонента представляет комплект каналов связи MP, а не какой-либо из индивидуальных каналов связи абонента. В блоке 472, фрагменты дистрибутивным образом передаются по индивидуальным каналам связи абонента.
Рассмотрим фиг.4C, на которой, в блоке 480, делается определение, применяются ли атрибуты QOS для абонента. Если никакие атрибуты QOS не применяются, то процесс переходит к блоку 482, в котором пакет передается абоненту. Однако, если атрибуты QOS применяются для абонента, то процесс переходит к блоку 484. В блоке 484, модуль планирования QOS помещает пакет в очередь, и процесс переходит к блоку 486, в котором пакет передается абоненту.
Хотя блок-схемы последовательности операций способа на чертежах показывают конкретный порядок операций, выполняемых некоторыми вариантами осуществления изобретения, должно быть понятно, что такой порядок является примерным (например, альтернативные варианты осуществления могут выполнять операции в отличающемся порядке, объединять некоторые операции, перекрывать некоторые операции и т.д.).
Хотя изобретение было описано в отношении нескольких вариантов осуществления, специалистам в данной области техники должно быть понятно, что изобретение не ограничено описанными вариантами осуществления и может быть реализовано на практике с модификацией и изменением, находящимися в пределах сущности и объема прилагаемой формулы изобретения. Таким образом, описание следует расценивать как иллюстративное, а не как ограничивающее.