Механизм сортировки кадров протокола радиосвязи для беспроводных каналов данных с динамической емкостью

Изобретение относится к беспроводной связи и может использоваться для надежной передачи данных через беспроводный канал. Достигаемый технический результат - минимизация непроизводительных затрат, присущих протоколу контроля ошибок, путем исключения ненужных повторных передач кадров данных. Способ доставки кадров данных протокола работы радиолинии типа 3 на подуровень протокола работы радиолинии типа 3 характеризуется тем, что определяют количество дополнительных каналов, устанавливают в каждом из них счетчик и/ или таймер, осуществляют упорядочение кадров данных протокола работы радиолинии типа 3, имеющих различные длины, в соответствии с последовательным номером, содержащимся в них, и доставляют эти упорядоченные кадры данных на подуровень программного обеспечения протокола работы радиолинии типа 3. 12 ил.

 

Область техники, к которой относится изобретение

Данное изобретение относится к беспроводной связи. В частности, изобретение касается улучшенного способа и системы для надежной передачи данных через беспроводный канал с минимизацией непроизводительных затрат, присущих протоколу контроля ошибок.

Уровень техники

Одним из способов облегчения организации связи при наличии большого количества системных пользователей является использование способов модуляции с множественным доступом и кодовым разделением каналов (МДКР (CDMA)). Специалистам в данной области техники известны и другие способы множественного доступа для систем связи, такие как множественный доступ с временным разделением каналов (МДВР (TDMA)), множественный доступ с частотным разделением каналов (МДЧР (FDMA)), а также схемы амплитудной модуляции (AM), такие как с однополосным сигналом с компандированной амплитудой (ОСКА (ACSSB)). Эти способы были стандартизированы для облегчения совместной работы оборудования, изготовленного разными компаниями. Системы связи с множественным доступом и кодовым разделением каналов были стандартизированы в США в стандарте Ассоциации промышленности средств связи TIA/EIA/IS-95-B "MOBILE STATION-BASE STATION COMPATIBILITY STANDARD FOR DUAL-MODE WIDEBAND SPREAD SPECTRUM CELLULAR SYSTEMS" (Стандарт совместимости мобильной станции и базовой станции для систем сотовой связи с расширенным спектром с двойным режимом полосы пропускания), который определен здесь как IS-95-B.

IS-95-B первоначально был оптимизирован для передачи речевых кадров с переменной скоростью. Для того чтобы поддерживать дуплексную речевую связь, типичными примерами которой являются системы беспроводной телефонной связи, желательно, чтобы система связи обеспечивала относительно постоянную и минимальную задержку передачи данных. В связи с этим в системах IS-95-B предусмотрены протоколы эффективного прямого исправления ошибок (ПИО (EEC)) и вокодеры, которые предусматривают постепенное реагирование на ошибки в речевых кадрах. Протоколы контроля ошибок, которые требуют выполнение процедур повторной передачи кадров, вносят недопустимые задержки в передачу речи, поэтому они не вошли в спецификацию IS-95-B.

Такая оптимизация, которая делает автономную спецификацию IS-95-B идеальной для систем передачи речевых сигналов, затрудняет ее использование в системах передачи пакетных данных. Во многих системах неречевой связи, таких как передача данных по межсетевому протоколу (МП (IP)), требования к задержкам в системе связи гораздо менее строгие, чем в системах речевой связи. В Протоколе управления передачей (ПУП (TCP)), который вероятно является наиболее распространенным из всех протоколов, используемых в сети МП, допускаются фактически бесконечные задержки передачи, для того чтобы гарантировать передачу без ошибок. В ПУП используют повторные передачи дейтаграмм МП, обычно называемых пакетами МП, для обеспечения надежности транспортировки.

Дейтаграммы МП обычно слишком велики, чтобы уместиться в одном кадре IS-95-B. Даже после разделения дейтаграммы МП на достаточно малые сегменты для их размещения в наборе кадров IS-95-B, для того чтобы можно было использовать протокол ПУП, весь набор кадров IS-95-B должен быть принят без единой ошибки для каждой дейтаграммы МП. Заданная частота кадровых ошибок, типичная для системы IS-95-B, резко снижает вероятность безошибочного приема всех сегментов одной дейтаграммы.

Как описано в IS-95-B, альтернативные опции обслуживания позволяют вместо речевых кадров реализовать другие формы передачи данных. В промежуточном стандарте Ассоциации промышленности средств связи TIA/EIA/IS-707-A "DATA SERVICE OPTIONS FOR SPREAD SPECTRUM SYSTEMS" (Опции обслуживания данных для систем с расширенным спектром), определенном здесь как IS-707, описан набор процедур, используемых при передаче пакетных данных в системе IS-95-B.

Протокол работы радиолинии (ПРР (RLP)) описан в TIA/EIA/IS-707-A.8 "DATA SERVICE OPTIONS FOR SPREAD SPECTRUM SYSTEMS: Radio Link Protocol Type 2", определенном здесь как RLP2 и содержание которого включено сюда по ссылке. RLP2 включает протокол контроля ошибок с процедурами повторной передачи кадров на уровне кадров IS-95-B. RLP - это один протокол из класса протоколов контроля ошибок, известных как протоколы ARQ (автоматический запрос повторной передачи (АЗПП)) на основе NAC (отсутствие подтверждения приема (ОПП)), которые хорошо известны специалистам в данной области техники. RLP IS-707 облегчает передачу байтовых потоков, а не последовательности речевых кадров, через систему связи IS-95-B.

Обычно над уровнем ПРР расположено несколько протокольных уровней. К примеру, дейтаграммы МП перед их представлением в виде байтового потока на уровень протокола ПРР преобразуются в байтовый поток протокола двухточечного соединения (ПДС (РРР)). Так как уровень ПРР игнорирует этот протокол и кадрирование на более высоких протокольных уровнях, поток данных, транспортируемых с помощью ПРР, называют "байтовым потоком без особенностей".

ПРР был первоначально разработан для удовлетворения требований пересылки больших дейтаграмм через канал IS-95-B. Например, если дейтаграмма из 500 байт должна быть просто послана в кадрах IS-95-B, каждый из которых переносит 20 байт, то эта дейтаграмма МП заполнит 25 последовательных кадров IS-95-B. При отсутствии какого-либо уровня контроля ошибок, для того чтобы эта дейтаграмма МП была пригодной для более высоких уровней протоколов, все 25 кадров ПРР должны быть приняты без ошибок. Для канала IS-95-B, имеющего частоту ошибок в кадрах 1%, эффективная частота ошибок доставки дейтаграммы МП составит 1-(0,99)25, или 22%. Это очень высокая частота ошибок по сравнению с большинством сетей, используемых для передачи трафика межсетевого протокола. ПРР был разработан как протокол уровня связи, который уменьшает частоту ошибок в трафике МП до величины, сравнимой с частотой ошибок, типичной для канала 10Base2 Ethernet (локальная сеть в стандарте Ethernet).

Международный союз электросвязи недавно предложил ряд способов для обеспечения услуг по высокоскоростной передаче данных и высококачественных речевых сигналов по каналам беспроводной связи. Первое из этих предложений опубликовано Ассоциацией промышленности средств связи в документе "The cdma2000 ITU-R RTT Candidate Submission". Ассоциация промышленности средств связи в настоящее время разрабатывает документ cdma2000, как промежуточный стандарт TIA/EIA/IS-2000, названный здесь как cdma2000. Второе из этих предложений было опубликовано Европейским Институтом Стандартов Электросвязи (ЕИСЭ (ETSI)) под заголовком "The ETSI UMTS Terrestrial Radio Access (UTRA) ITU-R RTT Candidate Submission", известное как "широкополосная система МДКР" и названное здесь как Ш-МДКР. Третье предложение было внесено U.S. TG 8/1 в документе "The UWC-136 Candidate Submission" (названное здесь как EDGE). Содержание этих предложений общедоступно и известно специалистам в данной области техники.

Стандарт ПРР2 был разработан для использования вместе с IS-95-B. Новый стандарт ПРР, разработанный для использования с cdma2000, описан в TIA/EIA/IS-707-A-1.10 "DATA SERVICE OPTIONS FOR SPREAD SPECTRUM SYSTEMS: RADIO LINK PROTOCOL TYPE 3", названный здесь как ПРР3Е.

При ссылках на описание известного уровня техники два термина, обычно называемых как "кадры", отличаются следующим образом:

- В стандартах IS-95-B и cdma2000 кадром называется базовый временной интервал. Кадр для этих стандартов определен здесь как кадр МДКР. Кадр МДКР может содержать сигнальную информацию, первичный трафик, вторичный трафик или их комбинации.

- В стандарте ПРРЗЕ кадром называют базовую единицу передачи. Кадр для этого стандарта определен здесь как кадр ПРР. Кадр ПРР может содержать данные полезной нагрузки, порядковый номер, управляющую информацию ПРР (например, СИНХ, ОПП и т.п.) или их комбинации. Все используемые здесь ссылки на порядковые номера являются ссылками на порядковые номера ПРР.

В стандарте IS-95-B основной и дополнительный каналы имеют кадры МДКР фиксированной длительности, равной 20 мс (20 миллисекунд). Кадры МДКР, передаваемые по дополнительному каналу IS-95-B, передаются одновременно с передачей кадра МДКР по основному каналу. Так как все дополнительные кадры МДКР в стандарте IS-95-B имеют фиксированную длительность 20 мс, все основные и дополнительные кадры МДКР, передача которых началась одновременно, позднее будут приняты приемником также одновременно.

Стандарт cdma2000 имеет структуру дополнительных каналов, которая достаточно сильно отличается от IS-95-B. Стандарт cdma2000 допускает наличие 2-х дополнительных каналов, названных здесь как дополнительный канал 1 и дополнительный канал 2. Во время согласования услуг связи мобильная станция и базовая станция согласуют конфигурацию, частью которой является длительность (длительности) кадра МДКР дополнительного канала. Длительности, которые можно согласовать для каждого дополнительного канала, составляют: 20 мс, 40 мс и 80 мс. Предполагается, что в будущем длительности кадра могут принимать альтернативные или дополнительные значения, к примеру, 60 мс. Если кадр МДКР длиной 60 мс никогда не появится, это никоим образом не умаляет значение настоящего изобретения. Однако, поскольку предложено значение 60 мс и в настоящем изобретении учитываются длительности, которые в настоящее время в стандарте cdma2000 не используются, в данном описании представлены различные варианты, которые предполагают наличие длительности кадра МДКР, равной 60 мс.

Так как объем данных, который может быть передан по каналу, связан с длительностью кадра МДКР, длительности кадров МДКР названы здесь как длины кадров МДКР. Стандарт cdma2000 допускает одну согласованную конфигурацию, в которой длина кадра МДКР для дополнительного канала 2 отличается от длины кадра МДКР для дополнительного канала 1. Любая система электросвязи, в которой поддерживается одновременная передача пакетов данных по каналам с разными кодами от одного объекта, к примеру базовой станции cdma2000, способной передавать данные пользователя по основному и дополнительному каналу (каналам) одновременно, на другой объект, к примеру мобильную станцию cdma2000, названа здесь как система типа cdma2000.

В ПРР2, ПРР3Е и всех существующих реализациях ПРР на каждой стороне линии связи по протоколу ПРР поддерживаются три переменные. Это переменные V(R), V(N) и V(S). Как раскрыто в стандартах ПРР, V(R) содержит ожидаемое значение для поля порядкового номера кадра ПРР в следующем новом кадре, подлежащем приему. V(N) содержит порядковый номер следующего требуемого кадра с нарушенной последовательностью при приеме. Поле порядкового номера 'SEQ' в каждом посланном новом кадре данных ПРР и в каждом посланном нерабочем кадре ПРР должно быть установлено равным V(S). Переменные V(R), V(N) и V(S) являются укороченными (8-разрядными) эфирными версиями полных (12-разрядных) порядковых номеров L_V(R), L_V(N) и L_V(S), также поддерживаемыми на каждой стороне линии связи по протоколу ПРР.

