ИНДИКАТОР НОВОГО ПАКЕТА ДЛЯ ПРОТОКОЛА RLC
NEW PACKET INDICATOR FOR RLC PROTOCOL

УРОВЕНЬ ТЕХНИКИ
Настоящее изобретение в целом относится к протоколам управления линиями радиосвязи применительно к сетям беспроводной связи и, более конкретно, к способам и устройствам для сегментации и обратной сборки пакетов данных более высокого уровня для повышения устойчивости к потере пакета.
Протокол Управление Линиями Радиосвязи (RLC) является протоколом, используемым в сетях беспроводной связи для сокращения частоты появления ошибок в беспроводных каналах. RLC разделяет пакеты более высокого уровня на более мелкие единицы, именуемые блоками данных RLC, для передачи по каналам беспроводной связи. В зависимости от режима работы RLC может использоваться протокол повторной передачи, чтобы гарантировать доставку каждого блока данных RLC. Если в приемнике происходит потеря блоков данных RLC, то приемник может запросить повторную передачу потерянных блоков данных RLC. В приемнике происходит обратная сборка пакетов более высокого уровня из принятых блоков данных RLC.
Протокол RLC имеет три основных режима работы: режим с квитированием (AM), режим без квитирования (UM) и непостоянный режим (NPM). При AM RLC использует протокол повторной передачи, чтобы гарантировать доставку всех блоков данных RLC. Если в принимающем терминале блок данных RLC потерян, то принимающий терминала может запросить повторную передачу потерянного блока данных RLC. При UM повторная передача отсутствует и RLC игнорирует любые потерянные пакеты. При NPM RLC использует протокол повторной передачи, чтобы запросить повторную передачу потерянных блоков данных RLC. NPM отличается от AM в том, что повторная передача применительно к одному и тому же блоку данных RLC ограничивается заранее определенным периодом времени, следующим за первой передачей. NPM полезен, например, для передачи пакетов VoIP и в прочих ситуациях, где обращается внимание на задержку пакета.
В RLC для указания окончаний пакетов более высокого уровня используются индикаторы длины. Более конкретно, когда блок данных RLC содержит завершающий сегмент пакета более высокого уровня, то к блоку данных RLC добавляется индикатор длины для указания того, что он содержит последний сегмент пакета данных более высокого уровня и длину завершающего сегмента. Потеря блока данных RLC, содержащего один из этих индикаторов длины, может привести к неправильной обратной сборке пакетов более высокого уровня на уровне RLC, что может привести к большим потерям данных на более высоком уровне. Данный эффект именуется здесь как распространение ошибки. Распространение ошибки приводит к повторной передаче и/или отбрасыванию некоторых пакетов более высокого уровня даже несмотря на то, что пакеты были приняты правильно. Вследствие этого существует необходимость в улучшении протоколов RLC для предотвращения распространения ошибки на протоколы более высокого уровня и тем самым повышения устойчивости к потере пакетов RLC.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Настоящее изобретение предоставляет устойчивую к ошибкам процедуру сегментации и слияния применительно к RLC для смягчения проблемы распространения ошибки на протоколы более высокого уровня. Более конкретно, варианты осуществления настоящего изобретения подавляют распространение ошибки на протоколы более высокого уровня посредством использования дополнительного индикатора длины, именуемого здесь как индикатор нового пакета, в блоки данных RLC для указания начала нового пакета более высокого уровня в дополнение к обычному индикатору длины, указывающему длину последнего сегмента пакета более высокого уровня. Индикатор нового пакета предотвращает слияние сегмента данных более высокого уровня в начале блока данных RLC с данными в предыдущем блоке данных RLC даже в том случае, когда в предыдущем блоке данных не приняты индикаторы длины.
Один примерный вариант осуществления включает в себя способ передачи пакетов данных от передающего терминала к принимающему терминалу. Способ содержит: инкапсуляцию сегмента данных применительно к пакету данных более высокого уровня в пакет данных более низкого уровня; добавление индикатора нового пакета, установленного в заранее определенное значение, в пакет данных более низкого уровня, если сегмент данных содержит начало нового пакета данных более высокого уровня, чтобы указать начало нового пакета данных более высокого уровня; и добавление индикатора длины в пакет данных более низкого уровня, если сегмент данных содержит окончание пакета данных более высокого уровня.
Другой примерный вариант осуществления включает в себя терминал связи (например, базовую станцию или мобильный терминал) для передачи данных удаленному терминалу. Терминал связи содержит приемопередатчик для передачи и приема сигналов по каналу беспроводной связи и процессор для формирования пакетов данных для передачи по каналу беспроводной связи. Процессор выполнен с возможностями: инкапсуляции сегмента данных применительно к пакету данных более высокого уровня в пакет данных более низкого уровня; добавления индикатора нового пакета, установленного в заранее определенное значение, в пакет данных более низкого уровня, если сегмент данных содержит начало нового пакета данных более высокого уровня, чтобы указать начало нового пакета данных более высокого уровня; и добавления индикатора длины в пакет данных более низкого уровня, если сегмент данных содержит окончание пакета данных более высокого уровня.
ЧЕРТЕЖИ
Фиг.1 иллюстрирует примерную систему мобильной связи, обеспечивающую подключение к внешней сети пакетной передачи данных.
Фиг.2 иллюстрирует примерный стек протоколов для системы мобильной связи применительно к передаче IP-пакетов между мобильным терминалом и внешней сетью пакетной передачи данных.
Фиг.3 иллюстрирует примерный сценарий передачи пакетов по каналу нисходящей линии связи, при котором возможно распространение ошибки.
Фиг.4 иллюстрирует примерный сценарий передачи пакетов по соединению нисходящей линии связи, чтобы подавить распространение ошибки.
Фиг.5 иллюстрирует примерный сценарий передачи пакетов по каналу восходящей линии связи для подавления распространения ошибки.
Фиг.6 иллюстрирует примерную процедуру форматирования применительно к форматированию блоков данных RLC, используя фиктивные PDU уровня LLC.
Фиг.7 иллюстрирует примерную процедуру форматирования применительно к форматированию блоков данных RLC, используя индикатор нового пакета.
Фиг. 8 иллюстрирует примерный терминал связи, включающий в себя процессор RLC для форматирования блоков данных RLC.
ПОДРОБНОЕ ОПИСАНИЕ
Теперь, обращаясь к чертежам, настоящее изобретение будет описано в контексте примерной системы 10 мобильной связи, основанной на стандарте Расширенной Пакетной Радиосвязи Общего Назначения (EGPRS) от Проекта Партнерства Третьего Поколения (3GPP). Сеть 10 EGPRS, показанная на Фиг. 1, включает в себя сеть 12 радиодоступа GSM/EGPRS (GERAN) и базовую сеть 16. GERAN 12, как правило, содержит одну или более подсистемы 14 базовой станции (BSS). Каждая BSS 14 содержит контроллер базовой станции (BSC) и один или более приемопередатчиков базовых станций (BTS), которые могут размещаться в одном месте или отдельно. BTS содержит антенны, RF оборудование и схемы обработки основной полосы частот, требуемые для осуществления связи с мобильными терминалами 100. BSC управляет радиоресурсами, используемыми для осуществления связи с мобильным терминалом 100, и обеспечивает подключение к базовой сети 16.
Базовая сеть 16 включает в себя один или более обслуживающих узлов 16 поддержки GPRS (SGSN) и один или более шлюзовых узлов 20 поддержки GPRS (GGSN). SGSN 18 обеспечивает поддержку связи с коммутацией пакетов, обработку управления сеансами и функций управления мобильностью применительно к услугам с коммутацией пакетов и обеспечивает подключение к GGSN 20. GGSN 20 служит в качестве шлюза между базовой сетью 16 и внешними сетями 30 пакетной передачи данных, например Интернет. Для осуществления связи с пакетной передачей данных мобильный терминал 100 создает сеанс связи с SGSN 18, а GGSN 20 соединяет SGSN 18 с внешней сетью 30 пакетной передачи данных. Более подробное описание базовой сети 16 легко доступно в соответствующих стандартах EGPRS.
Фиг. 2 предоставляет упрощенную иллюстрацию стека 50 протоколов, используемого для передачи пакетов данных между мобильным терминалом 100 и SGSN 18. Стек 50 протоколов включает в себя множество уровней протокола. Различные уровни стека 50 протоколов представляют собой набор программ и протоколов, которые могут быть реализованы посредством программного обеспечения, выполняемого на главном вычислительном устройстве, включающем в себя процессор и память. Каждый уровень инкапсулирует данные, принимаемые от протокола более высокого уровня, чтобы сформировать модули данных протокола (PDU), которые пропускаются ниже на следующий, более низкий уровень. Используемое здесь понятие PDU является синонимом понятия пакет.
SGSN 18 принимает IP-пакеты от GGSN 20. IP пакеты или прочие пакеты данных могут, например, передаваться к SGSN 18 с использованием протокола туннелирования GPRS (GTP). Стек 50 протоколов, реализуемый SGSN 18 и мобильным терминалом 100, включает в себя уровень Протокола Конвергенции Подсетей (SNDCP), уровень Управления Логическим Каналом (LLC), уровень Управления Линией Радиосвязи (RLC), уровень Управления Доступом к Среде Передачи (MAC) и Физический уровень (PL). Уровень SNDCP преобразует IP-пакеты в формат, совместимый с базовой сетевой архитектурой GPRS. PDU уровня SNDCP проходят на уровень Управления Логическим Каналом (LLC). Уровень LLC обеспечивает логическое соединение между SGSN 18 и мобильными терминалами 100. Уровень LLC инкапсулирует PDU уровня SNDCP с заголовком LLC, чтобы сформировать PDU уровня LLC. Уровень Протокола Системы Базовой Станции GPRS (BSSGP) (не показан) осуществляет маршрутизацию PDU уровня LLC к обслуживающей BSS 14 (например, на физическом уровне ретрансляции кадров). BSSGP функционирует между SGSN 18 и BSS, например BSSGP не распространяется на эфирное сопряжение.
В BSS 14 PDU уровня LLC предоставляется уровню Управления Линией Радиосвязи (RLC). Уровень RLC создает надежную линию связи (например, если запрашивается QoS соответствующей услуги с коммутацией пакетов) между BSS 14 и мобильным терминалом 100. Уровень RLC выполняет сегментацию и обратную сборку PDU верхнего уровня (в данном примере PDU уровня LLC) в пакеты RLC, которые именуются здесь как блоки данных RLC. Затем блоки данных RLC проходят на уровень Управления Доступом к Среде Передачи (MAC), который инкапсулирует блоки данных RLC с заголовками MAC. Уровень MAC управляет сигнализацией доступа по эфирному сопряжению, включая назначение радиоблоков восходящей и нисходящей линий связи, которые используются для переноса блоков данных RLC. Затем данные передаются мобильному терминалу 100 по эфирному сопряжению на физическом уровне. Физический уровень отвечает за преобразование данных, принятых от уровня MAC, в битовый поток, пригодный для передачи мобильному терминалу 100 по радио интерфейсу.
Протокол RLC имеет три основных режима работы: режим с квитированием (AM), режим без квитирования (UM) и непостоянный режим (NPM). При AM RLC реализует протокол повторной передачи, чтобы гарантировать доставку всех блоков данных RLC. Если на стороне принимающего терминала PDU уровня RLC потерян, то принимающий терминала может запросить повторную передачу потерянного PDU уровня RLC. При UM повторная передача отсутствует и RLC игнорирует любые потерянные пакеты. При NPM RLC использует протокол повторной передачи, чтобы запросить повторную передачу потерянных блоков данных RLC. NPM отличается от AM в том, что повторная передача применительно к одному и тому же блоку данных RLC ограничивается заранее определенным периодом времени, следующим за первой передачей. NPM полезен, например, для передачи пакетов VoIP и в прочих ситуациях, где обращается внимание на задержку пакета.
В RLC используются индикаторы длины для указания окончаний пакетов более высокого уровня, которые в GPRS выполнены в виде PDU уровня LLC. Более конкретно, когда пакет RLC содержит завершающий сегмент пакета более высокого уровня, то в блок данных RLC вставляется индикатор длины, чтобы указывать окончание пакета данных более высокого уровня. Потеря блока данных RLC, содержащего один из этих индикаторов длины, может привести к неправильной обратной сборке пакетов более высокого уровня на уровне RLC, что может привести к большим потерям данным на более высоком уровне. Данный эффект именуется здесь как распространение ошибки.
Проблема распространения ошибки может быть проиллюстрирована при помощи простого примера. Фиг. 3 иллюстрирует передачу шести PDU уровня LLC, которые для удобства именуются здесь как LLC 1-6. Длина каждого PDU уровня LLC проиллюстрирована на Фиг. 3. Предполагается, что используемой схемой модуляции и кодирования является MCS6. При MCS6 полезная нагрузка каждого блока данных RLC содержит 74 байта. В данном примере два PDU уровня LLC с суммарным объемом в 72 байта инкапсулированы в каждом блоке данных RLC. 1-байтный индикатор длины добавляется к каждому PDU уровня LLC, который целиком заполняет полезную нагрузку блока данных RLC.
По каналу нисходящей линии связи от базовой станции 14 к мобильному терминалу 100 передаются три блока данных RLC. В данном примере предполагается, что второй блок данных RLC либо потерян (не принят), либо приводит к ошибке декодирования. В данном случае два первых PDU уровня LLC (LLC 1 и 2), переносимые в первом блоке данных RLC, будут переданы на уровень LLC. Проблема возникает, когда распаковывается второй блок данных RLC. В данном примере потеря уровня RLC будет заменена либо нулевым заполнением, либо неверно декодированными данными. Когда уровень RLC распаковывает третий блок данных RLC, то уровень RLC распознает, что 40-байтный сегмент данных, соответствующий LLC 5, является завершающим сегментом PDU уровня LLC. Тем не менее, уровень RLC не имеет возможности узнать, является ли завершающий сегмент целым PDU уровня LLC или продолжением LLC, переданного в предыдущем блоке данных RLC. Так как индикаторы длины во втором блоке данных не были приняты, то уровень RLC может неверно предположить, что LLC 5 является продолжением PDU уровня LLC, переданного во втором блоке данных RLC. Вследствие этого уровень RLC произведет слияние 40 байтов фактических данных LLC, принятых в третьем блоке данных RLC, с 74 байтами данных (нулевым заполнением или неверно декодированными данными), связанными со вторым блоком данных RLC, чтобы сформировать ошибочный PDU уровня LLC содержащий 114 байтов. Когда уровень LLC принимает неверный PDU уровня LLC, проверка CRC даст отрицательный результат. Таким образом, дополнительный PDU уровня LLC будет потерян из-за распространения ошибки.
В соответствии с одним примерным вариантом осуществления распространение ошибки подавляется посредством умелого использования фиктивных PDU уровня LLC. Применительно ко многим типам приложений, таким как передачи голоса по IP, может передаваться множество небольших PDU уровня LLC. Когда PDU уровня LLC не заполняют блок данных RLC и не существует дополнительных данных для отправки, то уровень RLC может формировать фиктивные PDU уровня LLC для заполнения блока данных RLC. В данном случае распространение ошибки будет предотвращаться посредством правильного задания размера фиктивных PDU таким образом, чтобы фиктивный PDU без соответствующего индикатора длины полностью заполнял блок данных RLC. В соответствии с существующим стандартом особый индикатор длины, установленный в значение 0, используется, когда завершающий сегмент PDU уровня LLC без его соответствующего индикатора длины полностью заполняет блок данных RLC. В данном случае индикатор длины применительно к завершающему сегменту LLC добавляется к следующему блоку данных RLC и устанавливается в значение 0. Таким образом, когда фиктивный PDU уровня LLC полностью заполнит блок данных RLC, передатчик вставит индикатор длины, установленный в 0, в следующий блок данных RLC. Блок данных RLC, имеющий индикатор длины, установленный в значение 0, информирует приемник о том, что новый PDU уровня LLC начинается в блоке данных RLC и предотвращает слияние приемником PDU уровня LLC в блоке данных RLC с данным LLC, принятыми в предыдущем блоке данных RLC.
Фиг. 4 иллюстрирует то, каким образом могут использоваться фиктивные PDU уровня LLC для предотвращения распространения ошибки. Фиг. 4 иллюстрирует передачу трех фактических PDU уровня LLC, предоставленных уровнем LLC, и трех фиктивных PDU уровня LLC, сформированных уровнем RLC. В данном примере три PDU уровня LLC, содержащие 40 байт фактических данных, передаются в трех блоках данных RLC. Блоки данных RLC заполняются фиктивными PDU уровня LLC. Фиктивный PDU уровня LLC в первом блоке данных RLC содержит 33 байта, в то время как фиктивный PDU уровня LLC в каждом последующем блоке данных RLC содержит 32 байта. В соответствии с существующим стандартом индикатор длины, установленный в значение 0, добавляется во второй и третий блоки данных RLC.
Использование фиктивных PDU уровня LLC по восходящей линии связи запрещено. Вместо этого могут использоваться биты-заполнители для заполнения блока данных RLC, когда PDU уровня LLC заканчивается в блоке данных RLC и не существует дополнительных PDU уровня LLC для отправки. Условно, уровень RLC на стороне передатчика должен передавать блоки данных RLC с двумя индикаторами длины. Первый индикатор длины устанавливается для указания количества октетов сегмента данных LLC, а второй индикатор длины устанавливается в 127 для указания того, что блок данных RLC содержит биты-заполнители. Как описано ранее, когда блок данных RLC, содержащий индикатор длины, теряется или неверно декодируется в базовой станции 20, то базовая станция 20 может иметь проблемы, связанные с обратной сборкой PDU уровня LLC, что приведет к еще большим потерям на уровне LLC.
В соответствии с другим вариантом осуществления настоящего изобретения распространение ошибки подавляется посредством использования дополнительного индикатора длины, именуемого здесь индикатором нового пакета, в блоках данных RLC для указания начала нового пакета более высокого уровня, в дополнение к обычному индикатору длины, для указания последнего сегмента пакета более высокого уровня. В качестве примера, в качестве индикатора нового пакета может использоваться индикатор длины, установленный в значение 126 или некоторое другое заранее определенное значение для указания начала нового PDU уровня LLC более высоко уровня. Индикатор нового пакета предотвращает слияние с заполненными нулями или неверно декодированными данными в случае, когда предшествующий блок данных потерян или неверно декодирован.
В одном примерном варианте осуществления индикатор нового пакета используется только, когда начальный сегмент PDU уровня LLC является первым сегментом данных LLC в блоке данных RLC, например, когда блок данных RLC начинается с нового PDU уровня LLC. Индикатор нового пакета не требуется в случае, когда новый PDU уровня LLC начинается в середине блока данных RLC. В случае PDU уровня LLC, который начинается в середине блока данных RLC, обычный индикатор длины для завершающего сегмента предыдущего PDU уровня LLC будет указывать момент начала следующего PDU уровня LLC.
В случае, где PDU уровня LLC целиком укладывается в рамках одного блока данных RLC, блок данных RLC может иметь два индикатора длины. Если блок данных RLC начинается с сегмента нового PDU уровня LLC, то индикатор нового пакета используется для указания начала PDU уровня LLC. Если PDU уровня LLC целиком укладывается в рамках блока данных RLC, обычный индикатор длины используется для обозначения окончания последнего сегмента PDU уровня LLC.
Фиг. 5 иллюстрирует использование индикатора нового пакета в направлении восходящей линии связи. Как показано на Фиг. 5, индикатор нового пакета может быть вставлен в блоки данных RLC для указания начального сегмента PDU уровня LLC. В примере, показанном на Фиг. 5, в трех отдельных блоках данных RLC передаются три пакета LLC. Каждый пакет включает в себя три индикатора длины. Первый индикатор длины в каждом пакете является индикатором нового пакета, который установлен в заранее определенное значение, которое является 126 в примере. Второй индикатор длины в каждом блоке данных RLC является обычным индикатором длины, который указывает на то, что PDU уровня LLC составляет в длину 40 октетов. Третий и последний индикатор длины в каждом блоке данных RLC установлен в заранее определенное значение для указания того, что блок данных RLC содержит биты заполнители.
При отсутствии индикатора начала пакета уровень RLC может иметь проблемы обратной сборки пакетов LLC в случае, когда первый или второй блок данных RLC (BN1 или 2) потерян или неверно декодирован. В этом случае уровень RLC может выполнить слияние фактического PDU уровня LLC, содержащегося в последующем блоке данных RLC (BN=2 или 3), с нулевым заполнением или неверными данными декодирования, замещенными применительно ко второму блоку данных RLC. Тем не менее, индикатор нового пакета в последующем блоке данных RLC предотвратит выполнение уровнем RLC слияния PDU уровня LLC в последующем пакете с неверными данными, замещенными применительно к предыдущему PDU уровня LLC.
Несмотря на то что использование индикатора нового пакета описано применительно к передачам восходящей линии связи, специалист в соответствующей области должен принимать во внимание, что с таким же успехом индикатор нового пакета так же может использоваться применительно к передачам нисходящей линии связи.
Фиг. 6 иллюстрирует примерную процедуру 120 форматирования, реализуемую средством форматирования на уровне LLC для форматирования блоков данных LLC, передаваемых по нисходящей линии связи. Процедура 120 применяется к каждому сегменту данных LLC в блоке данных RLC. Начиная с первого сегмента данных LLC, уровень RLC инкапсулирует сегмент данных LLC в блок данных RLC (блок 122). Затем уровень RLC определяет, является ли сегмент данных LLC завершающим сегментом PDU уровня LLC (блок 124). Если так, то уровень RLC добавляет обычный индикатор длины к блоку данных RLC для указания длины сегмента данных LLC (блок 126). Затем средство форматирования определяет, заполнен ли блок данных RLC (блок 128). Если сегмент данных LLC заполняет блок данных RLC, то обработка переходит к следующему блоку данных RLC (блок 136). Если блок данных RLC заполнен не полностью, то средство форматирования определяет, существуют ли еще данные LLC. Если так, то средство форматирования повторяет блоки 122-126 до тех пор, пока не заполнится блок данных RLC. Если больше данных для отправки нет, то средство форматирования формирует при необходимости фиктивный PDU уровня LLC, чтобы заполнить блок данных RLC (блок 132), и добавляет индикатор длины, установленный в значение 0, в следующий блок данных RLC (блок 134). Затем процесс повторяется для следующих сегментов данных LLC (блок 136).
Фиг. 7 иллюстрирует примерную процедуру 150 форматирования, реализуемую средством форматирования на уровне LLC для форматирования блоков данных LLC, имеющих индикатор нового пакета. Процедура 150 может использоваться как при передачах по восходящей, так и по нисходящей линиям связи. Процедура 150 применяется к каждому сегменту данных LLC в блоке данных RLC. Начиная с первого сегмента данных LLC, уровень RLC инкапсулирует сегмент данных LLC в блок данных RLC (блок 152). Затем уровень RLC определяет, является ли инкапсулированный сегмент данных LLC первым сегментом новой PDU уровня LLC (блок 154). Если сегмент данных LLC является первым сегментом PDU уровня LLC, то уровень RLC добавляет индикатор нового пакета к блоку данных RLC, чтобы указать на то, что сегмент данных LLC является началом нового PDU более высокого уровня (блок 156). Как отмечено ранее, индикатор нового пакета выполнен в виде индикатора длины, установленного в заранее определенное значение (например, Li=126). В любом случае затем уровень RLC определяет, является ли сегмент данных LLC завершающим сегментом PDU уровня LLC (блок 158). Если так, то уровень RLC добавляет обычный индикатор длины, чтобы указать длину сегмента данных LLC (блок 160). Затем процесс повторяется для каждого последующего сегмента данных LLC в блоке данных RLC (блок 162).
Фиг. 8 иллюстрирует примерный терминал 200 связи для реализации описанных здесь устойчивых к ошибкам процедур RLC. Терминал 200 связи может быть выполнен в виде либо мобильного терминала 100, либо базовой станции 14. Терминал 200 связи включает в себя приемопередатчик 204, связанный с антенной 202 для передачи и приема сигналов. Процессор 206 основной полосы частот обрабатывает сигналы, передаваемые и принимаемые терминалом 200 связи. Примерная обработка, выполняемая процессором 206 основной полосы частот, включает в себя модуляцию/демодуляцию, перемежение/снятие перемежения, кодирование/декодирование и т.д. Процессор 206 основной полосы частот включает в себя процессор 208 RLC для реализации описанных здесь протоколов RLC. Как описано выше, процессор 208 RLC выполняет сегментацию и слияние PDU уровня LLC и форматирует блоки данных RLC. При форматировании пакетов данных RLC процессор 208 RLC вставляет индикатор нового пакета, если блок данных RLC начинается с сегмента из нового PDU уровня LLC, и добавляет обычный индикатор длины, если сегмент данных LLC является завершающим сегментом PDU более высокого уровня.
Настоящее изобретение, конечно, может быть воплощено на практике способами, отличными от тех, что конкретно изложены здесь не отступая от неотъемлемых признаков изобретения. Настоящие варианты осуществления во всех аспектах должны рассматриваться в качестве иллюстративных, а не ограничивающих, и как подпадающие в область значения и эквивалентности прилагаемой формулы изобретения, предназначены быть в нее включенными.