СПОСОБ И УСТРОЙСТВО ДЛЯ ПЕРЕДАЧИ БЛОКА ДАННЫХ
METHOD AND DEVICE FOR DATA UNIT TRANSFER

Область техники
Настоящее изобретение относится к способу передачи блока данных некоторого типа от передающего устройства в принимающее устройство, в частности, при передаче временного потока блоков. Также настоящее изобретение относится к передающему устройству для передачи блока данных некоторого типа в приемное устройство, в частности, при передаче временного потока блоков.
Предпосылки создания изобретения
Несмотря на то, что физические соединения, используемые для передачи данных в современных сетях, например, кабели и волоконно-оптические кабели, постоянно совершенствуются, невозможно полностью избежать ошибок при передаче данных. По указанной причине были предложены многочисленные возможности обнаружения и исправления ошибок, например, контроль с помощью циклического избыточного кода (cyclic redundancy check, CRC). Однако проблема ошибочных блоков данных по прежнему актуальна.
В качестве примера подобных сетей далее в настоящем документе, рассматриваются сети усовершенствованного общего пакетного радиосервиса (enhanced general packet radio service, EGPRS). Тем не менее, настоящее изобретение не ограничено указанным видом сетей и специалисты в данной области могут без труда применять положения настоящего изобретения и к другим сетям. В этом контексте приводятся ссылки на стандарт ETSI TS 144 060 V7.12.0, цифровая сотовая телекоммуникационная система (Фаза 2+); общий пакетный радиосервис (General Packet Radio Service, GPRS); интерфейс "мобильная станция (Mobile Station, MS) - базовая станция (Base Station System, BSS)"; протокол управления радиолинией / доступа к среде передачи (Radio Link Control / Medium Access Control, RLC/MAC); (3GPP TS 44.060 версия 7.12.0 Релиз 7), включенный в настоящий документ путем ссылки, в частности, на главу 9.1.8.2.4, "Интерпретация битового массива". В частности определения, сообщения, потоки сообщений, а также сокращения, использованные в настоящей заявке, могут быть также найдены в указанном стандарте.
В упомянутый стандарт общего пакетного радиосервиса недавно был добавлен новый вид быстрой внутриполосной сигнализации в дополнение к традиционным подтверждениям приема пакетов нисходящей линии (packet downlink acknowledgment, PDAN) и восходящей линии (packet uplink acknowledgement, PUAN). Упомянутая быстрая внутриполосная сигнализация включает короткий битовый массив для положительных и отрицательных подтверждений приема блоков управления радиолинией (radio link contriol, RLC) и, тем самым, ускоряет повторную передачу неверно принятых блоков RLC, при этом блок RLC является примером блока или модуля данных.
Такая новая сигнализация называется "быстрым сообщением о подтверждении/не подтверждении приема", или сокращенно FANR (fast acknowledged/not acknowledged reporting), и, при ее использовании, позволяет существенно увеличить частоту доставки сообщений подтверждения приема/отрицательного подтверждения приема (acknoledged/negatively acknowledged, ACK/NACK). Однако такие сообщения не так хорошо защищены от необнаруживаемых ошибок декодирования, как PDAN и PUAN, так как имеют более слабый CRC.
Рассматривая "передающую оконечную точку", "передающий сетевой узел", "передающее устройство" или просто "передатчик", то есть объект, передающий блоки данных и принимающий подтверждающие прием данные, и "принимающую оконечную точку", "принимающий сетевой узел", "принимающее устройство" или просто "приемник", то есть объект, принимающий блоки данных и передающий подтверждающие прием данные (которые могут быть присоединены к другим блокам данных), существует определенный риск, что передающая оконечная точка может неверно принять присоединенное подтверждение приема (piggy backed acknowledgement, PAN), называемое также присоединенным Ack/Nack (piggybacked Ack/Nack), за часть декодируемого ей блока данных, так как ошибочная декодируемая битовая последовательность может привести к успешному прохождению контроля CRC. Это может произойти, например, если бит заголовка ошибочно интерпретируется как поле PANI (поле PANI указывает на присутствие поля PAN и расположено в заголовке блока данных). Такая ситуация называется "ложным положительным" подтверждением приема. "Ложное положительное" PAN может также возникнуть, когда PAN действительно присутствует, но частота появления битовых ошибок (bit error rate, BER) слишком высока для успешного декодирования канала, а (декодированный) CRC тем не менее является правильным. Так как полезная нагрузка и PAN в радиоблоке могут адресоваться различным мобильным станциям (MS), можно прогнозировать высокую частоту ошибок, например, для MS у границы соты, если передача полезной нагрузки адресуется MS вблизи базовой станции и в передаче используется модуляция 32-QAM (32-позиционная квадратурная амплитудная модуляция). Сочетание более частых сообщений и более слабой защиты приведет к большему количеству необнаруживаемых ошибок, которые во многих случаях становятся причиной неправильной остановки временного потока блоков (temporary block flow, TBF). В частности, проблема состоит в том, что упомянутая остановка может производиться на основе существующих таймеров, которые устанавливаются на несколько секунд (например, 5 секунд).
Несмотря на то, что для снижения вероятности "ложного положительного" подтверждения приема размер CRC в PAN может быть увеличен, например с 6 до 10, упомянутая вероятность никогда не уменьшится до нуля. В некоторых случаях упомянутый CRC складывается по модулю 2 (XOR) с идентификатором временного потока (temporary flow identity, TFI) для целевой MS. Если другая MS, мультиплексируемая в тех же ресурсах, пытается декодировать PAN, выполняя операцию XOR со своим (отличным) TFI, свойства CRC могут ослабляться. Таким образом, несколько ошибок в час могут происходить при многослотовой передаче EGPRS.
В результате "ложного положительного" подтверждения приема может произойти следующее:
1. Передающая оконечная точка RLC может ошибочно посчитать, что блок был подтвержден отрицательно.
2. Передающая оконечная точка RLC может ошибочно посчитать, что блок был подтвержден положительно.
Случай 1 приводит к излишним повторным передачам.
Случай 2 может привести к тому, что окно передачи сдвинется дальше окна приема. В этом случае:
a) передающая оконечная точка будет передавать блоки с более высокими начальными порядковыми номерами SSN (starting sequence numbers), чем ожидает противоположная сторона (принимающая оконечная точка), и
b) передающая оконечная точка не передаст повторно блоки, ожидаемые противоположной стороной (принимающая оконечная точка). Случай b) может в итоге привести к блокировке TBF, если одно из устройств, то есть приемное устройство, ожидает повторных передач, а другое устройство, то есть передающее устройство, уже удалило блок(и) из своей памяти, точнее из буфера передачи.
Одним из вариантов является дальнейшее увеличение длины CRC, что позволяет снизить частоту появления подобных ошибок. Однако это уменьшает и количество битов полезной нагрузки. Поэтому предлагается принимать меры со стороны протокола для минимизации последствий подобных ошибочных ситуаций.
Проблема заблокированных окон (когда передающее устройство заблокировано для передачи дальнейших блоков вследствие ожидания подтверждения приема ранее переданных блоков) уже известна. Решение - просто ожидать подтверждения приема, что может служить признаком отрицательных подтверждений приема для некоторых блоков данных (в этом случае впоследствии осуществляется их повторная передача) и/или положительных подтверждений приема для остальных блоков данных (что может позволить передающему объекту удалить некоторые буферизованные блоки и, возможно, сдвинуть вперед окно передачи, позволяя передать новые блоки первый раз). Недостатком приведенного способа является задержка, возникающая при передаче некоторых блоков данных.
Тем не менее, настоящее изобретение нацелено на решение новой проблемы, возникающей по причине достаточно высокой вероятности того, что при указании подтверждения приема может возникать "ложный положительный" прием. Повышенная вероятность "ложного положительного" приема возникает вследствие, например, характерных свойств схемы быстрого сообщения ACK/NACK, используемой в сетях EGPRS, в соответствии с чем очень малое поле ACK/NACK присоединяется к существующим блокам данных, и это поле кодируется независимо от остальной части блока.
Соответственно, целью настоящего изобретения является предложение усовершенствованного способа и усовершенствованного передающего устройства для передачи данных в сети.
Сущность изобретения
В соответствии с настоящим изобретением упомянутая цель достигается с помощью способа по п.1 и устройства по п.21.
Соответственно, описывается способ передачи блока данных некоторого типа от передающего устройства (например, передающего сетевого узла) в принимающее устройство (например, принимающий сетевой узел), при этом передающее устройство способно принимать по меньшей мере два различных типа положительных/отрицательных подтверждений приема для упомянутого блока данных упомянутого типа от упомянутого принимающего устройства, и при этом реакция передающего устройства на положительные/отрицательные подтверждения приема после приема/декодирования зависит от типа упомянутого положительного/отрицательного подтверждения приема.
Соответственно, описывается также передающее устройство для передачи блока данных некоторого типа в принимающее устройство, в частности, сетевой узел, при этом передающее устройство выполнено с возможностью приема по меньшей мере двух различных типов положительных/отрицательных подтверждений приема для упомянутого блока данных упомянутого типа от упомянутого принимающего устройства и с возможностью реагирования на положительные/отрицательные подтверждения приема, после их приема/декодирования, в зависимости от типа упомянутого принятого положительного/отрицательного подтверждения приема.
Настоящее изобретение обладает преимуществом, состоящим в том, что передающее устройство способно принимать подтверждения приема, которые могут быть положительными или отрицательными подтверждениями приема, по меньшей мере двух различных типов, каждый из которых имеет различные характеристики и, следовательно, имеет различные тенденции к появлению ошибок. Например, положительное подтверждение приема может искажаться при передаче в передающее устройство таким образом, что им будет принято отрицательное (а значит - неверное) подтверждение приема. Однако отрицательное подтверждение приема также может быть искажено при передаче в передающее устройство таким образом, что им будет принято положительное (а значит - неверное) подтверждение приема. Подтверждение приема, после декодирования содержащее ошибки, обнаружение которых невозможно, также называется "ложным положительным". Информация об относительной вероятности "ложных положительных" приемов, связанная с различными типами подтверждений приема, используется для определения того, каким образом обрабатывать различные типы подтверждений приема, в частности, когда положительные/отрицательные подтверждения приема различных типов указывают на противоречивые состояния подтверждения приема одного и того же переданного блока данных. Описанное выше обладает преимуществом перед системами, соответствующими текущему уровню техники, так как вид избыточности используется, например, чтобы выяснить, насколько правдоподобно положительное подтверждение приема.
На данном этапе, следует отметить, что подтверждения приема могут быть частью одного протокола. Следует также отметить, что по меньшей мере два различных типа положительных/отрицательных подтверждений приема могут относиться к блокам данных одного типа, при этом упомянутый тип является, например, типом блоков данных одного из уровней протоколов.
Наконец, следует отметить, что настоящее изобретение не ограничено только двумя типами подтверждений приема и применимо также для трех и более типов.
Предпочтительные варианты осуществления настоящего изобретения раскрыты в зависимых пунктах формулы изобретения, а также в описании и чертежах.
Предпочтительно, если передающее устройство принимает и обрабатывает по меньшей мере два различных типа информации положительных/отрицательных подтверждений приема, при этом каждый тип информации положительных/отрицательных подтверждений приема содержит одно или более положительных и/или отрицательных подтверждений приема одного типа, относящихся к отдельным блокам данных упомянутого типа. Соответственно, множество подтверждений приема первого типа может передаваться в информации положительных/отрицательных подтверждений приема первого типа, а одно или более подтверждений приема второго типа могут передаваться в информации положительных/отрицательных подтверждений приема второго типа. Настоящее изобретение не ограничено подтверждением приема одиночных блоков данных и применимо также к наборам подтверждений приема для нескольких блоков данных одного типа. Настоящий способ подтверждения приема эффективен при подтверждении приема большого количества блоков данных сразу.
В данном контексте является предпочтительным, если упомянутый тип положительного подтверждения приема и/или отрицательного подтверждения приема характеризуется типом упомянутой информации положительных/отрицательных подтверждений приема, в которую он включается.
Следует отметить, что настоящее изобретение основано на предшествующей заявке GB 0721519.7, и в этой предшествующей заявке общий термин "подтверждение приема" попеременно используется как для "подтверждения приема", так и для "информации подтверждений приема". Однако, так как значение однозначно следует из контекста употребления термина, специалисты в данной области могут свободно, в зависимости от ситуации, заменять "подтверждение приема" на "информацию подтверждений приема" и наоборот.
Также, является предпочтительным, если второй тип положительного/отрицательного подтверждения приема более надежен, чем первый тип. Если оба типа одинаково подвержены ошибкам, то противоречие двух типов указывает на существование проблемы, тогда как в данном предпочтительном варианте осуществления изобретения более надежное подтверждение приема также указывает, что верно или неверно с большей вероятностью.
В данном контексте является предпочтительным, чтобы второй тип подтверждения приема кодировался таким образом, что прием и/или корректное декодирование и/или правильное обнаружение ошибок декодирования упомянутого типа было более надежным, чем для первого типа подтверждений приема.
В другом предпочтительном варианте осуществления настоящего изобретения для второго типа информации положительных/отрицательных подтверждений приема менее вероятно, чем для первого типа, что проверка целостности, применяемая к информации положительных/отрицательных подтверждений приема, пройдет успешно даже в случае, когда декодированная информация положительных/отрицательных подтверждений приема ошибочна. Указанное является примером того, как может определяться надежность подтверждений приема. Проверки целостности применяются повсеместно, поэтому настоящее изобретение может осуществляться с минимальными техническими затратами.
В еще одном предпочтительном варианте осуществления изобретения проверкой целостности является проверка с помощью избыточных циклических кодов. Указанное является дальнейшим уточнением того, чем может быть проверка целостности. Опять же, в данном случае, реализация изобретения может выполняться с небольшими техническими затратами.
Предпочтительно, положительное подтверждение приема, содержащееся в поле подтверждения приема (содержащем множество положительных и/или отрицательных подтверждений приема) игнорируется, если положительное или отрицательное подтверждение приема, в нем содержащееся, классифицируется как ненадежное. В предпочтительном варианте осуществления изобретения все положительные подтверждения приема, содержащиеся в поле подтверждений приема, игнорируются, если положительное или отрицательное подтверждение приема, в нем содержащееся, классифицировано как ненадежное.
Представляется целесообразным, если передающее устройство игнорирует все положительные подтверждения приема, содержащиеся в информации положительных/отрицательных подтверждений приема первого типа, которые были классифицированы как ненадежные. Это является преимуществом, так как гарантируется, что блоки данных, связанные с ненадежными положительными подтверждениями приема, не будут удалены передающим устройством и смогут быть переданными повторно, если последующая информация положительных/отрицательных подтверждений приема или положительное/отрицательное подтверждение приема указывает, что блоки данных не были корректно приняты принимающим устройством.
В одном из предпочтительных вариантов осуществления изобретения информация подтверждений приема или поле подтверждений приема (содержащее множество положительных и/или отрицательных подтверждений приема) игнорируется, если положительное или отрицательное подтверждение приема, в нем содержащееся, классифицируется как ненадежное.
В другом варианте осуществления изобретения передающее устройство игнорирует всю информацию, содержащуюся в информации положительных/отрицательных подтверждений приема первого типа, которая была классифицирована как ненадежная. В данном случае игнорируется не только любое положительное подтверждение приема, но также и любое отрицательное подтверждение приема в ненадежном модуле информации положительных/отрицательных подтверждений приема.
Предпочтительно, если передающее устройство сигнализирует принимающему устройству, что оно классифицировало информацию положительных/отрицательных подтверждений приема как ненадежную. Информирование принимающего устройства может оказаться полезным, так как и принимающее устройство также способно предпринять необходимые шаги во избежание проблем.
В еще одном предпочтительном варианте осуществления настоящего изобретения передающее устройство запрашивает у принимающего устройства передачу информации положительных/отрицательных подтверждений приема второго типа, если оно классифицировало ранее принятую информацию положительных/отрицательных подтверждений приема первого типа как ненадежную. В таком случае проверка, является ли подтверждение приема первого типа ошибочным, может осуществляться "по запросу". Очевидно, информация подтверждений приема второго типа требует дополнительной пропускной способности. Следовательно, может быть полезно осуществлять проверку, все ли в порядке, путем передачи информации положительных/отрицательных подтверждений приема только время от времени, или в случае, когда информация положительных/отрицательных подтверждений приема первого типа классифицирована как ненадежная.
В еще одном предпочтительном варианте осуществления настоящего изобретения, в частности, во время передачи временного потока блоков (TBF), передающее устройство сохраняет передаваемый блок данных в памяти, при этом упомянутый блок данных хранится в упомянутой памяти, если от принимающего устройства принято подтверждение приема первого типа, а именно присоединенное подтверждение приема (PAN), с указанием, что упомянутый блок был принят корректно, и упомянутый блок удаляется из упомянутой памяти, если от принимающего устройства принято подтверждение приема второго типа, а именно подтверждение приема пакетной нисходящей линии (PDAN) или подтверждение приема пакетной восходящей линии (PUAN), с указанием, что упомянутый блок данных был принят корректно. Такой вариант осуществления изобретения обладает преимуществом, состоящим в том, что передающее устройство способно повторно передать блоки данных, прием которых был положительно подтвержден посредством подтверждения приема первого типа, если впоследствии выясняется, что положительное подтверждение приема является ненадежным, то есть если это "ложное положительное" подтверждение приема. В соответствии с существующим уровнем техники соединение пришлось бы закрыть, так как оба устройства оказались бы не синхронизированы и не смогли бы осуществить повторную синхронизацию без использования средств настоящего изобретения. Чем дольше хранятся блоки, тем меньше риск, что повторная передача окажется невозможной. Так как буферная емкость устройства для передачи должна обеспечиваться в любом случае, для изобретения не требуется дорогостоящего оборудования. Например, передающие узлы в сети EGPRS должны иметь буфер, соответствующий размеру полного окна (хотя в некоторых случаях меньшее, чем размер окна, количество блоков "ожидают", то есть блоки были переданы, но еще не были положительно подтверждены).
В одном из предпочтительных вариантов осуществления изобретения блок данных передается повторно, если положительно подтверждение приема классифицируется как ненадежное. Может возникнуть ситуация, когда положительное подтверждение приема блока данных, декодированное передающим устройством, действительно ошибочно. Другими словами, принимающее устройство не передавало этого положительно подтверждения приема, но вследствие условий в канале и/или ошибок декодирования и/или ограничений проверки целостности передающее устройство считает, что принимающее устройство передало это подтверждение приема. Данный случай является примером "ложного положительного" подтверждения приема. Однако посредством настоящего изобретения такое ложное положительное подтверждение приема может быть обнаружено, и впоследствии упомянутый блок данных передается еще раз.
В еще одном предпочтительном варианте осуществления изобретения удаление упомянутых блоков данных из упомянутой памяти не зависит от приема подтверждения приема первого типа и производится после приема подтверждения приема второго типа.
Предпочтительно, информация положительных/отрицательных подтверждений приема классифицируется как ненадежная, если она содержит положительное подтверждение приема для блока данных, а ранее принятая информация положительных/отрицательных подтверждений приема содержала отрицательное подтверждение приема для упомянутого блока данных. Предпочтительно также, информация положительных/отрицательных подтверждений приема первого типа классифицируется как ненадежная, если в ней содержится отрицательное подтверждение приема для блока данных, а ранее принятая информация положительных/отрицательных подтверждений приема содержала положительное подтверждения приема для упомянутого блока данных. В данном случае обнаруживается ложное подтверждение приема в силу противоречия первого положительного подтверждения приема и второго отрицательного подтверждения приема и наоборот. В данном контексте, предпочтительно, если подтверждение приема первого типа содержится в присоединенном подтверждении приема (PAN), а подтверждение приема второго типа содержится в подтверждении приема пакетной нисходящей линии (PDAN) или подтверждении приема пакетной восходящей линии (PUAN) для некоторого блока данных. PAN, PDAN и PUAN в любом случае применяются или будут применяться в сетях EGPRS и могут в описанном случае обеспечивать дополнительную функцию.
Также является предпочтительным, если информация положительных/отрицательных подтверждений приема второго типа передается в сообщении ACK/NACK пакетной нисходящей линии, сообщении ACK/NACK Типа 2 пакетной нисходящей линии или сообщении ACK/NACK пакетной восходящей линии.
Также предпочтительно, если информация положительных/отрицательных подтверждений приема передается в присоединенном поле ACK/NACK.
Предпочтительным также является, если подтверждение приема первого типа содержится в присоединенном подтверждении приема (PAN), a подтверждение приема второго типа содержится в подтверждении приема пакетной нисходящей линии (PDAN) или в подтверждении приема пакетной восходящей линии (PUAN). Соответственно, содержащееся в PAN положительное подтверждение приема не приводит к удалению, тогда как положительное подтверждение приема, содержащееся в PDAN/PUAN, ведет к удалению хранимого блока данных.
В еще одном предпочтительном варианте осуществления изобретения, передающее устройство классифицирует информацию положительных/отрицательных подтверждений приема как ненадежную, если она содержит положительное подтверждение приема для блока данных, который не был передан передающим устройством. Это очевидно указывает на ошибку передачи и, следовательно, соответствует настоящему изобретению. В этом случае есть преимущество, состоящее в том, что нет необходимости в обмене дополнительной информацией между устройствами для обнаружения ложного положительного подтверждения приема.
Предпочтительным также является, если соединение, в частности временный поток блоков, закрывается, если передающее устройство принимает указание от принимающего устройства, что блок данных не был принят правильно и если при этом упомянутый блок был удален из упомянутой памяти передающего устройства. Может так случиться, что блок данных не хранится в буфере передачи передающего устройства, когда обнаружен ошибочный прием этого блока данных. Например, поверх упомянутого блока данных был записан новый блок данных. В таком случае соединение закрывается и устанавливается заново.
Предпочтительно также, чтобы упомянутое положительное подтверждение приема классифицировалось как ненадежное, если принимающее устройство принимает блок данных с порядковым номером выше, чем максимальный номер в окне приема. Это также ясно указывает на ошибку передачи и соответствует настоящему изобретению. Снова, нет необходимости в обмене дополнительной информацией между устройствами для обнаружения ложного положительного подтверждения приема.
Наконец, предпочтительно, если передающее устройство использует протокол управления радиоресурсами/управления доступом к среде передачи общего пакетного радиосервиса с функцией быстрого сообщения подтверждения/отрицательного подтверждения, также известной как уменьшенная задержка (Reduced Latency). Упомянутый протокол уже обеспечивает сообщения, которые можно использовать для целей настоящего изобретения, поэтому реализация последнего может выполняться с небольшими техническими затратами.
Необходимо отметить, что варианты осуществления изобретения и продемонстрированные для способа настоящего изобретения преимущества, с соответствующими изменениями, применимы к устройству настоящего изобретения.
Следует также отметить, что варианты осуществления настоящего изобретения, описанные в настоящем документе, могут комбинироваться любым требуемым способом.
Эти, а также другие аспекты настоящего изобретения будут очевидны из дальнейшего описания и разъясняются со ссылками на варианты осуществления изобретения описанные и схематично показанные на чертежах.
Краткое описание чертежей
На фиг.1 показаны возможные случаи, когда принимается блок данных, который ожидается или не ожидается.
На фиг.2 показаны возможные случаи, когда принимается PAN.
На фиг.3 показаны возможные случаи, когда принимается PDAN/PUAN.
На фиг.4 показан первый типичный поток сообщений, в которым информация подтверждений приема содержит только одно подтверждение приема.
На фиг.5 показан второй поток сообщений, в котором информация подтверждений приема содержит набор подтверждений приема.
На фиг.6 показан третий поток сообщений, в котором информация подтверждений приема содержит набор подтверждений приема.
Описание вариантов осуществления изобретения
На чертежах, если не указано обратное, подобные элементы и элементы с подобными функциями сохраняют подобные обозначения. Далее, также в настоящем документе передающее устройство называется передающим сетевым узлом, а принимающее устройство - принимающим сетевым узлом. Однако такое описание не следует толковать как ограничение общего объема настоящего изобретения.
Настоящее изобретение имеет набор различных аспектов.
1. Хранение блоков, которые были подтверждены:
Передающее устройство сохраняет блоки даже после подтверждения их приема, в частности, если это подтверждение приема осуществлено посредством PAN.
2. Передача PUAN/PDAN в ответ на неожидаемый блок:
Блок данных, который был принят, но не ожидался, так как он расположен за пределами окна приема, указывает на "ложное положительное" подтверждение приема, а это запускает (прямо или косвенно) передачу PUAN/PDAN.
3. PAN, охватывающее неожидаемый блок, обрабатывается "с осторожностью":
PAN, относящееся к неожидаемому блоку, обрабатывается в защищенном от сбоев режиме для того, чтобы окно передачи не передвинулось вперед и не увеличилась вероятность выполнения излишних повторных передач.
4. Быстрое закрытие/повторная установка рассинхронизированных TBF:
Вместо того, чтобы полагаться на существующие таймеры для обнаружения блокировки TBF, объекту противоположной стороны передается сигнал, по возможности сразу после того как становится ясно, что приемное устройство ожидает повторной передачи блока, которого уже нет в буфере передающего устройства.
5. Прием противоречивых PDAN/PUAN - обработка с приоритетом над текущим состоянием.
Поскольку в большинстве случаев PDAN/PUAN передаются более надежно, чем PAN, информация PDAN/PUAN должна иметь преимущество над текущим состоянием. При этом может потребоваться перемещение окна передачи "назад".
Случай 1) Хранение блоков, прием которых был подтвержден:
Одним из требований для избежания блокировок является поддержание передающими оконечными точками RLC блоков данных в буфере передачи даже после того, как их прием был подтвержден посредством PAN (такого требования не предъявляется к блокам, прием которых подтвержден посредством PDAN/PUAN, вследствие гораздо меньшей вероятности "ложного положительного" PDAN/PUAN). О способности поддерживать блоки данных в буфере передачи объекту противоположной стороны сигнализировать не требуется. При этом, поддержание блоков данных в буфере передачи обычно не приводит к дополнительным затратам, так как буферная емкость должна, в любом случае, обеспечиваться для полного размера окна WS (window size) (однако в некоторых случаях меньшее, чем размер окна, количество блоков "ожидают", то есть были переданы, но еще не были положительно подтверждены). Упомянутое хранение блоков данных позволяет передающему устройству осуществлять повторную передачу блоков, прием которых подтвержден положительно, если впоследствии выяснится, что подтверждение приема ложно, то есть содержалось в "ложном положительном" PAN. Без такого хранения TBF пришлось бы закрыть (см. случай 4), так как состояния сетевых узлов не соответствуют друг другу и не могут быть синхронизированы (без перезапуска TBF). Чем дольше хранятся блоки, тем ниже риск того, что повторная передача окажется невозможной.
Случай 2) PUAN/PDAN переданы в ответ на неожидаемый блок.
В режиме подтверждаемого RLC окно приема определяется как диапазон WS (размер окна) последовательных порядковых номеров, начинающихся с порядкового номера, соответствующего самому раннему блоку, который еще не был принят. Прием блока с порядковым номером, большим чем максимальный порядковый номер в окне приема, указывает на то, что окно передачи устройства противоположной стороны (передающего) сдвинулось дальше, чем окно приема принимающего устройства. Это сигнализирует о том, что передающее устройство ошибочно передвинуло свое окно на основе "ложного положительного" PAN. Подобная ситуация проиллюстрирована на фиг.1, где показаны первый, второй и третий блоки DB1…DB3 данных, переменная V(Q) состояния окна приема и окно RW приема. Порядковые номера блоков DB1…DB3 данных увеличиваются на фиг.1 слева направо, при этом порядковый номер блока DB3 данных больше, чем максимальный порядковый номер в окне приема. V(Q) представляет собой самый ранний блок (т.е. блок с минимальным порядковым номером), который не был правильно принят принимающим устройством. Описанное выше применимо для режима подтверждаемого RLC. Однако определение для неустойчивого режима является подобным вышеприведенному, хотя и более сложно.
В ответ на это оконечная точа (сетевой узел), принимающая блок DB3 RLC, опережающий окно RW приема, передает соответствующее сообщение объекту противоположной стороны. Например, она при первой возможности передает PUAN/PDAN, включающий положение начала окна (BOW).
В качестве варианта (в частности применимого, если принимающее блоки данных устройство является мобильной станцией, в данный момент передающей PDAN исключительно в ответ на опрос сети), оконечная точка информирует объект противоположной стороны о приеме неожидаемого блока данных. Для данного случая может использоваться "состояние пакетного мобильного TBF" с включением соответствующей причины, например "окна приема и передачи несинхронизированы". Объект противоположной стороны (то есть сеть) затем запрашивает PDAN и указывает (мобильной станции), что PDAN должен содержать положение начало окна приема.
Если указание противоположной стороне осуществляется в форме PUAN/PDAN, то такое сообщение должно обрабатываться с большим приоритетом, чем предшествующие PAN. Если, например, в PUAN/PDAN указано NACK, то это имеет приоритет надо всеми предшествующими АСК.
В режиме неустойчивого RLC, окно приема определяется иным образом, так что никакой отдельный блок не может рассматриваться как "неожидаемый" принимающим устройством. Следовательно, описанный в настоящем документе подход неприменим для режима неустойчивого RLC. Оконечные точки RLC могут повторно передавать блоки, правильно принятые ранее, например, если после повторной передачи блока подтверждение приема еще не было принято. Поэтому, только блок DB3 данных на правом краю фиг.1 считается ошибочным.
Преимущество настоящего варианта осуществления изобретения состоит в том, что другая оконечная точка способна определить, рассинхронизированы ли окна.
Случай 3) PAN, охватывающее неожидаемый блок, обрабатывается "с осторожностью".
Обработку PAN, относящегося к переданным ранее блокам на основании их порядковых номеров (вместо, например, моментов времени их передачи), предлагается изменить следующим образом. PAN, относящееся к блоку вне окна передачи (т.е. блоку с порядковым номером, меньшим, чем минимальный порядковый номер в окне, или большим, чем максимальный порядковый номер, который был передан, принимая, однако, во внимание - то есть игнорируя - "заполняющие" биты, неотличимые от NACK для блоков, которые приемное устройство RLC еще не приняло) указывает либо на то, что данное, или принятое ранее, PAN не является истинным PAN, a представляет собой случай "ложного положительного" приема. NACK для порядкового номера, меньшего, чем минимальный порядковый номер в окне, является частным случаем общего правила: если принятый блок ранее был подтвержден положительно, а затем подтверждается отрицательно, где-то произошла ошибка. При этом, даже если АСК относится к порядковому номеру блока (block sequence number, BSN) внутри окна, также должен быть выбран защищенный от сбоев режим, если данный BSN еще не был передан. Эти случаи иллюстрируются на фиг.2, на которой показаны первое и второе отрицательные подтверждения приема N1 и N2, положительное подтверждение приема A3, переменная состояния подтверждения приема V(A) и диапазон ТВ переданных блоков. Первое отрицательное подтверждение приема N1 относится к первому блоку DB1 данных, для которого ранее было принято положительное подтверждение приема, а второе отрицательное подтверждение приема N2 относится ко второму блоку DB2 данных, для которого ранее было принято положительное подтверждение приема. Следует отметить, что отрицательные подтверждения приема N1 и N2 содержатся в настоящем примере в PAN, так как PUAN с противоречивым отрицательным подтверждением приема не считается ошибочным. Наконец, необходимо отметить, что V(A) представляет собой самый ранний блок (то есть блок с минимальным порядковым номером), прием которого еще не был положительно подтвержден принимающим устройством и который еще может быть повторно передан.
Для PAN на временной основе проверка достоверности может осуществляться практически идентичным образом. Нарушение следующих требований должно вести за собой обработку "с осторожностью".
- ранее положительно подтвержденный прием блока RLC не должен подтверждаться отрицательно.
- прием блоков RLC не должен подтверждаться для моментов времени передачи, в которые ни одного блока не передавалось (очевидным нарушением является получение АСК для времени передачи, которое находится в будущем). Ожидается, что практически все "ложные положительные" подтверждения приема не пройдут проверку на достоверность.
Возможны два варианта обработки. В обоих случаях целью является предотвратить продвижение окна передачи в результате приема подобных PAN:
1. PAN полностью игнорируется.
2. Внутри PAN обрабатывается только NACK, то есть прием ни одного блока не будет считаться положительно подтвержденным на основании только содержимого упомянутого PAN.
Преимущества данного способа:
- если последнее принятое PAN является "ложным положительным", то считается, что положительного подтверждения приема не было, и блоки, прием которых не подтвержден иным способом, продолжают храниться в буфере передающего устройства для повторной передачи.
- если "ложным положительным" было предшествующее PAN, данный подход минимизирует риск того, что предшествующие блоки будут удалены из буфера передающего устройства, и максимизирует вероятность того, что необходимые повторные передачи окажутся возможными.
Дальнейшим усовершенствованием (не обязательно связанным с предыдущим) является сигнализация об упомянутой ситуации объекту противоположной стороны для инициирования передачи полного PDAN / PUAN, которое должно начинаться от начала окна, чтобы избежать путаницы в передающем устройстве. В случае, когда PAN принимается мобильной станцией, это может осуществляться посредством сообщения "состояния пакетного мобильного TBF" с указанием соответствующей (новой) причины (например, "PAN противоречит передающему окну"). В случае, когда PAN принимается сетью, этим может достигаться посредством запроса полного PAN с включением "первого частичного битового массива" (то есть с принуждением мобильной станции явно указывать начало окна приема). В результате сомнительное PAN будет обработано защищенным от сбоев образом (АСК игнорируются), и во многих случаях инициируется передача сообщения ACK/NACK высокой надежности.
PUAN/PDAN могут охватывать блоки, расположенные ниже окна передачи, если PAN было принято незадолго до PUAN/PDAN. (PDAN относится к блокам, принятым до момента времени, когда был принят запрос; PAN на основе событий может охватывать и более поздние блоки, чем упомянутые, но, возможно, принятые ранее. Аналогично для FANR на "временной основе", PAN на временной основе могут генерироваться в сети после PUAN, однако доставляться раньше них). Поэтому не следует делать вывод о "ложном положительном" подтверждении приема на основании PDAN/PUAN, относящихся к блокам "ниже" окна передачи.
Случай 4) Быстрое закрытие/повторное установление рассинхронизированных TBF:
Если передающее устройство определяет, что оно не может синхронизироваться с принимающим устройством (например, оно приняло PUAN, указывающий NACK для блока, который больше не хранится), обеспечиваются средства для закрытия TBF (или, по возможности, для его повторного установления, чтобы не производить новое выделение ресурсов).
По возможности, могут использоваться существующие сообщения (например, "закрытие пакетного TBF", если закрытие инициируется сетью). Специальное значение причины может использоваться для идентификации причины упомянутого закрытия. Дальнейшим усовершенствованием является указание на то, что хотя состояние RLC должно быть повторно установлено, назначенные ресурсы (на уровне доступа к среде передачи) могут оставаться неизменными. Таким образом, передаче не придется ожидать таймаута. Передача данных может продолжаться без необходимости переназначения ресурсов.
Случай 5) Прием противоречивого PDAN/PUAN:
Если оконечная точка RLC принимает противоречащий ранее принятой информации битовый массив ACK/NACK в PDAN/PUAN (т.е. он отрицательно подтверждает прием блока, прием которого считался ранее подтвержденным положительно), то это может также служить указанием на принятое ранее "ложное положительное" PAN. Эти случаи проиллюстрированы на фиг.3, которая идентична фиг.2, за исключением положительного подтверждения приема A3, и того, что отрицательные подтверждения приема N1 и N2 содержатся не в сообщении PAN, а в сообщении PUAN/PDAN.
В таком случае оконечная точка считает упомянутое PDAN/PUAN правильным и соответствующим образом обновляет V(B), V(A) и V(S). Это может привести к тому, что потребуется передача блока, прием которого прежде считался подтвержденным. При этом существует два варианта:
- передающее устройство RLC все еще имеет упомянутый блок в буфере (например, из-за того, что была выполнена приведенная выше процедура для случая 1; осуществляется возврат к обычным процедурам. В случае, если процедура, описанная для случая 1, не выполняется, передающее устройство должно по возможности не удалять требующие передачи блоки из своего буфера, даже если прежде они находились вне окна передачи (то есть, на самом деле, окно передвинулось назад);
- в буфере передающего устройства RLC упомянутого блока уже нет; в данном случае устройство сигнализирует противоположной стороне о необходимости освобождения TBF (см. выше, случай 4).
Возможно, что PAN (особенно PAN на временной основе), корректно принятое как подтверждение приема блока, принято раньше PUAN/PDAN, сформированных в момент времени, когда упомянутый блок еще не был принят системой базовой станции (BSS). Тем не менее, данный случай защищен текущими требованиями, в соответствии с которыми не извлекается информация из блоков, относящихся к PUAN/PDAN, переданных (или повторно переданных) недавно и, следовательно, к передаче которых не могут относиться упомянутые PDAN/PUAN.
При NPM, в результате подобной ситуации не требуется закрытие TBF. Вероятность "ложного положительного" PDAN/PUAN незначительна вследствие более высокой защиты CRC и надежной модуляции; поэтому вероятность того, что PDAN/PUAN подтвердит прием еще не переданного блока, мала.
На фиг.4 показан поток сообщений между передающим сетевым узлом и принимающим сетевым узлом, иллюстрирующий настоящее изобретение. Сначала блоки DB4…DB6 данных сохраняются в передающем сетевом узле. На втором шаге первый блок DB4 данных передается в принимающий сетевой узел, который положительно подтверждает прием посредством PAN. Передающий сетевой узел принимает это PAN, однако продолжает хранить упомянутый блок DB4 данных. Аналогичная процедура производится для DB5 и DB6, за исключением того, что передающим сетевым узлом для блока DB5 данных получено отрицательное PAN, а для блока DB6 - положительное PAN (например, потому, что во время передачи PAN(DB5) и PAN(DB6) были искажены). Следует отметить, что в примере фиг.4 повторная передача DB5 не осуществляется, хотя и было получено отрицательное подтверждение приема. Тем не менее, в еще одном варианте осуществления изобретения (не показанном), в результате отрицательного подтверждения приема, передающий сетевой узел повторно передает DB5.
Затем для блока DB4 данных передается положительное PUAN. Между положительным PAN и положительным PUAN для DB4 нет противоречия. Соответственно, блок DB4 данных удаляется из памяти. На следующем шаге, для блока DB5 данных передается положительное PUAN. Налицо противоречие между отрицательным PAN и положительным PUAN. Однако PUAN считается более надежным и, следовательно, имеет приоритет над PAN. Соответственно, второй блок DB5 данных также удаляется. Наконец, для блока DB6 данных передается отрицательное PUAN. Снова налицо противоречие, теперь - между положительным PAN и отрицательным PUAN, и снова PUAN имеет приоритет над PAN. Следовательно, блок DB6 данных передается повторно. Наконец, прием блока DB6 данных положительно подтверждается посредством положительного PUAN. Следовательно, блок DB6 данных соответственно удаляется из памяти передающего сетевого узла.
На фиг.5 показан другой пример взаимодействия передающего сетевого узла и принимающего сетевого узла. Первоначально, блоки DB4…DB6 данных хранятся в передающем сетевом узле. Затем блоки DB4…DB6 данных передаются в принимающий сетевой узел. Принимающий сетевой узел, в данном примере, передает единое PAN для всех блоков DB4…DB6 данных. Для обозначения положительного подтверждения приема на чертеже перед блоком данных указан знак "плюс", для обозначения отрицательного подтверждения приема - знак "минус". С точки зрения передающего сетевого узла, прием блоков DB4 и DB5 данных (предположительно) подтвержден положительно (прием DB5, однако, на основании ошибочно принятого PAN), прием блока DB6 данных - отрицательно. Следовательно, блок DB6 данных передается повторно. На следующем шаге для блоков DB4..DB6 данных передается PUAN. Прием блока DB4 данных подтверждается положительно, блоков DB5 и DB6 - отрицательно. Очевидно, возникает противоречие для второго блока DB5 данных. Соответственно, положительное PAN для блока DB5 данных игнорируется, или предположительное положительное подтверждение приема упраздняется и заменяется на отрицательное подтверждение приема соответственно. Для блока DB4 данных противоречие отсутствует. Значит блок DB4 данных удаляется из буфера передачи передающего сетевого узла. Для блока DB6 нет противоречия, но его прием дважды подтвержден отрицательно. Соответственно, блоки DB5 и DB6 данных передаются повторно. Вслед за этим передаются PAN и затем PUAN, оба положительно подтверждающие прием блоков DB5 и DB6 данных. Таким образом, блоки DB5 и DB6, наконец, удаляются из буфера передачи. Необходимо отметить, что передающий узел не обязательно принимает именно то подтверждение приема, которое посылает принимающий сетевой узел, как в случае блока DB5 данных в настоящем примере.
На фиг.6 показан практически аналогичный фиг.5 пример, в котором, однако, PUAN передается раньше, чем PAN. Если возникают противоречия между подтверждениями приема (в частности, снова касающимися блока DB5 данных), то PAN игнорируется целиком. В настоящем примере прием блоков DB4 и DB5 данных подтверждается положительно, поэтому они удаляются из памяти. Для блока DB6 данных принято отрицательное подтверждение приема. Соответственно, блок DB6 данных передается повторно.
Также, положительное подтверждение приема классифицируется как ошибочное, если оно относится к блокам DB4..DB6, которые находятся вне окна передачи фиг.4-6.
Следует отметить, в частности, по отношению к фиг.4-6, что принятое передающим устройством подтверждение приема (например, PAN, PDAN, PUAN) не обязательно такое же, как переданное принимающим устройством. Подтверждение приема может быть искажено при передаче, или неверно интерпретировано, или ошибочно декодировано передающим устройством. Следовательно, важно именно то, что было принято, а не то, что отправлено. Кроме того, примеры фиг.4-6 основаны на использовании PUAN в качестве второго типа положительного/отрицательного подтверждения приема или второго типа информации положительных/отрицательных подтверждений приема. Если блоки данных передаются в обратном направлении, то есть сеть EGPRS является передающим сетевым узлом, а мобильная станция является принимающим сетевым узлом, вместо PUAN будет использоваться PDAN.
Настоящее изобретение применимо во всех видах сетей и, в частности, для использования в GSM BSC или GSM BSS, в управлении радиолинией для GPRS/EGPRS и в устройствах, реализующих функцию быстрого сообщения ACK/NACK (FANR) (также называемую "уменьшенная задержка").
Наконец, следует отметить, что вышеупомянутые варианты осуществления изобретения не ограничивают, а иллюстрируют настоящее изобретение, и специалисты в данной области могут разработать множество альтернативных вариантов осуществления изобретения без выхода за рамки настоящего изобретения, определяемые в приложенной формуле изобретения. В формуле изобретения/помещенные в скобках обозначения, не следует толковать как ограничивающие формулу изобретения. Глаголы "включать", "содержать" и их производные не исключают присутствие дополнительных к перечисленным в каком-либо пункте формулы изобретения (или описании в целом) элементам или шагам. Ссылка на элемент в единственном числе не исключает возможность осуществления ссылок на множество подобных элементов и наоборот. В пунктах формулы изобретения, касающихся устройства, где перечисляются различные средства, несколько этих средств могут реализовываться в одном и том же элементе аппаратного или программного обеспечения. Тот факт, что некоторые меры приведены в различных зависимых пунктах формулы изобретения, не означает, что комбинация этих мер не может использоваться эффективно.
Список обозначений и сокращений/акронимов
A3 положительное подтверждение приема
DB1…DB6 блоки данных
N1…N2 отрицательные подтверждения приема
RW окно приема
ТВ диапазон переданных блоков
V(A) переменная состояния подтверждения приема
V(Q) переменная состояния окна приема
АСК подтверждение приема (блока RLC)
BSC контроллер базовых станций
BSS базовая станция
BSN порядковый номер блока
CRC проверка циклическим избыточным кодом
FANR быстрое сообщение ACK/NACK
NACK отрицательное подтверждение приема
NPM неустойчивый режим
PAN присоединенное ACK/NACK
PANI индикатор PAN (в заголовке для сигнализации присутствия PAN)
PDAN ACK/NACK пакетной нисходящей линии (используемое как общее понятие, включающее, например, пакетный ACK/NACK нисходящей линии EGPRS, пакетный ACK/NACK Типа 2 (ACK/NACK Type 2) нисходящей линии EGPRS и т.п.)
PUAN ACK/NACK пакетной восходящей линии
RLC управление радиолинией
SSN начальный порядковый номер
TBF временный поток блоков
TFI идентификатор временного потока
WS размер окна
XOR операция "исключающее или"