ПРР2 и все другие ПРР по существу разработаны в виде конечных автоматов, вызываемых из мультиплексного подуровня каждые 20 мс. На каждом 20-миллисекундном интервале мультиплексный подуровень доставляет в ПРР набор кадров, полученных от физического уровня. Каждый раз, когда мультиплексный подуровень доставляет набор кадров в конечный автомат ПРР, известный также как механизм ПРР, конечный автомат ПРР сравнивает порядковый номер (номера) только что полученных кадров с L_V(R) и L_V(N). В случае, когда ПРР обнаруживает, что возникла новая "дырка", формируется ОПП. Термин "дырка" обычно используется специалистами в данной области техники для обозначения того, что механизм ПРР3Е получил установленные кадры, содержащие непоследовательные порядковые номера. "Новая дырка" создается всякий раз, когда обновленное значение L_V(R) отличается от предыдущего значения L_V(R), а все кадры, полученные с порядковыми номерами, большими предыдущего L_V(R), не имеют следующих друг за другом порядковых номеров.

ПРР3Е во многих отношениях аналогичен ПРР2. В частности, он был разработан для усиления множества преимуществ, которые может обеспечить многократное использование кодов. ПРРЗЕ был разработан, как и ПРР2, для связи порядкового номера кадра с каждым передаваемым и принимаемым кадром ПРР. Всякий раз, когда происходит прием неожидаемого порядкового номера, на равноправный объект ПРР посылается запрос на повторную передачу, называемый здесь как ОПП.

В ПРР2 ненужные повторные передачи не выполняются, поскольку все кадры МДКР IS-95-B, переданные одновременно, принимаются приемником в одно и то же время. Если конечный автомат ПРР2, приняв 20-миллисекундный набор кадров из мультиплексного подуровня, обнаружит, что появилась дырка из-за одновременной передачи всех кадров по дополнительным каналам, это будет означать, что кадры в этой дырке были потеряны или разрушены по пути к приемнику. Так как создавать ОПП для такой дырки нет необходимости, желательно выполнение повторной передачи кадров в этой дырке. Однако использование такой методики приводит к тому, что ПРР3Е формирует ненужные повторные передачи из-за гибкого характера дополнительных каналов cdma2000. Причиной этого, как было описано выше, является то, что в cdma2000 есть возможность изменения длины кадра МДКР для дополнительных каналов. Такие изменения могут привести к тому, что ПРРЗЕ непреднамеренно обнаружит дырки и потребует формирование ненужных ОПП.

На фиг.1А в качестве примера показан 160-миллисекундный временной интервал из сформированных кадров данных ПРР для вызова данных ПРРЗЕ, когда имеется основной канал 10 и два дополнительных канала 20 и 30. Как показано на фигуре 1, дополнительный канал 20 имеет длину кадра МДКР, равную 80 мс, 2 дополнительный канал 30 имеет длину кадра МДКР, равную 60 мс, а порядковый номер ПРР в начале этого временного интервала равен 5. В момент 0 мультиплексный подуровень выполняет запрос механизма ПРР для трех кадров со значениями длины, соответствующими длительности кадра основного канала и каждого дополнительного канала. Механизм ПРР в ответ формирует три кадра ПРР с порядковыми номерами 5, 6 и 7. В ответ на запрос мультиплексного подуровня для одного кадра с длиной, соответствующей основному каналу, на 20-миллисекундной границе формируется кадр ПРР с порядковым номером 8. На границе 40 мс формируется кадр ПРР, имеющий порядковый номер 9. На границе 60 мс мультиплексный подуровень выполняет запрос для кадров с длиной, соответствующей основному каналу и дополнительному каналу 2. В ответ механизм ПРР формирует два кадра ПРР с порядковыми номерами 10 и 11. Аналогично, по тем же причинам на границе 80 мс формируются кадры ПРР с порядковыми номерами 12 и 13. Аналогичным образом в моменты времени, показанные на фиг.1А, формируются кадры 14-17.

На фиг.1В показан процесс приема вышеупомянутых кадров механизмом ПРР3Е. На фиг.1В не показана длина/длительность принятых кадров, как это сделано на фиг.1А, но на фиг.1В показан момент времени, когда кадр подается в механизм приема ПРР3Е из приемного мультиплексного подуровня. Изображение на фиг.1В предполагает, что существует нулевая задержка с момента, когда завершилась передача кадра на фиг.1А, до момента, когда механизм приема ПРР3Е получил кадр, доставленный ему из мультиплексного подуровня. Например, поскольку передача кадра 5 закончилась в момент 20 мс на фиг.1А, он принимается механизмом приема ПРР3Е в момент 20 мс на фиг.1В. Поскольку передачи кадров 7 и 9 закончились в момент 60 мс на фиг.1А, они принимаются для обработки механизмом ПРР3Е в момент 60 мс на фиг.1В. Аналогично, поскольку передачи кадров 6 и 10 закончились в момент 80 мс на фиг.1А, эти кадры принимаются для обработки механизмом приема ПРР3Е в момент 80 мс на фиг.1В. Прием кадра 8 и кадров с 11 по 17 показан на схеме аналогичным образом.

Как видно из сравнения фигур 1А и 1В, кадры ПРР, переданные с упорядоченными возрастающими порядковыми номерами, принимаются приемным механизмом ПРР неупорядоченно. Хотя передача кадров началась в той же последовательности, что и последовательность порядковых номеров, сформированных ПРРЗЕ, кадры были приняты в другом порядке. А именно, кадры МДКР, содержащие порядковые номера ПРР с 5 по 17, были переданы в следующем порядке: 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, а приняты были в порядке: 5, 8, 7, 9, 6, 10, 12, 11, 14, 15, 13, 17, 16 из-за разной длительности кадров. Как очевидно специалистам в данной области техники, для кадров 6, 7, 11, 13 и 16 будут сформированы ОПП из-за распределения во времени и порядка, в котором были приняты кадры 8, 12, 14 и 17.

Специалисты в данной области техники знают, что ОПП должны формироваться только тогда, когда приемник не смог принять передачу кадра данных ПРР, который должен был быть принят. Однако из-за изменения длины кадров МДКР в cdma2000 ненужные ОПП могут создаваться из-за определенного распределения во времени приема порядковых номеров. Это вызывает нежелательный эффект непроизводительного использования дорогостоящей полосы частот как в прямой, так и в обратной линиях связи. Непроизводительное использование полосы частот получается в результате каждой передачи ОПП по одной линии и ненужной повторной передачи кадра данных по противоположной линии (ненужная повторная передача кадра данных будет выполняться для каждого принятого ненужного ОПП).

Поскольку полоса радиочастот является дорогостоящим ресурсом, необходимо иметь улучшенный способ доставки данных по системе cdma2000. В частности, имеется насущная потребность в способе доставки данных через cdma2000, при котором не формируются ненужные ОПП и повторные передачи. Желательно, чтобы такой способ не увеличивал задержку при доставке кадров данных на уровень, лежащий выше ПРР, и не увеличивал задержку доставки действительных кадров ОПП на мультиплексный подуровень. В частности, требуется, чтобы указанный способ улучшил существующий механизм передачи кадров при минимальных изменениях в существующих реализациях ПРР3Е.

Сущность изобретения

Настоящее изобретение представляет собой новый и улучшенный способ и систему, которая не дает ПРР3Е формировать ненужные ОПП, в результате чего также предотвращаются повторные передачи ненужных кадров данных. Настоящее изобретение обеспечивает эффективную работу, не задерживая доставку кадров данных на более высокий уровень обработки данных, и не задерживает доставку необходимых ОПП на мультиплексный подуровень. Кроме того, настоящее изобретение можно воплотить на практике с минимальными изменениями в существующей реализации ПРР3Е. Настоящее изобретение применимо в таких системах, как cdma2000, Ш-МДКР и EDGE (ЭАСД, Электронная аппаратура сбора данных), где данные пересылают с использованием механизма автоматического запроса на повторную передачу (AЗПП, ARQ)) и где пакеты данных иногда принимают в порядке, отличающемся от порядка, в котором они были переданы.

Что касается передачи и приема кадров ПРР, ПРР3Е поддерживает текущую связь с мультиплексным подуровнем, лежащим ниже, и уровнем байтовых потоков, лежащим выше. Уровень байтовых потоков обычно определяют как уровень ПДС, поскольку ПДС обычно представляет собой протокол, используемый на уровне байтовых потоков. Однако, так как уровень байтовых потоков не обязательно должен быть уровнем ПДС (это может быть цифровая сеть с комплексными услугами, ЦСКУ (ISDN), либо один из множества протоколов), он здесь назван как уровень байтовых потоков. Вышеупомянутый информационный поток показан на фиг.2, на которой представлена блок-схема тракта данных для cdma2000.

В настоящем изобретении используется новый механизм, который вводится между мультиплексным подуровнем и уровнем ПРР3Е для всего входящего трафика. Этот подуровень предназначен для переупорядочения принимаемых пакетов в тот порядок, в котором они передавались, и доставки пакетов на уровень ПРР3Е в указанном порядке. Здесь этот подуровень назван подуровнем переупорядочения кадров, который показан на фиг.3.

Подуровень переупорядочения кадров переупорядочивает кадры, принимаемые мультиплексным подуровнем, определяя порядок, в котором кадры физического уровня передавались равноправным объектом, и буферизируя каждый принятый кадр, пока не будут приняты все ранее переданные ему кадры. Подуровень переупорядочения кадров выполняет это с помощью таймеров и/или счетчиков кадров и механизма буферизации памяти.

Краткое описание чертежей

Признаки, задачи и преимущества настоящего изобретения станут более очевидными из последующего подробного описания вместе с чертежами, на которых одинаковые ссылочные позиции идентифицируют соответствующие элементы на всех чертежах и где:

Фигуры 1А и 1В - временные диаграммы, иллюстрирующие временные соотношения между кадрами данных, передаваемых и принимаемых по приведенной в качестве примера многоканальной сети передачи данных типа cdma2000;

Фиг.2 - функциональная блок-схема приведенного в качестве примера варианта системы передачи ПРР3Е cdma2000;

Фиг.3 - функциональная блок-схема приведенного в качестве примера варианта системы передачи по настоящему изобретению;

Фиг.4 - обобщенная блок-схема приведенного в качестве примера варианта потока установки вызова по настоящему изобретению;

Фиг.5 - обобщенная блок-схема, иллюстрирующая приведенный в качестве примера вариант способа, который используется в настоящем изобретении для обработки принимаемых кадров;

Фиг.6 - блок-схема, иллюстрирующая приведенный в качестве примера вариант методики для одиночного дополнительного канала по настоящему изобретению;

Фиг.7 - блок-схема, иллюстрирующая приведенный в качестве примера вариант методики для двойного дополнительного канала по настоящему изобретению;

Фиг.8 - блок-схема, иллюстрирующая приведенный в качестве примера вариант методики для двойного канала с буферизацией по настоящему изобретению;

Фиг.9А - временная диаграмма, иллюстрирующая распределение во времени различных кадров ПРР при их передаче в приведенной в качестве примера системе типа cdma2000, в которой имеется один активный дополнительный канал;

Фиг.9В - временная диаграмма, иллюстрирующая распределение во времени различных кадров ПРР при их передаче в приведенной в качестве примера системе типа cdma2000, в которой имеются два активных дополнительных канала;

Фиг.10 - временная диаграмма, иллюстрирующая альтернативное распределение во времени различных кадров ПРР при их передаче в приведенной в качестве примера системе типа cdma2000, в которой имеются два активных дополнительных канала;

Фиг.11 - предпочтительный вариант процесса, описанного на фиг.6; и

Фиг.12 - предпочтительный вариант процесса, описанного на фиг.8.

Подробное описание предпочтительных вариантов осуществления изобретения

