СПОСОБ И УСТРОЙСТВО ДЛЯ СИГНАЛИЗАЦИИ СЕГМЕНТАЦИИ И СЦЕПЛЕНИЯ ПАКЕТОВ В СИСТЕМЕ СВЯЗИ
METHOD AND DEVICE FOR SIGNALING OF SEGMENTATION AND PIPELINING IN COMMUNICATION SYSTEM

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Областью техники изобретения является отображение высокоуровневых пакетов в низкоуровневые кадры в системе связи, которая может быть либо беспроводной сетью или сетью со стационарными линиями. Для того чтобы адаптировать пакеты, доставляемые верхним уровнем, к возможностям физической сети (например, максимальному размеру кадра), иногда необходимо сегментировать или фрагментировать их в несколько блоков, которые передавались бы отдельными кадрами. Таким же образом, также может быть необходимым сцеплять несколько пакетов в один кадр, для того чтобы повышать эффективность передачи. Изобретение предлагает новый эффективный способ указания узлу приема, каким образом была выполнена сегментация и сцепление на стороне передатчика.
УРОВЕНЬ ТЕХНИКИ
Необходимость адаптации высокоуровневых пакетов к характеристикам физической сети является классической задачей для всех типов систем связи, таких как беспроводные сети (GSM (Глобальной системы мобильной связи), UMTS (Универсальной системы мобильных телекоммуникаций), WiLAN, WiMax и т.п.) или стационарные сети (IP (протокола сети Интернет), Frame relay (ретрансляции кадров), PPP (непосредственного соединения), ATM (асинхронного режима передачи) и т.п.).
Общий обзор уровня OSI
В этом разделе дано краткое введение в модель OSI (взаимодействия открытых систем) (смотрите фиг.1), которая будет использоваться для иллюстрации пояснений, приведенных ниже.
Эталонная модель взаимодействия открытых систем (для краткости модель OSI или эталонная модель OSI) является разделенным на уровни абстрактным описанием для разработки протоколов коммуникационных и компьютерных сетей. Модель OSI делит функции системы на последовательность уровней. Каждый уровень обладает свойством, что он использует только функции уровня снизу и экспортирует функциональные возможности только на уровень сверху. Система, которая реализует протокольный образ действий, состоящий из последовательности этих уровней, известна как 'стек протоколов' или 'стек'. Ее главный признак состоит в переходе между уровнями, который диктует технические требования касательно того, каким образом один уровень взаимодействует с другим. Это означает, что, в принципе, уровень, написанный одним производителем, может работать с уровнем от другого. Для нашей цели будут описываться только три первых уровня.
Основным назначением физического уровня, или уровня 1, является передача информации (бита) через определенную физическую среду (например, коаксиальные кабели, витые пары, волоконные световоды или эфир). Он преобразует или модулирует данные в сигналы, которые передаются по каналу связи.
Назначение уровня управления передачей данных, или уровня 2, состоит в том, чтобы формировать информационный поток способом, совместимым с определенным физическим уровнем, посредством деления входных данных на кадры данных (функции сегментации и повторной сборки, или SAR). Более того, он может обнаруживать и исправлять потенциально возможные ошибки передачи, запрашивая повторную передачу потерянного кадра. Он предусматривает механизм адресации и может предлагать алгоритмы управления потоком, для того чтобы выравнивать скорость передачи данных с пропускной способностью приемника. В заключение, когда совместно используемая среда используется одновременно многочисленными передатчиками и приемниками, он предлагает механизмы для регулирования и управления доступом к физической среде. Так как диапазон функций уровня управления передачей данных велик, уровень управления передачей данных часто подразделяется на два подуровня (например, подуровни RLC (управления радиосвязью) и MAC (управления доступом к среде передачи) в UMTS). Типичными примерами протоколов уровня 2 являются PPP/HDLC, ATM, ретрансляция кадров для сетей со стационарными линиями и RLC, LLC (управления логической связью) или MAC для беспроводных систем.
Сетевой уровень, или уровень 3, предусматривает функциональное и процедурное средство для передачи пакетов переменной длины из источника в пункт назначения через одну или более сетей, наряду с поддержанием качества обслуживания, запрошенного транспортным уровнем. Основные назначения сетевого уровня состоят в том, чтобы выполнять функции маршрутизации сети, фрагментации сети и контроля перегрузки. Основными примерами протоколов сетевого уровня являются протокол сети Интернет, IP, или X.25.
Большее количество информации об уровневой модели OSI может быть найдено в «Computer Networks», Andrew S. Tanenbaum, fourth edition, Prentice Hall International Edition, page 37-41, section 1.4 («Компьютерные сети», Эндрю С.Таненбаум, четвертая редакция, международное издание Прентис-Холл, стр. 37-41, раздел 1.4).
Определение SDU и PDU
Для того чтобы формально описывать обобщенным образом обмен пакетами между уровнями в модели OSI, были определены объекты SDU (блок служебных данных) и PDU (протокольный блок данных). SDU является единицей информации, передаваемой из протокола на уровне N+1, который запрашивает обслуживание у протокола, расположенного на уровне N через SAP (точку доступа к обслуживанию). PDU является единицей информации, обмениваемой между одноранговыми процессами в передатчике и в приемнике одного и того же протокола, расположенного на одном и том же уровне N. PDU обычно образован частью полезной нагрузки, состоящей из обработанного варианта принятого SDU и управляющей информации, например специфичного для уровня N заголовка, и, возможно, завершенного концевиком. Поскольку нет прямого физического соединения (за исключением L1) между этими одноранговыми процессами, PDU пересылается на уровень N-1 для обработки. Поэтому PDU уровня N, с точки зрения уровня N-1, является SDU. Это проиллюстрировано на фиг.2.
Назначение фрагментации/сегментации
Фрагментация, или, равнозначно, сегментация могут требоваться по трем разным причинам.
Прежде всего, фрагментация может требоваться для транспортировки дейтаграмм или пакетов через сети, чей максимально допустимый размер дейтаграмм или максимальный размер передаваемого блока данных (MTU) является меньшим, чем их размер. Фрагментация дейтаграммы типично реализуется на уровне IP и задана в качестве фрагментации IP в вариантах IPv4 или IPv6 стандарта. Подобным образом, сегментация необходима, когда данные транспортируются по сети ATM, для того чтобы укладывать размер полезной нагрузки в 48 октетов в ячейку ATM. Это выполняется на уровнях адаптации ATM (AAL) между уровнем 2 ATM и транспортным уровнем (например, IP).
Во-вторых, фрагментация может выполняться для того, чтобы уравновешивать нагрузку потока обмена в параллельных линиях связи, например в параллельных линиях связи ISDN (цифровой сети с интегрированными услугами). Многозвенный протокол (MP) PPP («The PPP Multilink Protocol (MP)», RFC 1990, Sklower, K., Lloyd, B., McGregor, G., Carr, D. and T.Coradetti, August 1996 («Многозвенный протокол (MP) PPP», RFC 1990, Скловер К., Ллойд Б., Мак-Грегор Г., Карр Д. и Т.Корадетти, август 1996 года)), основанный на PPP, описывает способ для дробления, рекомбинирования и упорядочения дейтаграмм по многочисленным логическим каналам данных.
В заключение, в беспроводных системах сегментация пакета, потенциально объединенная со сцеплением, часто выполняется на уровне 2 (например, подуровне RLC в UMTS, 3GPP TS 25.322, v6.4.0, «Radio Link Control (RLC) protocol specification» («Спецификация протокола управления радиосвязью (RLC)»)), для того чтобы подгонять пакеты более высокого уровня к ресурсам, предлагаемым более низким уровнем. Так как ресурсы типично недостаточны в беспроводной среде, сцепление нескольких пакетов более высокого уровня рекомендовано для того, чтобы увеличивать общую эффективность системы.
Для того чтобы узлу приемника разделять сцепленные фрагменты и надлежащим образом рекомбинировать принятые фрагменты в исходные пакеты, информации о сегментации необходимо доставляться в узел приема. Эта информация, обычно объединенная с технологией нумерации, помечающей каждый фрагмент, дает уровню 2 в приемнике возможность доставлять полные и согласующиеся пакеты на следующий более высокий уровень.
В следующих разделах будет представлено несколько существующих способов сигнализации сегментации, которые будут помогать пониманию отличительных признаков по отношению к настоящему изобретению.
Сигнализация SAR с помощью нумерации фрагментов
Первый класс способов для указания фрагментации перегруппировывает несколько подобных технологий, которые указывают позицию фрагментов в пакете источника. Необходимы два элемента: первым является индексное указание на позицию фрагмента в пакете источника. Этот индекс может принимать либо форму смещения фрагментации (фрагментация IP, смотрите «Computer Network», Andrew S. Tanenbaum, fourth edition, Prentice Hall International Edition, page 37-41 section 1.4) или эквиваленты последовательного номера фрагмента FSN (WiLAN, смотрите 802.11: спецификации управления доступом к среде передачи (MAC) и физического уровня (PHY) беспроводной LAN).
Этот индекс должен инициализироваться известным значением (например, FSN=нулю) для первого сегмента пакета источника. Узел приемника использует этот индекс для записи фрагментов в правильной последовательности и обнаружения потерянных фрагментов. Кроме того, последний сегмент пакета указывается однобитным признаком (LF). Нефрагментированный пакет сигнализируется стороне приемника установкой индекса на начальную позицию (например, FSN=нулю) и одновременным указанием, что этот пакет является последним фрагментом в пакете источника. Эта технология используется, например, в протоколе фрагментации IP или в AAL-1 уровня адаптации ATM. Уровень MAC WiLAN 802.11 также использует такую же технологию. WiLAN также добавляет в конец поле, идентифицирующее пакет источника, к каждому фрагменту. Это необходимо, так как MAC 802.11 может быть сконфигурирован для переупорядочения пакетов на стороне приемника перед доставкой на следующий, более высокий уровень. Этого требования последовательной доставки не существует на уровне IP, переупорядочение либо не требуется, либо выполняется более высоким уровнем (например, TCP).
Принцип технологии SAR посредством нумерации фрагментов в WiLAN показан на фиг.3.
Служебные данные или сигналы сигнализации относительно значимы, поскольку каждый фрагмент должен нести по меньшей мере флаг, LF, последнего фрагмента и последовательный номер фрагмента, FSN, и, в конечном счете, последовательный номер, SN, пакета источника.
Сигнализация SAR с помощью признаков начала/конца
Второй класс способов SAR широко используется в различных протоколах, таких как AAL-3/4 уровня адаптации ATM, соглашение FRF.12 реализации фрагментации ретрансляции кадров Frame Relay, технический комитет форума по ретрансляции кадров, WiMax и многозвенный протокол (MP) PPP («The PPP Multilink Protocol (MP)», RFC 1990, Sklower, K., Lloyd, B., McGregor, G., Carr, D. and T.Coradetti, August 1996). Основная идея в этом втором классе технологий SAR состоит в том, чтобы использовать однобитные признаки, чтобы указывать для каждого PDU SAR, является ли PDU первым, последним или средним фрагментом SDU, либо является ли полным SDU SAR. Оба признака являются частью заголовка PDU. В некоторых реализациях (ретрансляции кадров и многозвенном протоколе PPP) различают функцию двух флагов в качестве одного, указывающего начало SDU, и другого, указывающего его конец. Бит B начального фрагмента установлен в 1 в первом фрагменте, выведенном из SDU SAR, и установлен в 0 для всех других фрагментов из того же самого SDU. Бит E конечного фрагмента установлен в 1 в последнем фрагменте и установлен в 0 для всех других фрагментов. PDU может иметь оба бита, начального и конечного фрагмента, установленными в 1. В этом случае он указывает, что никакой сегментации не имеет места. Кроме того, добавляется нумерация последовательности фрагментов, для того чтобы узлу приемника обнаруживать потерю фрагмента и, потенциально, выполнять переупорядочение PDU, если линия связи не сохраняет последовательность PDU. После переупорядочения приемник может легко проверять биты B и E, чтобы опознавать, какому PDU SAR необходимо комбинироваться, для перестройки исходных SDU. Фигуры дают иллюстрацию этой технологии.
Сигнализация SAR с помощью индикаторов длины
Третий класс состоит в наборе технологий, которые являются использующими поля индикаторов длины в качестве указателей для указания границ SDU. Хорошим примером является RLC (управление радиосвязью) в R99 UMTS. В RLC PDU RLC может нести сегменты нескольких SDU или биты заполнения незначащей информацией. Действительно, R99 UMTS работает с PDU фиксированного размера, который может не быть выровненным с длиной SDU, которые должны передаваться. Так как радиоресурсы недостаточны, считалось, что необходимо предоставлять возможность сцепления SDU на уровне PDU. В общем способе переменное количество индикаторов длины (LI) добавляется в заголовок PDU. Индикатор длины используется для указания последнего октета каждого SDU RLC, заканчивающегося в пределах PDU. Как обычно, нумерация последовательности, основанная на PDU, добавляется в заголовок для того, чтобы дать возможность обнаружения потери и переупорядочения. Приемник, поэтому, может выполнять переупорядочение, запрашивать повторную передачу потерянного PDU и снова собирать SDU. Более того, LI со специальным значением указывает, когда заполнение незначащей информацией используется для заполнения конца PDU.
Основной недостаток этой технологии состоит в том, что служебные данные или сигналы зависят от количества сегментов SDU в PDU, и, вследствие этого, заголовок также имеет переменный размер. Более того, использование специальных полей имеет тенденцию повышать сложность RLC.
В заключение, эта технология не очень эффективна при рассмотрении переменного размера PDU, которое могло бы быть более гибким и лучше адаптированным к ориентированной на полные пакеты среде в беспроводной системе. Обобщенный пример этой технологии показан на фиг.5.
Функция сцепления в беспроводной системе
Сцепление является функцией, которая особенно полезна для беспроводных систем. Сочетание сегментации и сцепления дает передатчику возможность лучше адаптировать входящие SDU переменной длины к предлагаемым ресурсам. В случае беспроводной системы количество битов, которые могут передаваться в течение интервала времени передачи (TTI), может значительно изменяться в зависимости от условий радиосвязи, кодовой скорости и физических ресурсов, выделенных передаче. Например, мобильная станция, близкая к передатчику, требует меньшего канального кодирования, чем мобильная станция гораздо дальше. С одинаковыми выделенными физическими ресурсами и одинаковой мощностью передачи первая мобильная станция будет способна принимать гораздо больше данных, чем вторая мобильная станция. Более того, когда рассматриваются пакетные услуги, скорость передачи данных, обеспечиваемая сервером, в принципе, может значительно меняться со временем.
В UMTS сегментация и сцепление SDU из сегментов SDU в PDU выполняются на уровне RLC, безотносительно предлагаемых физических ресурсов и с фиксированным предопределенным размером PDU. Для того чтобы эмулировать некоторые виды динамического поведения, уровень MAC, на основании некоторых указаний с физического уровня, определяет количество PDU, которые должны передаваться, на TTI. В R99 UMTS выбранные PDU передаются в виде так называемых транспортных блоков канала (TrCH Blk или TrBlk) на физический уровень, который сцепляет их и формирует набор транспортных блоков канала. В HSDPA (высокоскоростном пакетном доступе по нисходящей линии связи) Rel-5 (выпуска 5) UMTS, выбранные PDU, сцепляются прямо в транспортный блок канала (TrCH Blk или TrBlk) уровня MAC, который, таким образом, содержит несколько PDU, как показано на фиг.6. В зависимости от условий радиосвязи или других переменных, количество выбранных PDU на TTI меняется, как показано на фиг.7. Поэтому последовательное использование сегментации/сцепления SDU на уровне RLC с сцеплением PDU на уровне MAC (HSDPA Rel-5 UMTS) или на физическом уровне (R99 UMTS) дает передатчику возможность динамически адаптировать передачу к мгновенным переменным величинам (входящим данным с верхнего уровня и ресурсам, предложенным нижними уровнями).
В UMTS узел приемника информируется о количестве PDU, передаваемых на TTI, с помощью внеполосной сигнализации (индикатора комбинаций форматов транспорта, или TFCI) либо внутриполосной в специальном заголовке (например, заголовке MAC-hs (логического объекта высокоскоростной передачи уровня MAC) в HSDPA). Должно быть отмечено, что этап сцепления PDU обычно выполняется независимо от структуры PDU, таким образом, может случаться, что SDU перекрывает несколько TTI.
Рациональные служебные сигналы или данные в системах с высокоизменчивой скоростью передачи данных
Последовательное использование сегментации SDU и сцепления PDU, как представлено выше, хорошо работает, когда диапазон количества PDU, которые должны передаваться, не слишком велик. Однако, в случае высокоизменчивых систем (высокоизменчивых физических ресурсов и высокоизменчивой скорости передачи данных), что может становиться более распространенным в будущих системах с высокой пропускной способностью, использование PDU фиксированного размера имеет тенденцию быть близким к оптимальному, так как размер PDU может не адаптироваться к полному диапазону скорости передачи данных. Действительно, в случае пакетной услуги, размер SDU, в принципе, может изменяться от 40 октетов для подтверждений TCP вплоть до размера MTU (например, около 1500 октетов для Эзернет (Ethernet)). На стороне физического уровня, планируемые совместно используемые системы, такие как HSDPA в UMTS, предлагают физические ресурсы для TTI, которые могут меняться от нескольких кбит/с до полной полосы пропускания (например, 14 Мбит/с в HSDPA). Ожидается, что эта тенденция будет подтверждаться будущей беспроводной системой.
Проблема возникает из того факта, что небольшой размер PDU, который мог бы быть оптимальным для нижней части диапазона скоростей передачи данных, становится обременительным при рассмотрении верхней части диапазона скоростей передачи данных. Действительно, приемник будет иметь больше PDU для обработки за TTI и потребовал бы больших вычислений. Более того, диапазон последовательных номеров, идентифицирующих PDU, может становиться слишком коротким, и может возникать проблема циклического переполнения. В заключение, служебные сигналы или данные, которые являются количеством, равным n* (размер заголовка PDU), разрастаются более или менее линейно в зависимости от длины транспортного блока канала. Использование большого PDU будет заставлять передатчик либо задерживать передачу, для того чтобы заполнять PDU, либо в большой степени заполнять незначащей информацией неиспользованное пространство в PDU при низких скоростях передачи данных. Повышенный разброс времени поступления или экстенсивное заполнение незначащей информацией оказывают сильное отрицательное влияние на эффективность системы радиосвязи и должны избегаться.
Вообще, размер PDU является статическим параметром однонаправленного радиоканала, используемого для переноса рассматриваемой услуги. Этот параметр не может изменяться без значительной реконфигурации процедуры. Поэтому трудно эффективно адаптировать линию связи к характеристикам входящих SDU или к ресурсам, предлагаемым более низким уровнем, без строгих ограничений по скорости передачи данных, либо диапазону физических ресурсов, которые могут быть выделены на TTI.
Распространение ошибок
Технологии сигнализации SAR с индикаторами длины восприимчивы к распространению ошибок. Действительно, может случаться, что потеря PDU заставляет приемник намеренно отбрасывать правильно принятые SDU вследствие неопределенности границ SDU. Как показано на фиг.8, потеря PDU i+2 заставляет приемник отбрасывать правильно принятый PDU i+3, поскольку он не может определить, является ли фрагмент, содержащийся в PDU i+3, полным SDU (альтернативный вариант 1) или сегментом SDU (альтернативный вариант 2).
В Rel-6 UMTS были сделаны некоторые попытки ограничить эту проблему и сократить служебные сигналы или данные в некоторых конкретных условиях, где размер SDU совпадает с размером PDU. Однако, в общем случае, эта проблема проистекает из того факта, что каждый PDU несет информацию о своей собственной структуре и безотносительно внутренней структуры смежных PDU.
Технологии сигнализации SAR с признаками начала/конца или с нумерацией фрагментов гораздо более устойчивы в этом, так как приемник точно знает, когда принято достаточное количество PDU. Однако служебные сигналы или данные этих технологий разрастаются линейно с количеством сцепленных PDU.
Как можно видеть, несколько технологий существуют для сигнализации сегментации и сцепления. Однако они склонны страдать от повышенных служебных сигналов или данных, потери гибкости либо ведут к повышенной сложности на стороне приемника. Устойчивость к распространению ошибок также не обеспечена.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Задача изобретения состоит в том, чтобы предоставить эффективные и осуществимые сегментацию и сцепление при пакетной связи.
Задача решается объектами независимых пунктов формулы изобретения. Предпочтительные варианты осуществления изобретения являются объектами по отношению к зависимым пунктам формулы изобретения.
Разные варианты осуществления изобретения предлагают структуру пакета данных, способ, устройство, систему и машиночитаемый носитель информации для передачи данных блоков служебных данных с использованием протокольных блоков данных. Пакет данных содержит полезную нагрузку пакета, содержащую по меньшей мере один протокольный блок данных, при этом протокольный блок данных содержит блок служебных данных или фрагмент блока служебных данных и заголовок пакета данных, содержащий индикатор, указывающий, начинается или нет полезная нагрузка пакета данных с протокольного блока данных, являющегося фрагментом блока служебных данных, и кончается или нет полезная нагрузка пакета данных протокольным блоком данных, являющимся фрагментом блока служебных данных.
Согласно предпочтительному варианту осуществления индикатор состоит из двух признаков, при этом первый признак указывает, начинается ли полезная нагрузка пакета данных с протокольного блока данных, являющегося фрагментом блока служебных данных, а второй признак указывает, заканчивается ли полезная нагрузка пакета данных протокольным блоком данных, являющимся фрагментом блока служебных данных.
Преимущество этого варианта осуществления состоит в том, что признак, когда установлен, указывает протокольный блок данных, являющийся фрагментом блока служебных данных.
Согласно еще одному предпочтительному варианту осуществления структура пакета данных содержит индикатор последовательного номера, указывающий позицию пакета данных в последовательности пакетов данных.
В дополнительном предпочтительном варианте осуществления способ для передачи пакетов данных, содержащих блоки служебных данных, содержит этапы формирования по меньшей мере одного протокольного блока данных, содержащего блок служебных данных или фрагмент блока служебных данных, формирования полезной нагрузки пакета данных, содержащей по меньшей мере один протокольный блок данных, формирования заголовка пакета данных, содержащего по меньшей мере индикатор для указания, начинается или нет полезная нагрузка пакета данных с протокольного блока данных, являющегося фрагментом блока служебных данных, и заканчивается или нет полезная нагрузка пакета данных протокольным блоком данных, являющимся фрагментом блока служебных данных, формирования пакета данных, содержащего заголовок пакета данных и полезную нагрузку пакета данных, и передачи пакета данных по каналу.
Согласно еще одному предпочтительному варианту осуществления полезная нагрузка пакета данных содержит множество протокольных блоков данных, и пакет данных начинается с первого протокольного блока данных, а заканчивается последним протокольным блоком данных.
В дополнительном предпочтительном варианте осуществления этап формирования полезной нагрузки пакета данных заданного размера дополнительно содержит следующие подэтапы a), b) и c). На a) определяется, достаточен ли размер, оставшийся в полезной нагрузке пакета данных, для переноса следующего блока служебных данных или фрагмента, оставшегося от предыдущего блока служебных данных. Если это верно, на b) формируется следующий протокольный блок данных, содержащий следующий блок служебных данных или фрагмент предыдущего блока служебных данных, и протокольный блок данных добавляется в полезную нагрузку пакета данных. Иначе, следующий блок служебных данных или фрагмент, оставшийся от предыдущего блока служебных данных, фрагментируется, и формируется протокольный блок данных, содержащий первый фрагмент блока служебных данных или фрагмент, оставшийся от предыдущего блока служебных данных, из условия, чтобы размер протокольного блока данных соответствовал оставшемуся размеру полезной нагрузки пакета данных, и протокольный блок данных добавляется в полезную нагрузку пакета данных. Этапы a) и b) повторяются до тех пор, пока полезная нагрузка пакета данных не имеет недостаточный размер, оставшийся для переноса следующего блока служебных данных.
Кроме того, является предпочтительным то, что при получении заполненной полезной нагрузки пакета данных протокольными блоками данных устанавливаются индикаторы для указания, начинается или нет полезная нагрузка пакета данных с протокольного блока данных, являющегося фрагментом блока служебных данных, и заканчивается или нет полезная нагрузка пакета данных протокольным блоком данных, являющимся фрагментом блока служебных данных.
В еще одном предпочтительном варианте осуществления, полезная нагрузка данных фиксируется динамически объектом распределения ресурсов в зависимости от условий радиосвязи и занятости буфера.
В дополнительном предпочтительном варианте осуществления описан способ приема пакетов данных, содержащих заголовок пакета данных и полезную нагрузку пакета данных, в котором полезная нагрузка пакета данных содержит по меньшей мере один протокольный блок данных, содержащий блок служебных данных либо фрагмент блока служебных данных. Способ содержит этапы приема пакетов данных по каналу, каждый пакет данных содержит полезную нагрузку пакета данных и заголовок пакета данных, заголовок пакета данных содержит индикатор последовательного номера, указывающий позицию пакета данных в последовательности пакетов данных, и индикатор, при этом индикатор указывает, начинается или нет полезная нагрузка данных с протокольного блока данных, являющегося фрагментом блока служебных данных, и заканчивается или нет пакет данных полезной нагрузкой пакета, являющейся фрагментом блока служебных данных, сохранения протокольных блоков данных принятой полезной нагрузки пакета данных с принятыми ранее протокольными блоками данных в буфере приема последовательно, согласно индикатору последовательного номера, и отметки, должен ли первый протокольный блок данных принятой полезной нагрузки пакета данных объединяться с последовательно предыдущим протокольным блоком данных и должен ли последний протокольный блок данных принятой полезной нагрузки пакета данных объединяться с последовательно следующим протокольным блоком данных.
Согласно дополнительному предпочтительному варианту осуществления буфер приема анализируется в отношении того, отмечен ли протокольный блок данных, и, если отмечен, протокольный блок данных объединяется с другим отмеченным протокольным блоком данных, чтобы формировать блок служебных данных.
В еще одном предпочтительном варианте осуществления описано устройство для передачи пакетов данных, содержащих блоки служебных данных. Устройство содержит средство формирования протокольного блока данных, выполненное с возможностью формирования протокольного блока данных, содержащего блок служебных данных или фрагмент блока служебных данных, средство формирования полезной нагрузки пакета данных, выполненное с возможностью формирования полезной нагрузки пакета данных, содержащей по меньшей мере один протокольный блок данных, средство формирования заголовка пакета, выполненное с возможностью формирования заголовка пакета данных, содержащего индикатор для указания, начинается или нет полезная нагрузка пакета данных с протокольного блока данных, являющегося фрагментом блока служебных данных, и заканчивается или нет полезная нагрузка пакета данных протокольным блоком данных, являющимся фрагментом блока служебных данных, средство формирования пакета данных, выполненное с возможностью формирования пакета данных, содержащего заголовок пакета данных и полезную нагрузку пакета данных, и средство передачи, выполненное с возможностью передачи пакетов данных по каналу.
Дополнительный предпочтительный вариант осуществления этого изобретения относится к устройству для приема пакетов данных, содержащих заголовок пакета данных и полезную нагрузку пакета данных, при этом полезная нагрузка пакета данных содержит по меньшей мере один протокольный блок данных, содержащий блок служебных данных, либо фрагмент блока служебных данных. Устройство содержит средство приема, выполненное с возможностью приема пакетов данных по каналу, причем каждый пакет данных содержит полезную нагрузку пакета данных и заголовок пакета данных, заголовок пакета данных содержит индикатор последовательного номера, указывающий позицию пакета данных в последовательности пакетов данных, и индикатор, при этом индикатор указывает, начинается или нет полезная нагрузка пакета данных с протокольного блока данных, являющегося фрагментом блока служебных данных, и заканчивается или нет полезная нагрузка пакета данных протокольным блоком данных, являющимся фрагментом блока служебных данных. Оно дополнительно содержит буфер приема, выполненный с возможностью сохранения протокольных блоков данных полезной нагрузки принятого пакета данных с принятыми ранее протокольными блоками данных в буфере приема последовательно, согласно индикатору последовательного номера, и средство отметки, выполненное с возможностью отметки, должен ли первый протокольный блок данных полезной нагрузки принятого пакета данных объединяться с последовательно предыдущим протокольным блоком данных и должен ли последний протокольный блок данных полезной нагрузки принятого пакета данных объединяться с последовательно следующим протокольным блоком данных.
Еще один вариант осуществления изобретения относится к машиночитаемому носителю информации, хранящему команды, которые, при их исполнении процессором устройства передачи, предписывают устройству передачи передавать пакеты данных, содержащие блоки служебных данных. Это делается посредством формирования по меньшей мере одного протокольного блока данных, содержащего блок служебных данных или фрагмент блока служебных данных, формирования полезной нагрузки пакета данных, содержащей протокольные блоки данных, формирования заголовка пакета данных, содержащего по меньшей мере индикатор для указания, начинается или нет полезная нагрузка пакета данных с протокольного блока данных, являющегося фрагментом блока служебных данных, и заканчивается или нет полезная нагрузка пакета данных протокольным блоком данных, являющимся фрагментом блока служебных данных, и передачи пакета данных по каналу.
Дополнительный предпочтительный вариант осуществления относится к машиночитаемому носителю информации, который описан, хранящему команды, которые, при их исполнении процессором устройства приема, предписывают устройству приема принимать пакеты данных, содержащие заголовок пакета данных и полезную нагрузку пакета данных, при этом полезная нагрузка пакета данных содержит по меньшей мере один протокольный блок данных, содержащий блок служебных данных либо фрагмент блока служебных данных. Способ содержит этапы приема пакетов данных по каналу, причем каждый пакет данных содержит полезную нагрузку пакета данных и заголовок пакета данных, заголовок пакета данных содержит индикатор последовательного номера, указывающий позицию пакета данных в последовательности пакетов данных, и индикатор, при этом индикатор указывает, начинается или нет полезная нагрузка данных с протокольного блока данных, являющегося фрагментом блока служебных данных, и заканчивается или нет пакет данных полезной нагрузки пакета, являющейся фрагментом блока служебных данных, сохранения протокольных блоков данных полезной нагрузки принятого пакета данных с принятыми ранее протокольными блоками данных в буфере приема последовательно, согласно индикатору последовательного номера, и отметки, должен ли первый протокольный блок данных полезной нагрузки принятого пакета данных объединяться с последовательно предыдущим протокольным блоком данных и должен ли последний протокольный блок данных полезной нагрузки принятого пакета данных объединяться с последовательно следующим протокольным блоком данных.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
В последующем, изобретение описано более детально, со ссылкой на прилагаемые чертежи. Подобные полагающиеся соответствующие детали и фигуры отмечены одинаковыми ссылками.
Фиг.1 показывает уровневую модель OSI;
фиг.2 показывает SDU и PDU в уровневой модели OSI;
фиг.3 показывает сигнализацию SAR посредством нумерации фрагментов;
фиг.4 показывает сигнализацию SAR с признаками начала и конца;
фиг.5 показывает сигнализацию SAR с индикаторами длины;
фиг.6 показывает последовательности операций сегментации SDU и сцепления PDU;
фиг.7 показывает формирование транспортного блока канала;
фиг.8 показывает распространение ошибок в R99 UMTS;
фиг.9 показывает последовательности операций SAR и сцепления по варианту осуществления настоящего изобретения;
фиг.10 показывает процесс SAR и сцепления с признаком фрагментации по варианту осуществления настоящего изобретения;
фиг.11 показывает сигнализацию SAR с признаком фрагментации согласно варианту осуществления настоящего изобретения;
фиг.12 - блок-схема алгоритма для последовательности операций сегментации и сцепления.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Настоящее изобретение применимо к любой системе связи с передачей пакетов данных, использующей кадры передачи переменной длины, например, беспроводным сетям, таким как GSM, UMTS, WiLAN, WiMAX и т.п., или стационарным сетям, таким как IP, ретрансляции кадров, PPP, ATM и т.п.
Разные варианты осуществления изобретения описаны на основании уровневой модели OSI, в особенности, обмен пакетов между уровнями SDU и PDU. Для более подробного описания значимых частей уровневой модели OSI, а также SDU и PDU, пожалуйста, смотрите раздел уровня техники. Раздел уровня техники также описывает причины для применения фрагментации и/или сегментации в сетях связи.
В этом изобретении предложен способ, который дает возможность эффективной процедуры сегментации и сцепления при постоянных затратах сигнализации, которая заставляет служебные сигналы или данные уменьшаться в процентном отношении с длиной передаваемого TrBlk.
Сегментация SDU и сцепление PDU оба зависят от физических ресурсов, которые выделены для передачи в течение следующего TTI. Например, размер служебных сигналов или данных следующего транспортного блока канала (Size_ind, индикатор размера) может указываться функции SAR, как показано на фиг.9.
На основании этого указания функция SAR выбирает n SDU, суммарный размер которых точно выше Size_ind. Если сумма длин n SDU является большей, чем size_ind, функция SAR сегментирует последний SDU на два сегмента. Сумма n-1-ых SDU и первого фрагмента n-го SDU равна Size_ind. Каждый из них преобразуется в PDU и принимает последовательный номер, приписываемый последовательно. Для следующей передачи второй фрагмент будет считаться первым. Это показано на фиг.10, где SDU3 фрагментирован на 2 PDU (PDU3 и PDU4).
Поэтому, согласно строению, все сформированные PDU являются полными SDU за исключением первого и последнего в транспортном блоке (TrBlk), которые могут быть фрагментом SDU. Все другие являются полными SDU, поэтому достаточно указать приемнику, являются ли первый и последний PDU в транспортном блоке фрагментами SDU или полным SDU. Это может легко выполняться посредством 2-х однобитных признаков или признаков фрагментации, прикрепленных к заголовку TrBlk. Первый признак фрагментации, или FFF, указывает, является или нет первый PDU SAR в TrBlk фрагментом SDU, а второй признак фрагментации (SFF) указывает, является или нет последний PDU SAR в TrBlk фрагментом SDU.
Эта последовательность операций может быть описана в обобщенной форме в направлении по фиг.12. SDU или фрагменты SDU берутся из буфера, а затем определяется, укладывается ли SDU или фрагмент SDU в оставшийся размер транспортного блока, который может быть целым транспортного блока или только его частью. Если полный SDU или фрагмент SDU укладывается в оставшийся размер транспортного блока, из этого SDU создается PDU. Этот PDU затем вставляется в транспортный блок.
Транспортный блок проверяется, есть ли еще оставшийся размер. Если есть, последовательность операций снова перезапускается, если нет, добавляются индикаторы, и транспортный блок передается с индикаторами.
Однако, если SDU или фрагмент SDU не укладывается в оставшийся размер транспортного блока, SDU фрагментируется, и PDU создается из фрагмента SDU, чтобы укладываться в оставшийся размер транспортного блока. Второй сегмент SDU помещается в буфер, и PDU затем вставляется в транспортный блок, и добавляются индикаторы.
Первый признак фрагментации (FFF) указывает, является или нет первый PDU в транспортном блоке фрагментом SDU, а второй признак фрагментации (SFF) указывает, является или нет последний PDU в транспортном блоке фрагментом SDU.
В заключение, транспортный блок передается с индикаторами, и последовательность операций может вновь начинаться.
При приеме транспортного блока n с FFF, установленным в 1, приемник знает, что первый PDU SAR в TrBlk должен объединяться с последним PDU SAR предыдущего TrBlk n-1. TrBlk также мог указать, что последний PDU SAR в этом TrBlk является фрагментом SDU, установкой SFF в 1.
В системе без потерь FFF и SFF поставляют избыточную информацию и, вообще говоря, не требуются. Однако в системе с потерями, такой как беспроводная система, это полезно для предотвращения распространения ошибок. Действительно, если (n-1)-ый TrBlk в предыдущем примере был потерян, узел приемника обнаружил бы эту потерю благодаря нумерации последовательности PDU SAR, а FFF в n-ом TrBlk указал бы, что первый PDU может быть отброшен, так как соответствующий SDU является некомплектным. Однако второй и следующий PDU в n-ом TrBlk будет удерживаться и использоваться в функции повторной сборки.
Если только один PDU передается через SDU, FFF и SFF по-прежнему могут иметь разные значения. FFF указывал бы, должен ли PDU объединяться с последним PDU предыдущего TrCh Blk, а SFF указывал бы, должен ли PDU объединяться с первым PDU следующего TrCh Blk.
Один из важных аспектов изобретения состоит в том, чтобы сигнализировать информацию SAR не на уровне PDU (то есть в заголовке PDU), а лучше в заголовке TrBlk. Посредством использования PDU переменного размера и простых правил сегментации и сцепления предлагается указывать информацию SAR только 2-мя битами на заголовок TrBlk, которые указывают состояние (фрагментированное, нефрагментированное) первого и последнего PDU, которые сцеплены в TrBlk.
По сравнению с решением предшествующего уровня техники, информацией SAR являются только 2 бита на TrBlk, которые должны сравниваться с 2*n битами на TrBlk для сигнализации SAR с признаками начала/конца, где n является количеством PDU в TrBlk. Это является значительным снижением, когда много PDU сцеплено в одном и том же TrBlk.
Как можно видеть, допускается, что размер PDU SAR является переменным. Например, в текущем состоянии UMTS, размер PDU фиксирован и является статическим параметром однонаправленного канала для переноса услуги. Иногда есть необходимость информировать приемник, где могут находиться границы PDU. В таком случае требуется указывать длину каждого PDU в заголовке PDU SAR индикаторами длины, как показано на фиг.11. Это фактически равнозначно полям индикаторов длины, которые используются в технологиях сигнализации SAR с индикаторами длины для сигнализации границ SDU в пределах каждого PDU.
Более того, было бы возможным дополнительно экономить пространство сигнализацией только одного последовательного номера PDU SAR на TrBlk. Последовательный номер первого PDU или последнего PDU в TrBlk может использоваться для этой цели. Приемник может подсчитывать количество индикаторов длины, содержащихся в TrBlk, чтобы получать количество сцепленных PDU, или небольшое поле N, указывающее это количество, может добавляться в заголовок TrBlk, как показано на фиг.11.
Еще один вариант осуществления изобретения относится к реализации вышеописанных различных вариантов осуществления с использованием аппаратных средств и программного обеспечения. Осознается, что различные вышеупомянутые способы могут быть реализованы и выполнены с использованием вычислительных устройств (процессоров), например, таких как процессоры общего применения, цифровые сигнальные процессоры (ЦСП, DSP), специализированные интегральные схемы (ASIC), программируемые пользователем вентильные матрицы (FPGA) или другие программируемые логические устройства и т.п. Различные варианты осуществления изобретения также могут выполняться или воплощаться комбинацией этих устройств.
Кроме того, различные варианты осуществления изобретения также могут быть реализованы посредством программных модулей, которые выполняются процессором или непосредственно в аппаратных средствах. К тому же, может быть возможным сочетание программных модулей и аппаратной реализации.
Программные модули могут храниться в любом виде машиночитаемых запоминающих носителей информации, например ОЗУ (оперативном запоминающем устройстве, RAM), СППЗУ (стираемом программируемом ПЗУ (постоянном запоминающем устройстве), EPROM), ЭСППЗУ (электрически стираемом программируемом ПЗУ, EEPROM), флэш-памяти, регистрах, жестких дисках, CD-ROM (ПЗУ на компакт-диске), DVD (цифровом многофункциональном диске) и т.п.