Настоящее изобретение относится в общем к области беспроводных систем связи, и более точно, к управлению потоком данных между контроллером базовой станции и базовой приемопередающей станцией.
Технология высокоскоростной передачи данных (ТВПД) - есть технология высокоскоростной и производительной передачи данных в беспроводных системах связи, оптимизированная для передачи пакетов данных. Используя один предназначенный для передачи данных канал 1,25 МГц, ТВПД может передавать данные с пиковой скоростью 2,4 Мбит/с, которая существенно выше, чем скорости доступов, предоставляемых большинством наземных сетей связи. Таким образом, преимущества ТВПД включают в себя, среди прочего, передачу данных с высокой скоростью и высокой спектральной эффективностью.
ТВПД является основанием для стандарта 1xEV-DO (только 1-х извлечения данных), который был стандартизирован Ассоциацией Телекоммуникационной Промышленности как TIA/EIA/IS-856. ТВПД разработан для взаимодействия с существующими системами беспроводной связи, например, системы связи множественного доступа с кодовым разделением каналов (МДКР). В системах связи МДКР сигнал пользователя отделен от сигналов других пользователей с помощью кодирования сигнала. Каждый пользователь уникально кодирует сигнал информации в сигнал передачи, который затем передается по каналу 1,25 МГц. Получатель, которому предназначена информация, зная кодовые последовательности пользователя, может декодировать сигнал передачи, чтобы воспринять информацию. Факт, что канал системы связи МДКР составляет 1,25 МГц, упрощает интеграцию ТВПД в существующие структуры сетей связи МДКР.
На примере системы связи МДКР можно видеть, что ТВПД может использовать существующую инфраструктуру и архитектуру, системы связи МДКР, включая контроллеры базовых станций (КБС) и базовые приемопередающие станции (БППС). Например, в системе связи МДКР, настроенной на взаимодействие с ТВПД, загружаемые пользователем данные из Интернет направляются через КБС к БППС, которая передает данные пользователю через выделенный для данных канал 1,25 МГц или через воздушную линию связи. Перед посылкой данных на БППС КБС упаковывает поток данных в пакеты ТВПД (или "пакеты данных") размером 128 байт. Пакеты данных принимаются на БППС и помещаются в буфер (или "очередь") фиксированного размера для дальнейшей передачи пользователю по протоколу ТВПД.
Для уменьшения вероятности переполнения буфера в БППС, то есть когда БППС принимает больше данных от КБС, чем буфер может принять и/или передать пользователю, также как и вероятности "голодания" буфера, то есть когда БППС не принимает данные от КБС, когда буфер пуст, обычно используются механизмы управления потоком данных между КБС и БППС. В целом, механизмы управления потоком основаны на сообщениях, передаваемых от БППС к КБС относительно количества свободного места, или "окна", имеющегося в буфере для приема следующей порции данных от КБС, чтобы КБС мог определить, сколько данных передавать на БППС.
Один из предшествующих способов для управления потоком данных между КБС и БППС включает в себя передачу сообщения от БППС о размере окна его буфера к КБС в заранее определенные точки порога емкости буфера. Например, когда буфер приближается к полной загруженности и достигает заданного верхнего порога, система управления потоком включается, и БППС посылает сигнал, информирующий КБС о необходимости прекратить передавать дополнительные пакеты данных, чтобы не переполнить буфер. Переполнение буфера может приводить к проблемам, таким как упускание и утрата пакетов данных в буфере и необходимость их потом ретранслировать, что ведет к менее надежной передаче данных. Далее, необходимость ретранслировать упущенные или потерянные данные, означает большую подверженность перегрузкам и замедление связи. В другом случае, когда буфер опустошается и достигает заданного нижнего порога, включается система управления потоком, и БППС посылает сигнал, информирующий КБС о необходимости послать больше пакетов данных. Пустой буфер означает простаивание системных ресурсов, потому что это его состояние может приводить к посылке не несущих в себе информации кадров воздушной сети, которые могли бы использоваться для пересылки данных из буфера.
Исходя из описанной выше предшествующей системы управления потоком данных видно, что сигналы обратной связи могут быть не получены вовремя контроллером базовой станции, чтобы предупредить переполнение или опустошение буфера. Например, к какому-то моменту времени КБС принимает сигнал от БППС, о необходимости прекратить посылать данные, КБС, возможно, уже поместил слишком большое количество данных "на выход", чтобы избежать переполнения буфера, что ведет к упусканию пакетов данных в буфере. В случае опустошающегося буфера сигнал о необходимости послать больше данных, чтобы заполнять буфер прежде, чем он полностью опустошится, может быть не получен КБС вовремя, что приведет к возникновению пустых кадров воздушной связи. Далее, система управления потоком, включенная по достижении порога заполнения буфера, может приводить к передаче большого количества сигналов обратной связи, что даст еще большую нагрузку на систему и сделает ее более подверженной перегрузкам.
Имеется соответственно необходимость в разработке улучшенного способа для управления потоком данных между КБС и БППС. Более точно, имеется необходимость разработки способа, чтобы уменьшить вероятность переполнения буфера, а также полного опустошения буфера.
Варианты осуществления изобретения, раскрытые здесь, отвечают вышеуказанным задачам посредством увязывания потока данных между КБС и БППС непосредственно со скоростью передачи данных, переданных от БППС к радиоприемному устройству, такому как мобильное устройство.
В одном аспекте изобретения счетчик индикации потока, ответственный за отслеживание скорости передачи данных, выходящих из буфера БППС, приращивается каждый раз, когда пакет данных передается из буфера. Например, обновленное число пакетов данных, переданных из буфера, сравнивается с порогом, который может быть пятьдесят. Когда обновленное число переданных пакетов равняется или превышает порог, производится определение размера окна буфера и генерация сообщения индикации потока, включающего в себя размер окна буфера, которое далее передается к КБС. Размер окна буфера, который представляет собой количество свободного места буфера, доступного для приема данных, используется контроллером базовой станции, чтобы определить количество данных для передачи на БППС. Дополнительно, сообщение индикации потока может содержать идентификационный номер (ИН) последнего принятого пакета данных, полученного буфером, и этот ИН используется контроллером базовой станции для определения правильного порядка пакетов данных для последующей передачи.
В другом аспекте изобретения таймер отслеживает время, прошедшее после передачи последнего сообщения, и запускает генерацию и передачу сообщения индикации потока, когда прошедшее время становится равным или превышает пороговый временной интервал. Пороговый временной интервал может быть, например, 0,5 с. Таким образом, использование таймера дает гарантию, что сообщение индикации потока будет посылаться не реже, чем по прошествии порогового временного интервала, независимо от количества пакетов данных, переданных из буфера.
В другом аспекте изобретения система управления потоком может быть создана так, чтобы она содержала модуль счетчика индикации потока, настроенный для сообщения обновленного числа пакетов данных, переданных из буфера на базовой станции. Система может далее включать в себя модуль наблюдения за размером окна, который определяет размер окна буфера, в момент, когда обновленное число пакетов данных, переданных из буфера, равняется или превышает порог. Например, порог может быть установлен равным пятидесяти. Размер окна буфера используется модулем генерации сообщений, который генерирует сообщение индикации потока, включающее в себя размер окна. Далее сообщение индикации потока передается к КБС, который использует размер окна буфера, чтобы определить количество данных для передачи к БППС.
Фиг.1 - блок-схема примерной системы беспроводной связи в соответствии с одним вариантом осуществления изобретения.
Фиг.2 - иллюстративное представление буфера, использованного в примерном варианте осуществления изобретения.
Фиг.3 - блок-схема модуля управления потоком в соответствии с одним вариантом осуществления изобретения.
Фиг.4 - блок-схема процесса управления потоком данных между КБС и БППС в соответствии с одним вариантом осуществления изобретения.
Настоящее изобретение направлено на использование способа и системы управления потоком данных между КБС и БППС. Хотя изобретение описано здесь в соответствии со спецификой данного варианта осуществления, принципы изобретения, определенные здесь в формуле изобретения, очевидно могут быть применены в других вариантах, отличных от варианта осуществления, изложенного подробно здесь. Кроме того, некоторые подробности были опущены, чтобы не затемнять новационные признаки изобретения. Специфические подробности, не описанные в данной заявке, не выходят за пределы знаний специалистов в данной области.
Чертежи в настоящей заявке и их сопровождающее подробное описание - есть только вариант примерного осуществления изобретения. Для краткости другие варианты осуществления изобретения, которые используют принципы настоящего изобретения, в настоящей заявке специально не описаны и не проиллюстрированы в представленных чертежах.
Слово "примерный" используется здесь исключительно в смысле "служащий примером, вариантом или иллюстрацией". Любой вариант осуществления, описанный здесь как "примерный", не обязательно должен быть рассмотрен как предпочтительный или выгодный по отношению к другим вариантам.
Фиг.1. иллюстрирует примерную систему беспроводной связи в соответствии с одним вариантом осуществления. Примерная система 100 беспроводной связи, показанная на фиг.1, может содержать, например, часть системы связи МДКР настроенную на взаимодействие с ТВПД. Общие компоненты систем связи МДКР, и в особенности общие компоненты для создания сигналов расширенного спектра для передачи по каналу связи описаны в патенте США № 4901307, озаглавленном "Система связи множественного доступа с расширенным спектром, использующая спутниковые или наземные ретрансляторы", и принадлежащем правопреемнику настоящего изобретения. Техническое решение, раскрытое в патенте США № 4901307, тем самым полностью включено в качестве ссылки в описание. Также патент США № 5103459, озаглавленный "Система и способ для создания форм волны сигналов в сотовой телефонной связи МДКР" и принадлежащий правопреемнику настоящего изобретения, раскрывает принципы, связанные с псевдошумовым кодированием с расширением спектра, использованием функций Уолша, и способы генерации сигнала расширенного спектра в системе связи МДКР. Техническое решение, раскрытое в патенте США № 5103459, также включено в качестве ссылки в настоящее описание. Далее, настоящее изобретение использует уплотнение по времени данных и принципы, связанные с системами связи, использующими ТВПД, и настоящее изобретение может использоваться в системах связи, использующих ТВПД, такой как раскрыт в заявке на патент США "Способ и устройство для высокоскоростной передачи пакетов данных" № 08/963386 от 03.11.1997 г., по которой выдан патент США № 6574211 от 30.06.2003 и принадлежащий правопреемнику настоящего изобретения. Техническое решение, раскрытое в этом патенте, также включено в описание настоящей заявки в качестве ссылки.
В продолжение описания фиг.1 примерная система 100 беспроводной связи содержит компоненты, обычно имеющиеся в системах беспроводной связи, включающие в себя беспроводное приемное устройство, такое как мобильное устройство 110, базовая приемопередающая станция ("БППС") 116, контроллер 122 базовой станции ("КБС"), "Интернет" 124 и сервер 126 данных. Мобильное устройство 110 и БППС 116 далее содержат антенну 112 и антенну 114 соответственно. В системе 100 беспроводной связи БППС 116 служит как связующее звено радиолинии между мобильным устройством 110 и остальной частью системы. Необходимо отметить, что системы беспроводной связи могут содержать другие компоненты, такие как центр коммутации мобильной связи и коммутируемую телефонную сеть общего пользования, которые не показаны на прилагаемых чертежах, чтобы не затемнять изобретение.
Примерная система 100 радиосвязи иллюстрирует, как данные из Интернета могут быть переданы к мобильному устройству 110, будучи направлены от сервера 126 данных через Интернет 124 к КБС 122, и к БППС 116, который передает данные к мобильному устройству 110, например, по каналу воздушной связи 1,25 МГц. Сервер 126 данных может быть, например, HTTP- или FTP-сервером. Данные из Интернета могут быть переданы от БППС 116 к мобильному устройству 110 с использованием протокола ТВПД.
В продолжение описания фиг.1 БППС 116 далее содержит буфер 118 и модуль 120 управления потоком. В примерной системе 100 беспроводной связи, данные, принятые контроллером 122 базовой станции, упаковываются в дискретные 128-байтовые пакеты данных ТВПД перед посылкой их на БППС 116. БППС 116 принимает 128-байтовые пакеты данных и размещает их в буфере 118. Буфер 118, который имеет фиксированный размер, используется для временного хранения данных для их обработки или в потоковом медиаприложении для компенсации любых задержек в приходе связанных пакетов данных до их передачи на мобильное устройство 110. Необходимо отметить, что базовая приемопередающая станция, такая как БППС 116, может включать в себя несколько буферов, например для передачи, ретрансляции и сигнализации, и что каждый тип буфера настроен на прием и обработку различных типов данных для их последующей передачи к разным приемным устройствам.
В продолжение описания фиг.1 модуль 120 управления потоком следит за скоростью данных, "выходящих" из буфера 118. Например, модуль 120 управления потоком может считать количество пакетов данных, переданных от буфера 118 к мобильному устройству 110. В то же самое время модуль 120 управления потоком также следит за размером окна буфера 118, которое является количеством свободного места, имеющегося в буфере 118 для приема большего количества данных от КБС 122.
Согласно одному варианту воплощения модуль 120 управления потоком использует число пакетов данных, переданных от буфера 118, чтобы определить соответствующее время для посылки сообщения к КБС 122. Следует отметить, что отклик, который посылается от модуля 120 управления потоком к КБС 122, в данной заявке также упоминается как "сообщение индикации потока". Например, модуль управления потоком 120 может быть настроен на посылку сообщения индикации потока после передачи каждых пятидесяти пакетов данных из буфера 118. Однако, что очевидно для специалистов в данной области техники, пороговое число пакетов данных, переданных от буфера 118, необходимое для генерации передачи сообщения индикации потока, может быть установлено отличным от пятидесяти, в зависимости от необходимых условий и ресурсов системы. Сообщение индикации потока сообщает КБС 122, сколько данных следует передать в буфер 118 на основе размера окна буфера 118. Таким способом, контроль над тем, сколько данных КБС 122 передает к БППС 116, основан на том, как быстро данные передаются от буфера 118. Так, фиг.1 иллюстрирует систему беспроводной связи, где управление потоком между КБС и БППС прямо привязано к тому, с какой скоростью данные передаются из буфера.
Фиг.2 показывает примерный буфер для иллюстрации одного варианта воплощения. Примерный буфер 200, показанный на фиг.2, составляет часть базовой приемопередающей станции в системе беспроводной связи, такой как система связи МДКР, настроенной на взаимодействие с технологией ТВПД, как показано на фиг.1. Буфер 200 может соответствовать, например, буферу 118 БППС 116 системы беспроводной связи 100 на фиг.1. Буфер 200 может быть буфером передачи, например, настроенным для выстраивания очереди данных из Интернета до их передачи беспроводному мобильному устройству, такому как мобильное устройство 110 на фиг.1.
В продолжение описания фиг.2 буфер 200 имеет фиксированный размер или пространство для хранения данных (то есть размер 206 буфера), который может быть, например, приблизительно 50 Кб для типичного буфера передающего устройства. Далее, буфер 200 содержит данные 208, имеющие размер 210, который представляет собой количество данных, поставленных в очередь в буфере 200 для передачи к беспроводным мобильным устройствам, и окно 212, имеющее размер 214, которое представляет собой неиспользованное пространство, доступное для приема большего количества данных в буфер 200. Относительные размеры данных 208 и окна 212 являются функциями скорости потока данных через буфер 200.
В продолжение описания фиг.2 данные перемещаются в буфер 200 от КБС, как показано стрелкой 202, и выходят из буфера 200 к терминалу беспроводного доступа, такому как мобильное устройство, как показано стрелкой 204. Как было показано выше, в системах ТВПД данные принимаются на БППС и помещаются в буфер в виде отдельных 128-байтовых пакетов, таких как пакет 216 данных. Таким образом, типичный 50 Кб, передающий буфер, может иметь в себе очередь из приблизительно 400 пакетов данных, а система беспроводной связи, использующая ТВПД, работающую при пиковой скорости передачи данных 2,4 Мбит/с, может передать приблизительно 2400 пакетов данных в секунду.
В продолжение пояснений к фиг.2 пакет 216 данных представляет из себя один из множества подобным образом упакованных пакетов данных 208, поставленных в очередь в буфере 200. Пакет 216 данных показан на фиг.2 увеличенным, чтобы облегчить дальнейшее объяснение. Как и другие аналогично упакованные пакеты данных в буфере 200, пакет 216 данных содержит в себе данные, в данном случае данные 218, и идентификационный номер (ИН) пакета, в данном случае ИН 220 пакета. ИН 220 пакета - это "бирка", "прикрепленная" к данным 218 контроллером базовой станции и единственная для пакета 216 данных. ИН 220 пакета может использоваться, например, для прослеживания перемещения пакета 216 данных, пока он движется определенным в системе связи способом.
В одном варианте осуществления уникальный ИН последнего принятого буфером пакета данных, то есть пакета данных, принятого буфером последним за текущий период времени, включен в сообщение индикации потока, переданное к КБС. ИН пакета данных, принятого последним в текущем промежутке времени, в данной заявке также называется "ИН последнего принятого пакета". Как было показано выше, сообщение индикации потока передается после того, как из буфера будет передано пороговое количество пакетов данных. В данном варианте воплощения сообщение индикации потока помимо ИН последнего принятого пакета может также содержать размер окна буфера.
КБС может использовать информацию из сообщения индикации потока, чтобы определить не только, сколько данных посылать базовой приемопередающей станции, основываясь на знании размера окна буфера, но также для организации правильного порядка следования пакетов данных, чтобы послать следующий пакет со следующим после ИН последнего пакета номером ИН. Таким образом, поток данных от КБС к БППС регулируется как размером окна буфера, так и ИН последнего пакета данных, принятого буфером. Так, фиг.2 показывает примерный буфер, используемый для иллюстрации одного варианта воплощения, где размер окна буфера и ИН последнего принятого буфером пакета данных включены в сообщение индикации потока, чтобы совершенствовать управление потоком между КБС и БППС.
Фиг.3 иллюстрирует примерный модуль управления потоком в соответствии с одним вариантом воплощения. Модуль 300 управления потоком, показанный на фиг.3, составляет часть БППС в системе беспроводной связи, например в системе МДКР, настроенной на взаимодействие с ТВПД. Модуль 300 управления потоком может соответствовать, например, модулю 120 управления потоком в БППС 116 системы беспроводной связи 100 на фиг.1. Модуль 300 управления потоком содержит модуль 302 счетчика индикации потока, модуль 304 наблюдения за ИН пакетов данных, модуль 306 наблюдения за размером окна, таймер 308 и модуль 310 генерации сообщений. Поток информации "к" "между" "от" модулей обозначен в блок-схеме на фиг.3 стрелками, которые также указывают направление потока информации.
В продолжение описания фиг.3 модуль 302 счетчика индикации потока наблюдает за потоком данных, переданных от буфера, который может быть, например, передающим буфером, таким как буфер 200 на фиг.2, который в свою очередь соответствует буферу 118 на фиг.1. В одном варианте исполнения модуль 302 счетчика индикации потока хранит обновленное число пакетов данных, переданных из буфера, и сравнивает обновленное число с порогом. Например, порог может быть пятьдесят, но может альтернативно иметь другое значение, в зависимости от необходимых условий и ресурсов системы. Когда обновленное число пакетов данных, переданных из буфера, равно или больше порога, модуль 302 счетчика индикации потока посылает сигнал модулю 310 генерации сообщений генерировать сообщение индикации потока. Таким образом, модуль 302 счетчика индикации потока ответственен за слежение за потоком данных из буфера и за запуск механизма управления потоком, когда число пакетов данных, переданных из буфера, равняется или превышает порог.
В продолжение описания фиг.3 модуль 304 слежения за ИН пакетов данных также принимает информацию от буфера. Модуль 304 слежения за ИН пакетов данных следит за приемом буфером каждого пакета данных и считывает ИН каждого пакета данных. На фиг.2 показано, что модуль 304 слежения за ИН пакетов данных может читать ИН 220 пакета, соответствующий пакету 216 данных, когда пакет 216 данных получен буфером 200. ИН каждого последующего пакета данных, полученного буфером аналогично, читается модулем 304 слежения за ИН пакетов. Модуль 304 слежения за ИН пакетов передает модулю 310 генерации сообщений ИН пакета данных, принятого буфером последним за текущий промежуток времени. Модуль 310 генерации сообщений может сохранять ИН пакета, принятого последним за текущий промежуток времени, для последующей обработки.
В продолжение описания фиг.3 модуль 306 наблюдения за размером окна настроен на слежение за размером окна буфера. Размер окна, который представляет собой количество свободного места буфера, имеющегося для приема следующей порции данных, прямо пропорционален скорости перемещения данных в буфер и из буфера. Пример размера окна в буфере показан на фиг.2 как размер окна 214 в буфере 200. Размер окна, такой как размер 214 окна, уменьшается, когда буфер принимает большее количество пакетов данных от КБС, и наоборот, размер окна увеличивается, когда пакеты данных передаются из буфера на беспроводной терминал доступа или на беспроводное мобильное устройство. Модуль 306 слежения за размером окна буфера наблюдает за размером окна буфера и передает информацию о размере окна модулю 310 генерации сообщений.
Информация, полученная модулем 310 генерации сообщений от модуля 302 счетчика индикации потока, модуля 304 слежения за ИН пакетов данных и модуля 306 слежения за размером окна, используется модулем 310 генерации сообщений, чтобы генерировать сообщение индикации потока. Модуль 310 генерации сообщений включается модулем 302 счетчика индикации потока, когда число пакетов данных, переданных из буфера, достигает порога. Будучи включен, модуль 310 генерации сообщений генерирует сообщение индикации потока, содержащее размер окна буфера и ИН пакета данных, принятого буфером последним за текущий промежуток времени.
Сообщение индикации потока далее передается к КБС, который использует информацию, то есть размер окна буфера и ИН пакета для определения, сколько данных должно быть послано в следующий раз и ИН следующего пакета данных. Передача сообщения индикации потока может быть выполнена, например, модулем передачи на базовой станции. Необходимо отметить, что передающий модуль базовой станция не отображен в прилагаемых чертежах. Далее модуль 310 генерации сообщений сообщает модулю 302 счетчика индикации потока о передаче очередного сообщения индикации потока для того, чтобы модуль 302 счетчика индикация потока мог сбросить на ноль показания обновленного числа пакетов данных, переданных от буфера. Привязывая механизм управления потоком непосредственно к скорости передачи данных из буфера, данный вариант воплощения обеспечивает более надежный способ для управления потоком, чем традиционные способы управления потоком. Далее вероятность переполнения буфера уменьшается, потому что КБС принимает информацию о скорости передачи данных, выходящих из буфера, и может регулировать в соответствии с этим количество данных, посылаемых буферу.
В другом примере модуль 310 генерации сообщений запускается на генерацию и посылку сообщения индикации потока по истечении порогового временного интервала с момента передачи последнего сообщения индикации потока, даже если пороговое число пакетов данных, переданных от буфера, не было достигнуто, то есть даже если модуль 302 счетчика индикации потока не запускает модуль 310 на генерацию сообщения. Таймер 308 в модуле 300 управления потоком следит за временем, прошедшим между сообщениями индикации потока, посылаемыми модулем 310 генерации сообщений. Если пороговый временной интервал проходит без передачи сообщения индикации потока, таймер 308 запускает модуль 310 генерации сообщений для генерации и передачи сообщения индикации потока. Например, пороговый временной интервал может быть 0,5 с. Сообщение индикации потока может содержать информационное сообщение, которое модуль 310 генерации получает от модуля 304 слежения за ИН пакетов данных, то есть ИН последнего принятого пакета и от модуля 306 слежения за размером окна, то есть размер окна буфера. Так, таймер 308 запускает модуль 310 генерации сообщений на посылку сообщения индикации потока независимо от числа пакетов данных, переданных от буфера.
В продолжение описания фиг.3 работа таймера 308 важна в ситуациях, когда в буфере освобождается место для приема данных, но КБС данные не передает.
Эта ситуация может возникнуть, например, когда сообщение индикации потока, сообщающее КБС о наличии свободного места в буфере, потеряно или пропущено КБС, КБС в результате оказывается неинформированным, что буфер может принять больше данных. Следовательно, как только буфер освободится от данных и новые пакеты данных не будут приходить от КБС, механизм управления потоком может "застопориться", так как никакие пакеты данных от буфера не будут переданы, чтобы запустить механизм управления потоком. Другими словами, модуль 302 счетчика индикации потока не сможет запустить модуль 310 генерации сообщений, так как число переданных пакетов не достигнет порога. Однако, поскольку таймер 308 запускает модуль 310 генерации сообщений независимо от числа пакетов данных, переданных от буфера, использование таймера 308 гарантирует, что сообщения индикации потока будут посланы, даже если буфер окажется пустым и ни один пакет данных не будет передан из буфера. Таким способом предотвращается возможное запирание механизма управления потоком. Далее, поскольку сообщение индикации потока посылается по крайней мере каждый установленный интервал времени, возможность опустошения буфера значительно сокращается.
Так, фиг.3 иллюстрирует примерный модуль управления потоком, который генерирует и передает сообщения индикации потока после того, как число переданных пакетов данных достигает порога в соответствии с вариантом воплощения. Далее, фиг.3 иллюстрирует компонент защиты, который запускает генерацию и передачу сообщений индикации потока независимо от числа пакетов данных, переданных из буфера.
Фиг.4 показывает блок-схему 400, описывающую примерный процесс управления потоком между КБС и основным приемопередающим устройством в соответствии с данным вариантом воплощения. Блок-схема 400, показанная на фиг.4, описывает процесс, который может быть выполнен на БППС в системе беспроводной связи, например в системе связи МДКР, настроенной на взаимодействие с ТВПД. Процесс, показанный на блок-схеме 400, может быть выполнен модулем управления потоком, таким как модуль 300 управления потоком на фиг.3. Так, для иллюстративных целей процесс, показанный в блок-схеме 400, будет описан на примере модуля 300 управления потоком на фиг.3.
В продолжение описания фиг.4 процесс управления потоком начинается, когда устанавливается связь между КБС и БППС, в которой находится модуль управления потоком, такой как модуль 300 управления потоком. На этапе 402 сразу после того, как установлена связь, сообщение индикации потока передается к КБС. Сообщение индикации потока может быть передано модулем 310 генерации сообщений и может содержать размер окна буфера на БППС. Например, буфер может быть передающим буфером, таким как буфер 118 на фиг.1. Целью посылки этого начального сообщения индикации потока является сообщить КБС о пространстве буфера, доступном для приема данных.
Продолжая описание блок-схемы 400 на фиг.4, на этапе 404 определяется, истек ли пороговый временной интервал после того, как было послано последнее сообщение индикации потока. Необходимо отметить, что последнее сообщение индикации потока также упоминается в данной заявке как "последнее сообщение". Пороговый временной интервал который может быть, например, 0,5 с, также упоминается в заявке как "время Т". Отслеживание истекшего времени может быть выполнено таймером, таким как таймер 308 в модуле 300 управления потоком способом, известным специалистам в данной области техники. Когда на этапе 404 таймер определяет, что время Т с момента посылки последнего сообщения истекло, тогда управление потоком переходит к этапу 412, где посылается новое сообщение индикации потока.
Если вместо этого на этапе 404 таймер определяет, что время, прошедшее с момента посылки последнего сообщения, меньше, чем время Т, тогда управление потоком переходит к этапу 406. На этапе 406 определяется, был ли послан из буфера новый или "следующий" пакет данных. Это определение может быть выполнено программно в модуле счетчика индикации потока, таком как модуль 302 счетчика индикации потока. Когда следующий пакет данных окажется неотправленным, тогда процесс возвращается к этапу 404, чтобы снова проверить, не истекло ли время Т с момента посылки последнего сообщения индикации потока. Таким способом, то есть возвращаясь по циклу назад к этапу 404, когда следующий пакет данных оказывается неотправленным из буфера, срабатывает механизм защиты, что дает уверенность, что сообщения индикации потока будут посылаться по крайней мере каждый временной интервал T.
Если на этапе 406 определено, что следующий пакет данных был послан, тогда процесс переходит к этапу 408, и счетчик индикации потока, такой как модуль 302 счетчика индикации потока, приращивается, чтобы обновить значение числа пакетов данных, переданных из буфера. Обновленное число пакетов данных, переданных из буфера, может быть сохранено в памяти модуля индикации потока.
На этапе 410 обновленное число пакетов данных, переданных из буфера, сравнивается с пороговым числом переданных пакетов данных. Пороговое число переданных пакетов данных, которое может быть установлено, к примеру, 50, в настоящей заявке также упоминается как " пороговое число". Сравнение обновленного числа переданных пакетов данных с пороговым числом может быть выполнено, например, программно в счетчике 302 индикации потока. Когда обновленное число пакетов данных, переданных из буфера, меньше, чем пороговое число, процесс переходит к этапу 404. Возвратом по циклу на этап 404, когда обновленное число переданных пакетов данных оказывается меньше порогового числа, процесс обеспечивает надежность того, что сообщения индикации потока будут посылаться по крайней мере не реже, чем через временной интервал Т, когда поток данных из буфера относительно невелик и временной интервал прежде, чем достигнуто пороговое число, возрастает.
Если на этапе 410 определено, что обновленное число пакетов данных, переданных из буфера, равно или более, чем пороговое число, тогда процесс переходит к этапу 412. На этапе 412, генерируется сообщение индикации потока, которое затем посылается КБС. Сообщение индикации потока может содержать размер окна буфера и ИН последнего принятого пакета данных, полученного буфером, т.н. ИН последнего пакета. Сообщение индикации потока может быть сгенерировано и послано модулем 310 генерации сообщений, который получает значение размера окна буфера от модуля 308 наблюдения за размером окна и модуля 308 контроля ИН последнего пакета. Этапы генерирования и передачи сообщения индикации потока к контроллеру базовой станции также упоминаются в настоящей заявке как "рекомендации". Так, сообщение индикации потока передает информацию контроллеру базовой станции, который использует информацию, чтобы определить, сколько данных передать на буфер, а также правильный порядок посылки пакетов данных.
В продолжение описания блок-схемы 400 процесс далее переходит к этапу 414, где обновленное число переданных пакетов данных и время Т обнуляются. Процесс затем возвращается к этапу 404, чтобы продолжать управление потоком данных от контроллера базовой станции к базовой приемопередающей станции. Необходимо отметить, что процесс не закрывается, "не заканчивается", пока подключение между контроллером базовой станции и базовой приемопередающей станцией не прекращается. Так, фиг.4 показывает примерный процесс управления потоком между контроллером базовой станции и базовой приемопередающей станцией в соответствии с одним вариантом воплощения.
Специалисты в данной области техники понимают, что информация и сигналы могут быть представлены с использованием различных технологий и способов. Например, данные, инструкции, команды, информация, сигналы, биты, символы и дискреты, которые могут быть упомянуты где-либо в вышеупомянутом описании, могут быть представлены напряжениями, токами, электромагнитными волнами, магнитными полями или частицами оптическими полями или частицами или любой комбинацией перечисленного. Специалисты в данной области техники оценят, что различные иллюстративные логические блоки, модули, цепи и этапы алгоритма, описанные в связи с вариантами воплощения, раскрытыми здесь, могут быть реализованы как электронное оборудование, программное обеспечение или комбинация того и другого. Чтобы ясно иллюстрировать эту взаимозаменяемость оборудования и программного обеспечения, выше были описаны различные иллюстративные компоненты, блоки, модули, цепи и этапы в терминах их функциональных возможностей. Реализована ли такая функциональность, как оборудование или программное обеспечение, зависит от конкретного применения и конструктивных ограничений, наложенных на систему в целом. Специалисты в данной области техники могут претворять описанную функциональность различными путями для каждого конкретного применения, но такие решения не должны рассматриваться как выходящие за пределы настоящего изобретения.
Различные иллюстративные логические блоки, модули и цепи, описанные в связи с вариантами исполнения, раскрытыми здесь, могут быть реализованы или выполнены процессором общего назначения, цифровым сигнальным процессором (DSP), специализированной интегральной микросхемой, программируемой вентильной матрицей ("FPGA"), другими программируемыми логическими устройствами, дискретной или транзисторной логики, схемами, цифровыми аппаратными компонентами или любой комбинацией этого, созданной исполнять описанные здесь функции. Процессор общего применения может быть микропроцессором, но альтернативно может быть любым процессором, контроллером, микроконтроллером и др. Процессор может быть также реализован как комбинация вычислительных устройств, например, комбинация DSP и микропроцессора, множества микропроцессоров, одного или больше микропроцессоров, объединенных с ядром DSP, или любой другой подобной конфигурацией.
Этапы способа или алгоритма, описанного в связи с вариантом исполнения, раскрытые здесь, могут быть воплощены непосредственно в оборудовании, в программном модуле, выполняемом процессором, или в комбинации того и другого. Программный модуль, также называемый компьютерной программой в настоящей заявке, может содержать ряд исходного текста или сегментов объектного кода и может постоянно находиться на любых компьютерных носителях читаемой памяти, таких как RAM, флэш-память, ROM, EPROM, EEPROM, регистры, жесткие диски, съемные диски, CDROM, DVDROM или на любых других носителях компьютерной читаемой памяти, известной в данной области. Примерная компьютерная читаемая память подключена к процессору так, что процессор может считывать информацию с нее и записывать информацию обратно в память. Альтернативно, компьютерная читаемая память может быть объединена с процессором. Процессор и компьютерная читаемая память могут располагаться на специализированной интегральной микросхеме. Процессор и компьютерная читаемая память могут находиться в модуле управления потоком. Альтернативно, процессор и компьютерная читаемая память могут находиться в модуле управления потоком как отдельные элементы.
Предыдущее описание раскрытых вариантов осуществления приведено, чтобы дать возможность специалисту в данной области техники использовать настоящее изобретение. Различные модификации этих вариантов будут очевидны специалистам в данной области техники, и основные принципы, определенные здесь, могут быть применены к другим вариантам осуществления без того, чтобы выйти за пределы объема или сущности изобретения. Так, настоящее изобретение не предназначено быть ограниченным вариантами осуществления, показанными здесь, но его следует понимать в самом широком объеме, определяемом формулой изобретения.
Изобретение относится к беспроводным системам связи. Технический результат заключается в усовершенствовании управления потоком данных. Счетчик индикации потока приращивается каждый раз, когда пакет данных передается из буфера. Когда число переданных пакетов становится равным или превышает пороговое число, генерируется сообщение индикации потока, содержащее размер окна буфера, которое передается контроллеру базовой станции. Сообщение индикации потока может генерироваться и передаваться каждый пороговый интервал времени независимо от числа переданных пакетов данных для гарантии того, что сообщения индикации потока посылаются каждый предустановленный интервал времени. Система управления потоком может быть создана содержащей модуль счетчика генерации потока, настроенного для получения обновленного числа переданных пакетов данных. Система содержит модуль наблюдения за размером окна буфера, который определяет размер окна буфера и модуль генерации сообщений, который генерирует сообщение индикации потока, содержащее размер окна буфера. 4 н. и 24 з.п. ф-лы, 4 ил.
средство для приращения значения счетчика индикации потока, отражающего обновленное число пакетов данных, переданных из буфера базовой приемопередающей станции;
средство для определения размера окна упомянутого буфера, способного сохранить пакеты данных, если обновленное число пакетов данных, переданных от буфера, равно или больше порогового числа;
средство для генерирования сообщения индикации потока, содержащего размер окна, и средство для передачи указанного сообщения индикации потока контроллеру базовой станции, при этом размер буфера используется контроллером базовой станции для определения количества данных для передачи на базовую приемопередающую станцию.
средство для слежения за временем, прошедшим после передачи последнего сообщения, и
средство для генерации сообщения индикации потока, когда истекшее время окажется равным или большим, чем пороговый временной интервал.
на базовой приемопередающей станции принимают множество пакетов данных от контроллера базовой станции;
размещают эти пакеты данных в буфере базовой приемопередающей станции;
передают из этого множества пакетов данных в буфере какое-то количество пакетов на, по меньшей мере, одно мобильное устройство;
определяют размер окна буфера, способного сохранить пакеты данных, если обновленное число пакетов данных, переданных от буфера, равно или больше порогового числа;
определяют идентификационный номер (ИН) одного из пакетов этого множества пакетов данных;
генерируют сообщение индикации потока, содержащее размер окна и ИН пакета, и передают сообщения индикации потока к контроллеру базовой станции, при этом размер окна буфера используется контроллером базовой станции для определения количества данных для передачи на базовую приемопередающую станцию.
отслеживают время, истекшее с момента передачи последнего сообщения, и сообщают размер окна, когда истекшее время равно или больше, чем пороговый временной интервал.
первый сегмент кода для приращения значения счетчика индикации потока, отражающего обновленное число пакетов данных, переданных из буфера базовой приемопередающей станции;
второй сегмент кода для определения размера окна буфера, если обновленное число пакетов данных, переданных из буфера, равно или больше порогового числа;
третий сегмент кода для генерирования сообщения индикации потока, содержащего размер окна;
и четвертый сегмент кода для передачи указанного сообщения индикации потока контроллеру базовой станции, при этом размер буфера используется контроллером базовой станции для определения количества данных для передачи на базовую приемопередающую станцию.
пятый сегмент кода для определения идентификационного номера (ИН) пакета данных, принятого буфером перед этапом генерации.
шестой сегмент кода для отслеживания времени, истекшего с момента передачи последнего сообщения;
седьмой сегмент кода для генерирования сообщения индикации потока, когда истекшее время оказывается равным или большим, чем пороговый временной интервал.
СПОСОБ И УСТРОЙСТВО СИНХРОНИЗАЦИИ ПЕРЕДАЧИ ПАКЕТОВ В СИСТЕМАХ СВЯЗИ | 1995 |
|
RU2146420C1 |
US 2001036820 A, 01.11.2001 | |||
WO 9963713 A1, 09.12.1999 | |||
ЗАТВОР ДЛЯ СКВАЖИНЫ, ИСПОЛЬЗУЕМОЙ, НАПРИМЕР, ДЛЯ ОБХ<ИГА ГРУНТА ПРИ ИЗБЫТОЧНОМ ДАВЛЕНИИ | 0 |
|
SU163856A1 |
Авторы
Даты
2007-05-10—Публикация
2002-11-12—Подача