На фигурах 1А и 1В представлены временные диаграммы, иллюстрирующие временные соотношения между кадрами данных, передаваемых и принимаемых по беспроводной сети передачи данных типа cdma2000. На фиг.1А показан 160-миллисекундный временной интервал из кадров данных ПРР, сформированных для системы передачи данных ПРР3Е 5, которая состоит из основного канала 10 и двух дополнительных каналов. Первый дополнительный канал 20 сконфигурирован применительно к длительности кадра МДКР, равной 80 мс, в то время как второй дополнительный канал 30 сконфигурирован применительно к длительности кадра МДКР, равной 60 мс. Здесь предполагается, что в начале 160-миллисекундного временного интервала механизм ПРР3Е имеет значение V(S), установленное равным 5. Как показано на фигуре, основной канал 10 передает 20-миллисекундные кадры МДКР, содержащие кадры ПРР3Е с порядковыми номерами 5, 8, 9, 10, 12, 14, 15 и 17. Первый дополнительный канал 20 передает 80-миллисекундные кадры МДКР, содержащие кадры ПРРЗЕ с порядковыми номерами 6 и 13. Второй дополнительный канал 30 передает 60-миллисекундные кадры МДКР, содержащие кадры ПРР3Е с порядковыми номерами 7, 11 и 16. Как показано на фиг.1А, передача кадров с порядковыми номерами 5, 6 и 7 начинается в момент времени 0. Передача кадра 5, кадра МДКР, содержащего кадр ПРР3Е с порядковым номером 5, заканчивается по основному каналу 10 в момент времени 20. Передача кадра 6 по первому дополнительному каналу заканчивается в момент времени 80, а передача кадра 7 по второму дополнительному каналу 30 заканчивается в момент времени 60. Моменты времени, в которые начинается и заканчивается передача кадров 8-16, показаны аналогичным образом.

На фиг.1В показан 160-миллисекундный временной интервал из кадров данных ПРР, принимаемых для системы 45 приема данных ПРР3Е, которая состоит из основного канала 10, первого дополнительного канала 20 и второго дополнительного канала 30. На фиг.1В показаны моменты приема равноправным устройством связи cdma2000 кадров данных, пeреданных как показано на фиг.1А. На фиг.1В дополнительные и основной каналы обозначены ссылками 10, 20 и 30, чтобы показать, что это те же каналы, которые использовались системой передачи 5 на фиг.1А. Как показано на фиг.1В, система 45 приема данных ПРР3Е принимает кадры ПРР3Е непосредственно после окончания их передачи системой 5 передачи данных ПРР3Е. Введение произвольной задержки распространения, общей для основного канала 10, первого дополнительного канала 20 и второго дополнительного канала 30, не изменяет эту картину и для простоты опускается. Кадр 5 принимается системой 45 приема данных ПРР3Е по основному каналу 10 в момент времени 20. Кадр 6 принимается системой 45 приема данных ПРР3Е по первому дополнительному каналу 20 в момент времени 80. Кадр 7 принимается системой приема данных ПРР3Е по второму дополнительному каналу 30 в момент времени 60. Моменты времени приема кадров 8-16 показаны аналогичным образом.

Из анализа фигур 1А и 1В очевидно, что система 45 приема данных ПРР3Е принимает данные в порядке, отличном от порядка их передачи системой 5 передачи данных ПРР3Е.

На фиг.2 представлена функциональная блок-схема приведенного в качестве примера варианта системы 250 передачи данных cdma2000, воплощенной в устройствах связи 210 и 230. В иллюстративных целях система передачи данных cdma2000 описана с точки зрения передачи пакетных данных по прямой линии связи. Однако это описание легко распространить на передачи по обратной линии связи. В базовой станции 210 имеется уровень байтовых потоков 212, который подает поток байтов на уровень ПРР3Е 214. Уровень ПРР3Е 214 буферизирует эти байты для последующей передачи. На границах 20-миллисекундных кадровых интервалов мультиплексный подуровень 216 запрашивает у уровня ПРР3Е 214 кадры ПРР, а в ответ на это уровень ПРР3Е создает кадры ПРР в соответствии со спецификацией ПРР3Е и подает их на мультиплексный подуровень 216. Спецификация ПРР3Е не требует, чтобы уровень ПРР3Е присваивал порядковые номера кадров в соответствии со значениями длины кадров, запрашиваемыми мультиплексным подуровнем. В приведенном в качестве примера варианте мультиплексный подуровень 216 инкапсулирует (формирует пакет данных) эти кадры ПРР в соответствии со спецификацией cdma2000. Затем мультиплексированный подуровень 216 подает эти инкапсулированные кадры ПРР на физический уровень 218 для передачи по радиолинии 220 cdma2000 согласно спецификации cdma2000. При подаче кадров на физический уровень 218 мультиплексный подуровень 216 указывает, какие кадры и по каким каналам должны быть переданы.

Физический уровень 238 мобильной станции 230 принимает кадры, поступающие по радиолинии 220 cdma2000. На 20-миллисекундных интервалах физический уровень 238 подает каждый полученный кадр на мультиплексный подуровень 236 и указывает мультиплексному подуровню 236, по какому каналу был принят каждый кадр. Мультиплексный подуровень 236 "разбирает" кадры ПРР в соответствии со спецификацией cdma2000 и подает кадры ПРР на уровень ПРР3Е 234. Уровень ПРР3Е 234 выполняет ПРР обработку этих кадров в соответствии со спецификацией ПРР3Е. В случае, когда какой-либо принятый кадр имеет порядковый номер, равный V(N), полезная нагрузка всех принятых кадров ПРР, имеющих последовательные порядковые номера, начиная с V(N), подаются с уровня ПРР3Е 234 на уровень байтовых потоков 232. В случае создания новой дырки формируется ОПП, что сигнализирует о необходимости повторной передачи одного или нескольких кадров данных.

В вышеприведенном описании раскрывается описанный в качестве примера вариант потока данных cdma2000, предназначенного для прямой линии связи. Специалистам в данной области техники известно, что поток данных появляется в направлении обратной линии связи вдоль тракта в противоположном направлении.

На фиг.3 представлена функциональная блок-схема приведенного в качестве примера варианта системы, предоставляющей услуги по передаче данных 360 по настоящему изобретению и воплощенной в устройствах связи 310 и 340. На базовой станции 310 имеется уровень байтовых потоков 312, который подает поток байт на уровень ПРР3Е 314. Обычно байты подаются на ПРР3Е в кадровом формате ПДС, однако ПРРЗЕ обрабатывает эти байты как неформатированный байтовый поток, и, следовательно, какое-либо форматирование байтов на уровне байтовых потоков 312 является неуместным для настоящего изобретения. Уровень ПРРЗЕ 314 буферизирует полученные байты для последующей передачи согласно существующей спецификации ПРР3Е. На границах 20-миллисекундных кадровых интервалов мультиплексный подуровень 318 запрашивает у уровня ПРР3Е 314 кадры ПРР. В соответствии с этими запросами уровень ПРР3Е формирует кадры ПРР согласно методике, предложенной в настоящем изобретении.

В методике, предложенной в настоящем изобретении, используется уровень ПРР3Е 314, который придерживается существующей спецификации ПРР3Е, а также удовлетворяет следующему ограничению. Когда мультиплексный подуровень 318 запрашивает у уровня ПРР3Е 314 кадры данных для множества каналов и уровень ПРР3Е 314 сформирует множество новых кадров данных (кадры ПРР, которые повторно не передавались), потребуется, чтобы уровень ПРР3Е 314 поместил минимальный новый порядковый номер в новый кадр данных, имеющий минимальную длину кадра МДКР, а максимальный порядковый номер поместил в новый кадр данных, имеющий максимальную длину кадра МДКР. Это ограничение помогает подуровню 346 переупорядочения кадров мобильной станции 340, что дополнительно обсуждается со ссылками на фигуры 5, 6, 7, 8, 9 и 10, точно определить, в какой момент следует доставить полученные кадры на уровень 344 ПРР3Е мобильной станции 340.

Мультиплексный подуровень 318 инкапсулирует кадры ПРР, переданные ему с уровня ПРР3Е 314, в соответствии со спецификацией cdma2000. Затем мультиплексный подуровень 318 подает эти инкапсулированные кадры ПРР на физический уровень 320 для передачи по радиолинии 330 cdma2000 в соответствии со спецификацией cdma2000. При подаче кадров на физический уровень 320 мультиплексный подуровень 318 указывает, какие кадры и по каким каналам должны быть переданы.

Физический уровень 350 мобильной станции 340 принимает кадры, поступающие по радиолинии 330 cdma2000. На 20-миллисекундных интервалах физический уровень 350 подает каждый полученный кадр на мультиплексный подуровень 348 и указывает мультиплексному подуровню 348, по какому каналу был принят каждый кадр. Мультиплексный подуровень 348 "разбирает" кадры ПРР согласно спецификации cdma2000 и подает их в подуровень 346 переупорядочения кадров. Подуровень 346 переупорядочения кадров, описанный со ссылками на фигуры 4 и 5, буферизирует полученные кадры ПРР согласно методике настоящего изобретения и подает их на уровень 344 ПРР3Е в порядке, в котором они были переданы. Уровень 344 ПРР3Е выполняет ПРР обработку этих кадров согласно спецификации ПРР3Е. В случае, когда какой-либо полученный кадр имеет порядковый номер, равный V(N), полезная нагрузка всех принятых кадров ПРР, имеющих последовательные порядковые номера, начиная с V(N), подается с уровня 344 ПРР3Е на уровень 342 байтовых потоков. В случае обнаружения новой дырки формируется ОПП, что сигнализирует о необходимости повторной передачи одного или нескольких кадров данных.

На фиг.4 представлена блок-схема, иллюстрирующая предложенный в качестве примера вариант использования подуровня 346 переупорядочения кадров во время установки вызова. В блоке 400 начинается процесс согласования услуг. В приведенном в качестве примера варианте согласование услуг выполняется в соответствии со способом, описанным в патенте США №5638412 "METHOD FOR PROVIDING SERVICE NEGOTIATION IN A MOBILE COMMUNICATION SYSTEM" ("Способ обеспечения согласования услуг в системе мобильной связи"), права на который принадлежат правопреемнику настоящего изобретения. В блоке 410 определяются количество активных дополнительных каналов, смещения дополнительных каналов и длительности кадров дополнительных каналов, после чего эти каналы распределяются соответствующим образом.

Как только каналы распределены, процесс переходит к блоку 420. В блоке 420 подуровень 346 переупорядочения кадров использует переменные и таймеры. Регистрируется количество активных дополнительных каналов. Если активным является дополнительный канал 1, то записывается длительность кадра для этого канала, и в таймере устанавливается значение его смещения. Если активным является дополнительный канал 2, то записывается длительность кадра для этого канала, а в таймере устанавливается значение смещения этого канала. Например, если система имеет конфигурацию, показанную на фиг.9А, то таймер будет установлен на 60 мс. Таким образом, время таймера истечет в момент 60, точка 910, что указывает на момент начала передачи базовой станцией 310 кадра по дополнительному каналу 1. Кроме того, будет зарегистрировано, что длительность кадра по дополнительному каналу 1 составляет 80 мс.

В другом примере, если система имеет конфигурацию, показанную на фиг.9В, то первый таймер будет установлен на 20 мс, а второй таймер - на 60 мс. Время первого таймера истечет в момент 20, точка 960, что указывает момент начала передачи базовой станцией 310 кадра по дополнительному каналу 1, в то время как время второго таймера истечет в момент 60, что указывает момент начала передачи базовой станцией 310 кадра по дополнительному каналу 2. Кроме того, будет зарегистрировано, что длительность кадра по дополнительному каналу 1 составляет 80 мс, а длительность кадра по дополнительному каналу 2 составляет 60 мс.

В альтернативном варианте, если имеется только один активный дополнительный канал, таймер инициализируется в момент времени, равный смещению канала плюс 20 миллисекунд.

В приведенном в качестве примера варианте общие индексы для переменных и таймеров указывают на их связь друг с другом. Например, SUP_DURATION[1] и SUP_TIMER[1] связаны, поскольку оба имеют индекс 1. Обращение ко всем указанным таймерам и переменным можно выполнить, используя переменную для представления индекса. Например, к SUP_DURATION[1] можно обратиться как к SUP_DURATION[X], если Х имеет значение 1, в то время как к SUP_DURATION[2] можно обратиться как к SUP_DURATION[X], если Х имеет значение 2. Такая индексация, хорошо известная специалистам в данной области техники, будет использована здесь при ссылках к ряду переменных и таймеров.

В одном варианте флаг FUND_DELIVERY_OK устанавливается в значение "истина", чтобы указать, что когда конечный автомат сначала входит в блок 660 или блок 780, описанные со ссылками на фигуры 6, 7 и 8, то основной кадр ПРР3Е, полученный в блоке 502 в течение данного интервала, должен быть направлен на уровень 344 ПРР3Е.

В приведенном в качестве примера варианте переменные и таймеры инициализируются в блоке 420 следующим образом. Переменная MODE (режим) устанавливается в значение Forward (Направить), что указывает на нахождение подуровня переупорядочения кадров в режиме, в котором он переправляет на уровень 344 ПРР3Е все кадры, полученные от мультиплексного подуровня 348. В случае, когда активен по меньшей мере один дополнительный канал, SUP_DURATION[1] устанавливается равной длительности кадра МДКР, согласованной для дополнительного канала 1 в блоке 410. Таймер SUP_TIMER[1] устанавливается таким образом, чтобы его время заканчивалось вслед за смещением канала, согласованным для дополнительного канала 1. В случае, когда активны два дополнительных канала, SUP_DURATION[2] устанавливается равной длительности кадра МДКР, согласованной для дополнительного канала 2 в блоке 410. Второй таймер SUP_TIMER[2] устанавливается таким образом, чтобы его время заканчивалось вслед за смещением канала, согласованным для дополнительного канала 2. В одном варианте флаг FUND_DELIVERY_OK устанавливается в значение "истина", указывая, что основной кадр ПРР3Е, полученный у следующей 20-миллисекундной границы, должен быть направлен на уровень 344 ПРР3Е. Кроме того, переменные SUP_FRAME_TXD[1] и SUP_FRAME_TXD[2] устанавливаются равными NO_SUPS_TXD; это указывает на то, что базовая станция 310 пока не передавала кадры по дополнительному каналу 1 либо по дополнительному каналу 2 соответственно. Наконец, в случае, когда активны два дополнительных канала, SUP_DURATION[1] сравнивается с SUP_DURATION[2]. Если SUP_DURATION[2] больше, чем SUP_DURATION[1], то тогда индекс L устанавливают равным 2, а индекс S устанавливают равным 1. В противном случае переменная индекса L устанавливается равной 1, а переменная индекса S устанавливается равной 2. Таким образом, значение SUP_DURATION[L] возвращается к максимальной длительности кадра, в то время как значение SUP_DURATION[S] возвращается к минимальной длительности кадра, a SUP_TIMER[L] относится к таймеру, связанному с каналом, который имеет максимальную длительность кадра, в то время как SUP_TIMER[S] относится к таймеру, который связан с каналом, имеющим минимальную длительность кадра.

В приведенном в качестве примера варианте в качестве временной привязки для буферизации кадров и извлечения кадров из буфера используется системное время. Как известно специалистам в данной области техники, в альтернативном варианте ссылки к системному времени можно заменить переменной, которая используется для временной привязки с шагом дискретизации, равным по меньшей мере 20 мс. Например, в альтернативном варианте для буферизации кадров и извлечения кадров из буфера в качестве временной привязки может быть использована переменная кадрового индекса REL_TIME. В альтернативном варианте, где используется переменная REL_TIME, она инициализируется со значением 0 в блоке 420, а затем увеличивается на фиксированную величину, например, 1 каждый раз, когда процесс переходит в блок 502.

Если только будет подключена опция услуг передачи данных, в блоке 360 возникает поток данных. Блок 360 описывается далее со ссылками на фиг.3.

Приведенное выше описание определяет примерный вариант инициализации подуровня 346 переупорядочения кадров. Имеются альтернативные варианты, в которых запоминать переменные L и S нет необходимости. В одном таком варианте каждое использование переменной L меняется на возвращаемое значение вызова к процессу, который возвращает значение индекса, связанного с максимумом из SUP_FRAME_DURATION[1] и SUP_FRAME_DURATION[2], и заменяет каждое использование переменной S на возвращаемое значение вызова к процессу, который возвращает значение индекса, связанное с минимумом из SUP_FRAME_DURATION[1] и SUP_FRAME_DURATION[2].

На фиг.5 представлена блок-схема, иллюстрирующая способ, который используется на уровне 346 переупорядочения кадров в рассматриваемом в качестве примера варианте.

В блоке 500 ожидается достижение границы кадра основного канала, прежде чем процесс продолжится дальше. В приведенном в качестве примера варианте граница 20-миллисекундного кадра обнаруживается каждый раз, когда мультиплексный подуровень 348 доставляет на подуровень 346 переупорядочения кадров сообщение, содержащее кадры ПРР3Е, которые были получены мультиплексным подуровнем 348 в течение 20-миллисекундного периода.

В альтернативном варианте кадры ПРР3Е, полученные мультиплексным подуровнем 348, помещаются в память данных, доступную подуровню 346 переупорядочения кадров, после чего уровень, связанный с подуровнем 346 переупорядочения кадров, доставляет на подуровень 346 переупорядочения кадров сообщение, указывающее, что достигнута граница 20-миллисекундного кадра и что через вышеупомянутую память данных доступно ноль или более полученных кадров ПРР3Е. В этом альтернативном варианте уровень, связанный с подуровнем 348, может представлять собой подсистему таймера, подсистему прерывания либо любую другую подсистему или процесс в мобильной станции 340, который может посылать сигнал на подуровень 346 переупорядочения кадров как раз после достижения границы каждого 20-миллисекундного кадра.

В блоке 502 у каждой 20-миллисекундной границы вслед за подключением опции услуг передачи данных подуровень 346 переупорядочения кадров получает кадры ПРР3Е, поступившие от мультиплексного подуровня 348 при операции 500. Затем процесс переходит к блоку 510. Как показано в блоке 510, процесс продолжается по ветви, соответствующей числу активных дополнительных каналов.

Если количество активных дополнительных каналов равно 0, тогда процесс переходит к блоку 520. В блоке 520 все полученные кадры немедленно направляются на уровень 344 ПРР3Е, поскольку при вызове в отсутствии каких-либо активных дополнительных каналов все кадры принимаются в том порядке, в котором они были переданы. Затем выполняется переход к блоку 500, в котором процесс начнется снова с конца следующего 20-миллисекундного интервала.

Если количество активных дополнительных каналов равно 1, то тогда процесс переходит к блоку 530. В блоке 530 подуровень 346 переупорядочения кадров обрабатывает кадры в соответствии с методикой для единичного дополнительного канала, описанной со ссылками на фиг.6.

Если количество активных дополнительных каналов равно 2, то тогда процесс переходит к блоку 540. В блоке 540 подуровень переупорядочения кадров обрабатывает кадры в соответствии с методикой для двойного дополнительного канала, описанной со ссылками на фиг.5.

На фиг.6 показана блок-схема, иллюстрирующая приведенный в качестве примера вариант методики для одиночного дополнительного канала по настоящему изобретению. В блоке 600 проверяется значение MODE.

Если в данный момент MODE имеет значение Forward, это значит, что смещение канала для дополнительного канала 1 еще не достигнуто, что указывает на необходимость для базовой станции 310 продолжать передавать кадры по дополнительному каналу 1. Таким образом, в течение этого временного периода, поскольку все кадры должны быть приняты в том порядке, в котором они были переданы, все принятые кадры должны быть направлены на уровень ПРР3Е. Если время таймера истекло, как показано в точке 910 на фиг.9А, это означает, что базовая станция 310 намерена начать передачу кадров по дополнительному каналу 1. В указанной точке происходит переключение режима на значение Buffer (буферизировать), и время таймера устанавливается равным длительности кадра дополнительного канала 1. Затем, как показано на фиг.9А, в момент 140 истекает время таймера (точка 920).

Если в блоке 600 MODE имеет значение Forward, то тогда все кадры направляются на уровень 344 ПРР3Е в блоке 610. Затем процесс переходит в блок 620 управления, в котором проверяется, истекло ли время SUP_TIMER[1]. Если время таймера не истекло, то процесс переходит к блоку 500. В противном случае, если время таймера истекло, то процесс переходит к блоку 630. В блоке 630 происходит изменение режима с Forward на Buffer. Затем процесс переходит к блоку 640, где SUP_TIMER[1] устанавливается равным длительности кадра дополнительного канала SUP_DURATION[1]. Затем процесс переходит к блоку 500.

Если в блоке 600 значение MODE не равно Forward, то тогда выполняется буферизация кадров, пока не истечет время счетчика. Это предотвращает доставку кадров на уровень 344 ПРР3Е, а значит, формирование ненужных ОПП. Когда истекает время таймера, как показано в точках 920 и 930 на фиг.9, все буферизированные кадры могут быть доставлены на уровень 344 ПРР3Е без формирования ненужных ОПП. Например, в точке 920 все кадры МДКР, содержащие порядковые номера с 3 по 7 ПРР, были приняты с последовательными порядковыми номерами, так что не будет необходимости формировать ОПП. Также в момент 915, то есть на следующей 20-миллисекундной границе после истечения времени таймера в точке 920, кадр, содержащий порядковый номер 4 ПРР, может быть направлен без формирования ненужного ОПП. Однако, если кадры были доставлены в момент времени между точками 915 и 920, то тогда для кадра 4 ПРР будет сформирован ненужный ОПП. Как только кадры будут доставлены, происходит сброс таймера, чтобы указать, когда будет получен следующий кадр по дополнительному каналу.

Кроме того, в одном варианте проверяется флаг FUND_DELIVERY_OK. В этом варианте, если при операции 502 был принят основной кадр ПРР3Е и значение FUND_DELIVERY_OK равно "истина", то тогда основной кадр ПРРЗЕ доставляется на уровень 344 ПРР3Е и не буферизируется. Затем в этом варианте FUND_DELIVERY_OK устанавливается в значение "истина", если время таймера SUP_TIMER[1] истекло во время этого интервала, и устанавливается в значение "ложь" в противном случае. Если в блоке 600 MODE не равен Forward, процесс переходит к блоку 660, в котором проверяется, истекло ли время таймера SUP_TIMER[1]. Если время SUP_TIMER[1] не истекло, то процесс переходит к блоку 670, где полученные кадры помещают в буфер памяти.

В альтернативном варианте проверяется значение FUND_DELIVERY OK. Если значение FUND_DELIVERY_OK установлено в "ложь", то тогда полученные кадры помещаются в буфер памяти. Однако, если переменная FUND_DELIVERY_OK имеет значение "истина" и основной кадр ПРР3Е был получен в течение данного 20-миллисекундного интервала, то тогда этот кадр направляется на уровень 344 ПРР3Е, в то время как полученные дополнительные кадры буферизируются, а значение FUND_DELIVERY_OK устанавливается в "ложь". Затем процесс переходит от блока 670 к блоку 500.

Если в блоке 660 определено, что время SUP_TIMER[1] истекло, то тогда процесс переходит к блоку 680. В блоке 680 все кадры удаляются из буфера памяти и направляются на уровень 344 ПРР3Е. Кроме того, в блоке 680 кадры, полученные при операции 502 в течение текущего 20-миллисекундного интервала, также направляются на уровень 344 ПРР3Е. В альтернативном варианте значение переменной FUND_DELIVERY_OK устанавливается в значение "истина". Затем процесс переходит к блоку 640, где SUP_TIMER[1] устанавливается равным длительности кадра МДКР дополнительного канала SUP_DURATION[1]. Затем процесс переходит к блоку 500.

На фиг.11 показан предпочтительный вариант процесса, описанного со ссылками на фиг.6. Обратимся к фиг.11, где, если в блоке 1600 MODE равно Forward, то все кадры, полученные от мультиплексного подуровня 348, направляются на уровень 344 ПРР3Е в блоке 1610. Затем процесс переходит к блоку управления 1620, где проверяется, истекло ли время SUP_TIMER[1]. Если это время не истекло, то процесс переходит к блоку 500. В противном случае, если время истекло, то процесс переходит к блоку 1630. В блоке 1630 происходит изменение режима с Forward на Buffer. Кроме того, в этом предпочтительном варианте переменная T_DELIVER устанавливается равной значению текущей временной привязки плюс 20 мс. Это в дальнейшем используется для указания на то, что основной кадр, который будет получен в течение следующего периода, следует направить на уровень 344 ПРР3Е. Затем процесс переходит к блоку 1640, где SUP_TIMER[1] устанавливается равным длительности кадра дополнительного канала SUP_DURATION[1]. Затем процесс переходит к блоку 500.

Если в блоке 1600 MODE не равен Forward, то тогда кадры буферизируются, пока не истечет время таймера. Только после окончания времени таймера все буферизированные кадры, а также кадр (кадры), полученный у следующей 20-миллисекундной границы, направляются на уровень 344 ПРР3Е. Это предотвращает доставку полученных кадров на уровень 344 ПРР3Е, а значит, формирование ненужных ОПП. Когда время таймера кончается, как показано в точках 920 и 930 на фиг.9, все буферизированные кадры могут быть доставлены на уровень 344 ПРР3Е без формирования ненужных ОПП. Например, в точке 920 были получены все кадры МДКР, содержащие порядковые номера с 3 по 7 ПРР. Так как эти номера являются последовательными порядковыми номерами, без необходимости не будет сформирован ни один ОПП. Также в точке 915, то есть у следующей 20-миллисекундной границы после окончания времени таймера в точке 920, кадр, содержащий порядковый номер 4 ПРР, может быть направлен без формирования ненужного ОПП. Однако, если кадры были доставлены в момент времени между точками 915 и 920, то для кадра 4 ПРР будет сформировано ОПП, хотя в этом нет необходимости. Как только кадры будут доставлены, таймер устанавливается в исходное состояние, чтобы указать, когда будет получен следующий кадр по дополнительному каналу.

Если в блоке 1600 MODE не равен Forward, кадры буферизируются, пока не истечет время таймера. Только после истечения времени таймера все буферизированные кадры, а также кадр (кадры), полученный у следующей 20-миллисекундной границы, направляются на уровень 344 ПРР3Е. Это предотвращает доставку полученных кадров на уровень 344 ПРР3Е, а значит, создание ненужных ОПП. Когда время таймера истекло, как показано в точках 920 и 930 на фиг.9, все буферизированные кадры могут быть доставлены на уровень 344 ПРР3Е без формирования ненужных ОПП. Например, в точке 920 все кадры МДКР, содержащие порядковые номера с 3 по 7 ПРР, были приняты с последовательными порядковыми номерами, так что не будет необходимости формировать ОПП. Также в момент 915, то есть на следующей 20-миллисекундной границе после истечения времени таймера в точке 920, кадр, содержащий порядковый номер 4 ПРР, может быть направлен без формирования ненужного ОПП. Однако, если кадры были доставлены в момент времени между точками 915 и 920, то тогда для кадра 4 ПРР будет сформировано ненужное ОПП. Как только кадры будут доставлены, происходит сброс таймера, чтобы указать, когда будет получен следующий кадр по дополнительному каналу.

Если в блоке 1600 MODE не равен Forward, то процесс переходит к блоку 1660. В блоке 1600 определяется, истекло ли время SUP_TIMER[1]. Если SUP_TIMER[1] истекло, то процесс переходит к блоку 1662. В блоке 1662 переменная T_DELIVER устанавливается равной значению текущей временной привязки плюс 20 мс. Затем процесс переходит к блоку 1664, где SUP_TIMER[1] устанавливается равным

длительности кадра дополнительного канала SUP_DURATION[1]. Затем процесс переходит к блоку 1670.

В блоке 1660, если определено, что время SUP_TIMER[1] не истекло, процесс переходит к блоку 1670.

В блоке 1670 определяется, превышает ли значение текущей временной привязки значение T_DELIVER. Если текущая временная привязка больше значения T_DELIVER, то процесс переходит к блоку 1675, где полученные кадры буферизируются в области памяти. Затем процесс переходит к блоку 500.

Если в блоке 1670 определяется, что текущая временная привязка не превосходит значение T_DELIVER, то тогда процесс переходит к блоку 1680. Из буфера памяти удаляются все кадры, которые направляются на уровень 344 ПРР3Е вместе с кадром (кадрами), полученным от мультиплексного подуровня 348 в течение текущего периода. Затем процесс переходит к блоку 500.

На фиг.7 показана блок-схема, иллюстрирующая приведенный в качестве примера вариант методики для двойного дополнительного канала по настоящему изобретению. В блоке управления 700 проверяется значение MODE.

Если MODE не равен Forward, то тогда MODE равен Buffer, и процесс переходит к блоку 780, что описывается далее со ссылками на фиг.8. В противном случае, если MODE равен Forward, то процесс переходит к блоку 710.

Если в блоке 710 MODE имеет значение Forward, это значит, что смещение канала для дополнительного канала 1 еще не достигнуто, это указывает на то, что базовая станция 310 должна еще передавать какие-то кадры по дополнительному каналу 1. В этом случае, поскольку все кадры должны быть приняты в том порядке, в котором они были переданы, все принятые кадры немедленно направляются на уровень ПРР3Е. Когда истекло время любого или обоих таймеров, базовая станция 310 готова начать передачу кадров по дополнительному каналу, связанному с каждым таймером, время которого истекло. Например, в точке 960 на фиг.9В истекает время таймера, связанного с дополнительным каналом 1, что указывает на намерение базовой станции 310 начать передачу кадров по дополнительному каналу 1.

Всякий раз, когда MODE равен Forward и истекло время одного или нескольких канальных таймеров, значение MODE изменяется на Buffer. В этом случае в каждом таймере, в котором истекло время, устанавливается длительность дополнительного канала, связанного с данным таймером. Счетчики инициализируются для указания времени, когда кадры начали передачу по дополнительному каналу (каналам), связанному с таймером (таймерами), время которого истекло. Инициализация счетчиков нужна также для отслеживания относительных порядковых номеров, которые были переданы по дополнительному каналу (каналам), связанному с таймером (таймерами), время которого истекло. Термин "относительные порядковые номера" используется для указания на то, что принимающему объекту нет необходимости отслеживать абсолютное подсчитанное значение действительных порядковых номеров, передаваемых по каждому каналу. Принимающему объекту необходимо только отслеживать соотношение между порядковыми номерами ПРР, инкапсулированными в последнем кадре, переданном по каждому дополнительному каналу. В частности, принимающему объекту необходимо следить за тем, меньше или больше порядковый номер кадра ПРРЗЕ, передаваемого по одному дополнительному каналу, порядкового номера кадра ПРР3Е, передаваемого по другому дополнительному каналу. В альтернативном варианте переменная T_DELIVER устанавливается равной значению текущей временной привязки плюс 20 мс. В альтернативном варианте это используется в дальнейшем для указания на то, что основной кадр ПРР3Е, полученный на следующем интервале, должен быть направлен на уровень 344 ПРР3Е.

В случае, когда истекло время только одного таймера, регистрируется, что передача дополнительного кадра началась только по каналу, связанному с этим таймером. Если истекло время у обоих таймеров, как было описано ранее, дополнительному каналу с меньшей длительностью присваивают более низкий порядковый номер, когда одновременно передаются два кадра. В таком случае регистрируется, что порядковый номер, инкапсулированный в кадре, формируемом по дополнительному каналу с большей длительностью, имеет большее значение, чем порядковый номер ПРР, инкапсулированный в кадре, формируемом по другому дополнительному каналу.

Например, как было показано выше, в точке 960 на фиг.9В происходит переключение режима с Forward на Buffer, и время таймера, связанного с дополнительным каналом 1, устанавливается равным 80 мс. Кроме того, инициализируются счетчики для отслеживания того факта, что кадр готов к передаче по дополнительному каналу 1 в текущий момент времени и что пока нет кадров, подлежащих передаче по дополнительному каналу 2.

В блоке 710 все кадры удаляются из буфера и направляются на уровень 344 ПРР3Е. Затем процесс переходит к блоку 720, где определяется, истекло ли время любого таймера, SUP_TIMER[1] или SUP_TIMER[2]. Если ни у того, ни у другого таймера время не истекло, то тогда процесс переходит к блоку 500. В случае, когда время истекло только у одного из таймеров, процесс переходит от блока 730 к блоку 750. В блоке 750 определяется, истекло ли время SUP_TIMER[1] или SUP_TIMER[2]. Если определено, что истекло время SUP_TIMER[1], то тогда переменная индекса Е устанавливается равной 1, а переменная индекса N устанавливается равной 2. В противном случае Е устанавливается равной 2, а N устанавливается равным 1. Е используется в качестве ссылки на таймер, длительность и последнее время передачи, связанное с каналом, для которого истекло время таймера. N используется в качестве ссылки на последнее время передачи, связанное с каналом, для которого время таймера еще не истекло. Затем процесс переходит к блоку 760.

В блоке 760 устанавливаются значения времени одного таймера и множества переменных с использованием индексов Е и N, определенных в блоке 750. Переменная SUP_FRAME_TXD[E] устанавливается равной 1, что указывает на факт передачи первого дополнительного кадра по дополнительному каналу Е. Переменная SUP_FRAME_TXD[N] устанавливается равной значению, не меньшему, чем максимальное количество кадров, которое может быть передано по основному каналу при максимально допустимом смещении дополнительного канала. В приведенном в качестве примера варианте максимально допустимое смещение дополнительного канала составляет 60 мс, а длительность для основного канала - 20 мс. Следовательно, в приведенном в качестве примера варианте SUP_FRAME_TXD[N] устанавливается равной 4 (1+(60/20)). Это позволяет немедленно доставить на уровень 344 ПРР3Е любые кадры, полученные по дополнительному каналу Е до истечения SUP_TIMER[N]. В альтернативном варианте SUP_FRAME_TXD[N] либо любой другой флаг может быть установлен равным резервному значению, к примеру отрицательной 1 либо NULL (ноль), для указания на то, что дополнительный канал N еще не должен начинать передачу кадров. Кроме того, SUP_FRAME_TX_TIME[Е] устанавливается равным 1, чтобы указать временную привязку к моменту начала передачи текущего кадра по дополнительному каналу Е. В предпочтительном варианте переменная T_DELIVER устанавливается равной значению текущей временной привязки плюс 20 мс, что указывает на необходимость пересылки на уровень 344 ПРР3Е основного кадра ПРР3Е, получаемого на следующем интервале.

В блоке 760 время таймера SUP_TIMER[E] устанавливается равным SUP_DURATION[E]. Таким образом, SUP_TIMER[E] истечет, как только закончится передача кадра, передаваемого по дополнительному каналу Е.

Затем процесс переходит из блока 760 в блок 770. В блоке 770 происходит переключение режима с Forward на Buffer, после чего процесс переходит к блоку 500. Если в блоке 730 определено, что истекло время в обоих таймерах, то процесс переходит к блоку 740. В блоке 740 устанавливается множество переменных и таймеры для отслеживания моментов передачи кадров базовой станцией 310. В блоке 740 устанавливаются переменные с использованием индексов S и L, определенных в блоке 410.

В приведенном в качестве примера варианте блока 740 переменная SUP_FRAME_TXD[S] устанавливается равной 1 для обозначения того, что кадр ПРР3Е с меньшим порядковым номером готов для передачи по дополнительному каналу S. Переменная SUP_FRAME_TXD[L] устанавливается равной 2, что указывает на намерение передать кадр ПРР3Е с большим номером по дополнительному каналу L. Хотя кадр, передаваемый по дополнительному каналу L, передается одновременно с кадром по дополнительному каналу S, согласно методике настоящего изобретения необходимо, чтобы SUP_FRAME_TXD[S] был установлен равным меньшему номеру, чем SUP_FRAME_TXD[L], для предотвращения доставки кадра с большим порядковым номером ПРР на уровень 344 ПРР3Е раньше кадра с меньшим порядковым номером. Это соответствует требованию, установленному на передающем уровне 314 ПРР3Е, описанном со ссылками на фиг.3.

Переменная SUP_FRAME_TX_TIME[S] устанавливается равной значению текущей временной привязки ко времени начала передачи текущего кадра по дополнительному каналу S. Переменная SUP_FRAME_TX_TIME [L] также устанавливается равной текущей временной привязке для обозначения временной привязки ко времени начала передачи текущего кадра по дополнительному каналу L. В альтернативном варианте переменная T_DELIVER устанавливается равной значению текущей временной привязки плюс 20 мс, что указывает на необходимость пересылки на уровень 344 ПРР3Е основного кадра ПРР3Е, полученного на следующем интервале.

В приведенном в качестве примера варианте блока 740 время таймера SUP_TIMER[S] устанавливается равным SUP_DURATION[S], а время таймера SUP_TIMER[L] устанавливается равным SUP_DURATION[L]. Следовательно, время таймера SUP_TIMER[S] закончится, как только закончится передача кадра по дополнительному каналу S. Кроме того, время таймера SUP_TIMER[L] устанавливается равным SUP_DURATION[L]. Таким образом, время SUP_TIMER[L] истечет, как только закончится переда кадра по дополнительному каналу L.

Далее процесс переходит к блоку 770, описанному ранее, после чего переходит к блоку 500.

Если в блоке 700 определяется, что MODE не равен Forward, то процесс переходит к блоку 780, который описан на фиг.8.

На фиг.8 показана блок-схема, иллюстрирующая приведенный в качестве примера вариант методики для двойного канала с буферизацией, предложенной в настоящем изобретении.

После обновления временной привязки в блоке 800 в блоке 810 MODE равен Buffer. Когда MODE равен Buffer, все кадры буферизируются, пока не истечет время какого-либо таймера.

Если ни в одном таймере время не истекло, в альтернативном варианте, где используется флаг FUND_DELIVERY_OK для обозначения того, может ли полученный основной кадр быть доставлен в данном периоде, устанавливается соответствующая исключительная ситуация. В этом альтернативном варианте, если в течение данного периода не истекло время ни одного из таймеров и FUND_DELIVERY_OK установлен в значение "истина", полученный основной кадр немедленно направляется на уровень 344 ПРР3Е. В этом альтернативном варианте FUND_DELIVERY_OK устанавливается в значение "ложь" в течение каждого периода, на котором не истекло время ни одного из таймеров.

В предпочтительном варианте в течение периода, когда время таймера не истекло, значение T_DELIVER сравнивается с текущей временной привязкой. В этом случае, если значение текущей временной привязки не больше T_DELIVER, то тогда, если получен основной кадр ПРР3Е, он немедленно доставляется на уровень 344 ПРР3Е.

Каждый раз, когда истекает время таймера, определяют, какие кадры должны быть удалены из буфера и направлены на уровень 344 ПРР3Е. Буферизация кадров, выполняемая до тех пор, пока не истекло время таймера, предотвращает пересылку полученных кадров на уровень 344 ПРР3Е, а значит, формирование ненужных ОПП. Например, в точке 970 на фиг.9В получены кадры 0, 1 и 3. Если они не были буферизированы, уровень 344 ПРР3Е сформирует ОПП для кадра 2. В противоположность методике 530 для одиночного дополнительного канала, когда истечет время одного таймера, при использовании методики для двойного канала с буферизацией на уровень 344 ПРРЗЕ могут быть направлены только выбранные кадры без формирования ненужного ОПП. Например, в точке 980 на фиг.9В истекает время таймера, связанного с дополнительным каналом 1. Полученные в этой точке кадры имеют порядковые номера 0, 1, 3, 4, 6 и 2. Таким образом, на уровень 344 ПРР3Е желательно направить все кадры, имеющие порядковые номера меньше 5, а кадр 6 направлять на уровень 344 ПРР3Е нежелательно, так как это вызовет формирование ненужного ОПП для кадра 5. Преимущество способа по настоящему изобретению состоит в том, что на уровень ПРРЗЕ направляются требуемые и только требуемые кадры.

При использовании методики двойного канала с буферизацией определяется, истекло ли время одного таймера или время двух таймеров одновременно. Если один таймер все еще продолжает отсчет времени, когда время другого истекло, как показано в точках 970, 980 и 985 на фиг.9В и в точках 1020, 1030 и 1040 на фиг.10, используется следующая методика.

Сначала сравниваются относительные порядковые номера последнего переданного кадра по каждому каналу.

Если определяется, что порядковый номер, переданный последним по дополнительному каналу, связанному с таймером, время которого истекло, больше порядкового номера, переданного последним по другому дополнительному каналу, то тогда полученные кадры буферизируются, а время таймера, которое истекло, устанавливается равным длительности кадра связанного с ним дополнительного канала. Термин "больше" можно использовать для обозначения того, что значение в конечном наборе считается больше, чем другое значение в конечном наборе, в результате использования заданного процесса, к примеру арифметических операций или арифметических операций по модулю. Например, в спецификации ПРР2 описывается использование арифметических операций по модулю 256 без знака как средство для определения того, каких значений в наборе больше других. Как хорошо известно специалистам в данной области техники, имеется множество средств для установки значений переменных больших, меньших или равных друг другу и для сравнения значений двух переменных. В предпочтительном варианте настоящего изобретения установка и сравнения значений счетчиков (включая счетчики для временных привязок) и относительных порядковых номеров выполняются с использованием арифметических операций по модулю 256 без знака. В одном альтернативном варианте установка и сравнения значений счетчиков и относительных порядковых номеров выполняются посредством арифметических операций по модулю 8 без знака.

Примером использования методики для двойного дополнительного канала с буферизацией, когда одновременно истекает время обоих дополнительных таймеров, является точка 1030 на фиг.10, где буферизируются оба кадра 4 и 5. В качестве второго примера можно рассмотреть точку 1040, где буферизируются оба кадра 6 и 7. Однако, если определяется, что порядковый номер, переданный последним по дополнительному каналу, связанному с таймером, время которого истекло, меньше порядкового номера, переданного последним по другому дополнительному каналу, либо что не началась передача другого кадра по другому дополнительному каналу, то тогда используют следующую методику. Кадр, полученный по дополнительному каналу, направляют на уровень 344 ПРР3Е вместе со всеми буферизированными кадрами, полученными в тот момент или на 20 миллисекунд после того, когда началась передача кадра по другому дополнительному каналу. Если текущее время не превышает 20 миллисекунд после того, как началась передача последнего кадра по другому дополнительному каналу, то тогда полученный текущий основной кадр также направляется на уровень 344 ПРР3Е, в противном случае текущий основной кадр буферизируется.

Например, согласно вышеизложенной методике в точке 980 на фиг.9В кадры, которые были получены до либо в момент 80 (60+20), будут направлены на уровень ПРР3Е. Аналогично, в точке 985 кадры, которые были получены до либо в момент 120 (100+20), будут направлены на уровень ПРР3Е. Кроме того, истекшее время устанавливается равным длительности кадра связанного с ним дополнительного канала, и регистрируется, что есть намерение начать передачу кадра по каналу, связанному с таймером, время которого истекло, и что кадр, готовый к началу передачи по этому дополнительному каналу, содержит порядковый номер ПРР, больший, чем у кадра, передача которого уже началась по другому дополнительному каналу.

Если определяется, что время обоих таймеров истекло одновременно, как показано в точке 990 на фиг.9В, то тогда все полученные кадры и все буферизированные кадры направляются на уровень 344 ПРР3Е. Например, в точке 990 на фиг.9В все полученные и буферизированные кадры направляются на уровень ПРР3Е. Кроме того, время каждого таймера, у которого истекло время, устанавливается равным длительности кадра связанного с ним дополнительного канала. Регистрируется, что порядковый номер, инкапсулированный в кадре, формируемом по дополнительному каналу с большей длительностью, имеет относительно большее значение, чем порядковый номер ПРР, инкапсулированный в кадре, формируемом по другому дополнительному каналу. Кроме того, в одном варианте флаг FUND_DELIVERY_OK устанавливается в значение "истина", что указывает на необходимость пересылки на уровень 344 ПРР3Е основного кадра ПРР3Е, полученного на следующей 20-миллисекундной границе. В альтернативном варианте переменная T_DELIVER устанавливается равной значению текущей временной привязки плюс 20 мс, что указывает на необходимость пересылки на уровень 344 ПРР3Е основного кадра ПРР3Е, полученного на следующем интервале. В системе, где гарантировано, что оба дополнительных канала имеют кадры одинаковой длительности, когда истекает время только одного таймера, кадр при передаче по другому дополнительному каналу будет содержать порядковый номер ПРР, превышающий порядковый номер, содержащийся в только что полученном дополнительном кадре. Таким образом, в системе, где оба дополнительных канала имеют кадры одинаковой длительности, методика для двойного дополнительного канала с буферизацией может быть упрощена в соответствии со следующим альтернативным вариантом. Каждый раз, когда истекает время только одного таймера, на уровень ПРР3Е направляются все кадры, которые были получены в тот же момент либо на 20 миллисекунд после того, как началась передача последнего кадра по другому дополнительному каналу.

В блоке 810 определяется, истекло ли время какого-либо из таймеров. Если ни у одного из таймеров время не истекло, процесс переходит к блоку 830. В блоке 830 все кадры, полученные из мультиплексного подуровня 348, буферизируются в памяти и связываются в буферной памяти со значением текущей временной привязки. Дополнительно в альтернативном варианте проверяют флаг FUND_ DELIVERY_OK. В указанном варианте, если при операции 502 был получен основной кадр ПРР3Е и значение FUND_DELIVERY_OK установлено в значение "истина", то тогда основной кадр ПРР3Е доставляется на уровень 344 ПРР3Е и не буферизируется. В таком варианте FUND_DELIVERY_OK затем устанавливают в значение "ложь". Затем процесс переходит к блоку 500.

В блоке 810, если истекло время любого из таймеров, процесс переходит к блоку 840, где проверяется, истекло ли время у обоих таймеров. Если истекло время обоих таймеров, то тогда процесс переходит к блоку 850. В блоке 850 устанавливаются значения множества переменных и значения времени для таймеров для отслеживания времени передачи базовой станцией 310 кадров.

В блоке 850 значения переменных устанавливают следующим образом. Переменная SUP_FRAME_TXD[S] устанавливается равной 1, а переменная SUP_FRAME_TXD[L] устанавливается равной 2, что означает превышение значения порядкового номера, связанного с дополнительным каналом с наибольшей длительностью, значения порядкового номера, связанного с дополнительным каналом с меньшей длительностью. Переменные SUP_FRAME_TX_TIME[S] и SUP_FRAME_TX_TIME[L] устанавливают равными значению текущей временной привязки, что означает привязку к моменту времени, в который начались передачи текущих кадров по двум дополнительным каналам. Кроме того, время таймера SUP_TIMER[S] устанавливают равным SUP_DURATION[S], а время таймера SUP_TIMER[L] - равным SUP_DURATION[L]. Таким образом, время таймера SUP_TIMER[S] истечет, как только закончится передача кадра по дополнительному каналу S, а время таймера SUP_TIMER[L] истечет, как только закончится передача кадра по дополнительному каналу L. В альтернативном варианте значение FUND_DELIVERY_OK устанавливается в "истину". Затем процесс переходит к блоку 860.

В блоке 860 все кадры, которые были буферизированы, направляются (и удаляются из буфера) на уровень 344 ПРР3Е вместе с кадрами, полученными во время текущего 20-миллисекундного периода. Затем процесс переходит к блоку 500. В блоке 840, если определяется, что истекло время только одного таймера, процесс переходит к блоку 870. В блоке 870 определяется, истекло ли время SUP_TIMER[1] или SUP_TIMER[2]. Если выясняется, что истекло SUP_TIMER[1], то тогда Е устанавливают равным 1, а N - равным 2. В противном случае Е устанавливают равным 2, а N - равным 1. Таким образом, индекс Е связывается с каналом, для которого истекло время таймера, в то время как N связывают с каналом, для которого время таймера не истекло.

В блоке 880 проверяют, превышает ли значение переменной SUP_FRAME_TXD[E] значение переменной SUP_FRAME_TXD[N]. Если значение SUP_FRAME_TXD[Е] больше, чем SUP_FRAME_TXD[N], либо значение SUP_FRAME_TXD[N] установлено равным NO_SUPS_TXD, это указывает на то, что кадр, полученный по дополнительному каналу, содержит больший порядковый номер ПРР, чем кадр, идущий по другому дополнительному каналу. В указанном случае процесс переходит к блоку 882. В блоке 882 SUP_FRAME_TX_TIME[E] устанавливается равным значению текущей временной привязки, что указывает на намерение начать передачу нового кадра по каналу, связанному с таймером, время которого только что истекло. Кроме того, время таймера SUP_TIMER[E] устанавливают равным SUP_DURATION[E]. Таким образом, SUP_TIMER[E] истечет, как только начнется передача следующего кадра. Затем процесс переходит к блоку 884. В блоке 884 все кадры, полученные от мультиплексного подуровня 348, буферизируются в области памяти и связываются в буферной памяти со значением текущей временной привязки. Одно исключение из этого правила возникает в варианте, где используется флаг FUND_DELIVERY_OK для указания на то, может ли полученный основной кадр быть доставлен в данном периоде. В указанном случае указания на то, установлен ли FUND_DELIVERY_OK в значение "истина". В этом случае, хотя дополнительный кадр буферизируется, основной кадр ПРР3Е немедленно доставляется на уровень 344 ПРРЗЕ и FUND_DELIVERY_OK устанавливают в значение "ложь". Затем процесс переходит к блоку 500.

Если в блоке 880 определяется, что значение SUP_FRAME_TXD[E] не больше SUP_FRAME_TXD[N], то это указывает на то, что кадр, полученный по дополнительному каналу, содержит более низкий порядковый номер ПРР3Е, чем кадр, проходящий по другому каналу. В этом случае процесс переходит к блоку 892. В блоке 892, если основной кадр был получен в течение данного интервала, то этот основной кадр буферизируется. В альтернативном варианте основной кадр буферизируется только в том случае, если значение текущей временной привязки больше, чем SUP_FRAME_TX_TIME[N] + 20 мс, сохраняя тем самым операцию буферизации кадра только для немедленного удаления кадра и его пересылки. Процесс переходит из блока 892 в блок 894. В блоке 894 все буферизированные кадры, которые были получены в момент или до момента времени со значением SUP_FRAME_TX_TIME[N] + 20 мс, представляющий момент времени на 20 мс позже начала передачи дополнительного текущего кадра, удаляются из буфера и направляются на уровень 344 ПРР3Е вместе с только что полученным дополнительным кадром. В варианте, где используется переменная FUND_DELIVERY_OK, переменная FUND_DELIVERY_OK устанавливается в значение "ложь". Затем процесс переходит к блоку 896.

В блоке 896 SUP_FRAME_TXD[E] устанавливается равным значению, большему, чем SUP_FRAME_TXD[N], что указывает на то, что кадр, который собираются передавать по дополнительному каналу, будет содержать порядковый номер ПРР, превышающий порядковый номер, содержащийся в кадре, который уже передается по другому дополнительному каналу. SUP_FRAME_TX_TIME[E] устанавливается равным значению текущей временной привязки (в приведенном в качестве примера варианте равным значению системного времени), что указывает на намерение передавать новый кадр по каналу, связанному с таймером, время которого только что истекло. Кроме того, время таймера SUP_TIMER[E] устанавливают равным SUP_DURATION[E]. Таким образом, SUP_TIMER[E] истечет, как только закончится передача следующего кадра. Затем процесс переходит к блоку 500.

На фиг.12 показан предпочтительный вариант процесса обработки, описанного на фиг.8. Обратимся к фиг.12, где в блоке 1810 MODE равен Buffer. Желательно буферизировать все кадры, которые поступили в момент, более поздний, чем значение, записанное в T_DELIVER, и доставить все кадры, которые поступили в момент времени, более ранний, чем значение, записанное в T_DELIVER.

Всякий раз, когда истекает время таймера, определяют, какие кадры должны быть удалены из буфера и направлены на уровень 344 ПРР3Е. Буферизация кадров, выполняемая до тех пор, пока не истечет время таймера, предотвращает доставку полученных кадров на уровень 344 ПРР3Е, а значит, формирование ненужных ОПП. Например, в точке 970 на фиг.9В получены были кадры 0, 1 и 3. Если они не были буферизированы, уровень 344 ПРР3Е формирует ОПП для кадра 2. В отличие от методики для одиночного дополнительного канала 530, когда при использовании методики двойного дополнительного канала с буферизацией истечет время одного таймера, на уровень 344 ПРР3Е могут быть переданы только выбранные кадры без формирования ненужного ОПП. Например, в точке 980 на фиг.9В истекает время таймера, связанного с дополнительным каналом 1. Полученные в этой точке кадры содержат порядковые номера 0, 1, 3, 4, 6 и 2. Таким образом, на уровень 344 ПРР3Е желательно направить все кадры с порядковыми номерами меньше 5, а кадр 6 направлять на уровень 344 ПРР3Е нежелательно, так как это вызовет формирование ненужного ОПП для кадра 5. Преимущество способа по настоящему изобретению состоит в том, что на уровень ПРР3Е направляются требуемые и только требуемые кадры.

При использовании методики для двойного дополнительного канала с буферизацией определяется, истекло ли время одного таймера или время двух таймеров одновременно. Если один таймер все еще продолжает отсчет времени, когда время другого истекло, как показано в точках 970, 980 и 985 на фиг.9В и в точках 1020, 1030 и 1040 на фиг.10, используется следующая методика.

Сначала сравниваются относительные порядковые номера последнего переданного кадра по каждому каналу.

Если определяется, что порядковый номер, переданный последним по дополнительному каналу, связанному с таймером, время которого истекло, больше порядкового номера, переданного последним по другому дополнительному каналу, то тогда полученные кадры буферизируются, а время таймера, которое истекло, устанавливается равным длительности кадра связанного с ним дополнительного канала. В предпочтительном варианте установка и сравнение значений, связанных с SUP_FRAME_TXD, выполняется с использованием арифметических операций по модулю 8 без знака.

В качестве примера использование методики для двойного дополнительного канала с буферизацией, когда одновременно истекает время обоих дополнительных таймеров, рассмотрим точку 1030 на фиг.10, где буферизируются оба кадра 4 и 5. Во втором примере в точке 1040 буферизируют кадры 6 и 7.

Однако, если определяется, что порядковый номер, переданный последним, по дополнительному каналу, связанному с таймером, время которого истекло, меньше, чем порядковый номер, переданный последним по другому дополнительному каналу, либо что не началась передача другого кадра по другому дополнительному каналу, то тогда используют следующую методику. Кадр, полученный по дополнительному каналу, направляют на уровень 344 ПРР3Е вместе со всеми буферизированными кадрами, полученными в тот момент либо на 20 миллисекунд раньше того момента, как началась передача последнего кадра по другому дополнительному каналу. Если текущее время не превышает 20 миллисекунд после начала передачи последнего кадра по другому дополнительному каналу, то полученный текущий основной кадр также направляется на уровень 344 ПРР3Е, в противном случае текущий основной кадр буферизируется.

Например, по вышеизложенной методике в точке 980 на фиг.9В кадры, которые были получены до либо в момент 80 (60+20), будут направлены на уровень ПРР3Е. Аналогично, в точке 985 кадры, которые были получены до либо в момент 120 (100+20), будут направлены на уровень ПРР3Е. Кроме того, истекшее время устанавливается равным длительности кадра связанного с ним дополнительного канала, и регистрируется, что есть намерение начать передачу кадра по каналу, связанному с таймером, время которого истекло, и что кадр, который собираются передавать по этому дополнительному каналу, содержит порядковый номер ПРР, больший, чем у кадра, передача которого уже началась по другому дополнительному каналу.

Если определяется, что время обоих таймеров истекло одновременно, как показано в точке 990 на фиг.9В, то тогда все полученные кадры и все буферизированные кадры направляются на уровень 344 ПРР3Е. Например, в точке 990 на фиг.9В все полученные и буферизированные кадры направляются на уровень ПРР3Е. Кроме того, время каждого таймера, у которого истекло время, устанавливается равным длительности кадра связанного с ним дополнительного канала. Регистрируется, что порядковый номер, инкапсулированный в кадре, формируемом по дополнительному каналу с большей длительностью, имеет относительно большее значение, чем порядковый номер ПРР, инкапсулированный в кадре, формируемом по другому дополнительному каналу. В предпочтительном варианте переменная Т_DELIVER устанавливается равной значению текущей временной привязки плюс 20 мс, что указывает на необходимость пересылки на уровень 344 ПРР3Е основного кадра ПРР3Е, полученного на следующем интервале.

В системе, где гарантировано, что оба дополнительных канала имеют кадры одинаковой длительности, когда истекает время только одного таймера, кадр при передаче по другому дополнительному каналу будет содержать порядковый номер ПРР, превышающий порядковый номер, содержащийся в только что полученном дополнительном кадре. Таким образом, в системе, где оба дополнительных канала имеют кадры одинаковой длительности, методика двойного дополнительного канала с буферизацией может быть упрощена в соответствии со следующим альтернативным вариантом. Каждый раз, когда истекает время только одного таймера, все кадры, которые были получены в тот же момент либо на 20 миллисекунд после того, как началась передача последнего кадра по другому дополнительному каналу, направляются на уровень ПРР3Е.

В блоке 1810 определяется, истекло ли время любого из таймеров SUP_TIMER[1] или SUP_TIMER[2]. Если ни то, ни другое время не истекло, то процесс переходит к блоку 1814. В блоке 1814 определяется, больше ли текущая временная привязка, чем T_DELIVER. Если текущая временная привязка больше значения T_DELIVER, то процесс переходит к блоку 1830. В блоке 1830 основной кадр, полученный во время этого периода, буферизируется в памяти и связывается в буферной памяти со значением текущей временной привязки. Затем процесс переходит к блоку 500.

В блоке 1814 определяется, больше ли текущая временная привязка значения T_DELIVER, а затем процесс переходит к блоку 1818. В блоке 1818 основной кадр, полученный во время данного периода, направляется на уровень 344 ПРР3Е. Затем процесс переходит к блоку 500.

В блоке 1810, если истекло время одного из таймеров, процесс переходит к блоку 1840, где определяется, истекло ли время в обоих таймерах. Если время в обоих таймерах истекло, то процесс переходит к блоку 1850. В блоке 1850 устанавливаются значения множества переменных и таймеров, чтобы отслеживать время передачи кадров базовой станцией 310.

Переменные в блоке 1850 устанавливаются следующим образом.

Переменная SUP_FRAME_TXD[S] устанавливается равной 1, а переменная SUP_FRAME_TXD[L] устанавливается равной 2, что означает превышение порядковым номером, связанным с дополнительным каналом с максимальной длительностью, порядкового номера, связанного с дополнительным каналом с меньшей длительностью. Переменную T_DELIVER устанавливают равной значению текущей временной привязки плюс 20 мс, что означает необходимость пересылки на уровень 344 ПРР3Е всех кадров, которые поступили до момента Т_DELIVER. Кроме того, время таймера SUP_TIMER[S] устанавливают равным SUP_DURATION[S], a время таймера SUP_TIMER[L] - равным SUP_DURATION[L]. Таким образом, время таймера SUP_TIMER[S] истечет, как только закончится передача кадра по дополнительному каналу S, а время таймера SUP_TIMER[L] истечет, как только закончится передача кадра по дополнительному каналу L. Затем процесс переходит к блоку 1860.

В блоке 1860 все кадры, которые были буферизированы, направляются (и удаляются из буфера) на уровень 344 ПРРЗЕ вместе с кадрами, полученными от мультиплексного подуровня 348 во время текущего 20-миллисекундного периода. Затем процесс переходит к блоку 500.

Если в блоке 1840 определяется, что истекло время только одного таймера, процесс переходит к блоку 1870. В блоке 1870 определяется, истекло ли время SUP_TIMER[1] или SUP_TIMER[2]. Если выясняется, что истекло SUP_TIMER[1], то тогда Е устанавливают равным 1, а N - равным 2. В противном случае Е устанавливают равным 2, а N - равным 1. Таким образом, индекс Е связывается с каналом, для которого истекло время таймера, в то время как N связывают с каналом, для которого время таймера не истекло. Затем процесс переходит к блоку 1872.

Если в блоке 1872 определяется, что SUP_FRAME_TXD[N] имеет значение -1, что указывает на отсутствие передачи данных по дополнительному каналу N, то SUP_FRAME_TXD[E] устанавливается равным 0. Затем процесс переходит к блоку 1880.

В блоке 1880 проверяют, не равно ли -1 значение SUP_FRAME_TXD[N] и больше ли значение SUP_FRAME_TXD[Е] значения SUP_FRAME_TXD[N]. Если значение SUP_FRAME_TXD[N] не равно -1, что указывает на начало передачи кадра по дополнительному каналу N, и значение SUP_FRAME_TXD[Е] больше значения SUP_FRAME_TXD[N], и что порядковые номера в кадре, полученном по каналу Е, больше, чем порядковые номера в кадре, который еще должен быть получен по каналу N, то тогда определяется, что кадры не следует пересылать на уровень ПРР3Е в течение этого периода, и процесс переходит к блоку 1892.

В блоке 1892 все кадры ПРР, полученные от мультиплексного подуровня 348, буферизируются в области памяти и связываются в буферной памяти со значением текущей временной привязки.

В блоке 1880, если определяется либо, что SUP_FRAME_TXD[N] равно -1, что указывает на отсутствие передачи кадров по дополнительному каналу N, либо значение SUP_FRAME_TXD[E] меньше значения SUP_FRAME_TXD[N], что указывает на то, что кадр, полученный по дополнительному каналу N, имеет более низкий порядковый номер, чем номер, передаваемый в данный момент по дополнительному каналу Е, то тогда процесс переходит к блоку 1882, где одни соответствующие кадры буферизируются, а другие соответствующие кадры направляются на уровень 344 ПРР3Е.

Если в блоке 1882 текущая временная привязка меньше или равна T_DELIVER, то все кадры удаляются из буферной памяти и направляются на уровень 344 ПРР3Е вместе с кадрами, полученными от мультиплексного подуровня 348 во время текущего периода. В блоке 1882, если текущая временная привязка больше T_DELIVER, то все кадры, полученные от мультиплексного подуровня 348 во время этого периода, буферизируются в памяти и связываются в буферной памяти со значением текущей временной привязки. Кроме того, все кадры, хранящиеся в буферной памяти, которые связаны с моментом времени, меньшим или равным T_DELIVER, удаляются из буферной памяти и направляются на уровень 344 ПРР3Е. Затем процесс переходит к блоку 1896.

В блоке 1896 время таймера SUP_TIMER[E] устанавливается равным значению SUP_DURATION[E]. Таким образом, время SUP_TIMER[E] истечет, как только закончится передача кадра по дополнительному каналу Е. Кроме того, T_DELIVER устанавливается равным значению текущей временной привязки плюс 20 мс, что означает необходимость пересылки на уровень 344 ПРР3Е всех кадров, которые поступают до момента T_DELIVER.

Наконец, SUP_FRAME_TXD[E] устанавливают равным значению (SUP_FRAME_TXD[N]+1) по модулю 8. Затем процесс переходит к блоку 500.

На фиг.9А представлена временная диаграмма, иллюстрирующая процесс передачи во времени различных кадров ПРР в приведенной в качестве примера системе типа cdma2000, в которой имеется один активный дополнительный канал. На фиг.9А показан 220-миллисекундный период времени, в котором кадры МДКР, содержащие порядковые номера от 0 до 12 ПРР, передаются в системе 900 передачи данных ПРРЗЕ, состоящей из основного канала 901 и одного дополнительного канала 902. Дополнительный канал 902 сконфигурирован таким образом, что длительность кадра МДКР равна в нем 80 мс, а смещение канала - 60 мс.

Как показано на фиг.9А, основной канал 901 передает 20-миллисекундные кадры МДКР, содержащие кадры ПРРЗЕ с порядковыми номерами 0, 1, 2, 3, 5, 6, 7, 8, 10, 11 и 12. Дополнительный канал 902 передает 80-миллисекундные кадры МДКР, содержащие кадры ПРР3Е с порядковыми номерами 4 и 9. Как показано на фиг.9А, передача кадра 0 начинается в момент времени 0, а заканчивается в момент времени 20.

В точке 910, представляющей 60-миллисекундное смещение дополнительного канала, основной канал 901 заканчивает передачу кадра 2 (кадр, содержащий порядковый номер 2 ПРР) и начинает передачу кадра 3. Кроме того, дополнительный канал 902 начинает передачу кадра 4.

В точке 915 основной канал 901 заканчивает передачу кадра 3 и начинает передачу кадра 5.

В точке 920 основной канал 901 заканчивает передачу кадра 7 и начинает передачу кадра 8. Кроме того, дополнительный канал 902 заканчивает передачу кадра 4 и начинает передачу кадра 9.

В точке 930 основной канал 901 заканчивает передачу кадра 12, а дополнительный канал 902 заканчивает передачу кадра 9.

На фиг.9В представлена временная диаграмма, иллюстрирующая процесс передачи во времени различных кадров ПРР в приведенной в качестве примера системе типа cdma2000, в которой имеются два активных дополнительных канала. На фиг.9В показан 220-миллисекундный период времени, в котором кадры МДКР, содержащие порядковые номера от 0 до 16 ПРР, передаются в системе 950 передачи данных ПРР3Е, состоящей из основного канала 951, первого дополнительного канала 952 и второго дополнительного канала 953. Первый дополнительный канал 952 сконфигурирован таким образом, что длительность кадра МДКР равна в нем 80 мс, а смещение канала - 20 мс. Второй дополнительный канал 953 сконфигурирован таким образом, что длительность кадра МДКР составляет в нем 60 мс, а смещение канала - 60 мс. Как показано на фиг.9В, основной канал 951 передает 20-миллисекундные кадры МДКР, содержащие кадры ПРР3Е с порядковыми номерами 0, 1, 3, 4, 6, 7, 9, 11, 12, 13 и 16. Первый дополнительный канал 952 передает 80-миллисекундные кадры МДКР, содержащие кадры ПРР3Е с порядковыми номерами 2, 8 и 14. Второй дополнительный канал 953 передает 60-миллискундные кадры МДКР, содержащие кадры ПРР3Е с порядковыми номерами 5, 10 и 15. Как показано на фиг.9В, передача кадра 0 начинается в момент времени 0, а заканчивается в момент времени 20.

В точке 960, представляющей 20-миллисекундное смещение дополнительного канала, основной канал 951 заканчивает передачу кадра 0 (кадр, содержащий порядковый номер 0 ПРР) и начинает передачу кадра 1. Кроме того, первый дополнительный канал 952 начинает передачу кадра 2.

В точке 970, представляющей 60-миллисекундное смещение дополнительного канала, основной канал 951 заканчивает передачу кадра 3 и начинает передачу кадра 4. Кроме того, второй дополнительный канал 953 начинает передачу кадра 5.

В точке 980 основной канал 951 заканчивает передачу кадра 6 и начинает передачу кадра 7. Кроме того, первый дополнительный канал 952 заканчивает передачу кадра 2 и начинает передачу кадра 8.

В точке 985 основной канал 951 заканчивает передачу кадра 7 и начинает передачу кадра 9. Кроме того, второй дополнительный канал 953 заканчивает передачу кадра 5 и начинает передачу кадра 10.

В точке 990 основной канал 951 заканчивает передачу кадра 12 и начинает передачу кадра 13. Кроме того, первый дополнительный канал 952 заканчивает передачу кадра 8 и начинает передачу кадра 14. Наконец, второй дополнительный канал 953 заканчивает передачу кадра 10 и начинает передачу кадра 15.

На фиг.10 представлена временная диаграмма, иллюстрирующая альтернативный процесс передачи во времени различных кадров ПРР в приведенной в качестве примера системе типа cdma2000, в которой имеются два активных дополнительных канала. На фиг.10 показан 100-миллисекундный период времени, в котором кадры МДКР, содержащие порядковые номера от 0 до 9 ПРР, передаются в системе 1000 передачи данных ПРР3Е, состоящей из основного канала 1001, первого дополнительного канала 1002 и второго дополнительного канала 1003. Первый дополнительный канал 1002 сконфигурирован таким образом, что длительность кадра МДКР равна в нем 80 мс, а смещение канала - 20 мс. Второй дополнительный канал 1003 сконфигурирован таким образом, что длительность кадра МДКР составляет в нем 20 мс и смещение канала - 20 мс. Как показано на фиг.10, основной канал 1001 передает 20-миллисекундные кадры МДКР, содержащие кадры ПРР3Е с порядковыми номерами 0, 1, 4, 6 и 8. Первый дополнительный канал 1002 передает 80-миллисекундные кадры МДКР, содержащие кадр ПРР3Е с порядковым номером 3. Второй дополнительный канал 1003 передает 20-миллисекундные кадры МДКР, содержащие кадры ПРР3Е с порядковыми номерами 2, 5, 7 и 9.

В точке 1010, представляющей 20-миллисекундное смещение дополнительного канала, основной канал 1001 заканчивает передачу кадра 0 (кадр, содержащий порядковый номер 0 ПРР) и начинает передачу кадра 1. Кроме того, первый дополнительный канал 1002 начинает передачу кадра 3, а второй дополнительный канал 1003 начинает передачу кадра 2.

В точке 1020 основной канал 1001 заканчивает передачу кадра 1 и начинает передачу кадра 4. Кроме того, второй дополнительный канал 1003 заканчивает передачу кадра 2 и начинает передачу кадра 5.

В точке 1030 основной канал 1001 заканчивает передачу кадра 4 и начинает передачу кадра 6. Кроме того, второй дополнительный канал 1003 заканчивает передачу кадра 5 и начинает передачу кадра 7.

В точке 1040 основной канал 1001 заканчивает передачу кадра 6 и начинает передачу кадра 8. Кроме того, второй дополнительный канал 1003 заканчивает передачу кадра 7 и начинает передачу кадра 9.

В точке 1050 основной канал 1001 заканчивает передачу кадра 8, первый дополнительный канал 1002 заканчивает передачу кадра 3, а второй дополнительный канал 1003 заканчивает передачу кадра 9.

Приведенное описание предпочтительных вариантов осуществления изобретения предложено для того, чтобы дать возможность специалистам в данной области техники воплотить или использовать настоящее изобретение. Специалистам в данной области техники очевидны различные модификации этих вариантов и ясно, что определенные здесь общие принципы могут быть применены к другим вариантам без использования изобретательских навыков. Таким образом, здесь подразумевается, что настоящее изобретение не ограничивается показанными здесь вариантами, а соответствует самому широкому объему, согласующемуся с раскрытыми здесь принципами и новыми признаками.

Способ доставки кадров данных протокола работы радиолинии типа 3 на подуровень протокола работы радиолинии типа 3, заключающийся в том, что определяют количество дополнительных каналов, устанавливают счетчик и/или таймер для каждого дополнительного канала для осуществления упорядочения кадров данных протокола работы радиолинии типа 3, имеющих различные длины, осуществляют упорядочение принятых кадров данных в соответствии с последовательным номером, содержащимся в них, и доставляют упорядоченные кадры данных протокола работы радиолинии типа 3 на подуровень программного обеспечения протокола работы радиолинии типа 3.



 

Похожие патенты:

Изобретение относится к электросвязи, в частности к системам передачи данных и к способам оценки качества их функционирования. .

Изобретение относится к цифровой передаче данных по цифровой сети. .

Изобретение относится к области мобильной радиосвязи

Изобретение относится к технике связи и представляет собой систему, позволяющую посылать текстовые сообщения через Интернет и сразу доставлять их на телефон адресата в форме речи

Изобретение относится к системе связи, в частности к коммуникационной системе

Изобретение относится к способу защитного изолирования сервисов сети Ethernet, в частности к способу реализации виртуальной частной сети (VPN) на Layer 2 Ethernet, который используется поставщиками телекоммуникационных услуг для предоставления сервисов сети Ethernet

Изобретение относится к технике мобильной связи

Изобретение относится к системам и способу частичного скремблирования потока данных

Изобретение относится к способу связывания первой характеристики первого устройства и второй характеристики второго устройства посредством сервера
Наверх